激光与光电子学进展, 2022, 59 (16): 1610005, 网络出版: 2022-07-22  

分两阶段变换坐标的点云粗配准算法 下载: 604次

Point Cloud Coarse Registration Algorithm Based on Two-Stage Coordinate Transformation
作者单位
1 上海工程技术大学电子电气工程学院,上海 201620
2 上海理工大学光电信息与计算机工程学院,上海 200093
摘要
针对传统点云配准方法效率低、误差大的问题,提出了一种沿竖直方向和水平方向分阶段变换的点云粗配准方法。首先对点云PQ进行去中心化处理,使得两点云中心点重合;通过遍历距质心的距离寻找特征点,并将特征点旋转至y轴上,完成竖直方向上的对齐;然后在xOz平面内,再次通过遍历距质心的距离寻找特征点,将其绕y轴旋转,在水平方向完成对齐;最后配合迭代最近点精配准算法完成配准。所提方法不存在迭代计算,具有线性时间复杂度和常数空间复杂度。对所提方法与三种经典方法进行对比实验,采用了点数量不同以及尺度不同的三组点云。实验结果表明,对于不同的点云,所提方法具有较强的鲁棒性,配准时间在4 s左右,变化幅度较小,相对于三种传统方法,耗时减少了50%以上;同时所提方法的均方根误差控制在10-8 mm左右,保持了较好的精度。
Abstract
Due to the low efficiency and large error of traditional point cloud registration methods, this paper proposes a point cloud coarse registration method that is transformed in stages along with the vertical and horizontal directions. The proposed method first decentralizes the point clouds P and Q for coinciding the center points of two point clouds, then finds the feature point by traversing the distance from the center of mass, and rotates it to the y axis to complete the vertical alignment. The proposed method then finds the feature point again in the xOz plane by traversing the distance from the center of mass and rotates it around the y axis to align horizontally. Finally, to complete the registration, we use the iterative closest point fine registration algorithm. The proposed method has linear time complexity and constant space complexity, with no iterative computation. The proposed method is compared to three classical methods, and three groups of point clouds with varying numbers and scales are used. The experiment shows that the proposed method has high robustness for various point clouds. The proposed method has a registration time of about 4 s and a small change range; when compared to the three traditional methods, the time consumption is reduced by more than 50%. At the same time, the root mean square error of the proposed method is about 10-8 mm, which maintains a good accuracy.

1 引言

近年来,随着三维扫描系统的飞速发展,三维重建已经广泛应用于医疗1、工业2、文物修复3-4、逆向工程5等各个领域。由于受到扫描设备的限制和实际扫描环境的影响,得到的物体的点云数据一般都存在不完整、有噪声的情况,因此还需经历滤波6、分割7、配准等过程。而配准就是通过刚体变换对多个点云进行对齐,来完整扫描物体点云数据的过程。而如何快速、高效地寻找到最优的旋转平移矩阵,就成为了三维扫描系统的关键所在。

当今在国内外比较流行的点云配准算法是Besl等8提出的迭代最近点(ICP)算法。该算法通过计算欧氏距离来求取两个点云之间的对应点对,并基于对应点构造旋转平移矩阵,估计变换后的源点云与目标点云的误差函数,反复迭代,直到误差小于所设阈值。ICP算法原理简单且拥有比较好的精度,但采用了迭代计算,导致算法计算速度较慢,而且极度依赖两个点云的初始位置,目标函数可能陷入局部最优。为了避免这种情况,一般将ICP搭配其他算法共同完成点云配准。实现点云粗配准的重要方法之一是采用特征进行匹配。Rusu等9-10提出了点特征直方图(PFH),通过计算点云和邻域点云之间的法向量等估计表面情况,并提出改进的快速点特征直方图(FPFH),进一步减少了计算特征点所耗费的时间。Tangelder等11提出的三维形状上下文(3DSC)通过匹配向量的值来建立不同曲面点之间的对应关系,用于描述曲面上指定点及邻域的形状特征。江旭等12提出了一种改进的基于T检验的迭代最近点(T-ICP)算法。李新春等13提出一种基于邻域特征点提取和匹配的点云配准方法。张顺利等14提出了一种基于自适应邻域匹配的点云配准方法。Ying等15提出了基于ICP的尺度伸缩配准方法。汤慧等16提出了一种基于扩展PFH特征的点云匹配算法。刘鸣等17提出了一种利用独立成分分析(ICA)的点云配准方法。李宇翔等18提出了一种基于内部形态描述子(ISS)及方向直方图描述子(SHOT)特征的点云配准算法。彭真等19提出了一种基于关键点提取与最近点优化迭代的点云配准算法。詹旭等20提出了一种基于余弦相似度的点云配准算法。王永波等21提出了平面特征约束下基于四元数描述的LiDAR点云配准算法。

针对现有算法存在的精度或者时间问题,本文采用粗配准和精配准相结合的方式,分别解决时间和精度的问题。在粗配准上,提出了一种具有线性时间复杂度和常数空间复杂度的算法,大幅减少了粗配准阶段所需要的时间;再搭配ICP精配准算法完成配准,从而保证了配准的精度。

2 点云配准算法

点云配准的实质是找到一个从源点云P到目标点云Q的旋转平移矩阵,其中Q=R*P+tR为旋转矩阵,t为平移向量。从空间的竖直方向和水平方向入手,分两阶段寻找两点云间的变换关系,快速完成粗配准过程,再搭配ICP算法完成配准,从而在时间和精度上都取得较好的结果。

2.1 竖直方向对齐

首先定义源点云P=p1,p2,p3,...,pn,其中pi=xi  yi  ziT,i=1,2,3,...,n,目标点云Q=q1,q2,q3,...,qm,其中qj=xj  yj  zjT,j=1,2,3,...,m。竖直方向的配准过程如图1所示,具体算法步骤如下。

图 1. 竖直方向配准过程

Fig. 1. Vertical registration process

下载图片 查看所有图片

1)计算点云P和点云Q的质心,分别记为cPcQ,表达式分别为

cP=1ni=1npicQ=1mj=1mqj

2)将点云P和点云Q去中心化:

pi=pi-cPqj=qj-cQ

3)在点云P和点云Q中分别寻找距离原点最远的点pdqd。其中pdqd两点距原点的欧氏距离分别为DPDQ

DP=maxxi2+yi2+zi2DQ=maxxj2+yj2+zj2

4)对于点云P,在xOz平面内寻找垂直于向量nOpd的向量p,对于点云Q,在xOz平面内寻找垂直于向量nOqd的向量q。设p=ap 0 cpTq=aq 0  cqT,则有

nOpdp=0nOqdq=0

5)计算向量nOpdy轴的夹角α,计算向量nOqdy轴的夹角β。设e=0 1 0Ty轴的一个单位向量,可得

cosα=nOpdenOpd×ecosβ=nOqdenOqd×e

6)以向量p为旋转轴,α为旋转角度,求出旋转矩阵RP,以向量q为旋转轴,β为旋转角度,求出旋转矩阵RQ

RP=cosα+ap2(1-cosα) -cpsinαapcp(1-cosα)cpsinαcosα-apsinαapcp(1-cosα)apsinαcosα+cp2(1-cosα)RQ = cosβ+aq2(1-cosβ) -cqsinβaqcq(1-cosβ)cqsinβcosβ-aqsinβaqcq(1-cosβ)aqsinβcosβ+cq2(1-cosβ)

7)将点云PQ按旋转矩阵RPRQ旋转,把向量nOpd、向量nOqdy轴重合,完成竖直方向上的对齐,并形成新点云PyQy

2.2 水平方向对齐

再按照图2所示的过程完成水平方向配准。

图 2. 水平方向配准过程

Fig. 2. Horizontal registration process

下载图片 查看所有图片

具体算法步骤如下。

1)将点云PyQy里的每个点的y坐标置0,在xOz平面上形成新点云Py0Qy0

2)在点云Py0Qy0内分别寻找距离原点欧氏距离最远的点pd0qd0

3)计算向量nOpd0nOqd0的夹角γ,表达式为

cosγ=nOpd0nOqd0nOpd0×nOqd0

4)以y轴为旋转轴,夹角γ为旋转角,计算旋转矩阵RxOz

RxOz=cosγ0-sinγ010sinγ0cosγ

5)最后根据矩阵RPRQRxOz,可以得到最终旋转矩阵R

R=RQ-1*RxOz*RP

2.3 ICP算法精配准

ICP算法是一种基于最小二乘法思想的算法,通过在约束条件下进行迭代,得到满足精度要求的结果。ICP算法对初始位置要求较高,否则容易陷入局部最优,因此将旋转矩阵R作为初始旋转矩阵,赋值给RICP进行第一次计算,然后开始迭代。

ICP算法步骤如下。

1)在源点云P中取点集pkP

2)在目标点云Q中取点集qkQ,使得满足qk-pk=lmin

3)根据对应点集计算出旋转矩阵RICP和三维平移向量t

4)对源点集pk使用步骤3)的RICPt,计算出新的源点集pk'=RICP*pk+t

5)使用误差函数

ERICP,t=1Ll=1Lql-RICP*pl+t

6)如果误差小于设定阈值e或者迭代次数大于设定N,迭代结束,否则将源点集更新为pk',重复步骤2)~6),直到满足收敛条件。

3 实验与分析

为了保证实验的可靠性,分别采用了斯坦福大学提供的Bunny点云和Horse点云等公共点云,以及如图3所示的实验装置测量的Cochlea私有点云。Bunny点云、Horse点云和Cochlea点云的数量分别为33692、48485和29067。

图 3. 点云测量实验装置

Fig. 3. Experimental setup for point cloud measurement

下载图片 查看所有图片

为了对比算法的耗时和精度,除了所提算法外,还采用了传统的PFH算法、FPFH算法和3DSC算法进行了对比。另外为了体现所提算法的适用性,加入了一组不同角度采集的单面点云进行验证。

3.1 Bunny兔子点云配准

首先采用4种算法对斯坦福大学提供的公共点云库中的Bunny兔子点云进行配准实验,配准结果如图4所示。实验数据如表1所示,对于Bunny点云,PFH算法的均方根误差(RMSE)为7.239×10-7 mm,用时34.796 s,比FPFH算法精度略高,但FPFH算法用时13.162 s,仅为PFH的1/3;3DSC算法配准精度最高,均方根误差为9.741×10-9 mm,但用时也最长;所提算法的均方根误差为1.897×10-8 mm,和3DSC算法相差不多,但用时4.226 s,仅为3DSC算法的1/12。

图 4. Bunny点云实验结果

Fig. 4. Experiment results of Bunny point cloud

下载图片 查看所有图片

表 1. 不同算法的Bunny点云配准对比

Table 1. Comparison of Bunny point cloud registration of different algorithms

Point cloudAlgorithmTime /sRMSE /mm
BunnyProposed algorithm4.2261.897×10-8
PFH algorithm34.7967.239×10-7
FPFH algorithm13.1621.443×10-6
3DSC algorithm51.5879.741×10-9

查看所有表

3.2 Horse点云配准

采用4种算法对斯坦福大学提供的公共点云库中的Horse点云进行配准实验,配准结果如图5所示。实验数据如表2所示,同Bunny点云相比,因为Horse点云模型本身较为平滑,因此4种算法的RMSE均略小于Bunny点云的结果;同时因为点云数量较多,比较耗时。4种算法对Horse点云的结果与对Bunny点云的结果相似,但随着点云数量的增多,3DSC算法耗时增加了51.113 s,PFH算法和FPFH算法也增加了10 s左右,而所提算法仅增加了0.03 s。

图 5. Horse点云实验结果

Fig. 5. Experiment results of Horse point cloud

下载图片 查看所有图片

表 2. 不同算法的Horse点云配准对比

Table 2. Comparison of Horse point cloud registration of different algorithms

Point cloudAlgorithmTime /sRMSE /mm
HorseProposed algorithm4.2569.296×10-9
PFH algorithm44.9761.239×10-7
FPFH algorithm22.5566.443×10-7
3DSC algorithm102.72.392×10-10

查看所有表

3.3 Cochlea耳蜗点云配准

采用4种算法对实验室采集的Cochlea点云进行配准实验,配准结果如图6所示。实验数据如表3所示,同Bunny点云相比,因为实验室所测得的Cochlea点云和公共点云的尺度不同,因此所得到的RMSE有了较大的变化,所耗时间也均有不同程度的变化。PFH算法和FPFH算法的RMSE远大于所提算法和3DSC算法;而对于处理时间,所提算法虽有所增加,但依旧只有3DSC算法的1/10。

图 6. Cochlea点云实验结果

Fig. 6. Experiment results of Cochlea point cloud

下载图片 查看所有图片

表 3. 不同算法的Cochlea点云配准对比

Table 3. Comparison of Cochlea point cloud registration of different algorithms

Point cloudAlgorithmTime /sRMSE /mm
CochleaProposed algorithm5.382.457×10-9
PFH algorithm23.8121.744×10-2
FPFH algorithm19.9873.806×10-2
3DSC algorithm52.1894.744×10-9

查看所有表

3.4 实验结果分析

通过对三组点云的实验,得到了不同算法的配准时间和均方根误差,如图7所示。

图 7. 不同算法的配准结果。(a)时间;(b)RMSE

Fig. 7. Registration results of different algorithms. (a) Time; (b) RMSE

下载图片 查看所有图片

Bunny点云的数量为33692,Horse点云的数量为48485,数量差别很大,如图7(a)所示,可以清楚地看到:随着点的数量增多,PFH和FPFH所耗时间均增大;而3DSC算法的耗时增加更为显著;所提算法基于线性的时间复杂度和常数空间复杂度,耗时增加很少,因此对于数量越多的点云,所提算法优势越为明显。Bunny点云和Cochlea点云的数量相似,但由于采用不同设备采集点云数据,因此点云的尺度不同。如图7(b)所示,当点云尺度有了较大变化后,PFH和FPFH的均方根误差变化很大,而所提算法和3DSC算法变化很小,依旧保持着较高的精度。但相对于所提算法,3DSC算法的配准速度又严重依赖点云的数量。因此,从配准耗时和RMSE的变化综合来看,所提算法具有良好的性能。

3.5 普适性验证实验

以上实验均采用了完整模型进行配准,为了验证所提算法的普适性和可行性,进行斯坦福大学公共点云库中Bunny点云的不同角度的单面点云实验。实验采用Bunny点云0°方向的点云S和45°方向的点云T,如图8(a)所示。

图 8. 点云S和点云T

Fig. 8. Point cloud S and point cloud T

下载图片 查看所有图片

首先分别寻找点云S和点云T的特征点sdtd,由于两个点云是物体在不同视角下采集的,因此点的数量和点云的质心都不同。由图8(b)和图8(c)也可以清楚地看到,特征点不是同一个点,但是两个特征点都在兔子的右耳朵上,相对位置相差不大。

首先按照所提算法步骤对点云S和点云T重设y轴,完成竖直方向上的对齐,如图9(a)所示,得到点云Sy和点云Ty;再将y坐标置为0,如图9(b)和图9(c)所示,得到点云Sy0Ty0。从图9可以清晰地看出,对于水平方向上的两幅点云,形状不完全相同,但非常相似。这说明第一步在竖直方向上的对齐是有效的,没有出现投影在xOz平面上后差异很大的情况。另外从点云Sy0Ty0所得到的特征点sd0td0也不同,但都在兔子的尾巴上,相对位置也相差不大。

图 9. 粗配准过程

Fig. 9. Coarse registration process

下载图片 查看所有图片

最后再经过水平方向的对齐后,综合两阶段得到最终的旋转矩阵。粗配准结果如图10(a)所示,可以看到点云S和点云T已经在很大程度上完成了配准,而此粗配准过程仅花费0.636 s。最后再搭配ICP精配准算法完成最终的配准,避免了ICP算法陷入局部最优与迭代时间长的缺陷。通过实验,证明了所提算法对不同视角得到的单面点云数据的适用性。

图 10. 配准结果

Fig. 10. Registration result

下载图片 查看所有图片

4 结论

采用粗配准和精配准相结合的方式,分别保证了配准的时间和精度。ICP精配准算法精度高,迭代计算慢,可能陷入局部最优。因此,从空间的竖直方向和水平方向入手,提出一种分两阶段寻找两点云间的变换关系的算法。该算法具有线性时间复杂度和常数空间复杂度,大幅减少了粗配准阶段所需要耗费的时间,从而快速完成粗配准过程。

通过采用三组有代表性的点云数据,实验证明了所提算法的强鲁棒性,无论改变点的数量还是改变点云的尺度,在时间和精度上均有所保证。通过补充实验,证明了所提算法对不同角度采集的部分点云也可较好地完成粗配准。但所提算法对配准对象有一定要求,即要求点云的特征点处在相邻位置,例如对于Bunny点云,耳朵是较为突出、细长的部分,当各视角的点云里都有耳朵,即可保证特征点都处在耳朵上,因此在获得点云模型时,需将物体突出、细长的部分作为公共区域进行点云获取;如果点云模型为球型、柱形等规则物体,没有较突出、细长部位,可以对物体加一个辅助杆,使其拥有一个细长、突出的公共部分,在完成配准后再通过将辅助杆删除的方法来解决。接下来则要对特征点的选择进行进一步深入研究,使所提算法可以适用于更多对象。

参考文献

[1] Jiang W, Xu K, Cheng Z Q, et al. Skeleton-based intrinsic symmetry detection on point clouds[J]. Graphical Models, 2013, 75(4): 177-188.

[2] 朱宁宁. 三维激光扫描在地铁隧道形变监测中的应用[J]. 测绘工程, 2015, 24(5): 63-68.

    Zhu N N. Application of 3D laser scanning to the subway tunnel deformation monitoring[J]. Engineering of Surveying and Mapping, 2015, 24(5): 63-68.

[3] 杨稳, 周明全, 郭宝, 等. 基于曲率图的颅骨点云配准方法[J]. 光学学报, 2020, 40(16): 1610002.

    Yang W, Zhou M Q, Guo B, et al. Skull point cloud registration method based on curvature maps[J]. Acta Optica Sinica, 2020, 40(16): 1610002.

[4] 邱兆文, 张田文. 文物三维重建关键技术[J]. 电子学报, 2008, 36(12): 2423-2427.

    Qiu Z W, Zhang T W. Key techniques on cultural relic 3D reconstruction[J]. Acta Electronica Sinica, 2008, 36(12): 2423-2427.

[5] 张德海, 崔国英, 白代萍, 等. 逆向工程中的三维光学检测点云采样技术研究[J]. 计算机应用研究, 2014, 31(3): 946-948.

    Zhang D H, Cui G Y, Bai D P, et al. Point cloud simplification technology of 3D optical measurement applied on reverse engineering[J]. Application Research of Computers, 2014, 31(3): 946-948.

[6] 李绕波, 袁希平, 甘淑, 等. 一种基于对偶四元素描述的线面特征约束的点云配准方法[J]. 光学学报, 2022, 42(2): 0214003.

    Li R B, Yuan X P, Gan S, et al. Point cloud registration method based on dual quaternion description of line-planar feature constraints[J]. Acta Optica Sinica, 2022, 42(2): 0214003.

[7] 赵梦娜, 花向红, 冯绍权, 等. 基于点云切片的建筑物门窗信息提取[J]. 中国激光, 2020, 47(6): 0604002.

    Zhao M N, Hua X H, Feng S Q, et al. Information extraction of buildings, doors, and windows based on point cloud slices[J]. Chinese Journal of Lasers, 2020, 47(6): 0604002.

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

[9] RusuR B, BlodowN, MartonZ C, 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 Press, 2008: 3384-3391. 10.1109/iros.2008.4650967

[10] RusuR B, BlodowN, BeetzM. Fast point feature histograms (FPFH) for 3D registration[C]∥2009 IEEE International Conference on Robotics and Automation, May 12-17, 2009, Kobe, Japan. New York: IEEE Press, 2009: 3212-3217. 10.1109/robot.2009.5152473

[11] Tangelder J W H, Veltkamp R C. A survey of content based 3D shape retrieval methods[J]. Multimedia Tools and Applications, 2007, 39(3): 441-471.

[12] 江旭, 耿楠, 张志毅, 等. 基于假设检验匹配约束的点云配准算法研究[J]. 计算机应用研究, 2021, 38(1): 305-310.

    Jiang X, Geng N, Zhang Z Y, et al. Research of point cloud registration algorithm based on hypothesis test matching constraints[J]. Application Research of Computers, 2021, 38(1): 305-310.

[13] 李新春, 闫振宇, 林森, 等. 基于邻域特征点提取和匹配的点云配准[J]. 光子学报, 2020, 49(4): 0415001.

    Li X C, Yan Z Y, Lin S, et al. Point cloud registration based on neighborhood characteristic point extraction and matching[J]. Acta Photonica Sinica, 2020, 49(4): 0415001.

[14] 张顺利, 徐艳芝, 周明全, 等. 基于自适应邻域匹配的点云配准方法[J]. 计算机学报, 2019, 42(9): 2114-2126.

    Zhang S L, Xu Y Z, Zhou M Q, et al. Registration of point clouds based on matching of general adaptive neighborhood[J]. Chinese Journal of Computers, 2019, 42(9): 2114-2126.

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

[16] 汤慧, 周明全, 耿国华. 一种基于扩展的PFH特征的点云匹配算法[J]. 激光与光电子学进展, 2019, 56(24): 241503.

    Tang H, Zhou M Q, Geng G H. A point cloud registration algorithm based on extended PFH feature[J]. Laser & Optoelectronics Progress, 2019, 56(24): 241503.

[17] 刘鸣, 舒勤, 杨赟秀, 等. 基于独立成分分析的三维点云配准算法[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.

[18] 李宇翔, 郭际明, 潘尚毅, 等. 一种基于ISS-SHOT特征的点云配准算法[J]. 测绘通报, 2020(4): 21-26.

    Li Y X, Guo J M, Pan S Y, et al. A point cloud registration algorithm based on ISS-SHOT features[J]. Bulletin of Surveying and Mapping, 2020(4): 21-26.

[19] 彭真, 吕远健, 渠超, 等. 基于关键点提取与优化迭代最近点的点云配准[J]. 激光与光电子学进展, 2020, 57(6): 061002.

    Peng Z, Lü Y J, Qu C, et al. Accurate registration of 3D point clouds based on keypoint extraction and improved iterative closest point algorithm[J]. Laser & Optoelectronics Progress, 2020, 57(6): 061002.

[20] 詹旭, 蔡勇. 基于余弦相似度的点云配准算法[J]. 激光与光电子学进展, 2020, 57(12): 121503.

    Zhan X, Cai Y. Point cloud registration algorithm based on cosine similarity[J]. Laser & Optoelectronics Progress, 2020, 57(12): 121503.

[21] 王永波, 郑南山, 卞正富. 平面特征约束下基于四元数描述的LiDAR点云配准算法[J]. 光学学报, 2020, 40(23): 2310001.

    Wang Y B, Zheng N S, Bian Z F. Planar feature-constrained, quaternion-based registration algorithm for LiDAR point clouds[J]. Acta Optica Sinica, 2020, 40(23): 2310001.

李思远, 刘瑾, 杨海马, 刘海珊. 分两阶段变换坐标的点云粗配准算法[J]. 激光与光电子学进展, 2022, 59(16): 1610005. Siyuan Li, Jin Liu, Haima Yang, Haishan Liu. Point Cloud Coarse Registration Algorithm Based on Two-Stage Coordinate Transformation[J]. Laser & Optoelectronics Progress, 2022, 59(16): 1610005.

引用该论文: TXT   |   EndNote

相关论文

加载中...

关于本站 Cookie 的使用提示

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