结合深度学习的视觉SLAM研究

视觉SLAM是一种基于视觉相机传感器的SLAM 系统,与激光雷达传感器相比,视觉传感器具有成本低,能够获取环境语义信息的优点,可以与深度学习(Deep Learning,DL)进行大量结合。

结合方向

DL与SLAM的结合大致分为3个思路:

  1. 用DL实现SLAM的所有功能
  2. 用DL改进SLAM的部分功能
  3. 介于思路1和思路2之间
  • 第1种思路就是简单粗暴地用DL直接实现SLAM,也就是所谓的端到端方法(End-to-End),输入连续帧图像,经过网络直接得到pose信息,例如D3VO、UnDeepVO和NeuralRecon就是典型代表。

  • 第2中思路是用DL改进SLAM中的个别功能模块,比如基于DL方法的特征匹配、重定位、深度估计等,比如CNN-SLAM就是典型代表。例如Magicleap团队用SuperPoint和SuperGlue进行特征点的提取和匹配,普林普顿Jia Deng团队的RAFT光流,DroidSLAM主要用学习的方法进行BA,类似工作还有BANet;还有一些工作用深度学习来做场景识别,可以用来SLAM中的回环检测阶段。

  • 更多的是介于思路1和思路2之间的方法,利用深度学习的其他模块来提取一些更高级的语义特征。包括:端到端视觉里程计、端到端建图、端到端定位导航、语义SLAM

具体工作

  1. 结合YOLOv5目标检测,动态物体特征点剔除
  2. DL进行深度估计
  3. CNN提取特征点和描述子,并降低网络参数
  4. 语义地图构建
  5. MobileNetv3-KPCA回环检测

视觉SLAM框架

视觉SLAM可采用开源的ORB-SLAM3,支持视觉、视觉加惯导、混合地图的SLAM系统,可以在单目,双目和RGB-D相机上利用针孔或者鱼眼模型运行。

目标检测网络

目标检测可采用YOLOv5,将PyTorch格式的模型转换为TorchScript,使用LibTorch库进行部署,实现将目标检测整合到以C++为主要编程语言的SLAM系统中。

文章作者: gzwangu
文章链接: https://gzwangu.github.io/2023/06/25/结合深度学习的视觉SLAM研究/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Clousbin の Blog
支付宝打赏
微信打赏