一种结合LATCH与多索引哈希的闭环检测方法
Loop Closure Detection Method Combining LATCH and Multi Index Hashing
摘要: RatSLAM是一个受海马体启发的同时定位与地图构建(SLAM)解决方案。针对RatSLAM由于一般的视觉处理方法而在复杂的室内环境中表现不佳的情况。本文首先提出了一种改进的RatSLAM,这是一种基于特征的单目SLAM系统,可以实时运行。其次,本文引入了多索引哈希(MIH)算法和三块区域代码(LATCH)的学习排列,用于评估当前场景与先前场景的相似性。最后,通过贝叶斯滤波和滑动窗口筛选出最相似的视觉模板,完成回环检测(LCD)。实验结果表明,改进后的系统在室内环境中的位置识别精度更高,体验地图的构建性能也更好,最大召回率达到60%。
Abstract: RatSLAM is a simultaneous localization and mapping (SLAM) solution inspired by the hippocampus. Regarding the poor performance of RatSLAM in complex indoor environments due to general visual processing methods. This article first proposes an improved RatSLAM, which is a feature-based monocular SLAM system that can run in real-time. Secondly, this article introduces the Multi Index Hash (MIH) algorithm and the Learning Arrangement of Three Block Region Code (LATCH) to evaluate the similarity between the current scene and the previous scene. Finally, the most similar visual template is selected through Bayesian filtering and sliding window filtering to complete loop closure detection (LCD). The experimental results show that the improved system has higher position recognition accuracy in indoor environments, better performance in constructing experiential maps, and a maximum recall rate of 60%.
文章引用:李瑞华. 一种结合LATCH与多索引哈希的闭环检测方法[J]. 建模与仿真, 2025, 14(2): 417-424. https://doi.org/10.12677/mos.2025.142163

1. 引言

随着科学技术的迅猛推进,计算机视觉技术在现代产业中的影响力持续攀升,特别是在视觉同步定位与建图这一关键技术的驱动下。它如同导航灯塔,引领着自动驾驶汽车、智能机器人等行业在探索未知领域的过程中展现出卓越效能,并深刻改变了增强现实的交互体验[1]。SLAM的本质在于让机器人在同时定位自身的情况下,构建其周围环境的地图。值得特别注意的是,许多动物能够在没有高分辨率地图的情况下解决SLAM问题[2]。受此启发,Milford等人[3]提出了一种仿生模型——RatSLAM,其根据路径积分机制从而提供具有拓扑和度量特性的认知地图。随后,Milford和Wyeth [4]利用低成本摄像头对66公里的郊区进行了建图实验,证明了RatSLAM系统可以完成基于外观的SLAM任务。

回环检测(Loop Closure Detection, LCD)是SLAM中的关键组成部分,用于通过当前的图像信息识别先前访问过的地点[5]。LCD可以在历史状态与当前状态之间建立观察关系,从而有效减少累积误差并生成一致的地图。目前使用最广泛的LCD方法是基于局部特征的方法,这些方法尝试使用人工特征来建模图像相似性。局部特征进一步分为二值特征和实值特征。在近年来,二值特征(如(ORB) [6]或LATCH [7])因其较低的计算复杂度和高效的内存需求,逐渐取代了传统的实值特征(如尺度不变特征变换(SIFT) [8]或加速鲁棒特征(SURF))。

本文基于RatSLAM的核心思想、LATCH特征和一种名为多索引哈希回环检测(MILD)的策略,改进了RatSLAM算法在复杂室内环境中的场所识别能力。采用了一种高效的描述符LATCH来描述从RGB图像中由ORB检测器检测到的特征点。在经过MILD算法之后,本文使用滑动窗口寻找图像相似性得分区间总和最大的假设,同时保持假设的回环概率高于某一阈值。当某一假设满足上述条件时,极线几何约束成为排除表面相似但实际来自不同场景的错误匹配图像的有力手段。实验结果表明,结合LATCH特征和MIH [9]的改进RatSLAM系统可以显著增强原始RatSLAM系统的鲁棒性和性能。

2. 相关研究

2.1. 基于生物启发的定位与建图

在自然界中,许多动物都具备空间探索与导航能力。其中最典型的例子是老鼠能够在复杂迷宫中找到指定的奶酪。受到这一现象的启发,过去几十年中,许多学者致力于研究和探索动物(特别是啮齿类动物)如何获得和存储空间记忆。研究表明,大脑海马体的某些区域包含对空间敏感的细胞,这些细胞通常是基于老鼠神经生物系统的核心。1971年,O’Keefe [10]发现了“位置细胞”(place cells),这些细胞仅在老鼠位于环境中特定位置时被激活。13年后,Ranck [11]发现了“头向细胞”(head direction cells),这些细胞只有在老鼠面向特定方向时才会被激活。根据上述研究,Milford等人[3]提出了经典的RatSLAM模型,该模型通过“姿态细胞”(Pose Cells)、“局部视图细胞”(Local View Cells)和“体验地图”(Experience Map)三部分模拟了老鼠海马体的空间认知机制。DBall等人[12]一步描述了一种改进型RatSLAM(即OpenRatSLAM),可在大场景中实现实时操作。在RatSLAM中,姿态细胞通过竞争吸引网络实现,用以表示机器人的姿态;在局部视图细胞模块中,视觉模板代表性摄像头图像生成,用于存储不同场景。然而,由于局部视图细胞模块中视觉处理方法的粗糙性,RatSLAM算法在复杂室内场景中的性能会有所下降。为了更好地描述环境,Zhou等人[13]引入ORB特征从RGB图像中提取特征,从而改进视觉处理方法,并通过离线图像搜索实现回环检测。

2.2. 回环检测

回环检测是任何SLAM系统中的关键问题。随着低成本视觉传感器的出现,越来越多的研究开始转向利用视觉方法实现回环检测。回环检测算法的性能很大程度上受描述图像的特征影响。尽管基于全局特征的回环检测方法较为紧凑,并能高效地测量两张图像的相似性,但它们对部分遮挡、摄像头旋转等视觉问题的处理能力较弱,并且对噪声和光照变化更为敏感,容易导致大量错误检测。基于局部特征的回环检测方法主要依赖“词袋”(Bag of Words, BOW)方案,从先前访问的图像中有效检索图像。在BOW中,解决方案可根据词汇构建过程的性质分为离线和在线两类。最著名的离线方法之一是DBOW2 [14],它通过BRIEF描述符训练视觉词汇。该方法通过直接索引高效地获得图像之间的点对应关系,并将相似图像分组到“岛屿”中[15],从而提高了回环检测的准确性。为了去除离线训练阶段,Angeli等人[16]提出了一种在线BOW方法,通过贝叶斯滤波估算回环检测的概率。

回环检测系统的另一重要方式是基于快速近似最近邻搜索直接匹配特征。Zhang等人[17]使用局部敏感哈希(Locality Sensitive Hashing, LSH) [18]基于SIFT特征计算图像之间的相似性,而不需要向量化。尽管该方法在召回性能上显著优于BOW表示,但随着候选图像数量的增加,其计算复杂度较高。随后,Han等人[19]提出了一种名为MILD的实时回环检测方法,该方法通过在二值特征的近似最近邻搜索中采用多索引哈希(MIH),实现了与其他方法相当的准确性表现。MIH用于评估图像相似性,并通过贝叶斯推断过滤每个节点的回环检测概率。此外,Zhou等人[20]通过在图像相似性计算中引入“突发性”处理(burstiness handling),进一步提高了回环检测的准确性。

3. 本文算法概述

3.1. 基于MILD改进的RatSLAM模型

Figure 1. System frame

1. 系统结构

本文的RatSLAM模型主要包含三个模块,如图1所示。局部视图细胞(Local View Cells)表示环境中的不同视觉场景,姿态细胞(Pose Cells)代表当前姿态的信息,体验地图(Experience Map)是一种拓扑表示,它通过节点和链接编码了局部视图细胞和姿态细胞。本文的工作主要是替换局部视图细胞中的原始视觉处理方法,以生成更好的体验地图。

3.1.1. 局部视图细胞

局部视图细胞是一个单元阵列,其中每个单元代表环境中的一个独特视觉场景。该模块涉及一系列视觉处理操作,如图2所示。在MILD算法的基础上,新的LVC使用LATCH特征从摄像头图像中提取特征并构建数据库。然后,通过MIH作为LATCH特征的近似最近邻(ANN)搜索,提供当前图像 I t 与所有候选图像之间的相似性,其中一个长二进制特征描述符 f i n 被分割为 m 个不相交的子串。当这些特征进入至少一个哈希表中的同一哈希条目时,这些特征会被认为是 f i n 的最近邻候选集。用 Ω i n 表示 f i n 的最近邻候选集,图像相似性定义为:

(1)

其中, ϕ( f i t , f j q ) 表示LATCH特征的相似性,其定义为:

ϕ( f i t , f j q )={ exp( d 2 / σ 2 ) if d d 0 0     if d> d 0 (2)

其中, d 表示LATCH特征 f i t f i q 之间的汉明距离, σ 是权重参数, d 0 是预定义的汉明距离阈值。

随后,通过贝叶斯推理从场景识别中获得回环检测概率。当回环检测概率超过阈值T时,本文使用滑动窗口基于相似性得分筛选出最相似的视觉模板,本文将窗口大小设置为10。最后,本文应用几何验证对候选匹配场景进行验证,并通过RANSAC计算内点数。只有当内点数足够高时,回环假设才会被接受。

3.1.2. 姿态细胞网络

姿态细胞是一个连续吸引网络(CAN),由兴奋性和抑制性连接构成。姿态细胞的活动通过吸引动力学、路径积分和局部视图处理进行更新。随后,姿态细胞需要由CAN控制的内部动态模型,以确保姿态细胞单元的稳定性。整个动态模型包括三个步骤:兴奋更新、全局抑制和归一化。

3.1.3. 体验地图

体验地图是一种拓扑地图,通过结合局部视图细胞和姿态细胞的信息估算机器人的全局姿态。在体验地图中,每个节点被称为体验(Experience) e i ,它由其关联的姿态细胞 P i 和局部视图细胞 V i 的集合定义。设体验在体验地图空间中的位置为 p i ,则一个体验可以定义为:

e i ={ P i , V i , p i } (3)

在RatSLAM中,当姿态细胞或局部视图细胞与存储的体验有显著差异时,会创建一个新的体验。当MILD算法检测到体验 e i 的回环时,体验 e i 的位置变化表示为:

(4)

其中, α 是校正速率常数, N f 是从体验 e i 到其他体验的链接数, N t 是从其他体验到体验 e i 的链接数。

Figure 2. Visual processing in local view cells

2. 在局部视图细胞中的视觉处理

4. 实验评估

实验数据通过一台配备有Asus Xtion Pro Live摄像头的Pioneer 3-DX移动机器人采集,如图1所示。摄像头提供大小为640 × 480像素的图像,作为本文研究中的视觉输入。本文从Pioneer 3-DX机器人的轮式编码器中获取原始里程计数据(如图3(b)所示),为改进后的RatSLAM提供里程计支持。所有实验均在一台配备Intel Core i5-6300HQ (4核@ 2.30GHz)和12GB RAM的计算机上进行。此外,实验场景为一个12 m × 10 m的室内环境,其布局如图3(a)所示。本文在以下部分中评估了所提出算法的不同方面。首先,本文将展示视觉处理方法的时间性能,然后展示三种模型下的回环检测结果和体验地图对比。

4.1. 实验环境

具体实验环境如图3所示,图3(b)显示了实际办公环境的平面布局,主要包括桌子、椅子和白墙。此外,虚线表示机器人绕桌子行走三圈后的轨迹。红色虚线表示包含回环检测的轨迹,灰色虚线表示未包含回环检测的轨迹。图3(a)为通过Pioneer 3-DX移动机器人获取的原始里程计数据。

4.2. 视觉处理

Figure 3. Experimental environment

3. 实验环境

在RatSLAM的视觉处理方法中,视觉模板通过将图像转换为灰度格式并下采样为固定大小生成。然而,在复杂的室内环境中,RatSLAM的原始视觉处理方法丢失了大量图像信息,导致准确性降低。随后,利用绝对差值和(SAD)匹配当前图像与之前的视觉模板,但不同模板具有不同的灰度值和搜索窗口,需要的匹配阈值也不同,因此在使用SAD过程中错误匹配率较高。此外,在地图构建中,该视觉处理方法缺乏起重要作用的有效回环检测策略。

为了获取更好的场景信息,本文使用四叉树结构重新分布特征点,首先,整个图像空间或特征点所在的区域被划分为一个大矩形区域。然后,递归地将该区域划分为四个子区域。每次划分都会检查每个子区域内的特征点数,当某个子区域的特征点大于某个数量时,那么该子区域会继续被划分,直到每个子区域内的特征点数量满足要求,这可以使角点的分布更加均匀和合理。其次,另一个重要改进点是选择LATCH特征来描述特征点。LATCH描述符在计算和空间需求与现有二值描述符相当的情况下提供了更优的性能。图4(a)显示了原始RatSLAM使用SAD算法生成的帧与视觉模板关系以及由此生成的体验地图。纵轴为视觉模板数量,横轴为捕获的输入图像数量。相比于图4(c) (由基于MILD的新型RatSLAM生成),存在许多真实的回环未被检测,而许多错误回环被检测,直接导致错误的回环检测和空间表示失败。

Figure 4. View template versus frame generated from different algorithm; (a) The results generated using the Sum of Absolute Differences (SAD) method; (b) The results generated using ORB features and MILD methods; (c) Results generated using LATCH features and MILD method

4. 三种不同视觉处理方法生成的图像与视觉模板;(a) 使用绝对差值和(SAD)方法生成的结果;(b)使用ORB特征和MILD方法生成的结果;(c) 使用LATCH特征和MILD方法生成的结果

在闭环检测中,召回率是评估系统性能的一个重要指标,特别是在SLAM系统中,召回率反映了系统能够正确识别出历史场景的能力。为了更直观地显示回环检测结果,本文在表1中展示了准确率(Precision)与召回率(Recall),在100%准确率下的最大召回率(Max-Recall)为60%,可见本文LATCH特征提供了较为高效且鲁棒的二值描述符,可以在一定程度上降低误匹配和误检测的概率,但LATCH仍然面临一定的局限,尤其是在动态环境或较大的场景变化中,其可能无法充分表达复杂的场景特征,导致漏检,未来可将LATCH与其他先进的特征进行结合,形成更加鲁棒的特征表示,可能有助于提升回环识别的能力。此外,本文通过在实验数据集(包含1834帧)上进行测试,比较了不同方法的视觉处理时间。比较结果列于表2中。结果显示,与采用线性方式[13]进行图像检索的方法相比,本文的工作中的MIH显著加快了图像检索速度。

Table 1. System resulting data of standard experiment

1. 回环检测准确率召回率对比

准确率

最大召回率

RatSLAM

22.8%

9.7%

ORB

85.7%

43.5%

OUR

100%

60%

Table 2. Comparisons of visual procession time

2. 视觉处理时间对比

Zhou [13]

OUR

Time for 31th frame (ms)

194

43

Time for 1834th frame (ms)

5133

63

Total time for 1834 frames (s)

9413

108

4.3. 体验地图构建

图5(a)所示,由原始RatSLAM模型生成的体验地图因里程计漂移和回环检测失败而出现漂移现象。观察发现,原始RatSLAM模型无法检测到回访地点,也无法正确构建办公环境的地图。然而,配备MILD算法RatSLAM模型能够执行回环检测,并减少视觉模板匹配中的错误。从图5(c)可以看出,本文的RatSLAM模型消除了错误的场景识别,修正了回环检测,并最终借助MILD算法构建了一张准确的体验地图。

Figure 5. (a) The experience map generated by the original RatSLAM; (b) ORB features and MILD generated experience maps; (c) Experience maps generated by LATCH features and MILD

5. (a) 原始RatSLAM生成的体验图;(b) ORB特征和MILD生成的体验图;(c) 由LATCH特征和MILD生成的体验图

5. 结论

本文提出了一种适用于室内环境的改进型RatSLAM模型,用于提高回环检测(LCD)的性能并构建准确的体验地图。在该模型中,本文应用MILD算法为移动机器人构建准确的体验地图。随后,在MILD算法本身在保持系统实时性的同时,将特征提取方法引入了RatSLAM模型。为了进一步提升MILD的性能,本文采用了一种名为LATCH的高效二进制特征,用于描述改进型ORB检测器检测到的关键点。最后,使用滑动窗口和几何验证筛选最相似的视觉模板,从而实现回环检测。

实验结果表明,改进后的系统在复杂室内环境中表现优越,回环检测的最大召回率达到了60%。此外,系统的运行时间也得到了显著缩短,表现出较高的实时性,并最终成功构建了更为准确的体验地图,消除了由于错误回环检测带来的误差,展现了该模型在实际应用中的优势。综上,本文通过结合LATCH特征和MIH算法,显著提升了系统在室内环境中的回环检测精度,证明了该改进方法在复杂场景下的有效性和优越性。

参考文献

[1] 章陈常, 朱华, 由韶泽. 基于视觉的同时定位与地图构建的研究进展[J]. 计算机应用研究, 2018, 35(3): 641-647.
[2] 黄凤堂. 基于视觉惯性SLAM的自动驾驶车辆导航算法研究[D]: [硕士学位论文]. 桂林: 桂林电子科技大学, 2023.
[3] Milford, M.J., Wyeth, G.F. and Prasser, D. (2004) RatSLAM: A Hippocampal Model for Simultaneous Localization and Mapping. IEEE International Conference on Robotics and Automation, 2004. Proceedings. ICRA’04. 2004, New Orleans, 26 April-1 May 2004, 403-408.
https://doi.org/10.1109/robot.2004.1307183
[4] Milford, M.J. and Wyeth, G.F. (2008) Mapping a Suburb with a Single Camera Using a Biologically Inspired SLAM System. IEEE Transactions on Robotics, 24, 1038-1053.
https://doi.org/10.1109/tro.2008.2004520
[5] 李昂, 阮晓钢, 黄静, 等. 融合卷积神经网络与VLAD的闭环检测方法[J]. 计算机应用与软件, 2021, 38(1): 135-142.
[6] Rublee, E., Rabaud, V., Konolige, K. and Bradski, G. (2011) ORB: An Efficient Alternative to SIFT or Surf. 2011 International Conference on Computer Vision, Barcelona, 6-13 November 2011, 2564-2571.
https://doi.org/10.1109/iccv.2011.6126544
[7] Levi, G. and Hassner, T. (2016) LATCH: Learned Arrangements of Three Patch Codes. 2016 IEEE Winter Conference on Applications of Computer Vision (WACV), Lake Placid, 7-10 March 2016, 1-9.
https://doi.org/10.1109/wacv.2016.7477723
[8] Lowe, D.G. (2004) Distinctive Image Features from Scale-Invariant Keypoints. International Journal of Computer Vision, 60, 91-110.
https://doi.org/10.1023/b:visi.0000029664.99615.94
[9] Greene, D., Parnas, M. and Yao, F. (1994) Multi-Index Hashing for Information Retrieval. Proceedings 35th Annual Symposium on Foundations of Computer Science, Santa Fe, 20-22 November 1994, 722-731.
https://doi.org/10.1109/sfcs.1994.365720
[10] O’Keefe, J. and Conway, D.H. (1978) Hippocampal Place Units in the Freely Moving Rat: Why They Fire Where They Fire. Experimental Brain Research, 31, 573-590.
https://doi.org/10.1007/bf00239813
[11] Ranck, J.B. (1985) Head Direction Cells in the Deep Cell Layer of Dorsolateral Pre-Subiculum in Freely Moving Rats. Electrical Activity of the Archicortex.
[12] Ball, D., Heath, S., Wiles, J., Wyeth, G., Corke, P. and Milford, M. (2013) Openratslam: An Open Source Brain-Based SLAM System. Autonomous Robots, 34, 149-176.
https://doi.org/10.1007/s10514-012-9317-9
[13] Zhou, S., Yan, R., Li, J., Chen, Y. and Tang, H. (2017) A Brain-Inspired SLAM System Based on ORB Features. International Journal of Automation and Computing, 14, 564-575.
https://doi.org/10.1007/s11633-017-1090-y
[14] Galvez-Lopez, D. and Tardos, J.D. (2011) Real-Time Loop Detection with Bags of Binary Words. 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems, San Francisco, 25-30 September 2011, 51-58.
https://doi.org/10.1109/iros.2011.6094885
[15] Garcia-Fidalgo, E. and Ortiz, A. (2018) iBoW-LCD: An Appearance-Based Loop Closure Detection Approach Using Incremental Bags of Binary Words. IEEE Robotics and Automation Letters, 3, 3051-3057.
[16] Angeli, A., Doncieux, S., Meyer, J. and Filliat, D. (2009) Visual topological SLAM and global localization. 2009 IEEE International Conference on Robotics and Automation, Kobe, 12-17 May 2009, 4300-4305.
https://doi.org/10.1109/robot.2009.5152501
[17] Shahbazi, H. and Zhang, H. (2011) Application of Locality Sensitive Hashing to Realtime Loop Closure Detection. 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems, San Francisco, 25-30 September 2011, 1228-1233.
https://doi.org/10.1109/iros.2011.6095099
[18] Gionis, A., Indyk, P., Motwani, R., et al. (1999) Similarity Search in High Dimensions via Hashing. Proceedings of the 25th International Conference on Very Large Data Bases, Edinburgh, 7-10 September 1999, 518-529.
[19] Han, L. and Fang, L. (2017) MILD: Multi-Index Hashing for Appearance Based Loop Closure Detection. 2017 IEEE International Conference on Multimedia and Expo (ICME), Hong Kong, 10-14 July 2017, 139-144.
https://doi.org/10.1109/icme.2017.8019479
[20] 魏俐华, 陈刚. 考虑信任度的Pythagorean 模糊两阶段交互多属性群决策方法[J]. 计算机应用研究, 2021, 38(10): 2954-2960.