セット A とセット B の 2 つの線のセットがあります。これら 2 つのセットのすべての線の始点と終点はわかっているので、セット B をセット A に合わせるのに最適な回転と平行移動を見つけたいと考えています。スケーリングはありません。
- 1 対 1 のマッピングはありません。私はこれが Kabsch アルゴリズムを除外すると信じていますが、これを使用する力ずくのアルゴリズムを想定することはできます。
- セット B には、A の行の部分セグメントが含まれている可能性があります。かなりまばらな数の行が含まれている可能性があります。
- B の行はエラーになります。A に存在しない行が観察される場合があります。
- もちろん、複数の可能な「一致」が存在する可能性があります。
いくつかの背景として、これは大まかな画像ベースのロボット位置決めシステムの一部です。
- セット A は「マップ」です - データはインポートされた dxf ファイルからインポートされます。
- セット B は、観測されたラインのセットです。
たとえば、ここで見回しました:
これを行う賢い方法はありますか?画像処理文献の形状マッチングをフリックすると、ラスター画像のパターンマッチングが多くなるようです-おそらくこの問題ではやり過ぎです。
現時点で私が理解できる最善の方法は、ハフ変換のようなアプローチを使用して、B の各ラインを A の各ラインに沿って取り、これらが表す回転/変換のビンを持つことです。私はこれをコーディングしておらず、まだ試してみました - 車輪の再発明を避けたかったのです。
どんなアイデアや意見も大歓迎です。