论文链接:https://arxiv.org/pdf/2008.05416.pdf
代码链接:https://github.com/ivipsourcecode/dxslam

主要内容

本文的主要工作为使用CNN(Convolutional Neural Network,卷积神经网络)提取特征,然后将所提取的特征整合到现代的SLAM(ORB SLAM2)框架中。其中,作者选择了性能优异的HF-Net,提取每帧图像的局部特征以及整幅图像的全局特征,使得所整合的SLAM系统,相比使用手工特征点的SLAM系统,在环境变化、视角变化情况下拥有更好的鲁棒性。ORB SLAM2中使用BoW(Bag of Words,词袋模型)来加速特征点的匹配,本文中作者使用了FBoW(Fast Bag of Words)来进一步加速词袋的训练以及通过词袋模型进行的特征点匹配过程。并且本系统可以在依赖GPU,在CPU上运行(不愧是和Intel合作的论文)。

论文的主要贡献

1、通过CNN提取的特征,相比于手工设计的特征,使得整合后的SLAM系统在环境和视角变化的情况下有更好的鲁棒性。
2、通过全局特征的辅助,使得SLAM系统中的重定位方法更加鲁邦;同时,FBoW相比于传统的BoW,有更高的成功率和更小的计算量。
3、基于全局和局部特征,提出了一种可靠的闭环检测方法,同时一种新型的词袋被训练,用来整合局部特征。
4、第一款基于深度学习特征点法并且可以在无GPU的情况下运行的SLAM系统。

整个框架如下图所示

总览

整个框架类似于ORB SLAM2,不同点主要在于特征点提取部分,作者使用了HF-Net来提供局部以及全局特征。局部特征主要用于定位和制图流程。基于全局特征,一个高效的重定位模块被建立,用于系统初始化或者跟踪失败时快速重定位,同时,一个鲁邦的回环方法被提出,用来减少累计定位误差并获得全局一致地图。这个方法使用了HF-Net提取的全局特征,以及事前训练好的词袋模型进行局部特征匹配。进一步,为了降低系统初始化时间,提升系统效率,采用了FBoW代替传统的BoW。Open VINO工具包的使用,使得系统可以通过CPU完成实时的特征提取。

特征提取

使用HF-Net,从每个图像帧提取特征。图像首先经过一个共享的编码器,然后通过三个并行的解码器,分别预测关键点的检测得分、稠密的局部描述子和全局描述子。前两个解码器拥有和SuperPoint一样的结构,全局描述子则由NetVLAD层通过聚类得到。

词袋训练

传统的BoW采用训练K-D树的方式来加速搜索过程,但是如果K-D树的层和节点数在词袋训练的过程中没有得到合理安排,单词就难以很好地区分出特征。为了解决这个问题,在充分考虑了所训练的图像序列之间的关系后,采用了一种增量式的方法训练词袋。在训练过程中,首先运用HF-Net提取连续图像序列中的关键点和局部描述子。对每一对临近的图像,使用暴力匹配的方式进行图像匹配。匹配成功的局部描述子应该属于相同的并且已经存在的叶子节点中,即视觉单词;未匹配成功的特征会被分配到新的叶子节点。为了保证所提取特征的可靠性,作者通过关键点的检测得分进行排序,选择得分最高的300个成功匹配的描述子,将他们当做单词进行训练。在所有的训练图片被处理后,可以得到一系列的视觉单词,并将这些单词打散到父节点中。文中运用FBoW代替传统的BoW训练词袋,极大程度上提升了系统效率。以初始化过程为例,DXSLAM只需要40毫秒,ORB SLAM2则需要6秒。

使用全局特征进行重定位

ORB SLAM2使用一个两阶段的流程实现重定位,首先使用BoW进行特征匹配,来检索近似于当前的候选帧,然后通过匹配当前帧和每个候选帧的局部特征点,来估计当前帧的位姿,直到全部候选帧遍历完或者当前帧的位姿被成功估计。失败往往有两种可能性:
1、BoW未能检索到任何候选帧。
2、在第二阶段,没有足够的匹配点来实现位姿估计。
解决第一个问题的方法是:通过学习得到的全局描述子,实现一种粗的图像检索,,这种方法被广泛证明,在针对环境和视角变化时,比BoW方法拥有更好的鲁棒性。被检索的候选帧随后被用来做群体匹配。通过匹配当前帧的和群体中的全部关键点,第二个问题可以得到很好地缓解。当有足够的匹配的特征点时,会对每个群体执行RANSAC和PnP过程。

使用多层次特征来实现闭环检测

相比于重定位重视召回率,闭环检测更加重视准确率,因为一个错误的闭环检测会损坏整个地图。在DXSLAM中,作者使用局部和全局描述子来检测回环。对每一个新的关键帧,通过和训练好的的词袋节点进行匹配,将局部描述子量化为单词,然后关键帧可以使用一个向量进行表示。通过计算不同向量(关键帧)之间的距离得到相似度得分,并且挑选得分最高的K个关键帧。向量 v 1 v_1 v1​和向量 v 2 v_2 v2​之间的相似度的定义为:
s ( v 1 , v 2 ) = ∑ i = 1 N ∣ v 1 , i ∣ + ∣ v 2 , i ∣ − ∣ v 1 , i − v 2 , i ∣ s(v_1,v_2)=\sum_{i=1}^N|v_{1,i}|+|v_{2,i}|-|v_{1,i}-v_{2,i}| s(v1​,v2​)=i=1∑N​∣v1,i​∣+∣v2,i​∣−∣v1,i​−v2,i​∣
因为词袋只整合了局部描述子的的分布而忽视了他们的空间关系,所以会有误匹配的发生。在这里,作者使用全局描述子作为补充标准处理这个问题。在闭环检测的第二阶段,通过当前帧和每一个上一步挑选出来的K个关键帧做内积运算,作为它们之间的距离。距离当中的最小值,如果小于预先定义的阈值,就被检测为回环。

评价





论文笔记 DXSLAM: A Robust and Efficient Visual SLAM System with Deep Features相关推荐

  1. 论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning

    论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning  2017-06-06  21: ...

  2. 【论文笔记】Learning Synergies between Pushing and Grasping with Self-supervised Deep Reinforcement Learn

    文章目录 [论文笔记] Learning Synergies between Pushing and Grasping with Self-supervised Deep Reinforcement ...

  3. 《论文笔记》Robust Cooperative UAV Visual SLAM

    时间:2011 作者: 创新点:   将单机VSLAM扩展到了多机C-VSLAM(中心化方式).单机VSLAM的实现基础是基于NH∞滤波器(具体见参考文献[18][19]).本文重点在VSLAM和C- ...

  4. 论文笔记:CLIP:Learning Transferable Visual Models From Natural Language Supervision详解

    paper:https://arxiv.org/abs/2103.00020 代码:GitHub - openai/CLIP: Contrastive Language-Image Pretraini ...

  5. 【论文笔记】VOLO: Vision Outlooker for Visual Recognition

    论文 论文题目:VOLO: Vision Outlooker for Visual Recognition 论文地址:[2106.13112] VOLO: Vision Outlooker for V ...

  6. [计算机视觉] AprilTag: A robust and flexible visual fiducial system(2011)论文理解

    论文地址 chrome-extension://cdonnmffkdaoajfknoeeecmchibpmkmg/assets/pdf/web/viewer.html?file=https%3A%2F ...

  7. 论文笔记 Semantics-Guided Neural Networks for Efficient Skeleton-Based Human Action Recognition - CVPR

    Semantics-Guided Neural Networks for Efficient Skeleton-Based Human Action Recognition 2020 CVPR | c ...

  8. AprilTag: A robust and flexible visual fiducial system论文解读

    AprilTags论文解读 一.Apriltag是改进的ARToolkit. ARTag . 1.1 ARToolkit的劣势: A major disadvantage of this approa ...

  9. 最新论文笔记(+22):Anonymous and Efficient Authentication Scheme for Privacy-Preserving DL / TIFS2022

    Anonymous and Efficient Authentication Scheme for Privacy-Preserving Distributed Learning 可译为"一 ...

最新文章

  1. 四川计算机职业技术学院,四川职业技术学院
  2. Extjs鼠标长按事件(实现长按按钮触发事件的方法:mousedown、mouseup)
  3. 线性代数同济第六版_线性代数考试内容与课后习题
  4. Elasticsearch笔记(七):聚合查询
  5. 连续两年入选Gartner公共云容器,阿里云在边缘容器方面做了什么?
  6. 52 -算法 -数据结构类 Leetcode26 删除有序数组中的重复项
  7. Andorid Kernel 编译测试
  8. 计算机考试准考证无法下载
  9. Exploring Sparsity in Image Super-Resolution for Efficient Inference
  10. imatest白平衡测试结果解析
  11. NLP中Tokenizers总结(BPE、WordPiece、Unigram和SentencePiece)
  12. 安卓手机格式化怎么弄_安卓手机怎么格式化?
  13. ACM与IEEE双Fellow、华人女计算机科学家周以真:可信 AI,未来可期
  14. vagrant 设置除默认工项目之外的synced_folder一个坑
  15. A.Mio visits ACGN Exhibition
  16. 基于图数据库的新型肺炎传染图谱建模与分析
  17. Android FMRadio上层调试
  18. 502粘到手上变硬了怎么办_手指被502粘住了?别硬扯,教你2招,胶水自动融化...
  19. ElasticSerach安装IK中文分词器,并在Java中使用
  20. L1-014 简单题 - java

热门文章

  1. 惠海半导体H7230直接替换BP1371 BP1361方案设计
  2. 获取html元素的高,获取HTML元素的高度jQuery
  3. 广科院机器人团队邹子平分享学习知识
  4. c语言重复测试,C语言检测过零的方法--等待过零检测法
  5. pygame学习笔记——检测鼠标碰到、点击图片
  6. 帮我写一段描写时间过得很快,但是自己又很不想时间过得那么快的小作文
  7. 【赠书福利】人工智能发展的三驾马车
  8. python爬取微博热搜榜
  9. 个人新出的书籍---《云计算网络珠玑》
  10. 实训日记(二)——分镜