当前位置: 代码迷 >> 综合 >> Intensity Scan Context: Coding Intensity and Geometry Relations for Loop Closure Detection
  详细解决方案

Intensity Scan Context: Coding Intensity and Geometry Relations for Loop Closure Detection

热度:82   发布时间:2024-02-08 10:45:44.0

Intensity Scan Context: Coding Intensity and Geometry Relations for Loop Closure Detection

摘要—在同时定位和映射(SLAM)中,环路闭合检测是一个必不可少且具有挑战性的问题。由于其视点和照度不变的特性,它通常用光检测和测距(LiDAR)传感器解决。现有的有关3D回路闭合检测的工作通常利用局部或全局仅几何描述符的匹配,但不考虑强度读数。本文探讨了LiDAR扫描的强度特性,并证明了其对位置识别的有效性。具体而言,我们提出了一种新颖的全局描述符-强度扫描上下文(ISC),它可以同时探索几何形状和强度特征,以提高效率。针对闭环检测,提出了一种高效的两阶段分层重识别过程,包括基于二元运算的快速几何关系检索和强度结构重识别。进行了包括局部实验和公共数据集测试在内的全面实验评估所提出方法的性能。与现有的仅限几何方法相比,我们的方法可实现更高的查全率和查全精度。

I. INTRODUCTION

闭环检测(也称为位置识别)是指识别拜访位置的能力。在同时定位和制图(SLAM)问题中,估计的状态和轨迹通常会不可避免地发生漂移[1]。通过识别重新访问的位置,机器人可以消除漂移误差。此外,它还可以防止对同一地标进行多次注册,从而可以创建全局一致的地图。基于视觉的位置识别通常会遇到光照,天气或视角的问题。然而,LiDAR受此类环境变化的影响较小,因此近年来已广泛用于场所识别。有关场所识别的现有工作通常利用3D描述符的匹配,例如快点特征直方图(FPFH)[2]。 快速激光感兴趣区域变换(FLIRT)[3]和方向直方图签名(SHOT)[4]。这些描述符探索全局或局部几何信息,例如表面法线或相邻点的分布,而没有使用强度信息。一个主要的理由是强度信息不如几何读数简单[5],因为它不仅受目标表面的影响。特性(例如粗糙度,表面反射率),还有采集几何形状(例如距离)和仪器效果(例如传输能量)[6]。然而,强度通道揭示了周围环境的反射结构,例如,诸如金属板的回射材料通常返回高值而混凝土返回低值。此信息对于不同的地方通常是唯一的。此外,一些初步工作表明,强度读取可以有效地识别位置[7],[8]。

在本文中,我们提出了一种新颖的全局描述符,即强度扫描上下文(ISC),它集成了用于闭环检测的几何形状和强度特征。 我们首先解释强度信息如何可以区分一个地方。 然后,我们提出强度扫描上下文作为位置识别的全局签名。 为了进一步提高算法的效率,提出了一种两阶段分层位置重新识别策略,包括基于二元运算的快速几何检索和强度结构匹配。 为了评估建议的强度扫描环境的性能,我们的方法在室外自动驾驶和室内仓库机器人导航等不同场景下进行了测试。 结果表明,与现有的仅几何环路闭合检测方法相比,该方法具有更高的查全率和查全率。
本文的主要贡献如下:

       我们为3D LiDAR扫描提出了一种新颖的全局描述符,该描述符集成了几何和强度特征
提出了一种基于两阶段分层强度扫描上下文(ISC)重新识别的高效闭环检测策略。 平均每个查询仅花费1.2毫秒。
对提议的描述符进行了全面的评估,包括本地实验和公共数据集测试。

       本文的组织如下:第二部分回顾了基于视觉和基于LiDAR的闭环检测方法的相关工作。 第三节介绍了使用ISC进行位置识别的想法,然后是两阶段的分层位置重新识别。 第四部分显示了实验结果并与现有工作进行了比较,随后是第五部分的结论。

II. RELATED WORK

根据感知系统,关于闭环检测的现有工作可以分为基于视觉的方法和基于LiDAR的方法。早期开发了基于视觉的方法来识别位置。这些方法经常利用根据预训练的视觉词汇(例如FAB-MAP [9]和DBoW2 [10])测量视觉单词距离的单词袋模型(BoW)。它们广泛用于视觉SLAM,例如ORB SLAM [11]和LDSO [12]。但是,图像流不能抵抗光照或视点,因此基于视觉的位置识别在实践中并不可靠。尽管已经提出了一些旨在解决环境变化问题的工作[13],[14],但它们仍然局限于某些特定的场景。

相比之下,由于对照明和视点变化具有很高的鲁棒性,因此随后引入LiDAR进行环路闭合检测。基于LiDAR的位置识别的现有作品力求能够有效,准确地呈现位置的高效本地描述符或位置签名。快速点特征直方图(FPFH)是最流行的局部描述符之一[2],它探索了每个相邻点的局部表面法线。它可以有效地估计两个点云之间的仿射变换,并在以后的工作中用于位置识别,例如[15]。Bosse等提出了一种基于Gasalt3D描述符的概率投票方法[16]。尽管获得了良好的性能,但是由于提出的描述符的维度较大,因此点云检索效率很低。

在局部描述符上进行重新识别通常需要关键点提取大量局部几何计算。相比之下,在全局描述符上进行匹配在位置识别方面效率更高。 Rizzini引入了一种名为GLAROT的新型描述符,该描述符将关键点对的相对几何位置编码为直方图[17]。实验结果表明,该描述符能够实现令人满意的召回精度和召回率。 但是,建立关键点关系在计算上仍然很昂贵。 Kim等提出将激光扫描投影到全局描述符的扫描上下文。扫描上下文的匹配仅需要逐元素相乘,因此查询速度很快。 但是,匹配精度不够高,在公共数据集测试期间经常会出现误报。

全局描述符更有效,但性能不具有竞争力。 然而,最近的工作表明,可以通过整合强度特性来改善性能。 郭等证明强度信息对于地方而言可能是独特的,并提出了一种新颖的本地描述符,称为方向直方图强度签名(ISHOT),它由几何和强度信息组成。 通过类似于[16]的概率投票策略解决了场所重新识别的问题。 尽管计算量很大,但新描述符的性能优于仅几何描述符。 这激励我们提出一个更有效和准确的全局描述符。

III. METHODOLOGY

在本节中,将详细介绍所提出的方法。我们首先介绍强度扫描的概念,并简要说明如何将强度特征用于位置识别。 然后,我们提出使用强度扫描上下文作为全局3D描述符的想法。 此外,介绍了一种有效的基于两级分层强度扫描上下文的检索,包括基于快速二进制运算的几何检索和强度结构匹配。

A. Intensity Calibration and Pre-processing

LiDAR通过发射和接收激光束来感知环境。通常,距离值是通过行进时间来测量的,而表面反射率可以通过返回的能量水平(即强度)来估计。强度读数揭示了周围的表面反射率结构。LiDAR上的现有工作表明,返回的强度读数因不同的物体而异[6],例如,诸如金属板之类的反光材料通常返回较高的值,而混凝土返回较低的值。在图2中,我们显示了来自KITTI数据集[18]的示例进行演示。点云和图像呈现相同的位置,并且在第一幅图像中解释了强度结构。我们分别选择3个地标,包括汽车,道路标志和建筑物,并在图2(a)和图2(b)中用红色矩形突出显示它们。可以观察到,道路标志在能量损失低的同时具有很高的区分度,而建筑结构(混凝土)则具有中等强度。而且,反射率在物体水平上是一致的。

但是,强度通道是有噪声的,因为它不仅受目标表面特性(例如,粗糙度,表面反射率)的影响,而且还受采集几何形状(例如,距离)和仪器效果(例如,透射能量)的影响[6]。 因此,为了减少其他因素的干扰,必须进行校准。 类似于[19],[8],我们使用映射函数校准强度读数

d是距离读数。映射函数描述了距离对接收能量的影响,可以基于离线实验进行收集。 除了重新映射之外,从3D LiDAR返回的强度还为8字节整数,例如Velodyne VLP-16。 为了方便起见,将其重新缩放为[0,1]作为浮点数。

在实际应用中,为了去除冗余信息,必须对LiDAR扫描进行一些预处理。 根据观察,LiDAR噪声随距离增加。 因此,首先通过设置距离阈值Lmax过滤LiDAR读数,以去除不可靠的点。 此外,地面点通常对于位置识别而言并不重要,因此可以通过类似于[20]的方法对其进行优化。

B. Intensity Scan Context

由于我们需要识别每个关键点的局部几何特征(例如局部范数),因此局部描述符的提取在计算上通常很昂贵。因此为了提高计算效率,强度信息在本工作中被解释为全局描述符。 受扫描上下文[21],[22]和形状上下文[23]的启发,我们引入了强度扫描上下文,可以将几何形状和强度特征有效地集成到全局签名中。

表示强度读数,几何读数,点数,LiDAR扫描定义为 ,每个点,在局部笛卡尔坐标中。 每个点pk可以转换为极坐标,但只能在x-y平面上转换,因此

然后,通过将极坐标沿方位角和径向方向等分地分成Ns个扇区和Nr个环,将点云分段。 每个细分由以下内容表示:

如前所述,强度读数对于同一物体通常是一致的。 由于每个子空间都比整个点云小得多,因此我们可以假设强度读数变化不大。因此,对于每个子空间,可以应用编码函数来减小强度维度。 它定义为:

到目前为止,我们可以通过以下方式生成强度扫描上下文:

全局签名是一个2D矩阵,可显示环境的几何形状和强度分布。 我们从KITTI数据集[18]中选择了一个LiDAR扫描,如图3所示。左图是自顶向下视图的点云,子点云空间Sij用红色标记。右图是编码强度扫描上下文,每个像素由强度编码函数计算。

C. Place Re-identification

位置识别目标,以使当前位置Pn与历史数据库中先前访问的位置匹配
。随着更多地点的访问,数据库D的规模不可避免地增加,因此计算成本也相应增加。为了降低计算成本,在本节中,我们提出了一种两阶段的分层强度扫描上下文检索策略,该策略利用快速的二进制运算来加快位置重新识别的过程。
1)快速几何重新识别:大多数3D描述符都是基于直方图的,例如唯一形状上下文(USC)[4],ISHOT [8]等。由于数学运算是不可避免的,因此在实践中直方图之间的匹配会很慢,比如浮点数的乘法。相比之下,二进制运算(或逻辑运算)实现的速度比那些数学运算要快得多。受[24]的启发,我们引入了一种有效的二进制运算几何重新识别以实现快速索引。给定强度扫描上下文,其在局部坐标上的几何分布可以表示为二进制矩阵I:

对于查询强度扫描上下文,候选强度扫描上下文及其二元变换,可以将几何相似度推导为:

其中是x和中元素的总数,是指矩阵x和y之间的逐元素异或运算。 因为强度扫描上下文中的列向量表示方位角方向,所以激光扫描的旋转在强度扫描上下文中变为列偏移[21]。因此,对于位置识别,视角变化可以解释为的列偏移。 因此,要检测视点变化,可通过以下方式计算最终分数:

其中由第列移位。 同时,我们可以用k的列位移确定最匹配的,可用于校正视角变化。 可以通过设置凭经验确定的阈值来过滤掉不匹配的对。 在实验中,我们发现二进制匹配在台式计算机上仅花费0.5毫秒,这在计算上非常有效。

2)强度结构匹配:第二阶段主要通过逐列比较来识别两个强度扫描上下文之间的强度相似性。设的第列,可以通过取余弦距离来找到分数:

与几何匹配类似,我们必须纠正视角变化。 由于已经从几何图形重新识别中确定了视角变化,因此我们比较了,其中移了第列。 由于强度的比较涉及数学运算而不是逻辑运算,因此这也显着降低了计算成本。最终得分计算如下:

还可以通过设置凭经验确定的阈值来过滤掉不匹配的对。

D. Consistency Verification

如前一节所述,全局描述符是原始点云的高度简化表示,因此不可避免地会忽略一些特征,这可能导致误报。 因此,有必要在关闭循环之前检查一致性。
1)时间一致性检查:在SLAM系统中,由于传感器反馈在时间上是连续的[25],因此观察到单回路闭合的发生通常意味着相邻LiDAR扫描具有高度相似性。 我们可以通过测量时间一致性来验证循环闭合:

其中N是用于时间一致性验证的帧数。 注意,在反向访问(在几何图形重新识别中检测到视角变化)的情况下,相应地变为。 可以通过在最终时间一致性评分上采用阈值来接受循环候选。
2)几何一致性:几何一致性验证了原始扫描到扫描的相似性。 类似于[8],FPFH特征被提取和匹配以获得对刚性变换矩阵的初始猜测。 从此初始估计值开始,使用迭代最近点(ICP)[26]来查找查询扫描和候选扫描之间的最小距离误差。

IV. EXPERIMENT EVALUATION

A. Experiment Setup

在本节中,我们介绍了我们提出的方法的初步结果,包括室内仓库机器人导航和室外自动驾驶实验。所提出的方法用C ++实现,并集成到Intel NUC微型计算机上的机器人操作系统(ROS)。 对于室内仓库导航,该实验使用了配备Velodyne VLP-16和Intel Realsense r200的自动导航车(AGV)。如图4所示,该机器人是为满足仓库定位任务(例如包装和运输)而开发的,这些任务需要长期定位的高精度。 AGV的最大速度为1 m / s。 对于户外自动驾驶,使用KITTI数据集[18]进行评估。 所提出的位置识别方法用于减少定位漂移并提高映射精度。 表I中显示了实验中使用的参数列表。

B. Experiment on Autonomous Robot

机器人在包括操作机器,架子,人员等的真实仓库环境中进行了测试。LiDAR里程表基于通过点云库(PCL)匹配的特征点进行估算[27],并且从机器人收集的机器人轨迹(前端SLAM)轮里程表和LiDAR里程表的融合。为了说明这一点,我们模拟了一个常见的任务,其中机器人离开了扩展坞以取回物料并以相反的方向返回。我们的方法与使用前置摄像头的基于视觉的方法进行了比较。特别是,我们使用在ORB SLAM [11]中实现的DBoW2 [10]。结果如图5所示,估计轨迹以绿色绘制。对于DBoW2,反向访问显着改变了视角,因此没有足够的相似性来得出闭合回路的结论。因此,轨迹会根据最终结果与架子碰撞,这是不正确的。相比之下,我们提出的方法能够很容易地识别出重访的地点。估计的轨迹和映射更加合理。这是由于我们提出的基于ISC的两阶段分层检索的视角不变性。

C. Evaluation on Public Dataset

为了进一步证明所提出方法的性能,我们在通常用于位置识别的KITTI数据集上测试了该算法。 KITTI数据集是从配备有各种感知系统的自动驾驶汽车收集的,这些感知系统包括前置摄像头,Velodyne HDL-64E LiDAR,GPS等。
由于类似的体系结构和动态环境,对于闭环检测来说是一个挑战。 所提出的方法已通过多个记录(例如序列00、02和05)进行了测试。序列00和05通常用于位置识别,因为大多数循环闭合位置都被向前访问。 序列02同时包含正向和反向访问,被认为是更具挑战性的场景。

从每个测试中收集召回率和精度。精密度是成功配对的百分比,召回率是报告的回路对相对于总回路对。较高的查全率可以大大减少漂移误差,而较高的查全率可以防止将点错误注册到地图中。 由于测试场规模较大,因此基于GPS收集总回路闭合次数。 我们提出的方法的结果可以在图6中找到,随着时间的推移,GPS轨迹从明到暗绘制。 检测到的每个回路闭合位置均标记为红色。

还将结果与SLAM应用中常用的现有文献[21],[17],[24]进行比较。我们还包括基于视觉的最先进的位置识别方法,例如[10] ]进行比较。由于源代码不可用,从相应的论文中收集了[21],[17],[24]的实验结果,并通过本地实验测试了[10]。结果列于表II。与基于视觉的方法相比,我们的方法在序列00和序列05上都达到了竞争的精度和召回率。在更具挑战性的数据集序列02上,我们的方法实现了更高的查全率。这是因为基于序列02的视觉方法无法识别反向访问,因此召回率显着下降。然而,据报道,基于LiDAR的方法,例如我们的方法和[21],都存在假阳性。失败案例来自道路两边都是树木的非住宅区域,因此几何形状和强度特征对于位置识别非常受限制。与基于LiDAR的方法(例如[21],[17],[24])相比,我们在所有三个数据集上均实现了更高的查全率和查全率。此外,提出的强度扫描上下文仅花费1.2 ms /查询,这在实践中非常有效。

V. CONCLUSION

在本文中,我们通过结合几何和强度信息提出了一种鲁棒的闭环检测方法。基于LiDAR的环路闭合检测的现有工作主要利用仅几何描述符,而忽略强度读数。受最近关于LiDAR强度的研究的启发,我们认为强度信息可以有效地进行位置识别,并提出了一个名为强度扫描上下文的全局3D描述符。为了降低计算成本,提出了一种有效的两级分层强度扫描上下文检索,该检索由基于快速二进制运算的几何索引和强度结构重新识别组成。实际上,在普通计算机上,每个查询仅花费1.2毫秒。为了评估我们提出的方法,已经进行了彻底的实验,包括使用自动仓库机器人进行本地运行测试和公共数据集测试。结果表明,与最先进的方法相比,我们提出的方法可实现具有竞争力的召回精度和召回率。

 

 

 

 

 

 

  相关解决方案