基于典型相关分析的点云配准算法 下载: 1474次
1 引言
配准技术是一种重要的数字检测技术,其可用于无损检测、虚拟现实及机器人等诸多领域。特别在地面三维激光扫描中,每次扫描得到的点云数据都是在以当前测量站为零点的局部坐标系内,所以需要在不同的位置对待测区进行多次扫描,为了获取完整的三维点云模型,需要对在不同视角采集到的三维样本数据进行旋转和平移,以此将采集到的三维点云拼接为一个完整的点云。Besl等[1]提出的最近点迭代 (ICP) 算法是被广泛应用于配准的经典算法,其核心思想如下:寻找两个点集的对应点,并计算其变换矩阵,但是这种算法的收敛性过分依赖于较好的初始值。因此,许多学者对ICP算法进行了相应的改进,或提出了初配准算法。Yang等[2]提出了一种基于7维空间迭代的Scale-ICP算法,该算法具有较快的收敛速度,且能适应不同尺度的配准。虽然,在迭代速度和配准精度上 ICP 算法的确得到了不同程度的改进,但改进的 ICP 算法仍依赖于迭代过程,导致算法仍然存在收敛比较缓慢的问题。文献[ 3]中提出了一种基于粒子群(PSO)算法的点云初配准方法,该算法能提高初始精度,但是需要的初始值越精确,需要的搜索时间就越多。遗传算法(GA)[4-6]具有较快的配准速度,但是在配准精度方面有待进一步提升,适合用作ICP算法的初配准。
此外,王畅等[7]提出了一种基于结构特征的点云快速配准方法,该算法在配准精度和配准效率方面都有一定的提高,但点云数据点缺失严重和交叉数据点不够,可能会使算法配准结果不理想,甚至可能失效。赵敏等[8]提出了一种基于
Yang等[10]根据点云配准过程中的几何变换特性提出了一种全局最优解(Go-ICP)算法,将配准过程转变为三维欧式群的优化问题,采用BnB(branch and bound)算法搜索全局最优解,然而,其旋转矩阵限定于三维旋转群空间,是否真能找到全局最优解,仍然值得研究。混合高斯模型(GMM)[11-16]对点云数据具有较好的拟合能力,配准精度较高,但是计算量大且计算时间较长。
王畅等[17]结合点云的统计学特性与形状的特征,提出一种带方差补偿的多向仿射配准算法,将求解点云未知放缩因子的问题转化为带方差超定非线性方程组的求解问题,该算法配准效率高,但配准精度有待提高。唐志荣等[18]提出一种基于多维混合Cauchy分布的点云配准算法,该算法将点云数据模型转换为多维混合Cauchy分布模型,用数据中心点进行配准,该算法能以较高的精度逼近点云分布模型,配准效果较好,但配准效率有待提升。
本文提出一种基于典型相关分析(CCA)的点云配准算法。对目标点云与待配准点云进行中心化转移到同一坐标系下,再分别绕坐标原点进行转动,使其各自到达行相关系数最大的位置。求出各自的转动矩阵,再根据两组转动矩阵求解出点云间的刚性变换旋转矩阵和平移向量。在实验中,与其他几种算法相比,即使在点云无序、数据存在遮挡、缺失不完整以及噪声环境下,本文算法可实现快速精确配准,收敛速度快。并且旋转后,利用两点云对应的协方差特征值之间的均方根比值关系,完成点云的仿射配准。
2 基于CCA的点云配准算法
2.1 基于CCA的点云配准
经典ICP算法对目标点云
式中:
在三维空间中,对点云进行旋转,会改变点云各维度数据间的相关系数。为了提高点云配准精度和速度,采用相关系数最大法对其进行配准。对目标点云
式中:
绕坐标原点对点云
式中:
经由上述关系可得
为了得到较为精准的
式中:
2.2 仿射比例求取
当目标点云与待配准点云存在缩放的情况时,点云间的平移向量存在一个比例系数,其大小与缩放率相等,需要对前面求取平移向量的方法做进一步改进。由于点云间的放缩不改变点云的旋转特性,所以旋转矩阵
式中:
式中:
式中:
然后,对待配准点云
式中:
式中:
3 参数确定
由第2节可知,需要求解的参数有
3.1 CCA法
采用CCA法对点云
式中:
式中:Var表示求方差。
根据数学分析中的极值条件,引入拉格朗日乘数,可得
式中:
可以得出
由Cauchy-Schwarz不等式可得
由矩阵范数的相容性可得
式中:‖·‖2表示L-2范数;
即
3.2 参数校准
由于可能存在负相关的情况,所以采用均值向量对求解出的
可得到
式中:
分别对
式中:
最后得到
本研究所用算法为CCA法,该方法的输入和输出如下。输入:目标点云
①通过(2)式对点云
②根据(22)~(27)式分别求解出转动矩阵
③由(6)式求出旋转矩阵
④由(8)式求出旋转矩阵
4 实验
采用Stanford大学提供的Armadillo(34526)、Bunny(31607)、Cat(10000)、Dragon(43775)、Elephant(24955)和Horse(48485)三维点云数据进行仿真。仿真计算是在MATLAB 2017a版本、i7-6700HQ四核处理器和GTX965M下进行的。
4.1 带有高斯白噪声下的配准
通常认为点云数据在一一对应的情况下不存在遮挡和缺失不完整的情况,但在实际中由于环境的因素可能会存在噪声的干扰,为了验证所提算法具有抗干扰能力,仿真中给Armadillo点云加上20 dB高斯白噪声对点云进行偏移,Cat点云加上50 dB高斯白噪声对原有点云进行偏移,通过对点云的随机旋转和平移得到待配准点云,红色表示目标点云,蓝色表示待配准点云(彩图请见电子版)。点云配准前的初始状态如
图 2. 点云的初始状态。(a) Armadillo;(b) Cat
Fig. 2. Initial state of point clouds. (a) Armadillo; (b) Cat
本研究先采用GA算法分别对Scale-ICP算法和ICP算法进行初配,在此条件下,将所提算法与Scale-ICP、ICP、CPD和Go-ICP算法的配准效果进行比较,如
为验证各算法配准精度,采用均方根误差(RMSE)对配准精度进行评价,将均方根误差定义为
式中:
图 3. 各算法配准效果。(a) CCA;(b) GA+ICP;(c) GA+Scale-ICP;(d) CPD;(e) Go-ICP
Fig. 3. Registration effect of each algorithm. (a) CCA; (b) GA+ICP; (c) GA+Scale-ICP ;(d) CPD; (e) Go-ICP
各算法的配准时间和配准精度如
表 1. 5种算法的配准时间和配准误差
Table 1. Registration time and error of 5 algorithms
|
4.2 带有高斯白噪声且不同数据丢失下的配准
多数情况下,点云数据存在遮挡和缺失不完整。在实验中,对待配准数据Bunny和Dragon点云数据分别进行15%、20%和25%的随机丢失,且前者添加20 dB的高斯白噪声,后者添加50 dB的高斯白噪声,利用高斯白噪声对点云进行偏移。当点云数据存在遮挡和缺失时,由于缺乏对应关系,GA算法不能直接用于点云的配准。因此,采用本研究的CCA算法对ICP 算法和Scale-ICP算法进行初始配准,在相同条件下用CCA算法与ICP 算法、Scale-ICP算法、Go-ICP算法和CPD算法进行比较。配准后效果如
图 4. Bunny点云配准效果。(a)数据丢失15%;(b)数据丢失20%;(d)数据丢失25%
Fig. 4. Registration effects of Bunny point cloud. (a) 15% data loss; (b) 20% data loss; (c) 25% data loss
图 5. Dragon点云配准效果。(a)数据丢失15%;(b)数据丢失20%;(d)数据丢失25%
Fig. 5. Registration effects of Dragon point cloud. (a) 15% data loss; (b) 20% data loss; (c) 25% data loss
当实验数据存在缺失时,点云数据的排列顺序不再一一对应,为便于比较各算法的配准性能,引入另一种均方根误差:
式中:
由
图 6. 5种算法的配准误差和时间。(a) Bunny点云配准误差;(b) Dragon点云配准误差; (c) Bunny点云配准时间;(d) Dragon点云配准时间
Fig. 6. Registration error and registration time of 5 algorithms. (a) Registration error of Bunny point cloud; (b) registration error of Dragon point cloud; (c) registration time of Bunny point cloud; (d) registration time of Dragon point cloud
4.3 仿射配准
通常在实际扫描数据的过程中,被扫描物体、扫描器件的型号不同和扫描距离不相同等因素可能会造成扫描出来的数据尺寸大小存在差异。为验证CCA算法具有仿射配准的能力,对Elephant点云进行随机旋转得到待配准点云,将待配准点云数据缩小为原来的1/3,再加30 dB高斯白噪声对点云进行偏移处理。对Horse点云进行随机旋转,得到待配准点云,对待配准点云数据进行放大1.5倍且随机丢失25%处理。点云初始状态如
图 7. 点云的初始状态。(a) Elephant;(b) Horse
Fig. 7. Initial state of point clouds. (a) Elephant; (b) Horse
分别采用CCA算法和Scale-ICP算法进行配准比较,配准效果如
图 8. 两种算法仿射配准效果。(a) CCA;(b) Scale-ICP
Fig. 8. Affine registration effects of two algorithms. (a) CCA; (b) Scale-ICP
两种算法的均方根误差和配准时间如
表 2. 两种配准算法的均方根误差和配准时间
Table 2. RMSE and registration time of two registration algorithms
|
4.4 实物数据配准
为验证所提算法的实用性,采用三维激光扫描仪获取两组实物点云数据,两组实物图如
A目标点云的扫描数据有16873个点,待配准点云有16618个点,对其添加20 dB的高斯白噪声对点云进行偏移。从不同角度扫描任意两组数据B点云进行配准。B目标点云的扫描数据有21469个点,待配准点云的扫描数据有21430个点。两组扫描点云的初始状态如
图 10. 两组点云初始状态。(a) A点云;(b) B点云
Fig. 10. Initial state of two sets of point clouds. (a) A point cloud; (b) B point cloud
采用本研究的CCA算法先对ICP 算法和Scale-ICP算法实现初始配准。在同样的配准条件下,对ICP 算法、Scale-ICP算法、Go-ICP算法和CPD算法进行比较。配准效果如
图 11. 5种算法的配准效果。(a) CCA;(b) CCA+ICP;(c) CCA+Scale-ICP;(d) CPD;(e) Go-ICP
Fig. 11. Registration effects of five algorithms. (a) CCA; (b) CCA+ICP; (c) CCA+Scale-ICP; (d) CPD; (e) Go-ICP
5种算法的配准精度和配准时间如
表 3. 5种算法的配准误差和时间
Table 3. Registration error and time of 5 algorithms
|
从
5 结论
针对散乱点云提出了一种基于CCA的配准算法。所提算法能在无任何先验信息和点云数据部存在部分重叠、缺失且带有噪声的情况下实现自动配准。分别先对目标点云和待配准点云进行中心化处理,然后绕坐标原点进行转动,获得了两组点云各自满足各维度间相关系数平方值最大;再使用转动矩阵求解了两点云间刚性变换的旋转矩阵和平移向量,实现了点云的配准。依据协方差矩阵对应特征值的比例开方值,对待配准点云进行等比例放大,完成了仿射配准。实验验证所提算法在配准精度上和经典ICP算法相当,但配准效率有较大提升;与Scale-ICP算法、Go-ICP算法和CPD算法相比,所提CCA算法具有较好的稳定性。
[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.
[3] Hsu CC, Chang HE, Lu YY. Map building of unknown environment using PSO-tuned enhanced iterative closest point algorithm[C]∥2013 International Conference on System Science & Engineering(ICSSE), July 4-6, 2013, Budapest, Hungary. New York: IEEE, 2013: 279- 284.
[7] 王畅, 舒勤, 杨赟秀, 等. 利用结构特征的点云快速配准算法[J]. 光学学报, 2018, 38(09): 0911005.
[8] 赵敏, 舒勤, 陈蔚, 等. 基于l p空间力学模型的三维点云配准算法 [J]. 光学学报, 2018, 38(10): 1010005.
[11] CampbellD, PeterssonL. GOGMA: globally-optimal Gaussian mixture alignment[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 5685- 5694.
[12] CampbellD, PeterssonL. An adaptive data representation for robust point-set registration and merging[C]∥2015 IEEE International Conference on Computer Vision (ICCV), December 7-13, 2015, Santiago, Chile. New York: IEEE, 2015: 4292- 4300.
[14] ChuiH, RangarajanA. Afeature registration framework using mixture models[C]∥Proceedings IEEE Workshop on Mathematical Methods in Biomedical Image Analysis. MMBIA-2000 (Cat. no.PR00737), June 12-12 2000, Hilton Head Island, SC, USA. New York: IEEE, 2000: 190- 197.
[15] TsinY, KanadeT. A correlation-based approach to robust point set registration[M] ∥Pajdla T, Matas J. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer, 2004: 558- 569.
[17] 王畅, 舒勤, 杨赟秀, 等. 带方差补偿的多向仿射变换点云配准算法[J]. 光学学报, 2019, 39(2): 0215002.
[18] 唐志荣, 刘明哲, 王畅, 等. 基于多维混合柯西分布的点云配准[J]. 光学学报, 2019, 39(1): 0115005.
Article Outline
唐志荣, 刘明哲, 蒋悦, 赵飞翔, 赵成强. 基于典型相关分析的点云配准算法[J]. 中国激光, 2019, 46(4): 0404006. Zhirong Tang, Mingzhe Liu, Yue Jiang, Feixiang Zhao, Chengqiang Zhao. Point Cloud Registration Algorithm Based on Canonical Correlation Analysis[J]. Chinese Journal of Lasers, 2019, 46(4): 0404006.