基于相关系数平方和最大的三维点云配准 下载: 974次
1 引言
近些年,在点云配准技术快速发展的趋势下,三维点云配准已被广泛应用于三维重建、产品无损检测和机器视觉等领域。三维点云配准指对同一物体在不同视角下的部分三维点云数据进行拼接和变换,最终得到一个统一坐标系下的完整三维点云的过程。在现有的诸多配准算法中,由Besl等[1]提出的迭代最近点算法(ICP)最经典,该算法基于四元素运算模型,寻找两点云间最近对应点,并计算其最优变换矩阵。该算法实现简单且精度较高,但收敛性过度依赖初始值。
为有效改善点云配准的速度和准确度,众学者对传统ICP算法进行了相应改进,或提出了更好的初始配准算法。如:Rusu等[2]提出了运用点特征直方图(PFH)提取点云一点处16
此外,也有学者提出了非ICP点云配准算法,如混合高斯模型(GMM)[6-7],该算法稳定性较好,但运算效率较低,且过分依赖初始值。基于关键点的配准算法[8-11]利用关键点不变的特性实现了点云的精配准,但其配准运算效率较低。Myronenko等[12]提出了相干点漂移算法(CPD),在有噪声和异常值、缺失点的情况下,该算法与GMM算法结合可以实现对点云的准确配准,但对散乱点云、数据存在遮挡以及缺失的配准较难实现。刘鸣等[13]提出了基于独立成分分析的三维点云配准算法,利用点云数据与独立分量的对应关系实现点云配准,该算法速度快,且有一定的抗噪声能力,但对匹配数据点数量有一定要求。唐志荣等[14]提出了基于多维混合柯西分布的点云配准方法,该算法通过数据中心点进行初配准,再利用协方差完成精配准,具有一定的抗噪声能力,且配准精度较高,但效率有待提高。王畅等[15]提出了利用全局和局部结构特征不变的特性实现点云配准的算法,该算法的配准精度和效率均有所提升,但点云数据缺失严重和交叉数据点不足可能会导致该算法配准效果不佳,甚至失败。
为了提高点云配准的效率和精度,本文提出了基于相关系数平方和最大的点云配准方法。该算法首先将两点云中心化转换到同一坐标下,再以点云各维向量间相关系数平方和最大为约束条件,以粒子群算法作为转动矩阵的求解算法,将两点云分别绕坐标原点转动至此位置,从而求得旋转矩阵与平移向量,实现配准。由于在三维空间中,随着点云的旋转变换,各维度间的相关性会发生改变,同时点云的旋转实质上是乘以一个旋转矩阵,各维度间不会达到平行,故选取在空间中能使各维度相关性达最大的位置作为约束条件,将点云旋转到该位置,从而实现配准。实验结果表明,与其他算法相比,在点云散乱、数据存在缺失以及有噪声的环境下,本文算法有较高的配准速度和精度。
2 基于相关系数最大的点云配准
传统ICP算法中目标点云
式中:
为提高点云配准的精度和速度,采用相关系数最大法,以点云各维向量间相关系数平方和最大作为约束条件,对点云进行配准。首先求出目标点云
然后对目标点云
式中:
在三维空间中,随着点云的旋转变换,各维度间的相关性发生改变。从数学模型上看,点云的旋转实质上是乘以一个旋转矩阵,所以各维度间不会达到平行。因此选取空间中能使各维度间相关性达最大的位置作为目标,将两组点云旋转到该位置,从而达到配准的目的。对点云
式中:
综上可得
2.1 相关系数最大法
点云
式中:Cov为协方差;
式中:
点云
式中:
式中:
2.2 基于粒子群优化算法(PSO)的参数确定
粒子群优化算法中没有遗传算法的交叉和变异运算操作,通过粒子速度迭代更新实现解空间搜索,并且在迭代进化过程当中,只有最优解的粒子才会把信息传递给其他粒子,简单易实现,且搜索速度快。因此,基于粒子群优化算法优化(10)式和(12)式,从而对
设定在
式中:
粒子速度更新过后,即更新当前时刻的位置后,PSO位置更新为
更新后,
式中:
式中:
结合(16)式可得(10)式和(12)式的展开式,即
式中:
本文算法流程如
3 实验仿真
采用Stanford大学提供的经典Bunny(31607)三维点云数据,以及一组机械器件(28437)的实物点云数据进行仿真实验。该仿真实验是在MATLAB 2017a版本、i7-6700HQ四核处理器和GTX965M下进行的。
在仿真实验中,粒子群优化算法参数设置[16]如下:种群
3.1 在有噪声且数据存在丢失情况下的配准
为了验证本文算法在数据存在丢失、遮挡以及噪声干扰情况下的配准效果,在待配准数据Bunny点云添加20 dB高斯白噪声,随机丢失25%的数据后进行随机旋转和平移,目标点云和待配准点云的初始状态如
在同等环境条件下,用本文算法(MCC算法)、ICP算法、Scale-ICP算法和CPD 算法分别配准,并对结果进行分析。配准后的效果如
图 2. 点云Bunny的初始状态。(a)加高斯白噪声;(b)未加高斯白噪声
Fig. 2. Initial state of point cloud for Bunny. (a) With white Gaussian noise; (b) without white Gaussian noise
图 3. 各算法对Bunny点云配准效果。(a) MCC;(b) ICP;(c) Scale-ICP;(d) CPD
Fig. 3. Registration effect of each algorithm for Bunny point cloud. (a) MCC; (b) ICP; (c) Scale-ICP; (d) CPD
各算法的配准时间和误差数据如
表 1. 各算法对Bunny点云的配准时间及误差
Table 1. Registration time and error of each algorithm for Bunny point cloud
|
均方根误差定义为
式中:
从
3.2 机械器件点云数据丢失配准
为充分验证MCC算法对实物扫描数据进行配准的有效性, 通过MATLAB 2017a进行仿真验证。首先用便携式激光扫描仪 (HandySCAN 300TM, 加拿大) 对机械器件进行实物数据采集,然后对扫描数据作相应处理,再进行配准。机械器件有28437点,对数据作25%的随机丢失处理,再进行随机旋转和平移,然后进行配准。目标点云和待配准点云的初始状态如
在同等环境条件下,用MCC算法、ICP算法、Scale-ICP算法和CPD 算法分别对机械器件点云进行配准,并对配准结果进行分析。配准效果如
图 4. 机械器件点云的初始状态。(a)待配准点云;(b)目标点云
Fig. 4. Initial state of point cloud for mechanical device. (a) Point cloud to be registered; (b) target point cloud
各算法对机械器件点云的配准时间以及配准后的误差如
由
图 5. 各算法对机械器件点云的配准效果。(a) MCC;(b) ICP;(c) Scale-ICP;(d) CPD
Fig. 5. Registration effect of each algorithm of point cloud for mechanical device. (a) MCC; (b) ICP; (c) Scale-ICP; (d) CPD
表 2. 各算法对机械点云的配准时间及误差
Table 2. Registration time and error of each algorithm for mechanical device
|
4 结论
提出了一种基于相关系数平方和最大的配准算法,该算法能对存在部分缺失、遮挡且带有噪声以及散乱的两组点云数据完成自动配准。分别对目标点云与待配准点云进行去均值化,然后进行旋转,旋转时需满足中间态旋转矩阵为正定矩阵,再利用点云各维向量间相关系数平方和最大作为约束条件,采用粒子群优化算法分别求解出两组中间态旋转矩阵,再由两组中间态旋转矩阵求解出两点云间的旋转矩阵和平移向量,从而实现点云配准。本文算法在配准精度上与经典ICP算法相当,且配准效率更高。与Scale-ICP算法和CPD算法相比,MCC算法具有较高的配准速度和精度,且稳定性较好。
[1] Besl P J. McKay N D. A method for registration of 3-D shapes[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992, 14(2): 239-256.
[2] Rusu RB, BlodowN, Marton ZC, et al. Aligning point cloud views using persistent feature histograms[C]∥2008 IEEE/RSJ International Conference on Intelligent Robots and Systems, September 22-26, 2008, Nice, France. New York: IEEE, 2008: 3384- 3391.
[3] 卢章平, 郑航, 沙春发, 等. 基于自由曲面的点云配准算法[J]. 江苏大学学报(自然科学版), 2015, 36(3): 319-323.
[4] 李仁忠, 杨曼, 田瑜, 等. 基于ISS特征点结合改进ICP的点云配准算法[J]. 激光与光电子学进展, 2017, 54(11): 111503.
[5] Ying S H, Peng J G, Du S Y, et al. A scale stretch method based on ICP for 3D data registration[J]. IEEE Transactions on Automation Science and Engineering, 2009, 6(3): 559-565.
[8] 张哲, 许宏丽, 尹辉. 一种基于关键点选择的快速点云配准算法[J]. 激光与光电子学进展, 2017, 54(12): 121001.
[9] Prakhya S M, Liu B B, Lin W S, et al. B-SHOT: a binary 3D feature descriptor for fast keypoint matching on 3D point clouds[J]. Autonomous Robots, 2017, 41(7): 1501-1520.
[11] Quan S W, Ma J, Hu F Y, et al. Local voxelized structure for 3D binary feature representation and robust registration of point clouds from low-cost sensors[J]. Information Sciences, 2018, 444: 153-171.
[13] 刘鸣, 舒勤, 杨赟秀, 等. 基于独立成分分析的三维点云配准算法[J]. 激光与光电子学进展, 2019, 56(1): 011203.
[14] 唐志荣, 刘明哲, 王畅, 等. 基于多维混合柯西分布的点云配准[J]. 光学学报, 2019, 39(1): 0115005.
[15] 王畅, 舒勤, 杨赟秀, 等. 利用结构特征的点云快速配准算法[J]. 光学学报, 2018, 38(9): 0911005.
[16] 王东风, 孟丽. 粒子群优化算法的性能分析和参数选择[J]. 自动化学报, 2016, 42(10): 1552-1561.
Article Outline
苗长伟, 唐志荣, 唐英杰. 基于相关系数平方和最大的三维点云配准[J]. 激光与光电子学进展, 2019, 56(22): 221504. Changwei Miao, Zhirong Tang, Yingjie Tang. Three-Dimensional Point Cloud Registration Based on Maximum Sum of Squares of Correlation Coefficients[J]. Laser & Optoelectronics Progress, 2019, 56(22): 221504.