4

通常のモデル、つまり球、線、平面の 3D 点群に RANSAC を正常に実装することができました。ただし、立方体、特に3Dボックスに対してそれを行う方法に頭を悩ませています。ポイントを使用してボックスをパラメータ化する方法がわかりません。

理想的には、パラメータ (Theta) として長さ、幅、高さ、中心を取得したいと考えています。立方体の表面の 3D ポイント クラウドから最小数のポイントを使用してこれらのパラメータを適合させる方法に混乱しています。(ポイント法線にもアクセスできます)。

たとえば、最終的に立方体の 6 つの面を推定したいとします。私はちょうど 3 つを推定し、6 つすべてを取得するためにそれらの平行ミラーを取ることができます。各面はおそらく平面として表され、定義する点と法線 (または代わりに 3 つの点) が必要です。ただし、各平面の法線はすべて互いに直交する必要があるため、これらの法線には制約があります。モデルの推定に制約を含める方法、またはこれが正しい方法であるかどうかはわかりません。

どんなアイデアでも大歓迎です。私は現在、Marco Zuliani の "RANSAC for Dummies" ツールボックスの実装を使用しています。

4

1 に答える 1

1

この問題 (立方体を立方体の点群に適合させる) を解決するアルゴリズムを考案する場合、それを 2 つのステップに分けます。

  1. 何らかのクラスタリング アルゴリズムを使用して、顔ごとに 1 つずつ、合計 6 つのクラスターを見つけます。アルゴリズムの実行中に、6 つの「候補」領域が必要になり、各ポイントは顔クラスターの 1 つに関連するか、外れ値であると見なされます。のいくつかの変更された形式がDBSCAN適切なオプションのようです。
  2. RANSAC はすでに使用しているものなので、おそらく RANSAC を各面に適用します。

立方体の予想されるサイズがわかっている場合は、すべての点を KDTree に挿入し、1 つの面のサイズのすぐ下にあるラジウスを使用して球面近傍をクエリし、平面性を確認できます (主成分が思い浮かびます)。その後、最終的に 6 つの顔の中心の適切な近似候補を見つけることができます。

于 2014-10-28T16:03:12.930 に答える