Research on Three-Dimensional Point Cloud Registration Algorithm三维点云配准算法研究
Publisher: IEEE发行者 : IEEE
Cite This引用此内容
Yuqing Zhang; Shilong Sun; Jingjing Shang; Minghan Yang张玉清;孙世龙; 尚晶晶;杨明翰
Abstract:
According to the different processing steps and ideas, the point cloud registration algorithms are classified into five categories. The representative algorithms of each type are listed to summarize the proposed time, basic ideas and advantages and disadvantages of the algorithms. For the classical algorithm of point cloud registration based on feature extraction, the voxel grid filtering method is used to down-sampling the point cloud data before the sampling consistency initial alignment algorithm. We make an experimental comparison with classical algorithms to make an analysis from subjective evaluation and objective indicators. Finally, summarize the future challenges of point cloud registration.根据不同的处理步骤和思路,将点云配准算法分为五类。列举了各类算法的代表性,总结了所提出的时间、基本思路和算法的优缺点。针对基于特征提取的点云配准经典算法,采用体素网格滤波方法对采样一致性初始对齐算法前的点云数据进行下采样。我们与经典算法进行了实验比较,从主观评价和客观指标进行分析。最后,总结了点云配准的未来挑战。
Published in: 2022 7th International Conference on Signal and Image Processing (ICSIP)发表于: 2022第七届信号与图像处理国际会议(ICSIP)
Date of Conference: 20-22 July 2022会议日期: 2022年7月20-22日
Date Added to IEEE *Xplore*: 19 September 2022加入 IEEE Xplore 的日期: 19 September 2022
ISBN Information:ISBN信息:
DOI: 10.1109/ICSIP55141.2022.9886254DOI: 10.1109/ICSIP55141.2022.9886254
Publisher: IEEE发行者 : IEEE
Conference Location: Suzhou, China会议地点: 苏州, 中国
introduction
随着LiDAR和Kinect等高精度传感器的快速发展,点云已成为代表3D世界的主导数据格式。由于传感器只能捕获有限视野范围内的扫描,因此需要配准算法来生成大型 3D 场景。点云配准是估计点云扫描之间的变换矩阵的问题。点云配准技术是点云数据处理研究中一个具有挑战性的领域,因为点云是一种非结构化的数据形式,可能会受到遮挡、噪声和大数据量的影响,并且需要准确、快速地完成。本文重点关注点云的刚性配准,仅存在平移和旋转操作而没有缩放和变形。
点云配准是多个领域的一项重要技术,首先是移动机器人的同时局部性,例如,配准可以获得有关机器人手臂姿势的信息,以决定向何处移动,以便准确地抓取物体[1 ]。其次,在无人驾驶中的高精度地图构建和环境感知中,估计无人驾驶汽车在地图上的位置(例如<10cm)及其与道路边界线的距离,点云配准可以精确匹配当前的实时3D与其所属的 3D 环境一起查看,以提供高精度 [2]。第三,广泛应用于增强现实(AR)、医疗检查图像合成、施工监控和竣工建模等场景。
This paper makes the following contributions:本文做出以下贡献:
- Provides comprehensive statistics based on the rapid development of homologous point cloud registration (1992-2022) in recent years, including traditional optimization and modern deep learning methods.提供基于近年来同源点云配准快速发展(1992-2022)的综合统计数据,包括传统优化和现代深度学习方法。
- Collate the principles and advantages and disadvantages of various registration algorithms, and analysis the experimental results of representative algorithms.整理各种配准算法的原理和优缺点,分析代表性算法的实验结果。
- Improving the Sampling Consistency Initial Alignment Algorithm (SAC-IA) classical algorithm, which belongs to the point cloud registration based on feature extraction.改进采样一致性初始比对算法(SAC-IA)经典算法,属于基于特征提取的点云配准。
本文根据算法处理的步骤和思路,可以区分出五类:基于ICP的点云配准、基于特征提取的点云配准、基于图像等中间介质的点云配准、基于第三章对深度学习和基于频域的点云配准算法进行了研究,并分别介绍了每一类算法的进展。
Point Cloud Registration Overw
点云配准是指通过刚体对不同坐标系的点云进行变换,使不同坐标系的点云能够很好地融合到同一坐标系的点云中。经过文献分析[3],点云配准流程图如图1所示。
因此,给定两个点云P和Q,点云配准的核心问题是找到最优的旋转矩阵R和平移向量t,使得这两个点云之间的距离最小,数学模型[4]为式(1)中:
f
(
R
,
t
)
=
∑
i
=
1
N
∥
Q
i
−
(
R
P
i
+
t
)
∥
2
\begin{equation*}f(R, t)=\sum_{i=1}^N\left\|Q_{i}-\left(R P_{i+t}\right)\right\|^{2}\tag{1}\end{equation*}
f(R,t)=i=1∑N∥Qi−(RPi+t)∥2(1)
由于点云配准的准确性直接影响后续3D模型的建立,因此点云数据配准方法一直是数据配准领域的热点问题,国内外研究人员做了大量的研究。本文对点云配准研究现状进行了总结。
Domestic and International Point Cloud Registration Algorithms国内外点云配准算法
A. Point Cloud Registration Based on ICP
自1992年Besl和Chen提出经典的迭代最近点(ICP)算法以来,该算法已成为国内外最广泛采用的精密拼接方法。该算法应用了配准的迭代思想,有两个主要优点:
严谨的数学理论可以保证它们的收敛性。
更好地泛化未知场景,无需训练数据。
此类方法的局限性在于需要许多复杂的策略来克服噪声、异常值、密度变化和部分重叠变化,这使得计算成本增加。为了提高经典ICP算法的收敛速度和配准精度,国内外有学者从点云索引机制、对应点搜索方法、错误对应点对剔除和变换参数等方面提出了许多基于ICP的改进配准算法解决方案克服了经典ICP算法速度慢、易陷入局部最优的问题,ICP及其各种改进算法已成为精确搭配领域的主流算法。 ICP及其各种改进算法已经成为精准搭配领域的主流算法,并且新的改进算法不断出现,以满足不同场合的要求。 ICP算法的演变如图2[5]-[7]所示。
图 2. 图 2.
基于ICP的点云配准时序概述。
基于ICP点云配准的算法理论上可以得到较高的精度,但由于点数量较多,该算法在处理复杂的现场点云配准时会造成计算量过大、耗时较长,且误匹配率较高。场景重叠度低。
B. Point Cloud Registration Based on Feature ExtractionB. 基于特征提取的点云配准
这些方法首先利用特征提取描述子从待对齐点云和模板点云中提取特征,提取对应的特征点,将待对齐点云和模板点云中的特征点进行匹配,利用相似特征点对作为候选匹配点对,然后通过RANSAC算法在候选匹配点对中筛选出最终的匹配点对,求解待对齐点云与模板点云之间的变换关系。
常见的点云几何特征包括法向量、积分不变量、矩不变量、旋转图像、曲率、形状内容描述符和特征直方图。根据所选几何特征的范围,包括局部特征和全局特征。其中,
通过对数据点的局部邻域信息进行编码而提取的特征就是局部特征。
而对所有点的几何属性进行编码形成的特征就是全局特征。
在点云配准中,将具有相同几何特征的数据点视为对应点对,最后通过对应点对求解刚体变换参数,实现点云配准[8]-[10]。图3按时间顺序组织了局部特征和全局特征代表算法。
图 3. 图 3.
局部和全局特征的代表性算法的时间概述。
然而,现有的提取和描述特征点的算法大多是基于研究者对特定任务的理解而设计的,在描述点云的特征时并不完全准确,特别是当物体的表面特征不明显时并且很难提取足够数量的特征点。另外,一些特征提取和描述算法的计算量和复杂度过高,影响了配准算法的实际应用,表1给出了基于特征提取的点云配准的代表性算法。
表1 基于特征提取的点云配准代表性算法
C. Point Cloud Registration Based on Intermediate MediaC. 基于中间媒体的点云配准
此类方法不是直接使用点云进行配准,而是使用图像作为桥梁,该图像可以是伴随激光扫描的强度图像,也可以是结合激光扫描获得的光学或全景图像。
基于图像等中间介质的点云配准算法利用投影图、光学图像或深度图将3D点云配准问题转化为2D图像匹配问题,并利用2D图像配准算法间接计算点云之间的变换参数,往往更省时、更准确,但大多数应用没有相应的光学图像或强度图像等,因此具有一定的局限性[14-16]。
D. Deep Learning Based on Point Cloud RegistrationD. 基于点云配准的深度学习
深度学习在图像处理方面的巨大成功使得许多学者尝试将深度学习算法应用于3D点云数据处理,但点云数据与图像不同,点云是场景下垫面的稀疏样本或物体,而点云通常是无序的,没有空间结构;它们不能在规则网格上采样并作为图像像素进行处理,此外,这些点可能具有也可能不具有色彩特征,因此点云特定的处理通常只能处理点的相对位置。大多数针对图像开发的深度学习方法都使用离散卷积,并大量使用点云中不存在的数据网格结构,因此此类算法无法直接转移到点云数据处理中。
大多数基于深度学习的点云配准算法首先构建适合点云配准的学习模型,然后用训练数据训练模型参数,然后使用训练好的模型从待配准的点云和模板点中提取特征分别云,最后进行特征匹配,得到配准结果。这个过程相当于用深度学习算法学习一个适合点云配准的特征提取网络,比传统的特征提取算法具有更好的配准精度和更广泛的特征适用性,但目前的点云配准学习网络存在训练时间长等问题大规模点云数据的时间和大量内存消耗。图4显示了常见的基于深度学习的点云配准算法[17-19]。
E. Frequency Domain Based on Point Cloud RegistrationE. 基于频域的点云配准
基于频域的配准算法是首先通过傅里叶变换技术将整个点云转换到频域,然后通过对齐相应的频谱来获得点云的配准结果,对于仅用一个小的重叠区域。
杨红芬针对激光扫描获取的多站点云的搭配问题提出了一种新的配准方法[20],即点云数据在频域上对齐。该方法利用傅里叶变换将点云从空间域变换到频域,并且利用傅里叶变换可以将旋转和缩放参数与平移参数分开,即旋转和缩放可以在单独频域,然后在此基础上求解平移参数,实现点云的配准。
Algorithm Process and Analysis of Experimental Results算法过程及实验结果分析
A. Algorithm Process
在3D点云配准之前,需要对原始3D点云数据进行下采样。因此我们改进了SAC-IA算法[21]。
在本文中,我们使用基于体素的过滤方法。传统的体素网格过滤方法中,通过调整体素网格立方体的边长来过滤待采样的点云数据,针对不同的原始点云数据集手动调整体素立方体的大小来寻找匹配的体素立方体。缺点是对于不同数量的3D点云数据,下采样后的3D点云数据数量无法保证。为了解决这个问题,对传统的体素滤波方法进行了改进,通过式(2)设置下采样后所需的点集数量,然后针对任意数量的初始采样点集自适应地获得所需的体素网格立方体大小[22] 。
F
(
k
∗
ε
+
l
)
<
P
max
\begin{equation*}F(k*\varepsilon+l)\lt P_{\max} \tag{2}\end{equation*}
F(k∗ε+l)<Pmax(2)
F表示体素晶格滤波器,ε 表示体素晶格立方体长度的初始步长,l 表示初始立方体边长,PmR表示采用自适应体素点阵滤波方法后点集中的最大点数。
整体算法流程如下步骤[21]。
步骤1:输入源点云P和目标点云Q;
步骤2:下采样后得到的点云数量Pmm=1000,采用体素网格滤波方法得到采样点云数据Pf和Qf;
步骤3:计算Pf和Qf内各相邻点对之间的角度变量,保存在点特征集合对应的区间内;
步骤4:通过式(3)计算得到点特征描述子P-fpfh(Pf的描述子),Q-fpfh(Qf的描述子),其中,k表示特征点的相邻点的数量,变量ib表示特征点的相邻点的个数。距离大小,即特征点与第i个相邻点之间的距离;
F
(
p
q
)
=
S
(
p
q
)
+
1
k
∑
i
=
1
k
1
b
i
×
S
(
p
i
)
\begin{equation*}F\left(p_{q}\right)=S\left(p_{q}\right)+\frac{1}{k} \sum_{i=1}^k \frac{1}{b_{i}} \times S\left(p_{i}\right) \tag{3}\end{equation*}
F(pq)=S(pq)+k1i=1∑kbi1×S(pi)(3)
步骤5:利用采样一致性配准算法进行对应点对配准,得到旋转平移变换矩阵sac−tran;
步骤6:通过循环迭代配准,以sac−tran作为初始旋转矩阵,设置最大迭代次数为100;
步骤7:最大循环次数,登记结束,输出结果。
B. Analysis of Experimental Results
本文实验系统环境为64位win10操作系统,软件环境为Visual Studio 2019,开源点云库PCL1.11.0。
主观评价最能直观地反映注册成功与否。点云配准效果的主观评价是指基于目视直接观察来判断配准效果,具体实验结果如图5所示。
图 5.
算法结果。 (a) 待对齐的点云; (b) SAC-IA; ©本文的算法。
从主观视觉结果来看,边缘处仍存在肉眼可见的偏差,但重叠部分大致对齐。两种算法之间几乎没有主观差异。
接下来我们从客观指标方面对实验结果进行分析。
在客观指标方面,配准误差的具体值和配准所花费的时间在本文中,我们用等式(4)所示的均方根误差(RMSE)[23]值来表示配准误差。
e
r
r
R
M
S
E
=
∑
i
=
1
N
∥
p
i
−
q
i
∥
2
2
N
\begin{equation*}{err}_{RMSE}=\sqrt{\frac{\sum_{i=1}^{N}\|p_{i}-q_{i}\|_{2}^{2}}{N}} \tag{4}\end{equation*}
errRMSE=N∑i=1N∥pi−qi∥22(4)
N为粗配准后两点云重叠部分的点对数,pi和qi为对应点对,其中qi为点云Q中距离pi最近的点。上述误差值越小,点云的配准精度越好[24]。两种算法的具体配准误差和配准时间如表二所示。
可以看出,与SAC-IA相比,精度没有明显提高,但本文算法耗时更少,效率更高。
Conclusion
3D点云研究作为一个相对较新的研究领域正在迅速发展。本文从不同角度对点云配准进行分类,重点介绍基于特征提取的点云配准和基于深度学习的点云配准算法的结果。
本文将点云配准方法归纳为五类,分别介绍了基于优化的直接配准、基于特征提取的点云配准、基于图像等中间介质的点云配准、基于深度学习的点云配准以及点云配准。基于频域,分析了一些算法的细节以及同类算法的特点。然而,这两种算法都存在需要进一步研究的挑战。主要挑战:
应用场景的挑战。如大规模点云、动态非平稳点云、特征缺乏、特征重复或对称点云等,这些应用场景对点云配准的可用性和可靠性提出了很高的要求。
注册性能的挑战。为了满足某些应用中高精度的要求,实时应用中需要保证快速配准、更高的配准精度、更高的配准速度比和更高的配准精度计算负担比。
点云配准的研究正在取得进展,我们期待提出更多创新的方法。