我有一个对象的点云,通过激光扫描仪获得,以及该对象的 CAD 表面模型。

如何将点云与表面匹配,以获得云与模型之间的平移和旋转?

我想我可以对表面进行采样并尝试使用 Iterative Closest Point (ICP) 算法将生成的采样点云与扫描仪点云进行匹配。

那真的有用吗?

这个任务有更好的算法吗?

最佳答案

是的,ICP 可以应用于这个问题,正如您建议的那样对表面进行采样。最好是在激光扫描中拥有所有可用的脸部,否则可能必须从模型中删除不可见的脸部(取决于其中有多少个脸部)。

通过去除一些隐藏面来自动准备模型的一种方法是计算凹 shell ,该凹 shell 可用于丢弃隐藏面(例如不靠近凹 shell 的面)。根据模型的参与程度,这可能是必要的,也可能不是必要的。

如果给出一个好的初始猜测,ICP 效果很好,因为它忽略了与当前猜测不接近的点。如果 ICP 没有提出好的对齐方式,您可以尝试通过多次随机重启来尝试解决此问题,选择最佳对齐方式。

更复杂的解决方案是进行局部特征匹配。您采样并计算一个不变描述符,如SHOT或FPFH。您找到最佳匹配,拒绝不一致的匹配,使用它们提出良好的初始对齐,然后使用 ICP 进行细化。但是您可能不需要此步骤,具体取决于随机重启 ICP 的稳健性和速度。

10-06 12:33