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

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

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

相关推荐
美团技术团队2 分钟前
ICML 2026 | 美团技术团队学术论文精选
人工智能
moMo21 分钟前
你的每一次对话,都是第一次
人工智能
不加辣椒22 分钟前
第13章 检索增强提示工程
人工智能
小爷毛毛_卓寿杰23 分钟前
我把 397B 的「Agentic 大脑」塞进了 Xinference,一键部署 Nex-N2
人工智能·架构·github
smallYoung26 分钟前
Vibe Coding 笔记-中
人工智能
米小虾42 分钟前
DSpark:让大模型"写得更快"的秘密武器
人工智能·deepseek
JavaGuide1 小时前
比 iTerm2 更适合 Claude Code/Codex 的终端,我换成 Ghostty 了
人工智能·后端
threerocks1 小时前
神级 Skill,作品个个儿爆,我开源了长期自用的手绘风格库
人工智能·aigc
小爷毛毛_卓寿杰2 小时前
我把一个 3B 模型塞进了 Xinference,然后它干掉了 DeepSeek V3.2
人工智能·开源·github
秦先生在广东2 小时前
Agent 闭环才是真正的护城河:Anthropic “300 个 Agent“ 背后被忽视的秘密
人工智能