点云配准--- 迭代最近点 ICP 求解

三维点云配准的目标是求解两片同源点云之间的刚体变换矩阵,实现空间位姿的精确对齐迭代最近点(Iterative Closest Point, ICP)作为刚体配准领域最经典、工程落地最广泛的算法框架,由Besl与McKay于1992年正式系统化提出;同期Chen与Medioni提出的点到平面误差度量,进一步拓展了算法在连续曲面场景下的性能。历经三十余年发展,ICP已衍生出覆盖采样策略、对应关系构建、鲁棒优化等多个维度的完整技术体系。

一、刚体配准问题

1.1 形式化描述

设源点云为 P={pi}i=1NP=\{\mathbf{p}i\}{i=1}^{N}P={pi}i=1N,目标点云为 Q={qj}j=1MQ=\{\mathbf{q}j\}{j=1}^{M}Q={qj}j=1M,我们需要求解一个属于特殊欧氏群SE(3)的刚体变换矩阵:

T=Rt0T1 \mathbf{T}= \begin{bmatrix} \mathbf{R} & \mathbf{t} \\ \mathbf{0}^T & 1 \end{bmatrix} T=R0Tt1

其中 R∈SO(3)\mathbf{R}\in SO(3)R∈SO(3) 为满足正交约束的旋转矩阵,t∈R3\mathbf{t}\in\mathbb{R}^3t∈R3 为平移向量,最终使得变换后的源点云与目标点云尽可能重合,即 q≈Rp+t\mathbf{q} \approx \mathbf{R}\mathbf{p}+\mathbf{t}q≈Rp+t。

变换方向为源点云向目标点云对齐 ,齐次坐标下可表示为:

pi′1\]=T\[pi1\] \\begin{bmatrix} \\mathbf{p}_i' \\\\ 1 \\end{bmatrix}= \\mathbf{T} \\begin{bmatrix} \\mathbf{p}_i \\\\ 1 \\end{bmatrix} \[pi′1\]=T\[pi1

1.2 ICP的核心两难

如果点与点之间的对应关系已知,刚体变换求解是一个有闭式解的简单问题。但实际场景中,两片点云没有预先的索引对应,这构成了ICP的核心矛盾:

  • 准确的对应关系依赖正确的刚体变换
  • 正确的刚体变换求解依赖准确的对应关系

因此ICP采用交替优化的迭代框架:先基于当前位姿建立对应关系,再基于对应关系求解更优变换,往复迭代直至收敛。Open3D官方文档同样将ICP概括为"建立对应点集-最小化目标函数"的两步循环结构。

二、ICP算法的完整迭代流程

给定初始变换 T0\mathbf{T}_0T0,ICP每轮迭代依次执行以下五个步骤。Rusinkiewicz与Levoy进一步将其归纳为采样、匹配、加权、剔除、误差度量、误差最小化六个可独立设计的阶段,这也是ICP能够衍生出大量变体的核心原因。

2.1 源点云位姿变换

利用当前第k轮的变换参数,将源点云投影到目标点云坐标系下:

xi(k)=Rkpi+tk \mathbf{x}_i^{(k)} = \mathbf{R}_k\mathbf{p}_i+\mathbf{t}_k xi(k)=Rkpi+tk

2.2 最近邻对应关系构建

为每个变换后的源点,在目标点云中寻找欧氏距离最近的点作为对应点:

j(i)=arg⁡min⁡j∥xi(k)−qj∥ j(i) = \arg\min_j \left\| \mathbf{x}_i^{(k)}-\mathbf{q}_j \right\| j(i)=argjmin xi(k)−qj

由此得到第k轮的对应点对集合 Kk\mathcal{K}_kKk。

工程中通常通过KD-Tree、体素索引等空间数据结构加速最近邻搜索,避免逐点遍历的O(N×M)复杂度。需要特别注意:最近邻只是当前位姿下的临时假设,并非物理上的真实对应;初始位姿偏差较大时,会存在大量错误匹配。

2.3 错误对应关系剔除

原始最近邻匹配会引入大量外点,必须通过约束条件筛选可信对应点对,常见策略包括:

  • 最大对应距离 :仅保留距离小于阈值 dmax⁡d_{\max}dmax 的点对,过滤明显不匹配的远点
  • 法向量夹角约束 :要求对应点法向量满足 npiTnqj>cos⁡θmax⁡\mathbf{n}{p_i}^T\mathbf{n}{q_j}>\cos\theta_{\max}npiTnqj>cosθmax,避免不同朝向曲面的误匹配
  • 双向最近邻:不仅目标点是源点的最近邻,源点也必须是该目标点的最近邻
  • 截断保留 :按误差排序后仅保留前比例的优质匹配,典型如PCL的CorrespondenceRejectorTrimmed,尤其适用于部分重叠场景

2.4 增量变换求解

固定筛选后的对应点集,求解使目标函数最小化的最优增量变换 ΔTk\Delta\mathbf{T}_kΔTk,并更新累计变换:

Tk+1=ΔTk⋅Tk \mathbf{T}_{k+1} = \Delta\mathbf{T}_k \cdot \mathbf{T}_k Tk+1=ΔTk⋅Tk

增量的左乘/右乘顺序取决于其定义的坐标系,工程实现中必须保持约定一致,避免坐标系混乱。

2.5 收敛性判定

当迭代满足以下任一条件时算法终止:

  1. 达到预设的最大迭代次数
  2. 相邻两次迭代的平移变化量小于阈值
  3. 相邻两次迭代的旋转变化量小于阈值
  4. 配准误差的下降幅度小于阈值
  5. 有效对应点数量或重叠率不再变化

完整流程可总结为:

text 复制代码
输入源点云、目标点云、初始变换 T0
                   ↓
使用 Tk 变换源点云
                   ↓
为源点寻找目标最近点
                   ↓
距离、法向量、重叠率等规则剔除错误匹配
                   ↓
固定对应关系,求解增量变换 ΔTk
                   ↓
更新变换 Tk+1 = ΔTk · Tk
                   ↓
是否满足收敛条件?
        否 ─────────┘
        是
        ↓
输出最终变换矩阵 T

三、Point-to-Point ICP的数学推导

点到点(point-to-point)是ICP最原始的误差形式,目标为最小化对应点对的欧氏距离平方和,存在闭式求解方法。

3.1 目标函数

min⁡R,t∑i=1K∥Rpi+t−qi∥2 \min_{\mathbf{R},\mathbf{t}} \sum_{i=1}^{K} \left\| \mathbf{R}\mathbf{p}_i + \mathbf{t} - \mathbf{q}_i \right\|^2 R,tmini=1∑K∥Rpi+t−qi∥2

约束条件:RTR=I\mathbf{R}^T\mathbf{R}=\mathbf{I}RTR=I,det⁡(R)=1\det(\mathbf{R})=1det(R)=1。

3.2 平移量消去与中心化

最优平移必然满足变换后源点云质心与目标点云质心重合 。因此先计算两组点云的质心:

pˉ=1K∑ipi,qˉ=1K∑iqi \bar{\mathbf{p}} = \frac{1}{K}\sum_i\mathbf{p}_i, \quad \bar{\mathbf{q}} = \frac{1}{K}\sum_i\mathbf{q}_i pˉ=K1i∑pi,qˉ=K1i∑qi

对所有点进行去中心化处理:

p~i=pi−pˉ,q~i=qi−qˉ \tilde{\mathbf{p}}_i = \mathbf{p}_i - \bar{\mathbf{p}}, \quad \tilde{\mathbf{q}}_i = \mathbf{q}_i - \bar{\mathbf{q}} p~i=pi−pˉ,q~i=qi−qˉ

此时目标函数简化为仅关于旋转矩阵的优化问题,求解得到最优旋转后,最优平移可直接通过质心计算:

t=qˉ−Rpˉ \mathbf{t} = \bar{\mathbf{q}} - \mathbf{R}\bar{\mathbf{p}} t=qˉ−Rpˉ

3.3 基于SVD的旋转闭式解

构造互协方差矩阵:

H=∑ip~iq~iT \mathbf{H} = \sum_i \tilde{\mathbf{p}}_i \tilde{\mathbf{q}}_i^T H=i∑p~iq~iT

对 H\mathbf{H}H进行奇异值分解:

H=UΣVT \mathbf{H} = \mathbf{U}\boldsymbol{\Sigma}\mathbf{V}^T H=UΣVT

最优旋转矩阵为:

R=VDUT \mathbf{R} = \mathbf{V}\mathbf{D}\mathbf{U}^T R=VDUT

其中 D=diag⁡(1,1,det⁡(VUT))\mathbf{D}=\operatorname{diag}(1,1,\det(\mathbf{V}\mathbf{U}^T))D=diag(1,1,det(VUT)),作用是修正行列式,避免出现镜像反射的非法解。

对于固定的对应点集,SVD可一步得到全局最优解。ICP需要反复迭代,本质是因为对应关系会随位姿更新而不断变化,而非变换求解本身需要迭代。PCL标准ICP实现同样采用SVD进行变换估计。

3.4 带权扩展形式

若每个点对具有置信度权重 wiw_iwi,则目标函数扩展为加权最小二乘:

min⁡R,t∑iwi∥Rpi+t−qi∥2 \min_{\mathbf{R},\mathbf{t}} \sum_i w_i \left\| \mathbf{R}\mathbf{p}_i + \mathbf{t} - \mathbf{q}_i \right\|^2 R,tmini∑wi∥Rpi+t−qi∥2

只需将质心与协方差矩阵替换为加权形式,即可沿用SVD求解框架:

pˉ=∑iwipi∑iwi,qˉ=∑iwiqi∑iwi \bar{\mathbf{p}} = \frac{\sum_i w_i\mathbf{p}_i}{\sum_i w_i}, \quad \bar{\mathbf{q}} = \frac{\sum_i w_i\mathbf{q}_i}{\sum_i w_i} pˉ=∑iwi∑iwipi,qˉ=∑iwi∑iwiqi

H=∑iwip~iq~iT \mathbf{H} = \sum_i w_i \tilde{\mathbf{p}}_i \tilde{\mathbf{q}}_i^T H=i∑wip~iq~iT

权重可来源于距离、法向一致性、传感器置信度、鲁棒核函数等。

四、Point-to-Plane ICP的原理与求解

对于机械零件、滚筒等连续曲面,point-to-plane ICP通常比point-to-point收敛更快,是工业场景的主流选型。

4.1 目标函数与几何意义

point-to-plane不最小化完整三维距离,而是最小化源点到目标点局部切平面的有符号距离,即误差在目标法向量方向上的投影:

E(R,t)=∑iniT(Rpi+t−qi)2 E(\mathbf{R},\mathbf{t}) = \sum_i \left \\mathbf{n}_i\^T \\left( \\mathbf{R}\\mathbf{p}_i + \\mathbf{t} - \\mathbf{q}_i \\right) \\right^2 E(R,t)=i∑niT(Rpi+t−qi)2

其几何本质是:假设目标点云采样自连续曲面,源点只需落在对应切平面上即可,无需强制匹配到离散采样点。这更符合真实曲面的物理特性,避免了切向采样差异带来的无效修正,因此收敛效率更高。

4.2 线性化求解方法

point-to-plane对旋转是非线性的,通常在当前位姿附近做一阶线性化近似,通过最小二乘求解增量位姿。

定义六维位姿增量向量 δξ=δω;δt\delta\boldsymbol{\xi}=\\delta\\boldsymbol{\\omega};\\delta\\mathbf{t}δξ=δω;δt,其中 δω\delta\boldsymbol{\omega}δω 为小角度旋转向量,δt\delta\mathbf{t}δt 为小平移向量。小角度假设下,点的变换可近似为:

xi′≈xi+δω×xi+δt \mathbf{x}_i' \approx \mathbf{x}_i + \delta\boldsymbol{\omega}\times\mathbf{x}_i + \delta\mathbf{t} xi′≈xi+δω×xi+δt

代入残差整理后,每个点对对应一行线性方程:

ri′≈Aiδξ+bi r_i' \approx \mathbf{A}_i \delta\boldsymbol{\xi} + b_i ri′≈Aiδξ+bi

其中当前残差 bi=niT(xi−qi)b_i=\mathbf{n}_i^T(\mathbf{x}_i-\mathbf{q}_i)bi=niT(xi−qi),雅可比行向量 Ai=(xi×ni)TniT\mathbf{A}_i=\begin{bmatrix}(\mathbf{x}_i\times\mathbf{n}_i)^T & \mathbf{n}_i^T\end{bmatrix}Ai=(xi×ni)TniT

堆叠所有点对得到全局线性系统,求解正规方程即可得到最优增量:

ATA⋅δξ=−ATb \mathbf{A}^T\mathbf{A} \cdot \delta\boldsymbol{\xi} = -\mathbf{A}^T\mathbf{b} ATA⋅δξ=−ATb

求解得到增量后,通过指数映射转换为变换矩阵,左乘更新当前位姿。每轮迭代本质是"对应点构建-残差计算-线性化-最小二乘-位姿更新"的循环。

五、ICP的收敛困境与局部最优特性

经典ICP的目标函数值会单调下降,并收敛到最近的局部极小值。但局部极小值不等于全局最优解,这是ICP最核心的局限。

5.1 局部优化的本质局限

当初始位姿与真值偏差较大时,最近邻匹配会出现系统性错误,算法会沿着错误对应引导的方向优化,最终收敛到错误的局部极小点。

因此工业界的标准实践是全局粗配准+ICP精配准的两级架构:先通过其他方法得到大致准确的初始位姿,再用ICP做毫米级精细化调整。粗配准的常见来源包括:

  • 机器人正向运动学、手眼标定得到的先验位姿
  • 圆柱、平面等几何基元拟合得到的位姿初值
  • FPFH特征匹配+RANSAC、Fast Global Registration等全局配准算法
  • 工装定位、孔位匹配等机械约束

5.2 对称物体的歧义性

对于具有几何对称性的物体,多个不同位姿可能对应几乎相同的配准误差,例如:

  • 完整圆柱绕轴线旋转
  • 周期性齿轮旋转一个齿距
  • 重复孔阵列平移一个周期

此时仅靠ICP无法区分正确位姿,必须引入非对称特征破除歧义,例如焊缝、端面、法兰、特征孔位,或颜色、强度等辅助信息。

5.3 几何退化与不可观自由度

当点云几何约束不足时,某些位姿方向的自由度是不可观测的。核心信息矩阵为 H=ATWA\mathbf{H}=\mathbf{A}^T\mathbf{W}\mathbf{A}H=ATWA,若其特征值接近0,则对应方向约束极弱。

典型退化场景包括:

  • 单一平面:无法可靠确定平面内两个平移自由度与绕法向的旋转自由度
  • 光滑圆柱侧面:沿轴线平移与绕轴线旋转的约束极弱,容易出现滑动

对于滚筒类工件,仅依靠侧壁配准无法唯一确定轴向位置与转角,必须结合端面、焊缝等特征。

5.4 部分重叠的假对应

当源点云是局部扫描、目标点云是完整模板时,模板中未被扫描的区域会错误匹配到其他区域,导致整体位姿被拉偏。

常用解决方案包括:

  • 将局部点云作为源、完整模板作为目标
  • 设置严格的最大对应距离阈值
  • 采用Trimmed ICP等截断匹配策略
  • 引入鲁棒核函数抑制外点影响
  • 根据相机视角生成模板可见性掩码,仅匹配可见区域

六、鲁棒ICP:离群点抑制方案

普通最小二乘对离群点非常敏感,少数大误差的错误匹配可能主导优化结果。鲁棒ICP通过替换损失函数,降低离群点的权重,提升算法稳定性。

6.1 鲁棒损失函数

将传统平方损失替换为鲁棒核函数:

E=∑iρ(ri) E = \sum_i \rho(r_i) E=i∑ρ(ri)

常用鲁棒核包括:

  • Huber核:小残差保持平方,大残差转为线性,过渡平滑
  • Cauchy核:对大残差抑制更强,适用于离群点较多的场景
  • Tukey核:残差超过阈值后权重降为0,完全剔除极端外点
  • Geman-McClure核:强鲁棒性的重尾核函数

6.2 迭代重加权最小二乘

鲁棒损失通常通过迭代重加权最小二乘(IRLS)求解:根据当前残差计算每个点的权重,再代入加权最小二乘求解新位姿,反复迭代。权重与鲁棒核的关系为:

wi=ρ′(ri)ri w_i = \frac{\rho'(r_i)}{r_i} wi=riρ′(ri)

Open3D官方鲁棒核教程同样采用这一IRLS框架,主要与point-to-plane误差结合使用。需要明确的是:鲁棒核只能处理少量离群点,无法挽救完全错误的初始位姿,不能替代粗配准的作用。

七、主流ICP

ICP发展至今衍生出大量变体,各自适用于不同场景,核心特性对比如下:

方法 误差模型 核心优势 主要局限
Point-to-Point 点到点欧氏距离 原理简单,无需法向量,固定对应时有闭式解 平滑表面收敛慢,受采样差异影响大
Point-to-Plane 点到目标切平面距离 连续表面收敛快,符合真实几何约束 依赖可靠法向量估计,易出现几何退化
Generalized ICP 基于局部协方差的概率距离 同时利用两侧点云局部结构,对参数不敏感 计算复杂度更高,参数调优更复杂
Trimmed ICP 仅保留误差最小的部分匹配 天然适配部分重叠场景,抗外点能力强 需要预先估计点云重叠比例
Robust ICP 鲁棒损失函数替代平方损失 对离群点、背景噪声容忍度高 计算量增加,无法解决初始位姿偏差
Colored ICP 几何误差+颜色误差联合优化 利用纹理信息破除几何歧义 对光照、颜色一致性要求高,依赖标定

其中Generalized ICP将标准ICP与point-to-plane统一到概率框架下,本质是局部平面对平面配准,原论文报告其对错误对应与最大距离参数更不敏感,PCL也提供了对应实现。

针对工业点云的一般选型建议:

  • 点云稀疏、法向量不可靠时,优先使用point-to-point
  • 连续光滑曲面、法向量质量较好时,优先使用point-to-plane
  • 两侧点云视角差异大、密度不均时,尝试使用GICP
  • 局部扫描与完整模板匹配时,结合Trimmed策略与point-to-plane/GICP
  • 背景噪声、离群点较多时,加入距离剔除+法向过滤+鲁棒核

八、多尺度ICP:兼顾范围与精度的关键策略

单一分辨率的ICP存在固有矛盾:高分辨率精度高但捕获范围小、易收敛失败;低分辨率捕获范围大但最终精度不足。多尺度ICP采用由粗到细的策略,逐级缩小体素与对应距离,兼顾捕获范围、速度与精度。

8.1 架构思想

  1. 粗尺度层:大体素降采样,大对应距离阈值,快速将位姿从较大偏差拉近到大致正确的范围
  2. 中尺度层:中等体素,中等距离阈值,稳定位姿,修正大部分误差
  3. 细尺度层:小体素,严格距离阈值,完成最终精细化配准

一般应满足:

dmax⁡coarse>dmax⁡middle>dmax⁡fine d_{\max}^{coarse} > d_{\max}^{middle} > d_{\max}^{fine} dmaxcoarse>dmaxmiddle>dmaxfine

vcoarse>vmiddle>vfine v_{coarse} > v_{middle} > v_{fine} vcoarse>vmiddle>vfine

8.2 参考参数

以毫米级工业点云为例,典型三级尺度参数可参考下表,实际需根据工件尺寸、传感器噪声、初始偏差调整:

层级 体素大小 最大对应距离
粗层 10 mm 30~50 mm
中层 5 mm 15~25 mm
细层 2 mm 4~10 mm

Open3D官方多尺度ICP教程同样采用这一由粗到细的参数设置逻辑。

九、配准结果的可靠性验证

仅依靠算法的收敛标志判断成功是不可靠的,工业场景必须建立多维度验证体系。

9.1 配准误差指标

常用均方根误差(RMSE)衡量对齐紧密程度:

RMSE=1K∑i∥Rpi+t−qi∥2 \text{RMSE} = \sqrt{\frac{1}{K}\sum_i \left\| \mathbf{R}\mathbf{p}_i+\mathbf{t}-\mathbf{q}_i \right\|^2} RMSE=K1i∑∥Rpi+t−qi∥2

9.2 重叠率指标

有效对应点占总评估点的比例,反映两片点云的重合程度。Open3D中的fitness指标本质就是重叠率。

9.3 先验一致性校验

若存在机器人位姿、工装位置等先验,需校验ICP输出与先验的偏差是否在合理范围内:

  • 平移偏差:∣t−tprior∣<tmax⁡|\mathbf{t}-\mathbf{t}{prior}|<t{\max}∣t−tprior∣<tmax
  • 旋转偏差:angle⁡(RpriorTR)<θmax⁡\operatorname{angle}(\mathbf{R}{prior}^T\mathbf{R})<\theta{\max}angle(RpriorTR)<θmax

若偏差显著超出正常范围,即使误差很低也应判为异常。

9.4 几何可观测性校验

通过信息矩阵的特征值、条件数判断各自由度的约束强度,避免退化场景下输出不可靠结果。

9.5 多指标联合判定

工业场景建议采用联合判据,同时满足误差、重叠率、先验偏差、可观测性等多项条件才判定为成功,单一指标容易出现误判。

十、工业落地实践:滚筒焊缝定位示例

以滚筒类工件的焊缝定位场景为例,工程化配准流程如下:

10.1 坐标系约定

  • 模板点云与焊缝轨迹定义在模板坐标系{M}下
  • 实时扫描点云位于现场坐标系{L}下
  • ICP求解变换 LTM{}^L\mathbf{T}_MLTM,满足 pL=LTM⋅pM\mathbf{p}^L = {}^L\mathbf{T}_M \cdot \mathbf{p}^MpL=LTM⋅pM
  • 若ICP输出反向变换,必须取逆后再使用,这是工程中最常见的坐标系错误之一

求得变换后,模板焊缝轨迹可直接转换到实时坐标系:

sjL=LTM⋅sjM \mathbf{s}_j^L = {}^L\mathbf{T}_M \cdot \mathbf{s}_j^M sjL=LTM⋅sjM

10.2 工程流程

  1. 点云采集与预处理:获取实时扫描点云,通过机器人位姿与手眼标定转换到统一坐标系
  2. ROI裁剪与去噪:裁剪滚筒预计区域,去除背景、夹具、地面与明显离群点
  3. 体素降采样:降低点云密度,提升处理速度
  4. 粗配准初值生成:拟合圆柱轴线与端面,结合机器人先验生成初始位姿
  5. 粗尺度ICP:大体素、大距离阈值的GICP/point-to-plane,快速拉近位姿
  6. 对应点剔除:距离、法向、双向最近邻等多规则过滤错误匹配
  7. 细尺度ICP:小体素、严格阈值的point-to-plane,完成精配准
  8. 结果校验:RMSE、重叠率、先验偏差、可观测性多维度验证
  9. 轨迹转换与下发:验证通过后,转换焊缝轨迹并下发机器人执行

10.3 滚筒场景关键注意事项

  1. 不要只依赖圆柱侧壁配准,必须引入端面、法兰、焊缝、孔位等非对称特征约束轴向与转角
  2. 实时点云为局部扫描时,不要直接用完整模板做源点云,应结合Trimmed策略或可见性掩码
  3. 已知机器人坐标链时,ICP只负责毫米级精修,不要承担全局定位任务
  4. 可对焊缝区域点提高权重,但不能用局部权重掩盖整体配准错误
  5. 先验证完整工件位姿正确,再输出焊缝轨迹,避免局部对齐但整体错位

十一、PCL中ICP的常用参数解读

PCL是工业点云开发的常用库,其ICP核心参数的物理意义与调优方向如下:

11.1 基础接口示例

cpp 复制代码
pcl::IterativeClosestPoint<PointT, PointT> icp;
icp.setInputSource(source_cloud);
icp.setInputTarget(target_cloud);
icp.setMaxCorrespondenceDistance(max_distance);
icp.setMaximumIterations(max_iterations);
icp.setTransformationEpsilon(trans_epsilon);
icp.setEuclideanFitnessEpsilon(fitness_epsilon);
icp.align(aligned_cloud, initial_guess);

Eigen::Matrix4f T = icp.getFinalTransformation();
bool converged = icp.hasConverged();
double score = icp.getFitnessScore();

11.2 参数详解

  • setMaxCorrespondenceDistance :决定匹配捕获范围,是对结果影响最大的参数。过小则初值稍差就无足够对应点,配准失败;过大则引入大量错误匹配,易陷入局部最优。多尺度流程中应逐级减小。
  • setMaximumIterations:迭代次数上限。增加次数只能让算法在当前吸引域内更充分收敛,无法跳出局部极小,不能解决初始位姿错误、几何对称等问题。
  • setTransformationEpsilon:相邻迭代的位姿变化阈值,控制位姿收敛精度,变化小于阈值则提前停止。
  • setEuclideanFitnessEpsilon:相邻迭代的误差变化阈值,控制目标函数收敛精度。

PCL官方文档明确:getFitnessScore()返回的是基于对应距离的欧氏适应度,数值越小表示对齐越紧密。


总结

ICP是一个基于当前最近邻假设的局部刚体精配准工具。决定配准效果的是初始位姿质量、几何可观测性、重叠区域、法向量质量、对应点剔除策略、误差模型与结果验证共同构成的完整系统。

对于工业场景,正确的定位是:用好几何先验与粗配准提供可靠初值,通过多尺度ICP完成精细化调整,依靠多维度验证保证结果稳定性,最终实现高精度、高鲁棒性的点云配准。

相关推荐
richard_first1 小时前
Transformer 与大语言模型:第7章 Multi-Head Attention 多头注意
人工智能·深度学习·机器学习
qq7422349841 小时前
Gradio 极简入门:三分钟为AI模型打造交互界面,并对比Streamlit与Dash如何选型
人工智能·算法·大模型·交互·dash
段一凡-华北理工大学1 小时前
高炉炉况智能诊断与预警实战~系列文章14:机器学习炉况分类:样本构建、类别不平衡与模型选型
大数据·人工智能·机器学习·分类·高炉智能化·炉况诊断·炉况分类
kyle~4 小时前
线性代数矩阵分解 --- QR分解
线性代数·矩阵
字节数据平台5 小时前
iDA:从 ChatBI 到专业数据分析助手的演进之路
大数据·人工智能·机器学习·数据分析
1000世界小札7 小时前
《大话数据结构》第9章精读:归并排序与快速排序完整 C++ 实现
数据结构·c++·算法
2601_9561219710 小时前
背包基础篇(01、完全、分组、多重、混合)
c++·算法·动态规划
SomeB1oody10 小时前
【RustyML入门】6.3. 并行归约
开发语言·后端·机器学习·rust·教程
richard_first10 小时前
Transformer 与大语言模型:第9章 LayerNorm 归一化层
人工智能·深度学习·机器学习·transformer