一种改进的二维ICP点云配准算法
2021-07-26谢小鹏古家威
谢小鹏,古家威
(1.东莞理工学院城市学院,广东 东莞 523419;2.季华实验室,广东 佛山 528000)
1 引 言
点云配准技术在逆向工程、机器人导航及无人驾驶等领域具有广泛的应用,点云配准一般来说包括两个步骤,粗配准和精配准,粗配准主要实现目标点集与参考点集之间的快速配准,但是精度不高,常用的方法有NDT(Normal Distribution Transform)方法[1],王庆闪等实现了NDT与ICP结合的点云配准方法[2],精配准的实现方法主要是迭代最近点(ICP,Iterative Closest Point)算法[3],由Besl于1992年提出。近些年来,很多学者对ICP算法进行了改进,Censi采用点到线的度量方式进而提出了PL-ICP(Point-to-Line ICP)方法[4],该方法提高了ICP算法的精度;解则晓改进了点到面ICP即P-ICP(Point-to-Plain ICP)[5]; Chetverikov提出了Trimmed ICP[6],该方法将n个匹配点对的欧氏距离进行排序,去除距离最大的ηn(0<η<1)个匹配点对,该方法需要对η值做出平衡,过大过小都会影响最终结果的精度;孙翌将[7]k邻域搜索方法应用到ICP算法中,提高了查找最近点的效率,进而加快了ICP算法的处理速度。
本文针对传统ICP 算法存在的问题进行了改进,首先介绍了传统ICP的主要步骤,发现传统ICP算法有以下几种问题:迭代方向错误,迭代优化过程中易出现局部最优的情况,迭代次数过多,增加了算法的处理时间。本文提出了改进方案,首先打乱目标点集中点序号的顺序,然后在接下来的寻找最近点过程中采用一对一的方式进行,增强了算法的稳定性,对每个匹配点对进行筛选,使用动态阈值去过滤那些欧氏距离过大的一些匹配点对,加快了算法收敛速度。
2 传统二维ICP算法
传统的二维ICP算法的一般步骤如下:
步骤一:选取参考点集和目标点集。
步骤二:遍历目标点集中所有的点,在参考点集中选择欧氏距离最小的一个点。
步骤三:建立目标函数,对目标函数进行优化求解,得到目标点集的旋转矩阵Rj和平移矩阵Tj,进而得到新的目标点集。……
