基于Harris3D关键点提取和RANSAC算法的改进ICP算法研究
2021-03-02沈阳理工大学自动化与电气工程学院华宇宁刘永俊
沈阳理工大学自动化与电气工程学院 华宇宁 刘永俊
ICP在点云精配准方面有着重要的作用,与其他配准方法相比,它可以直接通过对应匹配点进行配准,但相应的ICP算法存在匹配速度慢、误匹配率高等不足,针对这些不足,本文提出了结合Harris3D关键点提取和RANSAC算法解决配准速度和误匹配问题,通过斯坦福数据进行传统ICP和改进ICP算法对比实验验证,实验结果表明,改进ICP算法有效提高了传统ICP算法的配准性能。
1 传统ICP的不足
在三维重建方法研究中,点云配准是关键技术之一,点云配准就是将不同坐标系下的点云数据通过旋转、平移刚性坐标变换之后得到在同一坐标系下几何拓扑信息较为完整的点云数据,其实质是获取较为合适的旋转平移矩阵,点云配准根据目的不同分为粗配准和精配准,粗配准是在不清楚两个点云的相对位置的情况下,找到这两个点云近似的旋转平移矩阵,主要是为精配准提供初始变换矩阵;精配准在已知旋转平移矩阵的情况下,通过多次迭代优化进一步得到更加精确的旋转平移矩阵。
ICP算法在点云精配准中有着重要作用,与其他配准方法相比,它可以直接通过对应匹配点进行配准,其核心思想是,已知两个代配准点云P和Q,匹配两点云中欧氏距离最近的点来获取变换矩阵,通过不断迭代,,来得到最优变换矩阵。
传统ICP算法在实际应用中存在很大的局限性,不能达到所需要求,具体ICP算法主要存在以下几点不足之处:
(1)首先一点,ICP算法在进行点云精配准时需要一个初始的点云位置,需要初始点云和配准点云在同一坐标系下,如果两个待配点云欧式距离较远,会造成匹配错误,影响最终匹配效果。
(2)一般实际应用中,需要两配准点云仅仅是部分重叠关系,而ICP算法无法确保两点云的重叠区域,会造成误匹配问题。
(3)ICP算法进行点云配准时需要将所有的点云进行查找匹配,如果点云个数较多,那查找时间会较长,严重影响配准效率。
2 基于Harris3D关键点提取和RANSAC算法的改进ICP算法
针对以上ICP算法的不足之处,本文提出了一些改进措施,针对点云数过多问题和误匹配问题,本文提出了结和Harris3D关键点提取和RANSAC算法的改进方法。改进ICP算法基本步骤如图1所示。
图1 改进ICP算法基本步骤
2.1 Harris3D关键点提取
Harris算法是Chris Harris等提出的一种基于信号的点特征提取算法,主要应用于数字图像角点提取,原理是利用窗口在图像上进行移动。Harris3D算法是在Harris算法基础上直接提取点云特征点,借助离散点云的法线进行特征提取。
首先求解离散点云的法线,构造法线协方差矩阵。
然后角点响应函数计算点云中每个点的角点响应值。
最后根据角点响应阈值判断当前点是否为角点,若大于给定阈值,同时为局部极大值点,则判定该点为点云的角点,否则不是角点。
我们精配准之前通过Harris3D关键点提取作为点云中的对应点,通匹配特征点加快了配准速度。
2.2 RANSAC算法
RACSAC算法估计模型数据。落在模型内的点称为内部样本点,落在模型误差范围之外的点称为外部样本点。RACSAC算法首先从数据中随机抽取一个子集,使用最小方差估计算法对该子集进行建模,然后将剩余的数据点代入模型中,并用模型计算误差。当误差小于预设阈值时,则该点为内采样点,否则为外采样点。通过比较每个估计模型中的样本点数,确定最优模型参数。
图2是使用二维数据集对RACSAC算法的描述。
图2 RACSAC算法在二维空间的描述图
3 实验验证
为验证本文提出的ICP算法的科学性,我们使用了斯坦福大学点云库中的bunny数据集为实验数据集,将传统ICP算法和改进ICP算法进行对比。
图3为点云bunny原始数据在两种算法下配准效果图,从图3中可以看出,原图经传统ICP算法的配准后,配准点较多,配准误匹配率较大,导致配准时间较长,不过配准效果非常好,达到了配准精度;从改进ICP算法的配准效果图来看,两者相差不大,红绿两种点云完美融合到一起,配准效果非常好。
图3 bunny点云配准效果图
我们通过分析表1参数结果来对比两种算法精配准结果。
表1 bunny点云配准结果
由表1知改进ICP算法配准误差与传统ICP算法相差不多,但配准时间大大缩短,仅用0.453s可达到配准效果。本文改进ICP算法可以在保证配准精度的前提下,大大提高配准效率,充分证明了本文的改进算法具有一定的实用性和有效性。