私はiterative closest point(ICP)アルゴリズムを書いており、モデルをポイントクラウドに適合させることができます。知っていない人のための簡単なチュートリアルとして、ICPはモデルにポイントする単純なアルゴリズムであり、最終的にモデルとポイントの間に均質な変換マトリックスを提供します。ICP、内部メトリクスの保証
ここでは簡単な画像チュートリアルです。互いに接近して雲を引っ張る(時にはグラジエント型の降下やSVDに基づいて)楽しい数学の束を使用し、それまでは繰り返し:
ステップ2:
ステップ1.データセットに設定し、モデル内の最も近い点を探しますポーズが形成されている:
[図2] [2]
今、そのビットがあると私は助けをご希望のものを、シンプルかつ作業です! はどのように教えてください、私が持っているポーズがある場合いいもの?
だから、現在、私は2つのアイデアを持っているが、彼らは一種のハックです:
ICPアルゴリズムであるどのように多くのポイント。つまり、ポイントがほとんどない場合は、ポーズが悪いと仮定します。
ポーズが実際に良好な場合はどうなりますか?それは、たとえわずかな点であっても可能性があります。それでは、私たちはここを参照してくださいすることは、彼らが正しい場所にある場合は、低ポイントは実際には非常に良いポジションを作ることができるということです
:私は良いポーズを拒否したくありません。
したがって、調査された他の測定基準は、使用されたポイントに対する供給ポイントの比率です。ここでは例
だ今、私たちは、彼らが外れ値となりますので、あまりにも遠く離れているポイントをエクスクルード、今これはICPが動作するために、我々は良いスタート位置を必要とすることが、私はそれでOKです。さて、上記の例では保証は、これは悪いポーズで、NOと言うだろう、と含まれる点対ポイントの割合であるため、それは右のようになります。
2/11 < SOME_THRESHOLD
はとても良いthatsのが、それは場合に失敗します三角形を上下に逆さまにした上に示されている。すべてのポイントがICPによって使用されているため、逆さまの三角形が良いと言えます。
あなたは、この質問に答えるためにICPの専門家である必要があります。私は良いアイデアを探しています。ポイントの知識を使って、それが良いポーズの解決策であるかどうかをどのように分類できますか?
この2つのソリューションを一緒に使用することは良い提案ですが、私に尋ねると非常に愚かな解決策です。
どうすればよいですか?
PS。いくつかのコードを追加したい場合は、それを行ってください。私はC++で働いています。
PPS。誰かがこの質問にタグを付けるのを助けます。どこに落ちるのかわかりません。
ポーズはどのように定義されていますか?線分は? – FoolishSeth
同次変換行列です。 –
あなたは解決策を見つけましたか?あなたは答えで提供された何かを使ったことがありますか、あなた自身の何かを考え出しましたか? – Andrei