原文地址:https://ieeexplore.ieee.org/document/10423113/
摘要:闭环检测( LCD )在同时定位与地图构建( SLAM )系统中起着至关重要的作用,以消除地图构建时累积的里程计漂移,并且与单传感器相比,使用多模态信息可以提高系统的准确性和鲁棒性。然而,传统的融合方法往往需要对传感器进行复杂的空间对准,这对硬件设备提出了很高的要求。此外,这些方法以较弱的方式融合点云和图像,例如使用标定信息集中两种特征,这使得它们不能充分利用多模态信息。在本文中,提出了一种融合非对称点云和图像的方法来检测回环。点云和图像的鸟瞰图( Bird ' s Eye View,BEV )通过可学习模块实现信息交互和关联,而不是通过硬的内在和外在矩阵进行交叉融合。在BEV网格中融合多种信息,增强BEV关键点的特征。通过实验发现,在这种融合策略的训练下,可以将图像信息编码到BEV处理模块中,最终可以在没有图像的情况下提高方法的性能。本文提出的方法在KITTI和KITTI360上进行了评估,结果表明了最新的性能和显著的效率。
关键词:鸟瞰、交叉融合、信息交互、轻量化、回环检测。
1 介绍
复杂环境的精确感知一直是许多应用的关键问题,例如无人驾驶车辆和自主机器人。同步定位与地图构建( Simultaneous Localization and Mapping,SLAM )是解决这一问题的关键方案。闭环检测( loop closure detection,LCD )可以为SLAM系统提供额外的空间约束,提高地图的一致性。详细的环境感知需要多个传感器采集信息,其中大部分是相机和激光雷达。激光雷达能够提供精确的三维几何结构,在全景环境感知方面具有优势,但点云是稀疏的,难以感知结构化程度较低或不透明的物体。相机通过捕捉光线在图像平面上的投影来获取二维图像,可以提供丰富的纹理和颜色信息,在细节描述方面更具优势。但是图像数据容易受到视点、光照变化等因素的影响。近年来,利用这两种传感器互补特性的方法越来越受欢迎,以此提高SLAM系统的性能。
然而,如何有效、合理地将两种信息结合起来仍然是一个非常棘手的问题。目前,许多方法在使用两种信息时,使用独立的骨干网络来提取特征。然后利用融合模块将两种特征融合为一体。最后将融合后的特征输入到后续的任务处理模块中,如语义分割和目标检测。这些方法要求输入图像和点云之间具有良好的对称性,对传感器设备提出了更高的要求。此外,它们只在融合信息和输入之间建立连接,而没有利用它们之间的深层关系。
本文中提出了一种新颖的基于非对称点云和图像的适用于回环检测的特征融合方法。设计转换器和生成器模块,挖掘点云特征和图像特征之间的深层关系,使两者紧密结合,实现信息的双向流动。由于所提方法主要依赖于鸟瞰图( Bird ' s Eye View,BEV )信息,以图像信息作为补充,因此网络在训练时也会倾向于BEV。最终,它可以在不完全依赖图像的情况下运行,但仍然可以学习到一些与图像相关的有价值的见解,从而增强BEV特征,提高回环检测性能。
这项工作的主要贡献概括如下:
1)设计了一种交叉融合策略,实现点云与图像的充分交互,使得融合过程中信息可以双向流动。
2)利用特征之间的关系,可以处理不对称的点云和图像。
3)利用注意力机制挖掘特征之间的关系,并结合两个传感器的信息。
4)在两个常用的数据集上的实验表明,本文方法与最先进的方法相比具有更好的性能,并且可以实时运行。
2 技术方法
图1给出了所提方法的概述,它包括三个主要模块:两种模态各自的特征提取和用于融合的模块,最后是回环检测和验证。
图1 方法概述
注:绿色、橙色和蓝色分别表示图像、点云以及两者融合的信息处理和传输
A. 特征提取
与BEVLCD 类似,为了提高处理效率,将点云投影到BEV中。投影点云的一个好处是可以使用相同的CNN骨干架构对点云和图像进行特征提取。CNN的主干网络为ALIKE ,它是一种轻量级和高效的卷积。如图2所示,有四个块主要由卷积层组成,用于提取不同级别的特征。利用最大池化扩大感受野,增强特征抗噪性。该网络使用1 × 1卷积层进行上采样,以调整特征图的大小与输入尺寸保持一致,同时进行通道调整,以利于多级特征的级联。最后,使用1 × 1卷积层估计特征图和得分图,并使用sigmoid将得分归一化到0 - 1。基于BEV得分图,应用非极大值抑制( Non-Maximum Suppression,NMS )保留最显著的点。随后,选择得分最高的topk网格作为关键点。然后利用这些网格对关键点坐标和对应的局部特征进行采样。
图2 ALIKE网络结构
为了将特征提取过程中丢失的几何信息与CNN骨架进行融合,对关键点的几何位置分布进行编码。考虑到欧氏距离具有鲁棒的旋转和平移不变性,使用固定的准则对关键点之间的距离进行基于直方图的统计分析。对于每个直方图,使用1 × 1卷积层来采用通道,并将其与源自CNN主干的特征相加。考虑到距离计算是以BEV空间中的关键点为中心的,其相对有限的数量确保了这种位置编码对计算效率的影响可以忽略不计。
B. 融合模块
传统的点云和图像的融合方法大多集中在如何有效地结合这两种模块上。这就要求点云和图像的视角范围尽可能一致,但并不是所有的应用都能满足这个条件。在本文中,我们设计了一种解决视角不一致时点云与图像融合问题的方案。
对图像进行裁剪和填充,以满足下采样要求。此外,为了确保裁剪和填充图像与点云之间的对齐,记录了裁剪和填充的像素偏移量和
。对于一个点
,有了内参的K和外参的
和
,就可以得到其在图像中对应的像素坐标:
其中,u,v表示图像像素坐标,s表示深度归一化因子。
如图3所示,将3D点投影到BEV网格和图像上得到的结果在BEV和图像之间建立了关联。由于视野范围的差异,只有部分范围的BEV可以与图像进行连接,并且存在的连接也是不平衡的。BEV栅格对应的图像特征数量较多,需要对其进行聚合。首先,使用一个卷积层对这些图像特征进行线性组合。随后,使用最大池化为每个BEV网格提取单个图像特征。
图3 BEV网格与图像像素的关联。右下方图形为与左下方相同的BEV
图4所示的两个模块捕捉到了点云与图像之间深刻的相互关系,是增强特征的基础。每个模块的主要组成部分是注意力机制。注意力机制适用于捕获序列内部的关系,其一般形式可以表示为如下公式:
其中,其中Q、K和V分别表示查询、密钥和值,通过对输入序列Fq、Fk和Fv进行矩阵Mq、Mk和Mv的线性变换得到。√d是Q和K的维数。在这两个模块中,Fq、Fk和Fv是相同的特征序列,因此可以捕获它们之间的关系。我们对A进行线性变换得到输出。其他组件如卷积、转置卷积、自适应池化等起到补充和辅助的作用。
图4 融合方法基础模块
注:注意力集中于挖掘特征之间的相互关系,卷积层集中于特征内部的联系,转置卷积保证了自适应池化具有足够的输入信息。
将BEV的初始关键点特征和点云投影后的图像特征分别记为和
。将两个变换器表示为
和
,生成器表示为
,则特征可由如下式子得:
融合模块如图5所示。将3组不同来源的BEV特征、
和
拓展到新的维度进行叠加。自注意力用于捕获3 × 3的相关性,这些相关性用于加权和相互集成。丰富的特征携带了全面的信息,在最大池化过程中相互对比,从而保留了最相关的表示
。接下来,
和
通过交叉注意力进行融合,其中
作为密钥和值,
作为查询。交叉注意力的输出与
相结合,随后送入卷积层进行维度自适应。最后,得到BEV和图像的融合特征
。
图5 融合模块示意图
注:首先堆叠来自不同来源的BEV特征,并在堆叠的维度上使用自注意力来聚合它们。然后使用交叉注意力和卷积层将它们与图像特征进行融合。
C. 回环检索与验证
全局描述子涉及将所有局部特征聚合成一个封装整个场景的单一向量表示。这种方法有利于高效的回环检测。Net VLAD能够将聚合模块与特征提取网络无缝集成,并以端到端的方式进行训练。NetVLAD的本质在于其可学习的聚类和残差积累,使其在图像检索和位置识别等应用中具有很强的通用性。我们的融合策略主要建立在BEV特征的基础上,辅以图像特征。值得注意的是,融合特征中的信息不仅来自于传感器的观测,更多的是来自于网络学习到的BEV和图像之间的相关性。为了提高全局描述符的可靠性和准确性,我们使用NetVLAD分别对和
进行聚合,得到
和
。这些描述符的加权和作为场景的全局描述符
。
其中λ是一个可学习的参数,sigmoid是基于λ将权重映射到0 - 1的函数。
闭环检测的数据库需要记录全局描述符、局部融合特征和场景关键。在检索阶段,计算查询样本与数据库的全局描述符之间的欧氏距离。选择距离最小的一个作为环路候选特征。在验证阶段,利用局部特征的双边最近邻匹配建立相应的关键点。随后,使用基于SVD的变换矩阵估计使用RANSAC来确定场景变换。如果找到足够数量的局部特征匹配,并且可以估计变换矩阵,则选择为候选特征。
D. 损失函数
融合策略主要依靠BEV作为特征的主要来源,将图像特征以高维神经网络信息的形式融入到BEV中。在设计损失函数时,我们不仅考虑了对融合特征的优化,而且保留了对初始BEV特征的优化。考虑到BEV的稀疏性,我们通过检查BEV网格中心之间的真实循环对的匹配关系来确定网格是否可以作为关键点。如果在一个BEV中存在J个非空的网格,它们的得分用s表示,那么指导得分图的Lscore为:
全局描述符D通过三元组损失进行训练,该损失常用于度量学习。对于一个查询样本,我们根据姿态随机选择一个正样本和一个负样本,它们的全局描述符分别表示为Dq,Dp和Dn。那么带有边距m的三元组损失Ltrip为:
为了优化关键点及其局部特征的选择,我们首先使用不平衡最优传输算法寻找和
的软对应关系,分别用TB和TBI表示。这两个对应关系也是关键点Pq和Pp的软匹配,因此采用加权SVD寻找同质变换
和
。它们的真值H可以从真实姿态中获得。然后得到位姿损失
和匹配损失
:
使用来自BEV的特征和已匹配的图像来训练和
。利用关键点特征
和
对
进行训练。使用
、
、
和
分别表示原始和转换后的图像和BEV特征,这些模块有三个损失:
最后,将上述所有损失函数求和,得到最终的损失。为了平衡,引入一个加权项:
3 实验
A. 数据集
采用的数据集为KITTI 和KITTI - 360,在评估过程中,避免施加任何基于顺序或顺序的考虑,如果两帧的位姿之间的欧氏距离小于4 m,并且它们的时间间隔超过50帧,则将它们归为回环。数据集详细信息见表1。
表1 数据集信息
B. 回环检测
为了评估闭环检测的性能,将本文提出的方法与M2DP、Scan Context 、LiDAR Iris、OverlapTransformer 、LCDNet 和BEVLCD进行了比较。BEVLCD与原文中具有更有效的数据增强,本文使用传统的网络层。M2DP、Scan Context和LiDAR Iris是手工设计的方法,其他是基于深度学习的方法。
为方便起见,在测试FUSION时,图像的输入设置为0。全局描述符之间使用欧氏距离来表示它们之间的相似性。如果数据库中的某一帧与当前帧的欧氏距离最小,且两者之间的帧间隔大于50,且欧氏距离小于等于阈值,则认为该帧为当前帧的循环。通过调整阈值,可以得到不同约束条件下的闭环检测结果,从而得到常用的P-R ( Precision-Reall )曲线形式的定性评价,以及平均精度( AP )和Recall@1(R@1)等定量评价指标。
PR曲线和评价指标如图6和表2所示。由于基于BEV的方法相比于直接处理原始点云的方法具有更少的模型参数,因此其泛化性能更好。结果表明,本文提出的关键点位置编码器和图像与BEV特征提取的融合均提高了闭环检测的性能。
图6 P-R曲线图
表2
在结构层次较低的场景中,点云从不同角度描述同一物体的一致性可能较差。这可能导致仅仅依赖点云信息的方法在这两个序列上正常执行。但是当利用图像信息对关键点特征进行增强时,在这两个序列上的表现都有明显的提升。此外,图像无法直接提供反向循环中场景的一致性描述。然而,本文提出的融合框架可以探索BEV和图像之间的关系,而不仅仅是直接融合它们。因此,它可以有效地处理图像和点云的这种错位。
闭环检测的精度至关重要,因此许多方法利用局部信息建立全局一致性约束。如图7所示,验证阶段估计的变换能够反映关键点匹配的一致性,对旋转和平移表现出良好的不变性。由于点云的几何信息不会引入尺度变化,因此该验证方法具有相当的准确性。然而,使用基于帧间欧氏距离的真实值来评估回环的精度并不完全合理,因为不同场景下的回环之间的距离不可能相同。
图7 回环检测示意图
图8的一个检测实例表明,在不同的地方,循环的距离是不同的。对所有样本寻找循环的最好方法是两两比较,这种方法非常耗时。因此,本文采用一种不依赖地面真值的方法来评估精度,即比较估计的回环姿态和真实的回环姿态。如果两者之间的误差超过1 m,则视为虚假回线。由于只能评估检测结果的正确性,无法判断未检测到的任何遗漏,本文只报告了结果的数量和精度。
图8 KITTI 08序列上估计位姿与真实位姿距离的实例
如表3所示,可以观察到将图像融合到点云中可以使方法在保证精度的同时检测到更多的回环,体现了融合的好处。
表3
表4
C. 消融分析
通过改变图5中模块的设置,在过程中执行不同信息的融合,结果如表4所示。没有使用任何信息意味着流水线中没有融合,没有意味着交叉注意力被移除。实验的其他设置与之前相同,只在训练过程中需要图像的实验。结果表明了本文设计的方法的有效性,该方法利用信息交互来探索多模态特征之间的相关性,并增强它们以提高LCD的性能。
D. 运行时间
回环检测的运行时间也是值得注意的。由于所提出方法的轻量级网络及其对稀疏特征的关注,它可以非常高效地运行。在KITTI 08序列上记录了所提方法在特征提取、回环检测和验证三个部分的平均运行时间。它们分别为42.50 ms、0.89 ms和3.05 ms,总共为46.44 ms,显示出实时能力。
4 总结
本文介绍了一种将非对称图像与点云融合的回环检测方法。独立的骨干网络用于从图像和BEV中提取特征。特征转换和生成模块用于揭示BEV的深层特征与图像之间的关系。在融合阶段,利用注意力机制对这种关系进行管理和融合。最后,利用Net VLAD聚合的全局描述符和局部特征的分布进行检索和验证。该方法可以将图像信息嵌入到BEV处理模块中,从而在不需要图像的情况下提高算法性能。在公开数据集上的实验结果表明,所提出的方法具有优异的性能。