DXSLAM:一种基于深度特征的鲁棒且高效的视觉SLAM系统

泡泡图灵智库,带你精读机器人顶级会议文章

标题:DXSLAM: A Robust and Efficient Visual SLAM System with Deep Features

作者:Dongjiang Li, Xuesong Shi, Qiwei Long, Shenghui Liu, Wei Yang, Fangshi Wang, Qi Wei, Fei Qiao

机构:Tsinghua University/Beijing Jiaotong University/Intel Corporation

来源:IROS

编译:高云琦

审核:  Yuri

转载:泡泡机器人SLAM

摘要

大家好,今天为大家带来的文章是DXSLAM: A Robust and Efficient Visual SLAM System with Deep Features,一个鲁棒高效的同步定位与映射(SLAM)系统是实现机器人自主的关键。对于视觉SLAM算法来说,虽然大多数方面的理论框架已经被很好的建立,但大多数情况下特征提取和关联仍然是经验设计的,在复杂的环境中可能很脆弱。本文表明,深度卷积神经网络(CNNs)的特征提取可以无缝地融入到现代SLAM框架。提出的SLAM系统利用最先进的CNN来检测每帧图像中的关键点,不仅给出关键点描述符,而且给出整个图像的全局描述符。这些局部和全局特性随后被SLAM不同的模块使用,与使用手工设计的特性相比,在环境变化和视角变化方面具有更强的鲁棒性。本文还使用单词袋(Bag of Words, BoW)方法训练了局部特征的视觉词汇。基于局部特征、全局特征和词汇量,建立了一种高可靠的闭环检测方法。实验结果表明,所提出的模块性能明显优于对照组,整个系统在所有评估数据上获得了更低的轨迹误差和更高的正确率。此外,通过使用Intel OpenVINO工具包和利用Fast BoW库来优化CNN,该系统极大地受益于现代CPUs中的SIMD(单指令多数据)技术。整个系统可以在没有任何GPU或其他加速器的情况下实时运行。

代码地址:https://github.com/mli0603/stereo-transformer

主要工作与贡献

  1. 提供了一个完整的具有闭环、全局优化和重新定位的SLAM系统,所有这些都基于最先进的深度CNN的特征,在环境和视角变化方面比手工设计特征的SLAM系统具有更强的鲁棒性。

  2. 提出了一种鲁棒的基于全局特征图像检索和组匹配的重定位方法。与传统的BoW方法相比,该方法具有更高的成功率和更低的计算成本。

  3. 提出了一种基于全局特征和局部特征的可靠LCD方法。通过训练新的视觉词汇来聚合局部特征。

  4. 该系统针通过使用Intel OpenVINO工具包进行特征提取,并在LCD上使用Fast BoW,对现代CPUs进行了优化。在目前看来,这是第一个基于深度特征的、无需GPUs就能实时运行的SLAM系统。

算法流程

1.整体框架

该框架类似于ORB-SLAM2。不同之处在于特征提取,本文使用HF-Net在单一CNN模型下给出局部特征(关键点及其描述符)和全局特征(图像描述符)。然后将局部特征添加到定位与建图模块中。基于全局特征,构建了一个有效的重定位模块,用于在系统初始化或跟踪失败时快速重定位。为了减少累计定位误差,实现全局一致映射,提出了一种鲁棒的闭环方法(包含HF-Net提取全局特征和使用预训练的词袋模型进行局部特征匹配)。

为了进一步提高系统效率,本文采用FBoW方法获取二进制视觉词汇,与传统BoW方法相比,显著减少了系统初始化时间,提高了匹配效率。本文还对HF-Net模型进行了优化,并使用Intel OpenVINO工具包进行复现,以实现在CPUs上的实时特征提取。

图1 :提出了视觉SLAM系统的框架。该流程与ORB-SLAM2基本相同,将深度特性集成到系统的各个模块中。

2.方法

2.1 Feature Extraction

本文使用深度CNN、HF-Net对每一帧图像进行特征提取。在HF-Net中,图像首先经过一个共享编码器,然后进入三个并行解码器,分别预测关键点检测分数、密集局部描述符和全局图像描述符。前两个解码器具有与SuperPoint相同的架构,全局描述符由NetVLAD层计算。这种设计使HF-Net能够通过一个单一的推理模型同时给出局部和全局特征,不仅有利于后续的姿态跟踪,而且还有利于LCD和重新定位模块。

2.2  Vocabulary Training

在传统的BoW中,采用K-D树来加快搜索过程。但是,如果在词汇训练过程中没有正确分配K-D树的层次和节点,词汇就不能很好地区分特征。为了解决这一问题,本文充分考虑了结果训练图像之间的关系,采用增量式的方式进行词汇训练。在训练阶段,首先利用HF-Net从连续图像序列中提取关键点和局部描述子。对于每一对相邻的图像,使用蛮力方法来匹配图像。匹配的局部描述子应该属于同一个已有叶节点,即视觉词,未匹配的特征被指定为新的叶节点。理论上,应该把所有匹配的描述子放在提到的现有词下。但是,考虑到提取的特征的可靠性,通过相应的关键点检测分数来选择匹配的前300个描述子。

为了提高特征匹配效率和整个SLAM系统,采用了FBoW框架来构建整个词汇表。经过FBoW训练的词汇表采用了二进制形式,可以更有效地加载和用于特征匹配。在测试中,DXSLAM的系统初始化时间约为40毫秒,而ORB-SLAM2的系统初始化时间约为6秒。

2.3 Re-localization with Global Features

ORB-SLAM2进行重定位时,会产生以下两个问题:1.BoW方法无法检索任何候选帧。2.第二阶段没有足够的匹配局部特征来进行姿态估计。

本文通过实现基于学习的全局描述子的粗糙图像检索来解决第一个问题,该方法已经被广泛证实比BoW方法对环境和视角变化更具有鲁棒性。然后将检索到的候选帧用于组匹配。通过匹配当前帧的关键点到组中的所有关键点,第二个问题可以大大缓解。最后,对匹配足够关键点的组执行标准的RANSAC和PnP过程。

2.4 Loop Closure Detection with Multi-level Features

在SLAM系统中,LCD对修正累积误差和建立一致的地图具有重要作用。虽然它也可以形成一个图像检索问题,但在重新定位时,它的要求强调精度而不是召回,因为错误的闭环可能会破坏地图。因此,对LCD应采用更严格的标准。在DXSLAM中,本文同时使用局部和全局描述子来检测回环。对于每一个新的关键帧,局部描述子首先通过与预先训练的词汇树的节点匹配量化成单词,然后关键帧用视觉向量表示。通过计算文献[30]中定义的视觉向量的距离,根据相似度评分从数据库中选取前K个关键帧。定义视觉向量v1和v2两帧之间的相似性得分为

由于BoW匹配方法通过局部特征的分布来聚合局部特征,而忽略其空间关系,因此可能会出现错误匹配。在系统中,基于全局描述子的度量可以作为解决这个问题的补充标准。在LCD的第二阶段,当前帧和上面的每一个前 K候选帧之间的距离是基于它们的全局描述子的内积计算的。距离最小的候选帧(如果低于预定义的阈值)被检测为回环帧

实验结果

在本节中,作者给出每个设计模块和完整的SLAM系统的评估结果。首先对不同特征提取器的视觉SLAM系统进行性能比较。然后,评估本文所提出的重定位和回环检测方法在控制数据方面单独的挑战因素。最后,使用SLAM数据集对完整的DXSLAM系统进行了性能评估。

1.Datasets

评估采用两种类型的数据:SLAM评估数据集和LCD评估数据集。

TUM RGB-D和OpenLORIS-Scene:使用OpenLORIS-Scene来评估算法的鲁棒性,使用TUM RGB-D来评估定位精度。

City Center和New College: 这两个数据集被广泛用于LCD评估。它们都是用一个移动机器人收集的。前者包括许多动态物体,如行人和车辆。此外,阳光、风和视角的变化也会给LCD算法带来挑战。后者的数据集不仅包括动态对象,还包括重复的视觉元素,如类似的墙壁和灌木丛,这往往会导致错误的回环检测。

2.Feature Evaluation

为了测试HF-Net的性能,将其与手工制作的特征以及其他基于深度cnn的最新特征提取方法进行了比较。用每种方法替换ORBSLAM2的特征提取模块,并比较OpenLORIS-Scene数据集上的定位性能(以逐序列评估的方式)。在此测试中禁用重新定位和LCD模块。得到如图2所示的结果

图2 :基于OpenLORIS-Scene数据集的视觉SLAM(不需要重新定位和回环检测)序列测试结果。图中A+B的算法意味着使用A进行关键点检测,使用B进行关键点描述。上面一行上的每个黑点表示一个数据序列的开始。对于每个算法,蓝点和线表示成功的初始化和跟踪。每个场景左上角的百分比值是平均正确率,越大表示越稳健。右下角的浮动值是平均ATE、RMSE,越小表示越准确。

3.Re-localization Evaluation

OpenLORIS-Scene数据集中的办公场景提供了一组受控的挑战性因素,用于针对每个因素评估重新定位的鲁棒性。

表1表明该方法在所有情况下都优于ORBSLAM2。只有当视点发生重大变化时(办公室-2中的机器人完全与办公室-1的轨迹相反),它才无法重新定位,这表明在很大程度上不同的视点之间的场景识别应该是一个开放式问题。值得注意的是,针对光照挑战的鲁棒性已大大提高。

图3 :查询框架(左)和检索框架组(右)之间的匹配。通过全局描述子匹配检索重新定位候选项,然后用于组匹配。右边的五幅图像是检索到的候选图像。

4.Loop Closure Detection Evaluation

在评估过程中,我们的算法分为两部分。一种是全LCD算法,记为HF-FBoW-GLB,另一种记为HFFBoW,根据相似度评分选择前1名。

图4 :使用全局特征的方法(HF-FBoW- GLB)、不使用全局特征的方法(HF-FBoW)和ORB-SLAM2三个的LCD的PR曲线

5.Full System Evaluation

在OpenLORIS-Scene数据集和TUM RGB-D数据集上评估了DXSLAM的性能。在前者上以终身SLAM方式进行测试,同一场景的数据序列依次输入算法。结果如图5所示。利用TUM RGB-D对定位的准确性进行了评价。结果见表二。

图5 :使用OpenLORIS-Scene数据集测试结果。对于每个算法,蓝点和线表示成功的初始化/重新定位和跟踪。每个场景左上角的百分比值是平均正确率,越大表示越稳健。右下角的浮动值是平均ATE、RMSE,越小表示越准确。

6.Runtime Performance

本文测试了不同的特征提取模型在GPU机器和无GPU的微型电脑上的性能,这是常用来建立机器人原型,结果如表三所示:

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值