我有两组线,集 A 和 B。这两组中所有线的起点和终点都是已知的,我想找到最适合集 B 到集 A 的旋转和平移。没有缩放:
- 没有一对一的映射。我相信这排除了 Kabsch 算法,尽管我可以设想一个使用它的蛮力算法。
- 集合 B 可能包含 A 中的部分行段。它可能包含相当稀疏的行数。
- B 中的线条将是错误的 - 可能观察到 A 中不存在的线条。
- 当然,可能有不止一种可能的“匹配”
对于某些背景,这是基于原始图像的机器人定位系统的一部分。
- 集合 A 是一个“地图”——数据是从导入的 dxf 文件中导入的。
- Set B 是一组观察到的线。
我环顾四周,例如这里:
这是一个聪明的方法吗?浏览图像处理文献中的形状匹配似乎更像是光栅图像的模式匹配——对于这个问题来说可能是矫枉过正。
目前我能感知到的最好方法是使用类似于 Hough 变换的方法,将 B 中的每条线沿 A 中的每条线取走,并为这些代表的旋转/变换设置 bin。我还没有对此进行编码并尝试过 - 有点想避免重新发明轮子。
非常感谢任何想法和输入。