激光与光电子学进展, 2019, 56 (22): 221504, 网络出版: 2019-11-02   

基于相关系数平方和最大的三维点云配准 下载: 974次

Three-Dimensional Point Cloud Registration Based on Maximum Sum of Squares of Correlation Coefficients
作者单位
成都理工大学核技术与自动化工程学院, 四川 成都 610059
摘要
点云配准是三维重建过程的核心问题之一。针对点云散乱、数据存在缺失及噪声干扰情况下配准效率差、精度低的问题,提出了一种基于相关系数平方和最大(MCC)的点云配准算法。分别对目标点云与待配准点云去均值化后进行旋转,使旋转后的两组点云各自满足行向量间相关系数平方和最大;再利用粒子群优化算法分别求解出两组中间态旋转矩阵;最后根据两组中间态旋转矩阵求解出两点云之间的旋转矩阵和平移向量,进而实现点云配准。仿真结果表明,在点云散乱、数据存在缺失以及噪声干扰的情况下,本文算法比现有其他算法的配准速度更快、精度更高,且稳健性良好。
Abstract
Point cloud registration is a fundamental element of the three-dimensional reconstruction processes. In this study, a point cloud registration algorithm is proposed based on the maximum sum of squares of the correlation coefficients (MCC) to address the issues of scattered point clouds, missing data, and low registration efficiency and accuracy under noise interference. Further, the target point cloud and the point cloud to be registered are de-averaged and rotated, so that the MCC between row vectors of the two sets of point clouds can be achieved after rotation. Subsequently, particle swarm optimization algorithm is used to derive two sets of intermediate-state rotation matrices. Finally, based on these matrix sets, the rotation matrix and translation vector between two point clouds are obtained for registering the point cloud. The simulation results show that the proposed algorithm is faster, more accurate, and more robust compared with the remaining existing algorithms when point clouds are scattered, missing, and interrupted by noise.

1 引言

近些年,在点云配准技术快速发展的趋势下,三维点云配准已被广泛应用于三维重建、产品无损检测和机器视觉等领域。三维点云配准指对同一物体在不同视角下的部分三维点云数据进行拼接和变换,最终得到一个统一坐标系下的完整三维点云的过程。在现有的诸多配准算法中,由Besl等[1]提出的迭代最近点算法(ICP)最经典,该算法基于四元素运算模型,寻找两点云间最近对应点,并计算其最优变换矩阵。该算法实现简单且精度较高,但收敛性过度依赖初始值。

为有效改善点云配准的速度和准确度,众学者对传统ICP算法进行了相应改进,或提出了更好的初始配准算法。如:Rusu等[2]提出了运用点特征直方图(PFH)提取点云一点处16D局部几何特征的配准算法,该算法能得到较好的初始值,但计算复杂;卢章平等[3]提出了RANSAC+ICP 配准算法,以共面4点集为基础,实现自由曲面的点云配准,该算法提高了ICP的配准精度,但对匹配曲面类型有一定的局限性;李仁忠[4]等提出了基于ISS特征点结合改进ICP的配准算法,利用ISS算法对点云进行特征提取,并以特征直方图描述特征,运用k维树近邻搜索法快速寻找对应点,有效提高了ICP的配准效率;Ying等[5]提出了基于七维空间迭代的Scale-ICP算法, 该算法能用于不同尺度的配准,但稳健性较差。

此外,也有学者提出了非ICP点云配准算法,如混合高斯模型(GMM)[6-7],该算法稳定性较好,但运算效率较低,且过分依赖初始值。基于关键点的配准算法[8-11]利用关键点不变的特性实现了点云的精配准,但其配准运算效率较低。Myronenko等[12]提出了相干点漂移算法(CPD),在有噪声和异常值、缺失点的情况下,该算法与GMM算法结合可以实现对点云的准确配准,但对散乱点云、数据存在遮挡以及缺失的配准较难实现。刘鸣等[13]提出了基于独立成分分析的三维点云配准算法,利用点云数据与独立分量的对应关系实现点云配准,该算法速度快,且有一定的抗噪声能力,但对匹配数据点数量有一定要求。唐志荣等[14]提出了基于多维混合柯西分布的点云配准方法,该算法通过数据中心点进行初配准,再利用协方差完成精配准,具有一定的抗噪声能力,且配准精度较高,但效率有待提高。王畅等[15]提出了利用全局和局部结构特征不变的特性实现点云配准的算法,该算法的配准精度和效率均有所提升,但点云数据缺失严重和交叉数据点不足可能会导致该算法配准效果不佳,甚至失败。

为了提高点云配准的效率和精度,本文提出了基于相关系数平方和最大的点云配准方法。该算法首先将两点云中心化转换到同一坐标下,再以点云各维向量间相关系数平方和最大为约束条件,以粒子群算法作为转动矩阵的求解算法,将两点云分别绕坐标原点转动至此位置,从而求得旋转矩阵与平移向量,实现配准。由于在三维空间中,随着点云的旋转变换,各维度间的相关性会发生改变,同时点云的旋转实质上是乘以一个旋转矩阵,各维度间不会达到平行,故选取在空间中能使各维度相关性达最大的位置作为约束条件,将点云旋转到该位置,从而实现配准。实验结果表明,与其他算法相比,在点云散乱、数据存在缺失以及有噪声的环境下,本文算法有较高的配准速度和精度。

2 基于相关系数最大的点云配准

传统ICP算法中目标点云P=(p1,p2,…,pn)和待配准点云Q=(q1,q2,…,qm)的元素均属于三维点云,两者进行刚性几何变换的表达式为

pi=RQj+T,i=1,2,,n;j=1,2,,m,(1)

式中:pi为第i个目标数据点;qj为第j个待配准数据点;n为目标点云的点数;m为待配准点云的点数;R为旋转矩阵,R∈R3×3RTR=I;I为单位矩阵;T为平移向量,T∈R3×1。传统ICP算法配准对点云数据的初始值要求较高,只有在合理初配准的基础上,才能实现对点云的精确配准。

为提高点云配准的精度和速度,采用相关系数最大法,以点云各维向量间相关系数平方和最大作为约束条件,对点云进行配准。首先求出目标点云P和待配准点云Q的均值点,即

P-=i=1npi/n,Q-=j=1mqj/m,(2)

然后对目标点云P和待配准点云Q进行中心化处理,使目标点云和待配准点云的中心均处于原点,从而得到点云 P^= p^1,p^2,,p^n和点云 Q^= q^1,q^2,,q^m,即

p^i=pi-P-,q^j=Qj-Q-,(3)

式中: p^i为去中心化的第i个目标数据点; q^i为去中心化的第j个待配准数据点。中心化后的点云 P^Q^满足

P^=RQ^(4)

在三维空间中,随着点云的旋转变换,各维度间的相关性发生改变。从数学模型上看,点云的旋转实质上是乘以一个旋转矩阵,所以各维度间不会达到平行。因此选取空间中能使各维度间相关性达最大的位置作为目标,将两组点云旋转到该位置,从而达到配准的目的。对点云 P^Q^进行旋转,使其满足各自的行向量之间的相关系数最大,即

P~=RpP^=RTp1P^,RTp2P^,RTp3P^T=p~1,p~2,p~3TQ~=RQQ^=RTQ1Q^,RTQ2Q^,RTQ3Q^T=q~1,q~2,q~3T,(5)

式中:Rp为正交矩阵,Rp=(Rp1,Rp2,Rp3),满足RpRpT= RTpRp=I;Rp1,Rp2,Rp3均为3×1的列向量; p~1, p~2, p~3均为n×1的列向量;RQ为正交矩阵,RQ=(RQ1,RQ2,RQ3),满足RQRQT= RQTRQ=I;RQ1,RQ2,RQ3均为3×1的列向量; q~1, q~2, q~3均为m×1的列向量。当点云 P~Q~均满足行相关系数最大时,可得

P~=Q~(6)

综上可得

R=Rp-1RQ,(7)T=P--Rp-1RQQ-(8)

2.1 相关系数最大法

点云 P~各行向量之间的相关系数为

ρp~α,p~β=Cov(p~α,p~β)σp~ασp~β=rTΣpRrTΣpRrTΣpR,(9)

式中:Cov为协方差;σ为标准差;Σp为点云P的协方差矩阵,Σp∈R3×3;α=1,β=2,3;α=2,β=3,表示行数。为使各行向量相关系数平方和达最大,需

J(ρp)=ρp~α,p~β2,(10)

式中:J(·)为相关系数平方和;ρp为目标点云; ρp~α,p~β为相关系数。

点云 Q~各行向量之间的相关系数为

ρ(q~α,q~β=Cov(q~α,q~β)σq~ασq~β=rTΣQrrTΣQrrTΣQr,(11)

式中:ΣQ为点云Q的协方差矩阵,ΣQ∈R3×3。为使各行向量相关系数平方和达最大,需

J(ρQ)=ρq~α,q~β2,(12)

式中:ρQ为待配准点云; ρq~α,q~β为相关系数。

2.2 基于粒子群优化算法(PSO)的参数确定

粒子群优化算法中没有遗传算法的交叉和变异运算操作,通过粒子速度迭代更新实现解空间搜索,并且在迭代进化过程当中,只有最优解的粒子才会把信息传递给其他粒子,简单易实现,且搜索速度快。因此,基于粒子群优化算法优化(10)式和(12)式,从而对RpRQ进行求解。

设定在D维的目标空间中,有一个由N个粒子构成的群体,其中第f个粒子为一个D维的向量,其t时刻的速度更新为

VfD(t+1)=VfDt+c1r1(pfDt-RfDt)+c2r2(pgDt-RfDt),f=1,2,,N,(13)

式中: VfD(t+1)VfDt分别为第f个粒子在t+1和t时刻的速度变化;c1c2为学习因子;r1r2为该区域内随机分布的伪随机数,取值[0,1]; pfDt为第f个粒子在t时刻经过的最优位置; ptgD为群体内所有粒子在t时刻经过的最优位置; RfDt为第f个粒子在t时刻的位置。

粒子速度更新过后,即更新当前时刻的位置后,PSO位置更新为

RfD(t+1)=RfDt+VfD(t+1),(14)

更新后, RfD(t+1)可能不满足正交的约束条件,故对其采用奇异值分解,即

RfD(t+1)=usv,(15)

式中:uv均为酉矩阵,满足I=uuH=vvH,H为共轭转置;s为对角矩阵,除了对角线的元素,其他均为0,主对角线上的每个元素都称为奇异值。重新得到正交矩阵

RfD*(t+1)=uvH=(r1*(t+1),r2*(t+1),r3*(t+1)),(16)

式中: RfD*(t+1)为通过奇异值分解求得的正交矩阵; r*(t+1)1, r*(t+1)2, r*(t+1)3均为3×1的列向量。

结合(16)式可得(10)式和(12)式的展开式,即

Jρ(t+1)=r1*T(t+1)Σr2*(t+1)r1*T(t+1)Σr1*(t+1)r2*T(t+1)Σr2*(t+1)2+r2*T(t+1)Σr3*(t+1)r3*T(t+1)Σr3*(t+1)r2*T(t+1)Σr2*(t+1)2+r3*T(t+1)Σr1*(t+1)r1*T(t+1)Σr1*(t+1)r3*T(t+1)Σr3*(t+1)2,(17)

式中:Σ取值分别为Σp,ΣQ;通过(13)~(17)式求解出RpRQ,使其分别满足(9)式和(11)式。

本文算法流程如图1所示

图 1. 本文算法流程图

Fig. 1. Flowchart of our algorithm

下载图片 查看所有图片

3 实验仿真

采用Stanford大学提供的经典Bunny(31607)三维点云数据,以及一组机械器件(28437)的实物点云数据进行仿真实验。该仿真实验是在MATLAB 2017a版本、i7-6700HQ四核处理器和GTX965M下进行的。

在仿真实验中,粒子群优化算法参数设置[16]如下:种群N=100;搜索空间维度D=3;r1,r2采用介于(0,1)之间的数值,用rand()函数随机生成,以保证其随机性;c1,c2为学习因子,通常等于2,不过在文献中也有其他取值。由于本文的目标函数是相关系数的最大值,且相关系数是不大于1的数,故取值不宜过大,否则可能会跳过真值,引起不收敛,也不宜过小,否则容易造成收敛过慢。经实验,c1,c2取值0.5最合适。

3.1 在有噪声且数据存在丢失情况下的配准

为了验证本文算法在数据存在丢失、遮挡以及噪声干扰情况下的配准效果,在待配准数据Bunny点云添加20 dB高斯白噪声,随机丢失25%的数据后进行随机旋转和平移,目标点云和待配准点云的初始状态如图2所示。高斯白噪声的功率谱密度服从均匀分布,幅度服从高斯分布,其均值为零;此外,加高斯白噪声是为了对目标点云进行偏置。

在同等环境条件下,用本文算法(MCC算法)、ICP算法、Scale-ICP算法和CPD 算法分别配准,并对结果进行分析。配准后的效果如图3所示。

图 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所示。

表 1. 各算法对Bunny点云的配准时间及误差

Table 1. Registration time and error of each algorithm for Bunny point cloud

AlgorithmTime /sRMSE /mm
MCC7.60.2240
ICP174.50.2239
Scale-ICP8.50.2346
CPD135.00.3654

查看所有表

均方根误差定义为

ERMSE=1ni=1n(xQi-xpi)2+(yQi-ypi)2+(zQi-zpi)2,(18)

式中:i=1,2,…,n;n为点云的点数; xQi, yQi, zQi为点云Q中第i个点的三维坐标; xpi, ypi, zpi为点云P中第i个点的三维坐标。

图3表1可知:在Bunny点云数据随机丢失率为25%、高斯白噪声为20 dB的情况下,MCC算法的配准速度最快,MCC算法、传统ICP算法和Scale-ICP算法的配准精度几乎相等,且比CPD算法的配准误差低0.1 mm以上;CPD算法的配准效果最差,且容易导致待配准点云的形态失真。

3.2 机械器件点云数据丢失配准

为充分验证MCC算法对实物扫描数据进行配准的有效性, 通过MATLAB 2017a进行仿真验证。首先用便携式激光扫描仪 (HandySCAN 300TM, 加拿大) 对机械器件进行实物数据采集,然后对扫描数据作相应处理,再进行配准。机械器件有28437点,对数据作25%的随机丢失处理,再进行随机旋转和平移,然后进行配准。目标点云和待配准点云的初始状态如图4所示。

在同等环境条件下,用MCC算法、ICP算法、Scale-ICP算法和CPD 算法分别对机械器件点云进行配准,并对配准结果进行分析。配准效果如图5所示。

图 4. 机械器件点云的初始状态。(a)待配准点云;(b)目标点云

Fig. 4. Initial state of point cloud for mechanical device. (a) Point cloud to be registered; (b) target point cloud

下载图片 查看所有图片

各算法对机械器件点云的配准时间以及配准后的误差如表2所示。

图5表2可知:在机械器件点云数据随机丢失率为25%的情况下,MCC算法与ICP算法的配准精度几乎相当,且本文MCC算法的配准速度更快;Scale-ICP算法的配准误差最大,不能完成对机械器件的点云配准;CPD算法导致待配准点云形态失真,稳定性较差。

图 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

AlgorithmTime /sRMSE /mm
MCC6.90.3508
ICP76.30.3500
Scale-ICP5.620.7587
CPD108.63.0992

查看所有表

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.

    Lu Z P, Zheng H, Sha C F, et al. Point cloud registration algorithm based on free-form surface[J]. Journal of Jiangsu University(Natural Science Edition), 2015, 36(3): 319-323.

[4] 李仁忠, 杨曼, 田瑜, 等. 基于ISS特征点结合改进ICP的点云配准算法[J]. 激光与光电子学进展, 2017, 54(11): 111503.

    Li R Z, Yang M, Tian Y, et al. Point cloud registration algorithm based on the ISS feature points combined with improved ICP algorithm[J]. Laser & Optoelectronics Progress, 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.

[6] Li Q S, Xiong R, Vidal-Calleja T. A GMM based uncertainty model for point clouds registration[J]. Robotics and Autonomous Systems, 2017, 91: 349-362.

[7] Jian B, Vemuri B C. Robust point set registration using Gaussian mixture models[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2011, 33(8): 1633-1645.

[8] 张哲, 许宏丽, 尹辉. 一种基于关键点选择的快速点云配准算法[J]. 激光与光电子学进展, 2017, 54(12): 121001.

    Zhang Z, Xu H L, Yin H. A fast point cloud registration algorithm based on key point selection[J]. Laser & Optoelectronics Progress, 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.

[10] Ge X M. Automatic markerless registration of point clouds with semantic-keypoint-based 4-points congruent sets[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2017, 130: 344-357.

[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.

[12] Myronenko A, Song X B. Point set registration: coherent point drift[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2010, 32(12): 2262-2275.

[13] 刘鸣, 舒勤, 杨赟秀, 等. 基于独立成分分析的三维点云配准算法[J]. 激光与光电子学进展, 2019, 56(1): 011203.

    Liu M, Shu Q, Yang Y X, et al. Three-dimensional point cloud registration based on independent component analysis[J]. Laser & Optoelectronics Progress, 2019, 56(1): 011203.

[14] 唐志荣, 刘明哲, 王畅, 等. 基于多维混合柯西分布的点云配准[J]. 光学学报, 2019, 39(1): 0115005.

    Tang Z R, Liu M Z, Wang C, et al. Point cloud registration based on multi-dimensional mixed Cauchy distribution[J]. Acta Optica Sinica, 2019, 39(1): 0115005.

[15] 王畅, 舒勤, 杨赟秀, 等. 利用结构特征的点云快速配准算法[J]. 光学学报, 2018, 38(9): 0911005.

    Wang C, Shu Q, Yang Y X, et al. Quick registration algorithm of point clouds using structure feature[J]. Acta Optica Sinica, 2018, 38(9): 0911005.

[16] 王东风, 孟丽. 粒子群优化算法的性能分析和参数选择[J]. 自动化学报, 2016, 42(10): 1552-1561.

    Wang D F, Meng L. Performance analysis and parameter selection of PSO algorithms[J]. Acta Automatica Sinica, 2016, 42(10): 1552-1561.

苗长伟, 唐志荣, 唐英杰. 基于相关系数平方和最大的三维点云配准[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.

本文已被 2 篇论文引用
被引统计数据来源于中国光学期刊网
引用该论文: TXT   |   EndNote

相关论文

加载中...

关于本站 Cookie 的使用提示

中国光学期刊网使用基于 cookie 的技术来更好地为您提供各项服务,点击此处了解我们的隐私策略。 如您需继续使用本网站,请您授权我们使用本地 cookie 来保存部分信息。
全站搜索
您最值得信赖的光电行业旗舰网络服务平台!