XYZ形式の3Dポイントクラウドファイルでpythonを使用しています。それぞれから中心までの距離を計算し、それに応じてラベルを付ける(および視覚化を向上させるために色を付ける)必要があります。これまでのところ、このコードを使用してこの雲の分類を取得しました。
xyz_coordinates = points[:, 0:3]
xyz_min = np.amin(xyz_coordinates, axis=0) # 3, gets minimum of each axis
xyz_max = np.amax(xyz_coordinates, axis=0) # 3, gets maximum of each axis
xyz_center = (xyz_min + xyz_max) / 2
xyz_max_euclidean=distance.euclidean(xyz_center,xyz_max) # gets euclidean distance, it gives me circles
xyz_cut=xyz_max_euclidean/N_CLASSES
# gets the euclidean distance for all points and assign normalized tagged classes
for i in xrange(xyz_coordinates.shape[0]):
label=int(math.floor(distance.euclidean(xyz_center,xyz_coordinates[i])/xyz_cut))
point_bbox_list.append(np.concatenate([xyz_coordinates[i],g_distance2color[str(label)],np.array([label])],0))
しかし、ご覧のとおり、中心から各ポイントまでのユークリッド距離を計算していますが、これは正しくありません。この場合、たとえば、壁やテーブルの境界が正しくありません。このようなグラフを想像しましたが、四角い色の形をしています。現在、ここに示すように、各オブジェクトのバウンディング ボックスの計算に成功していますが、期待どおりの結果が得られません。私はマハラノビス距離でも試しましたが、分類は楕円体として判明しました。使用できる他の計算距離メトリックはありますか?