ICP点云配准的原理推导


文章目录

  • 一、背景与意义
  • 二、点云配准理论基础
  • 二、使用步骤

  • 总结



一、背景与意义

点云数据能够以较小的存储成本获得物体准确的拓扑结构和几何结构,因而获得越来越广泛的关注。在实际的采集过程中,因为被测物体尺寸过大,物体表面被遮挡或者三维扫描设备的扫描角度等因素,单次的扫描往往得不到物体完整的几何信息。因此,为了获得被测物体的完整几何信息,就需要将不同视角即不同参考坐标下的两组或者多组点云统一到统一坐标系下,进行点云的配准。在配准算法中,研究者使用最多的是ICP算法。下面将介绍ICP算法的基本原理以及步骤。


二、点云配准理论基础

二、使用步骤

(1)刚性变换矩阵
点云配准的最终目的是通过一定的旋转和平移变换将不同坐标系下的两组或者多组点云数据统一到同一参考坐标系下。这个过程,可以通过一组映射来完成。假设映射变换为H,这H可以用以下的公式来表示。

点云匹配 深度学习 点云数据配准的流程_点云匹配 深度学习


点云匹配 深度学习 点云数据配准的流程_对应点_02


点云匹配 深度学习 点云数据配准的流程_算法_03


点云匹配 深度学习 点云数据配准的流程_对应点_04

刚性变换矩阵中涉及到六个未知数α、β、γ、 tx、ty、tz。要唯一确定这六个未知参数,需要六个线性方程,即至少需要在待匹配点云重叠区域找到3组对应点对,且3组对应点对不能共线,才可以得到这几个未知数的值,进而完成刚性矩阵的参数估计。通常情况下,人们会选择尽可能多的对应点对,进一步提高刚性变换矩阵的参数估计精度。

(3)目标函数

在待匹配的两组点云数据的重叠区域内,分别选取两个点集来表示源点集和目标点集,其中P={pi|pi∈R3,i=1,2,……n}为源点集,Q ={qj|qj∈R3,j=1,2,……m}为目标点集,m和n分别代码两个点集的规模。设旋转矩阵为R,平移矩阵为t,用f(R,t)来表示源点集P在变换矩阵(R,t)下与目标点集Q之间的误差。则求解最优变换矩阵的问题就可以转化为求满足min(f(R,t))的最优解(R,t)。

点云匹配 深度学习 点云数据配准的流程_点云_05

三、ICP算法的原理与步骤
ICP算法的基本原理是:分别在带匹配的目标点云P和源点云Q中,按照一定的约束条件,找到最邻近点(pi,qi),然后计算出最优匹配参数R和t,使得误差函数最小。误差函数为E(R,t)为:

其中n为最邻近点对的个数,pi为目标点云 P 中的一点,qi 为源点云 Q 中与pi对应的最近点,R 为旋转矩阵,t为平移向量。

ICP算法步骤:

(1)计算最近点集:在目标点云P中取点集pi∈P,找出源点云Q中的对应点集qi∈Q,使得||qi-pi||=min;

点云匹配 深度学习 点云数据配准的流程_点云_06


点云匹配 深度学习 点云数据配准的流程_点云_07


点云匹配 深度学习 点云数据配准的流程_点云_08


点云匹配 深度学习 点云数据配准的流程_点集_09

总结