论文翻译——LinK3D:三维LiDAR点云的线性关键点表示

摘要

特征提取和匹配是许多计算机视觉任务的基本部分,例如二维或三维物体检测、识别和配准。众所周知,二维特征提取和匹配已经取得了很大的成功。遗憾的是,在3D领域,由于描述能力差和效率低,目前的方法无法支持3D激光雷达传感器在视觉任务中的广泛应用为了解决这一局限性,我们提出了一种新的3D特征表示方法:用于3D LiDAR点云的线性关键点表示,称为LinK3DLinK3D的新颖之处在于它充分考虑了LiDAR点云的特点(如场景的稀疏性、复杂性),并用其鲁棒的相邻关键点来表示当前关键点,这对当前关键点的描述提供了强约束。提出的LinK3D已在两个公共数据集(即KITTI和Steven VLP16)上进行了评估,实验结果表明,我们的方法在匹配性能方面大大优于现有技术。更重要的是,LinK3D显示了出色的实时性能(基于LiDAR的10 Hz频率)。LinK3D从64射线激光束采集的点云中提取特征平均只需32毫秒,在配备Intel Core [email protected] GHz处理器的笔记本电脑中执行时,匹配两次LiDAR扫描只需约8毫秒。此外,我们的方法可以广泛扩展到各种三维视觉应用。在本文中,我们将LinK3D应用于3D注册、LiDAR里程计和地点识别任务,并与最先进的方法相比取得了具有竞争力的结果。
关键词:三维激光雷达点云,特征提取、匹配、高效,可扩展到三维视觉任务。


一、引言

特征提取和匹配是大多数计算机视觉任务的构建模块,如感知[1]-[3]、识别[4]-[6]和重建[7]、[8]任务。在二维视觉领域,各种二维特征提取方法(如Harris[9]、SIFT[10]、SURF[11]和ORB[12])已经被研究和广泛应用。然而,在三维视觉领域中,三维特征的表示和匹配还存在一些尚未解决的问题。当前的方法可能不适用于高频(通常≥ 10Hz),尤其是在效率和可靠性方面。三维LiDAR点云的不规则性、稀疏性和无序性使得二维方法无法直接应用于三维。目前,3D LiDAR已广泛应用于一些移动的设备(如机器人[13]、自动驾驶汽车[14]等),设计一种高效、鲁棒三维LiDAR点云特征表示方法是十分必要的。

现有的3D特征点表示方法[15]-[25]在提取策略方面主要分为两类,即手工特征和基于学习的特征。手工特征[15],[17]-[19]主要以直方图的形式描述特征,并且它们使用局部或全局统计信息进行特征表示。由于LiDAR使用的大型场景中通常有许多相似的局部特征(例如大量的局部平面),这些局部统计特征很容易导致不匹配。直观地说,全局特征[20]-[22]不太可能在点云内部生成精确的点到点匹配。基于学习的方法[23]-[25]取得了很大进展,但这些方法通常很耗时(例如3DFeatNet[24]提取3D特征大约需要0.928秒,D3Feat[26]用于3D注册大约需要2.3秒)

事实上,目前大多数的3D特征表示方法通常更适合于小尺度场景和小物体表面(如Stanford Bunny1点云)。显然,LiDAR使用的小型场景和大型场景之间存在一些差异(例如,KITTI 00的城市场景[27])。具体而言,主要区别如下:
• 小对象曲面通常是平滑和连续的,并且局部曲面是唯一的。然而,三维激光雷达点云包含许多不连续和相似的局部曲面(例如,许多相似的局部建筑曲面、树、极线等)。如果使用具有这些相似局部曲面的点云来生成局部三维特征,直观地看,这些三维特征也很相似,很容易导致不匹配。
• 3D LiDAR点云通常较稀疏,且点在空间中分布不均匀。如果在固定大小的空间中没有足够的点来生成局部统计描述,则可能无法获得有效和准确的三维特征描述。
• 在LiDAR扫描中经常存在遮挡,这可能导致在当前和后续LiDAR扫描中对同一局部表面的描述不一致。因此,有必要设计一种专门用于三维激光雷达点云的特征表示。

基于这些差异,本文提出了一种新的激光雷达点云三维特征,可用于精确的点对点匹配。我们的方法首先提取鲁棒聚集关键点,然后将提取的聚集关键点输入描述符生成算法,该算法以新的关键点表示形式生成描述符。如图 1 所示,当前关键点的描述符用其相邻的关键点表示。在得到描述符后,所提出的匹配算法可以快速匹配两次激光雷达扫描的描述符。

在这里插入图片描述
图一.我们的LinK3D的核心思想和基于我们的LinK3D的两个LiDAR扫描的匹配结果。绿色线是有效匹配。当前关键点(黑色,CK)的描述符用其相邻关键点来表示。描述符的每个维度对应于扇区区域。第一维度对应于当前关键点的最近关键点所在的扇区区域(蓝色和红色、CK的最近关键点),并且其他维度对应于以逆时针顺序布置的区域。如果在扇区区域中存在关键点,则搜索扇区区域中最近的关键点(紫色和橙色,扇区中CK的最近关键点)并将其用于表示描述符的对应维度

此外,在本文中,所提出的LinK3D已经应用于各种实时3D视觉任务。总之,我们的主要贡献如下:
• 提出了一种新颖完整的三维激光雷达点云特征提取方法,包括关键点提取、特征描述和匹配。与最先进的3D特征相比,我们的方法在匹配和运行时间上取得了显著进步,并且在稀疏的LiDAR点云中更加可靠
• 该方法可以潜在地应用于各种三维视觉任务。本文将LinK3D应用于3D LiDAR SLAM中的3D配准、LiDAR里程计和位置识别。与最先进的方法相比,我们的方法在这些任务中取得了具有竞争力的结果。
所提出的方法显示了令人印象深刻的效率,这使得我们的方法能够实时应用。我们的方法提取LinK3D特征平均需要32毫秒,匹配两次LiDAR扫描的描述符需要8毫秒,用于位置识别任务时,检索机器人的重新访问位置需要13毫秒。

本文的其余部分组织如下。在第二节中,我们回顾了之前关于3D特征提取的工作。在第三节中,我们介绍了所提出的框架,包括关键点提取、描述符生成和特征匹配。在第四节中,我们评估了我们方法的基本性能(即匹配和实时性能),并将我们的方法与其他最先进的方法进行了比较。此外,我们还将LinK3D应用于3D注册、LiDAR里程计和位置识别任务,并与其他最先进的方法进行了比较。最后,第五节对论文进行了总结,并讨论了未来的工作。


二、相关工作

三维特征提取和描述是计算机视觉领域的经典课题。根据提取策略,这些方法可分为手工方法和深度神经网络(DNN)方法。

手工制作的方法。 该方法主要提取局部或全局三维特征。在局部特征提取方法中,直方图通常用来表示局部曲面的不同特征。局部三维特征提取方法通常首先搜索局部参考坐标系,然后将描述子表示为局部参考坐标体系中的空间或几何分布。在[28]中,作者通过沿两个维度(即形状索引值和曲面法线之间角度的余弦)在特定箱子中累积点来形成2D直方图描述符。PFH[29]生成支持区域中点对的多维直方图特征。为了更有效地表示局部三维特征,FPFH[15]首先通过计算点与其相邻点之间的关系,为每个点构建一个简化的点特征直方图(SPFH),然后在支持区域中构造SPFH的加权和。在[30]中,结合空间和几何静态信息来描述特征,并对不同空间位置的曲面法线直方图进行编码。为了提高匹配效率,提出了一种二进制量化方法B-SHOT[18],将实值向量转换为二进制向量。通常情况下,局部三维特征提取方法对局部信息的变化比较敏感,不适用于包含大量重复局部特征的稀疏LiDAR点云的三维特征提取

全局特征通常是通过直接编码整个输入的三维点云生成的。VFH [31]结合全局视点分量和表面形状分量来生成关键特征,并且对象以直方图的形式表示为沿着表面的距离分布。GSH [17]在三级管道中编码点云的全局和结构属性,用于分类任务。GOOD [20]基于主成分分析构建局部参考系,然后将点云投影到XoY,XoZ和YoZ平面上。最后通过将分布矩阵按由投影的熵和方差特征确定的序列连接来获得描述符。GASD[32]基于对代表对象实例的整个点云的参考系的估计,然后基于对齐点云的3D点的空间分布方式计算描述符。M2DP[21]将点云投影到多个2D平面,并为每个平面的点生成密度签名,然后使用这些签名的左右奇异向量作为3D点云的描述符。ScanContext++[22]直接记录传感器可见空间的3D结构。M2DP[21]和ScanContext++[22]专门用于位置识别任务。一般来说,基于全局的方法主要侧重于识别和分类任务,不能用于生成精确的点到点匹配。

基于DNN的方法。这种方法的一种类型需要预先将点云处理成特定的形式,主要包括基于投影、体素的方法。为了利用2D CNN的成功,一些工作[33]–[35]首先将3D点云投影到2D图像。然而,这可能会导致投影过程中丢失几何细节。基于体素的方法,如[36]–[39],也需要将非结构化点云映射到体素空间。这些间接方法可以有效地学习特征表示,但缺点也很明显,过程比直接端到端方法复杂。其他人考虑到间接方法的缺点,PointNet[23]是直接从不规则点云学习特征的先驱工作,它采用T-Net学习相关的旋转参数。受PointNet的启发,许多最近的作品[40]-[43]通过引入复杂的网络模块来学习每个点的局部特征。3DFeatNet[24]使用弱监督学习3D特征检测器和描述符以进行点云匹配。DeepVCP [44]基于一组候选者之间的学习匹配概率生成关键点。D3Feat [26]在训练期间利用由动态特征匹配结果引导的自监督检测器损失。Randla-Net [45]利用随机点采样而不是更复杂的点选择方法,用于语义分割任务。StickyPillars[25]使用手工制作的方法提取关键点,并结合DNN方法生成描述符,这在关键点提取方面效率很高,但在描述符生成方面效率很低。SCF-Net[46]利用每个3D点的空间位置和邻域与全局点云的体积比学习全局上下文,用于语义分割任务。一般来说,这些方法通常需要GPU,而且耗时


三、提出的方法

我们方法的流程主要由两部分组成:特征提取(即关键点提取和描述符生成,如图 2 所示)和特征匹配。

在这里插入图片描述
图二.所提出的LinK3D在关键点提取和描述方面的工作流程。输入点云首先通过关键点提取进行处理。之后,执行LinK3D描述以导出有效的关键点描述符。

图 2 所示,首先提取LiDAR扫描的边缘点,然后将其输入边缘关键点聚合算法中,在该算法中提取鲁棒的聚合关键点用于后续描述符生成。然后,描述符生成算法首先建立距离表和方向表,用于快速描述符生成。我们将在以下三个小节中详细介绍所提出方法的每个部分。

A. 关键点提取

1) 边缘点提取:在关键点提取中,我们使用类似于2D图像关键点的策略,即角点或边缘点。在这里,我们还提取了代表性的边缘点作为三维激光雷达扫描的关键点。激光雷达扫描大致可分为两种类型:边缘点和平面点。边缘点和平面点之间的主要区别在于点所在的局部曲面的平滑度。

给定三维激光雷达点云 P c P_c Pc,设 i i i P c P_c Pc 中的点, i ∈ P c i ∈ P_c iPc 。并且 P s P_s Ps 是与点 i i i 在同一扫描线上的连续点的集合,并且均匀地分布在i的两侧。 ∣ S ∣ |S| S P s P_s Ps 的基数。当前点 i i i 的平滑项定义如下:
在这里插入图片描述

其中 p i ⃗ \vec{p_i} pi p j ⃗ \vec{p_j} pj 分别是两个点 i i i j j j 的坐标。被提取的边缘点 ▽ i ▽_i i (如图3 (a) 所示)大于阈值 T h ▽ Th_▽ Th

在这里插入图片描述
图3.(a)中的分散的边缘点(由红色虚线框标记)和聚集的边缘关键点(由蓝色虚线框标记)。聚集的边缘关键点正是我们所需要的。(b)示出了通过算法1提取的边缘关键点。

2) 边缘关键点聚合:然而,在收集边缘点的过程中,通常有许多点高于阈值但不稳定。具体来说,这些不稳定点出现在当前扫描中,但可能不会出现在下次扫描中。如图 3(a) 中红色虚线框所示,不稳定点通常是分散的。如果我们利用这些点进行匹配,很可能会导致不匹配。因此,有必要过滤掉这些点并找到正的有效边关键点。如图 3(a) 中的蓝色虚线框所示,有效的边缘关键点通常垂直分布在簇中。

在这里插入图片描述
本文设计了一种新的关键点聚合算法来寻找有效的边缘关键点。如算法 1 所示,使用角度信息制导,将潜在点聚集在小组中,而不是聚集在整个区域中。其动机是具有大致相同水平角度的点更可能位于同一聚类上。具体来说,我们首先将以LiDAR坐标系原点为中心的水平面平均划分为 N s e c t N_{sect} Nsect 个扇形区域,然后仅对每个扇形区域中的点进行聚类。应该注意的是,当我们在实验中设置 N s e c t N_{sect} Nsect = 120时,我们的算法比经典的 K M e a n s KMeans KMeans [47]快25倍。提取的边缘关键点如图 3 (b) 所示。可以观察到,我们的算法可以过滤掉无效的边缘点,并找到真的有效边缘关键点。此外,计算每个簇点的质心并将其命名为聚合关键点,该关键点可以表示其簇并用于后续的描述符生成

B. 描述符生成

在描述符生成中,首先将所有聚集关键点投影到水平面,这样可以消除聚集边缘关键点沿垂直方向分布不均匀所带来的影响。为了快速匹配,我们的 LinK3D 表示为多维向量,它使用0或当前关键点与其相邻关键点之间的距离作为每个维度。如图 4 所示,我们将水平面划分为以当前关键点 k 0 k_0 k0 为中心的180个扇区,描述符的每个维度对应一个扇区。受二维描述符SIFT[10]的启发,为确保姿势不变性该描述符搜索主方向,即 LinK3D 的主方向也被搜索并表示为从当前关键点 k 0 k_0 k0 到其最近关键点 k 1 k_1 k1 的方向向量,其位于第一扇区。其他扇形区域按逆时针顺序排列。然后,在每个扇区中搜索离k0最近的关键点。如果存在最近的关键点,则使用当前关键点和最近关键点之间的距离作为描述符的相应值,否则,该值设置为0。

在这里插入图片描述
图4。以当前关键点 k 0 k_0 k0 为中心的水平面被分成180个扇区区域。我们首先搜索 k 0 k_0 k0 的最近关键点 k 1 k_1 k1 ,然后主方向是从 k 0 k_0 k0 k 1 k_1 k1 的向量。此外,第一扇区区域被主方向平分。其他区域按逆时针顺序排列。

在这个过程中,从当前点到其他点 k i ( i ≠ 1 ) k_i(i ≠ 1) ki(i=1) 的方向表示为 m ⃗ 0 i \vec{m}_0i m 0i我们使用 m ⃗ 0 i \vec{m}_0i m 0i 和主方向 m ⃗ 0 1 \vec{m}_01 m 01 之间的角度来确定 k i k_i ki 属于哪个扇区(180个扇区逆时针遍历,可以拿个变量直接做索引吗?,这样避免求角度来确定 k i k_i ki 属于哪个扇区)。该角度的计算公式为:
在这里插入图片描述
m ⃗ 0 1 ⋅ m ⃗ 0 i = ∣ m ⃗ 0 1 ∣ ⋅ ∣ m ⃗ 0 i ∣ ⋅ c o s < m ⃗ 0 1 , m ⃗ 0 i > \vec{m}_01 · \vec{m}_0i = |\vec{m}_01|·|\vec{m}_0i|·cos<\vec{m}_01,\vec{m}_0i> m 01m 0i=m 01∣m 0icos<m 01,m 0i> , a r c s o c c o s < m ⃗ 0 1 , m ⃗ 0 i > arcsoc cos<\vec{m}_01,\vec{m}_0i> arcsoccos<m 01,m 0i> = < m ⃗ 0 1 , m ⃗ 0 i > <\vec{m}_01,\vec{m}_0i> <m 01,m 0i>

其中 D i D_i Di 定义为:
在这里插入图片描述
水平以上 D i > 0 D_i > 0 Di>0
水平以下 D i < 0 D_i < 0 Di<0

在上述算法中存在两个主要问题。一个问题是算法对最近的关键点敏感。在存在来自离群关键点的干扰的情况下,匹配将失败另一个问题是,我们必须经常计算两点之间的相对距离和方向,因此会有大量的重复计算。为了解决第一个问题,我们搜索一定数量的最接近的关键点(具体数量在实验部分中进行评估)。假设我们搜索3个最接近的关键点,并计算出相应的3个关键点描述符,如图 5 所示。

在这里插入图片描述
图五.最终描述符中的每个维度的值对应于Desl、Des2和Des3中具有最高优先级的非零值。

Des1对应于最接近的键点,Des3对应于第三个最近的键点。我们根据这三个距离值定义优先级。Des1的优先级最高,因为它距离最近,Des3的优先级最低,因为它距离最远。最终描述符中每个维度的值对应于其中优先级最高的非零值。如图 5 中红色虚线框所示,Des1有一个非零值 D 0 1 D_0^1 D01 ,那么由于它的高优先级,它在最终描述符中的对应值也被设置为 D 0 1 D_0^1 D01 。其他两种情况如图 5 中的紫色和黑色虚线框所示。它大大提高了我们的 LinK3D 对离群值的鲁棒性。为了解决第二个问题,我们建立了距离表,所有关键点的方向表都可以通过直接参考表来获得,避免了重复计算。具体算法如算法 2 所示,它显示了提取一个描述符的过程。

在这里插入图片描述

C. 匹配两个描述符

在这一节中,我们介绍匹配算法。为了快速度量两个描述符的相似度,我们采用了一种类似于Hamming距离的计算方法来定义两个 Link3D 描述符的相似度得分。它们都计算相应的维数。 然而,与Hamming的异或运算不同,我们只计算两个描述子的非零维数。具体地说,在两个描述符中计算对应的非零维之间的差值的绝对值。如果该值低于0.2,则相似性得分增加1。 如果匹配的相似度得分高于阈值 T H s c o r e TH_{score} THscore ,则该匹配被认为是有效的。 具体匹配算法如算法3所示。

在这里插入图片描述
匹配两个描述符后,对边缘关键点的匹配进行聚类搜索。 对于匹配的聚集关键点,选择每条扫描线上具有最高平滑项的对应边缘关键点。 对位于同一扫描线上的边缘关键点进行匹配。


四、实验

在这一节中,我们的方法和最先进的特征法进行了一些基本的测试和比较,然后对几个扩展应用进行了评估,以证明我们的方法的优越性。 这些方法在两个公共数据集上进行了评估:Kitti里程计基准[27]和StevenVLP基准[48]。KITTI在不同场景(如城市、农村、森林、公路等)采集扫描图像,Steven在校园场景采集扫描图像。KITTI扫描由Velodyne HDL-64E S2以10 Hz的速率采集,Steven扫描由Velodyne VLP-16以10Hz的速率采集。因此,KITTI一次扫描的点云数要比Steven的扫描多得多,这对特征提取算法的实时性提出了挑战。此外,激光雷达的频率(10赫兹)要求所有算法的处理时间在100毫秒以内。在参数设置上,由于我们的算法是专门针对三维激光雷达的,==所以当使用HDL-64E时,我们设置 T H N S = 10 TH_{NS}=10 THNS=10 ,当使用VLP-16时,我们设置 T H N S = 4 TH_{NS}=4 THNS=4 ==。两个数据集中的其他参数相同,如下所示:式(1) 中的 N = 10,在第 III-A1 节中 T h ▽ = 1 Th_{▽} = 1 Th=1,在算法1中 T h d i s t Th_{dist} Thdist = 0.4 和 T h n p Th_{np} Thnp = 12,在第 III-C 节中 T h s c o r e Th_{score} Thscore = 3。代码在配备Intel Core i7- [email protected]处理器和16 GB RAM的笔记本电脑上运行。

A. 最近邻点数分析

匹配点数是衡量匹配性能的一个重要指标。第 III-B 节中的最近邻关键点对度量有直接影响。因此,有必要通过实验选择最优参数。在这一部分中,我们选取了KITTI中的三个典型场景,即00城市场景、03乡村场景和09森林场景。在这些场景中,乡村场景比城市场景更简单,3D功能也更少。森林场景中充满了树木,3D特征不明显,这对我们的算法来说是非常具有挑战性的。此外,LinK3D还在Steven benchmark上进行了测试。我们选取1-6个最近邻关键点进行测试,从四个方面进行测试:1)描述子生成的计算时间。 2)Link3D生成的匹配数。 3)基于地面真实姿势(对于Kitti)或Ransac[49](对于Steven Benchmark没有地面真实姿势)的Inlier的数量。 4)匹配精度提高%。 结果显示在图 6。

在这里插入图片描述
图 6. 结果表明,匹配次数、插入数、生成描述符的时间以及插入数%随最近点数目的变化而变化。 总体而言,匹配数、inliers数和描述符生成时间随着最接近关键点数的增加而增加,inliers百分比的变化不明显。

分析。从图6的前两幅子图中可以看出,随着最近邻关键点数目的增加,匹配的次数和内嵌数近似增加,这说明通过增加最近邻点的数目,可以增加匹配点的数目。然而,描述符生成的计算时间也大致增加,内层百分比的变化总体上不明显。当最近邻关键点个数设置为1或2时,虽然算法的计算时间较短,但匹配次数和内层数较低。如果需要更多的匹配点对,我们可以增加最近邻关键点的数量。因此,在考虑计算时间影响的情况下,我们可以将最近邻关键点的个数设置为3或4。在我们后续的实验中,我们将最近邻关键点的个数设置为3个

B. 与手工制作功能的匹配性能比较

特征匹配是手工制作3D局部特征的基本功能。因此,在本小节中,我们将LinK3D与其他最先进的手工制作3D功能的匹配性能进行比较:3DSC[53]、PFH[29]、FPFH[15]、SHOT[30]、BSHOT[18]和3DHoPD[52]。选取ISS[50]和Sift3D[51]作为关键点提取方法进行比较。对于度量方法,我们遵循[12]中使用的度量,并使用不同场景中的内嵌线数量和内嵌线百分比,这是后续任务(如3D注册、LiDAR里程表和SLAM中的位置识别等)的重要参数。为了进行公平比较,我们首先计算不同场景中我们方法的平均内嵌线数和内嵌线百分比,然后选择两个匹配的LiDAR扫描,内嵌线数目和内嵌百分比与平均值大致相同,而不是使用内嵌线更多、内嵌百分比更高的扫描。此外,我们还对SOTA方法提取了大致相同数量的关键点,具体关键点数量如表 I 所示。匹配结果如表II所示,图7显示了不同场景下基于LinK3D的匹配结果。

在这里插入图片描述
表I。在四个场景中提取的关键点的数量。每个场景提取的关键点数量大致相同。

在这里插入图片描述
图七。说明LinK3D特征匹配的典型场景。上图分别是我们的LinK3D在城市, 乡村, 森林和Steven VLP16上生成的匹配结果,绿线为有效匹配,蓝线为不匹配。底部是通过ground truth(对于KITTI)或RANSAC(对于Steven VLP16)去除不匹配的结果。另外,Steven VLP16的点云明显比KITTI的稀疏。

在这里插入图片描述
表II。匹配性能评价的结果。我们的方法显示出与其他最先进的手工制作描述符相当的匹配性能。特别是在Steven VLP16的稀疏点云中,我们的LinK3D仍然可以生成可靠的匹配结果,一些比较方法也会遇到失败的情况。

分析。从表二可以看出,我们的方法在大多数场景的内层百分比上都有了显著的提高,并且在每个场景上比SOTA方法得到了更多的内层。在特征较少的乡村场景中,我们的方法仍然可以产生可靠的匹配。在具有挑战性的森林场景中,即使3D特征不明显,对我们方法的内层百分比影响不好,我们的方法生成的内层数量仍然是相当可观的。尽管最先进的方法在64射线激光测距仪采集的点云上取得了可比的结果,但在16射线激光测距机采集的点云上,由于16射线激光雷达采集的点更稀疏(稀疏性可从图7d中看出),大多数这些方法的内隐线数量为零,这些方法在16射线LiDAR采集的点群上可能不可靠。综上所述,LinK3D匹配性能的上述优点可以归结为三个方面:(1)我们的方法考虑到了自然场景的特殊性,充分利用了更鲁棒的聚合信息。(2)我们的方法同时考虑了本地和邻居的约束信息。具体来说,它不仅利用了局部平滑性,还利用了关键点之间的相对位置。(3) LinK3D描述符对最近关键点的变化不敏感,对离群值具有鲁棒性,能够产生大量的正确匹配

C. 实时性能评估

对于大多数使用3D LiDAR的应用(如机器人或自动驾驶的实时姿态估计、SLAM中的位置识别等),良好的实时性能是基本要求。值得注意的是,LiDAR的频率通常为10Hz,这就要求算法的最大运行时间小于100毫秒。因此,我们评估了该方法的实时性能,并在运行时将其与其他基于DNN和手工制作的最先进的方法进行了比较。KITTI 00用于评估手工制作方法的实时性能,包括4500多个激光雷达扫描,每个激光雷达扫描包含大约120000多个点。对于基于DNN的方法,StickyPillars的运行时间是在KITTI上评估的,其他的是在3DMatch[57]上评估的。3DMatch[57]是从RGBD相机收集的,平均每帧包含大约27000多个点(<KITTI)。特征提取和匹配的平均运行时间用于此评估。图 8 显示了我们的LinK3D在特征提取和匹配方面的实时性能,表III显示了不同方法的比较结果。

在这里插入图片描述
图8。LinK3D在KITTI 00上的特征提取和匹配阶段的运行时间。结果表明,我们的方法仅需约40毫秒,小于所需的最大运行时间100毫秒。

在这里插入图片描述
表III。比较的结果是实时性能。3DFeatNet、3DSmoothNet和DH3D的数据来自[54],其他基于DNN的方法参考其文献。所有单位的秒数。

分析从图8中可以看出,我们的LinK3D特征提取和匹配的时间远远少于所需的100毫秒,总时间平均仅为40毫秒左右。结果表明,该方法具有良好的实时性,可用于实时处理。从表三可以看出,基于DNN的方法的总运行时间比我们的方法更昂贵,尽管这些方法使用的点数更少,而且需要GPU。手工制作的比较方法通常需要更多的运行时间来提取特征和匹配两次激光雷达扫描。高计算复杂度使得这些方法不适合实时处理三维激光雷达点云。

D. 匹配失败案例分析

当我们在KITTI中(从序列00到10)评估我们的算法时,==我们发现我们的方法可能在几乎空的场景中,较少或没有垂直物体时无法匹配,这种情况出现在KITTI 01的较少扫描中,这是一个高速公路场景。==从3D激光雷达的应用场景来看,如果3D激光雷达要发挥作用,那么场景中至少应该包括这些垂直对象。对于垂直物体较少或为空的场景,可以根据具体的三维视觉任务来消除影响。

E. 激光雷达点云配准应用

激光雷达点云配准用于估计两次激光雷达扫描的相对位姿,是移动设备定位的基本要求。在这里,我们基于[65]将LinK3D扩展到该任务,并评估使用LinK3D时的性能。

验证指标。 我们参考[44],使用欧氏距离进行平移,使用 Θ Θ Θ 进行旋转, Θ Θ Θ 定义如下:
在这里插入图片描述

其中 ‖ R − R ‾ ‖ F ‖R−\overline{R}‖_F RRF 是估计值和地面真值旋转矩阵之间弦距离的Frobenius范数[67]。此评估使用KITTI数据集。使用30帧间隔的序列,选择半径为5m的所有帧作为配准目标。我们确定每个度量的平均值和最大值,以及在完整的测试数据集上为每种方法注册一帧对的平均运行时间。

与最先进的方法进行比较。 我们过滤低于置信阈值(如0.5)的匹配项,并参考[68]求解6-DoF姿势。对于匹配失败的情况,注册结果不用于此评估。比较使用了最先进的几何方法,如ICP[58]、G-ICP[59]、AA-ICP[60]、NDT-P2D[61]和CPD[62],以及基于DNN的方法3DFeat Net[24]、DeepVCP[44]和D3Feat[26]、StickyPillars[25]。采用了[25]中的结果,我们通过在LinK3D上运行实验扩展了该表。最终结果如表 IV所示。我们的方法达到了相当的配准精度,而且,我们的方法只需约44毫秒就可以完成一个完整的配准任务(即提取一个激光雷达扫描的特征,匹配激光雷达扫描对并估计相对姿态),更高效,可用于实时3D注册任务(基于LiDAR的频率(10Hz))。

在这里插入图片描述
表四。点云配准的结果。我们的方法与目前最先进的方法的结果相比较,可以用于实时配准任务。

F. 激光里程计的应用

激光雷达里程计通常作为激光雷达SLAM系统的前端,其估计结果影响SLAM后端的精度。这里,我们参考[65]并结合后续建图步骤嵌入LinK3D。为此,我们还使用了 A − L O A M 2 A-LOAM^2 ALOAM2算法,它是[64]的高级版本,并在使用LinK3D映射之前交换了简单的点云注册步骤。

验证指标。 我们参考[27],计算平均旋转RMSE r r e l r_{rel} rrel (◦/100m) 和每场景100m-800m误差长度的平移RMSE t r e l t_{rel} trel (%)。使用KITTI里程计数据集提供的真实位姿进行评估。

与最先进的方法进行比较。 ==在本次评估中,我们将我们的结果与ICP算法[58][59]、CLS[63]和LOAM[64]进行了比较,后者被广泛视为基于点云的里程估计的基线。==此外,我们还针对基于DNN的LO-Net[65]进行了验证,该LO-Net结合了点云注册和基于建图的后续几何图形。我们采用了[65]中所述的值,并将我们的结果扩展到表中,如表V所示。我们的方法在trel方面有可比性,并且在大多数序列上优于考虑过的方法。

在这里插入图片描述
表五。激光雷达里程计的比较结果。我们的方法显示了与最先进的关于 t r e l t_{rel} trel的方法相比较的结果,并且在大多数序列中的 r r e l r_{rel} rrel 都优于考虑的方法。

G. 应用于位置识别

位置识别是长期SLAM系统的基本组成部分,它可以用来识别移动设备的重访位置,并纠正环路姿态,以进行后续环路优化。在这里,我们参考了bag of word的思想[69],为LinK3D描述符构建了视觉词典。我们还将位置识别系统嵌入到A-LOAM中,并纠正3D激光雷达SLAM系统的漂移。图10显示了KITTI中相同方向和相反方向的循环的识别结果。不同方法的轨迹如图 9 所示,这表明我们的方法可以在一定程度上消除LiDAR SLAM系统的漂移。

在这里插入图片描述
图 9. A-LOAM的轨迹与我们在KITTI中的位置识别系统的轨迹之间的比较。我们可以看到,我们的位置识别系统可以有效地识别重访的位置并纠正闭环姿势。

在这里插入图片描述
(a)在KITTI 00中扫描415(红色)和扫描2459(紫色)之间具有大致相同方向的识别环路
(b)在KITTI 08中,扫描236(红色)和扫描1642(紫色)之间的反向识别环路
图 10. 在同方向循环(KITTI00)和反方向循环(KITTI08)中,基于我们的位置识别系统的识别结果和基于Link3D的匹配结果。 绿线是有效的匹配项。

验证指标。 对于地点识别的验证,我们使用与[21]类似的度量,并计算100%精度的召回率和用于地点识别的算法的运行时间为了验证环路修正的有效性,我们还计算了整个轨迹的RMSE。RMSE定义如下:
在这里插入图片描述
其中, Q i Q_i Qi 是地面真实姿势, P i P_i Pi 是估计姿势。表 VII 显示了不同序列上RMSE的变化,这表明我们的方法可以有效地纠正回路姿势,并且回路姿势可以用于后续的姿势图优化。

在这里插入图片描述
表七。嵌入位置识别系统后RMSE的变化。

与最先进方法的比较 。 在这次评估中,我们将我们的方法与目前最先进的描述符:M2DP[21]和ScanContex++[22]进行了比较,这两个描述符专门用于位置识别,结果如表 VI 所示。我们可以看到,我们的方法在召回率(100%精度)方面取得了有竞争力的结果,特别是在带有反向循环的KITTI 08上,我们的方式比SOTA方法具有更高的召回率。另外,该方法可以纠正环路位姿,处理一次激光雷达扫描平均只需45毫秒(特征提取和检索的总时间),在位置识别任务中具有良好的实时性
在这里插入图片描述
表六。比较结果包括召回率(100%正确率)、在KITTI00中的时间(S)以及这些方法是否可以用于环路校正。 M2DP的结果参考文献[66]。 值得注意的是,KITTI08中的大部分循环都是反向的,我们在反向循环中的表现比比较方法更好。 该方法实现了实时性,可用于环路校正。


五、结论与未来工作

针对目前三维特征不能完全应用于三维激光雷达点云的问题,本文提出了一种新的特征表示方法。LinK3D的核心思想是将当前关键点描述为其相邻关键点的线性表示。我们的方法首先提取鲁棒聚集关键点,然后将提取的聚集关键点输入描述符生成算法,该算法以新的关键点表示形式生成描述符。在得到描述符后,所提出的匹配算法可以快速匹配两次激光雷达扫描的描述符。我们在两个公共数据集上测试了我们的方法,并将其与其他最先进的三维特征进行了比较。实验结果表明,我们的Link3D在匹配方面有了显著的提高,同时也取得了可观的效率,使其能够实时应用。此外,我们还将我们的方法应用于3D配准、激光雷达里程计和位置识别任务,并与其他最先进的方法进行比较。最重要的是,我们的方法不仅显示了竞争性的性能,而且可以实时地执行这些任务

未来,我们将继续改进我们方法的缺点,例如,将点云的局部特征集成到特征表示中,以改进匹配失败的情况。该方法有望扩展到更多可能的三维视觉任务,例如三维重建的地图优化。此外,当我们的LinK3D应用于3D LiDAR SLAM系统的各个部分(包括前端LiDAR里程表、后端优化和地图表示)时,LinK3D可以显著提高系统的效率和准确性。

猜你喜欢

转载自blog.csdn.net/qq_42535748/article/details/131178416