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

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

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

相关推荐
帐篷Li2 分钟前
【AgenticCPS 】CPS联盟返利系统 - 实施计划
大数据·网络·人工智能
罗罗攀2 分钟前
PyTorch学习笔记|张量的广播和科学运算
人工智能·pytorch·笔记·python·学习
倦王3 分钟前
Dify2:提示词工程与运用
人工智能
PhotonixBay15 分钟前
共聚焦显微镜的结构组成与应用
人工智能·算法·机器学习
大傻^22 分钟前
Spring AI Alibaba Function Calling:外部工具集成与业务函数注册
java·人工智能·后端·spring·springai·springaialibaba
SuniaWang22 分钟前
《Spring AI + 大模型全栈实战》学习手册系列 · 专题四:《Ollama 模型管理与调优:让 AI 模型在低配服务器上流畅运行》
人工智能·学习·spring
逆境不可逃23 分钟前
LeetCode 热题 100 之 33. 搜索旋转排序数组 153. 寻找旋转排序数组中的最小值 4. 寻找两个正序数组的中位数
java·开发语言·数据结构·算法·leetcode·职场和发展
tankeven26 分钟前
HJ137 乘之
c++·算法
anscos_yumi32 分钟前
Altair OptiStruct:重构结构研发逻辑,引领工业仿真与优化新纪元
人工智能·科技·软件工程
市象43 分钟前
小红书盯上“AI版郑州帮”
人工智能·网络安全·传媒