使用点到线度量的ICP变体
摘要
本文描述了PLICP,一种使用点到线度量的ICP(迭代最近/对应点)变体,以及用于最小化此度量的精确闭合形式。 得到的算法具有一些有趣的属性:它以二次方式收敛,并且以有限的步数收敛。 通过再现Minguez等人在2006年进行的实验,该方法针对vanilla ICP,IDC(迭代双重对应)和MBICP(基于度量的ICP)进行了验证。 实验表明PLICP更精确,并且需要更少的迭代。 但是,对于非常大的初始位移误差,它不太鲁棒。 本文的最后部分致力于通信搜索的纯粹算法优化; 这样可以显着加快计算速度。 源代码可供下载。
索引:扫描匹配,定位,ICP,IDC,MbICP,度量,点对线
简介
ICP解决了一个表面匹配问题,可表示如下:
ICP从第一次猜测q0开始迭代地最小化公式(1)。 根据旧猜测qk计算Sref上的点投影,并找到新猜测qk+1的解。 在公式中,在每个步骤k,ICP解决了这个问题,其中有一个封闭形式:在介绍之后,已经研究了许多ICP变体,因为核心算法可以在很多方面进行轻微修改:使用哪个点子集,如何定义误差度量,如何丢弃异常值等等 - 参见[1] 对视觉社区中使用的流行变体的简短调查。 ICP在机器人社区的专业化蓬勃发展[2],[3],[4],[5],[6]; 该研究的重点是解决使用ICP进行扫描匹配时变得明显的一些问题:它收敛到错误的解决方案,导致大的初始错误; 通信搜索很昂贵; 收敛缓慢; 闭塞和异常值频繁; 原样,它不适合概率框架。(没啥用)
本文的主要贡献是使用point-to-line度量而不是vanilla ICP使用的点对点度量。 在投影点处调用ni到表面(surface)的法线。 于是,点到线度量标准写为: 使用点到线度量的想法根本不是新的:它在[7]中被提出 - 它与[8]一起被认为是ICP的发起者 - 然而,非线性方程(3) 线性化并使用线性最小二乘法求解。 本文介绍(在附录I中)平面情况下(3)的精确闭合解。
使用点到线度量和精确解决方案,大大提高了算法的收敛性:PLICP具有二次收敛而不是vanilla ICP的线性收敛。 此外,如果参考表面是折线,如在机器人扫描匹配中通常假设的那样,PLICP可证明地以有限数量的步长收敛。 一个直观的解释是,点到线度量(图1c)比点对点度量(图1b)更接近实际表面距离(图1a)。
作为实验验证,本文再现了[6]中进行的实验,因此可以直接与ICP,IDC和MBICP进行比较。
本文的第二个贡献是算法:附录II给出了一个用于计算对应关系的优化算法。 在测试数据上,使用点到线度量和算法优化允许PLICP在Pentium IV 1.8GhZ上以每秒500次以上的匹配运行,用于典型数据(360度扫描)。
网友评论