点云配准中的ICP算法

一、背景与意义


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

二、点云配准理论基础


(1)刚性变换矩阵

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

 

其中代表旋转矩阵,代表平移向量,代表透视变换向量,S代表整体的比例因子。因为根据一系列图片得到的点云数据只存在旋转和平移变换,不存在形变,所以将V设为零向量,比例因子S=1。

映射变换H可以表示为:


 

其中,旋转矩阵R3X3和平移矩阵T3X1可以通过以下公式来表示:

其中α、β、γ分别表示点沿x、y、z轴的旋转角度,tx、ty、tz分别表示点沿

x、y、z轴的平移量。

(2)刚性变换矩阵的参数估计

扫描二维码关注公众号,回复: 8544507 查看本文章

 

将两个不同坐标系下的点 X和X’进行坐标变换时,可以通过以下公式来实现转换:

 刚性变换矩阵中涉及到六个未知数α、β、γ、 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)。


 

三、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;

è¿éåå¾çæè¿° 

(2)计算变换矩阵:计算旋转矩阵R和平移矩阵t,使得误差函数最小;

è¿éåå¾çæè¿° 
è¿éåå¾çæè¿°

(3)应用变换矩阵:对pi使用上一步求得的旋转矩阵R和平移矩阵t进行旋转和平移变换,的到新的对应点集pi’={pi’=Rpi+t,pi∈P};
è¿éåå¾çæè¿°
(4)目标函数计算与阈值判断:计算pi’与对应点集qi的平均距离,如果d小于某一给定的阈值或者大于预设的最大迭代次数,则停止迭代计算,否则返回第2步,直到满足收敛条件为止。
è¿éåå¾çæè¿°

四.ICP算法关键点:

(1)原始点集的采集

   均匀采样、随机采样和法矢采样

(2)确定对应点集

   点到点、点到投影、点到面

(3)计算变化矩阵

   四元数法、SVD奇异值分解法
 

发布了61 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/vjhghjghj/article/details/89138266
今日推荐