一、ICP 求解过程
ICP 有好多变种,ICP求解步骤可以分为以下部分:
1、选点
在模型或者场景中选取匹配点
2、匹配
将选取的一组点匹配另一组点
3、分配权重
给匹配的点对分配权重
4、去除错误匹配
根据单个匹配点对或者根据总体匹配情况去除错误匹配点
5、给定误差标准
可以是匹配点对的误差二模或者一模等形式
6、最小化匹配误差
通过最小化匹配误差求解位姿转换矩阵
下面分别从六个方面介绍ICP的求解过程。
二、选点
选点有以下方式
1、利用全部点进行迭代匹配
2、对所有点进行均匀采样
3、对所有点进行随机采样
4、利用可见光图像采样梯度值大的点
5、对所有点按照法向量分布采样,使得采样点法向量分布均匀
6、对于所有上述采样算法,可以只从模型采样,或者只从场景采样,或者双向采样
7、按照对点云配准的贡献进行采样,算法见论文《Geometrically StableSampling for the ICP Algorithm》,见附录 C。
利用方法 1 – 4 采样缺点,对于下图所示的配准会产生误差,下图配准靠十字形凹槽进行配准。
三、匹配
1、closest point 在一组点云中找另一组点云的最近点,可以用 k-d tree等算法加速最近点搜索
2、normal shooting 一组点云中的一个点,沿着点的法向量的光线和另一组点云的交点最为匹配点
3、project将场景点,从模型点的视角下,投影到模型点云
4、project and walk 如 3 方法,在投影到目标点云后,再在目标点云处搜索,搜索可以根据两点之间的距离,点到光线的距离,或者灰度值的相近程度等
5、可以上述的所有算法,前提是在两个点能在给定的衡量标准下可以匹配上,衡量标准比如颜色、两个点之间法向量的角度等,利用最速下降法搜素