点到点、点到线、点到线的ICP区别

区别主要是在于源点云src经过一个初始变换后,与target点云(或者说是模板)之间的差异定义上。

1. 点到点

首先,将待匹配点云中的每个点Pi,利用初始的旋转矩阵和平移向量转换到目标点云Q中.

在Q中找出与Pi最近的点(记作Qi),作为Pi的对应点,取Pi、Qi之间的欧式距离作为匹配误差。

2. 点到线

点-线的情况:

​ 首先,将待匹配点云中的每个点Pi,利用初始的旋转矩阵和平移向量转换到目标点云Q中。对于Pi利用KD树的算法寻找到最近的几个点,根据这几个点计算出协方差,将协方差进行奇异值分解,如果最大的奇异值比第二大的奇异值要大得多,则认为找到的这几个点是在同一条直线上。

匹配误差为点到直线的距离,即图中的向量dc的模。

3. 点到面

点-面的情况:

​ 首先,将待匹配点云中的每个点Pi,利用初始的旋转矩阵和平移向量转换到目标点云Q中。对于Pi利用KD树的算法寻找到最近的几个点,根据这几个点计算出协方差,将协方差进行奇异值分解,根据这几个点计算出协方差,将协方差进行奇异值分解,如果最小的奇异值比第二小的奇异值要小得多,则认为找到的这几个点是在同一个平面上。

匹配误差为点到面的距离,即图中的向量od的模。

4 对比

对于上述3种方法,哪一种最适合?其实是要看具体的点云场景的,它与点云的几何形态有关系。

有的点云适合使用点到点,有的适合使用点到线,有的适合使用点到面。脱离具体场景谈算法效果其实是不够科学的。

在普通常见场合,可以率先尝试点到面。

相关推荐
CoderCodingNo2 小时前
【NOIP】2011真题解析 luogu-P1003 铺地毯 | GESP三、四级以上可练习
算法
iFlyCai2 小时前
C语言中的指针
c语言·数据结构·算法
lijianhua_97123 小时前
国内某顶级大学内部用的ai自动生成论文的提示词
人工智能
蔡俊锋3 小时前
用AI实现乐高式大型可插拔系统的技术方案
人工智能·ai工程·ai原子能力·ai乐高工程
查古穆3 小时前
栈-有效的括号
java·数据结构·算法
自然语3 小时前
人工智能之数字生命 认知架构白皮书 第7章
人工智能·架构
再一次等风来3 小时前
近场声全息(NAH)仿真实现:从阵列实值信号到波数域重建
算法·matlab·信号处理·近场声全息·nah
汀、人工智能3 小时前
16 - 高级特性
数据结构·算法·数据库架构·图论·16 - 高级特性
大熊背3 小时前
利用ISP离线模式进行分块LSC校正的方法
人工智能·算法·机器学习
XWalnut3 小时前
LeetCode刷题 day4
算法·leetcode·职场和发展