最近在看ICP算法,该算法主要用于获得被测物体的完整几何信息,这种情况下就需要将不同视角即不同参考坐标下的两组或者多组点云统一到统一坐标系下,进行点云的配准。在配准算法中,研究者使用最多的是ICP算法。
ICP算法的流程概括起来也就是五步:
(1)选取初始点集:目标点云P中选取点集pi;(其中有均匀采样,随机采样,法矢采样等方法)
(2)计算最近点集:找出源点云Q中的点集qi,使得||qi-pi||=min;(其中有点到点,点到线,点到面等方法)
(3)计算变换矩阵:计算点集pi到点集qi的旋转矩阵R和平移矩阵t;(其中有四分量,SVD奇异值分解法等方法)
(4)应用变换矩阵:将点集pi进行Rpi+t的变换变成新的点集pi;
(5)误差函数计算与阈值判断:通过变换后的点集pi与点集qi,计算两者误差的平方的平均值。倘若未满足阈值或迭代条件,则将新的pi返回至第二步,寻找新的qi继续计算。
而其中最被人津津乐道,已经多加研究的,主要就是第二步最近点集的计算方法,其中点到点的方法被应用的最多,然而其效率相对并不是很高;点到线和点到面都是基于点到点的改善算法,其下效率能够明显提高但是适用性并不是很强。
不过这里说的主要是标准的ICP算法,即点集中的数据都是三维的情况。在用于SLAM的建图时,其多为二维的运用情况,这种情况的计算方式又有所不同,具体可以参考思维导图的第四点。
引用:
[1] https://blog.csdn.net/kksc1099054857/article/details/80280964
[2] https://blog.csdn.net/sinat_34165087/article/details/78567289
[3] Censi A . An ICP variant using a point-to-line metric[C]// IEEE International Conference on Robotics & Automation. IEEE, 2008.