点到点、点到线、点到线的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种方法,哪一种最适合?其实是要看具体的点云场景的,它与点云的几何形态有关系。

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

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

相关推荐
2301_789015629 分钟前
C++:二叉搜索树
c语言·开发语言·数据结构·c++·算法·排序算法
buttonupAI7 小时前
今日Reddit各AI板块高价值讨论精选(2025-12-20)
人工智能
2501_904876487 小时前
2003-2021年上市公司人工智能的采纳程度测算数据(含原始数据+计算结果)
人工智能
leiming68 小时前
C++ vector容器
开发语言·c++·算法
竣雄8 小时前
计算机视觉:原理、技术与未来展望
人工智能·计算机视觉
救救孩子把8 小时前
44-机器学习与大模型开发数学教程-4-6 大数定律与中心极限定理
人工智能·机器学习
Rabbit_QL8 小时前
【LLM评价指标】从概率到直觉:理解语言模型的困惑度
人工智能·语言模型·自然语言处理
呆萌很8 小时前
HSV颜色空间过滤
人工智能
roman_日积跬步-终至千里8 小时前
【人工智能导论】02-搜索-高级搜索策略探索篇:从约束满足到博弈搜索
java·前端·人工智能
FL16238631298 小时前
[C#][winform]基于yolov11的淡水鱼种类检测识别系统C#源码+onnx模型+评估指标曲线+精美GUI界面
人工智能·yolo·目标跟踪