转载:SLAM概述

转载至:https://blog.csdn.net/darlingqiang/article/details/78901022

SLAM概述

  • SLAM一般处理流程包括track和map两部分。所谓的track是用来估计相机的位姿,也叫front-end。而map部分(back-end)则是深度的构建,通过前面的跟踪模块估计得到相机的位姿,采用三角法(triangulation)计算相应特征点的深度,进行当前环境map的重建,重建出的map同时为front-end提供更好的姿态估计,并可以用于例如闭环检测.
  • 单目slam根据构建地图的稀疏程度可以大致分为:稀疏法(特征点),半稠密法,稠密法
  • 根据匹配方法,可分为:直接法和特征点法

           根据系统采用的优化策略,可分为Keyframe-based和filter-based方法

 
  1. Strasdat H, Montiel J M M, Davison A J. Visual SLAM: why filter?[J]. Image and Vision Computing, 2012, 30(2): 65-77.  
  2. For all these scenarios, we conclude that keyframe bundle adjustment outperforms filtering, since it gives the most accuracy per unit of computing time.​

典型的单目slam系统

         https://github.com/yglee/FastSLAM

         ekf-slam-matlab

         EKF-SLAM TOOLBOX FOR MATLAB

  • SceneLib2: SLAM originally designed and implemented by Professor Andrew Davison at Imperial College London

     > MonoSLAM: Real-Time Single Camera SLAM (PDF format), Andrew J. Davison, Ian Reid, Nicholas Molton and Olivier Stasse, IEEE Trans. PAMI 2007.

          https://github.com/Oxford-PTAM/PTAM-GPL 

          https://ewokrampage.wordpress.com/ 

          https://github.com/tum-vision/tum_ardrone 

          PTAM类图.png

         > Georg Klein and David Murray, "Parallel Tracking and Mapping for Small AR Workspaces", Proc. ISMAR 2007

          A novel, direct monocular SLAM technique: Instead of using keypoints, it directly operates on image intensities both for tracking and mapping. The camera is tracked using direct image alignment, while geometry is estimated in the form of semi-dense depth maps, obtained by filtering over many pixelwise stereo comparisons. We then build a Sim(3) pose-graph of keyframes, which allows to build scale-drift corrected, large-scale maps including loop-closures. LSD-SLAM runs in real-time on a CPU, and even on a modern smartphone.

          > LSD-SLAM: Large-Scale Direct Monocular SLAM (J. Engel, T. Schöps, D. Cremers)In European Conference on Computer Vision (ECCV), 2014. [bib] [pdf] [video]

  • SVO: Fast Semi-Direct Monocular Visual Odometry (ICRA 2014)

          SVO类图.png

          > Paper: http://rpg.ifi.uzh.ch/docs/ICRA14_Forster.pdf

          http://webdiis.unizar.es/~raulmur/orbslam/ 

          论文翻译:http://qiqitek.com/blog/?p=13 

        ORB-SLAM是西班牙Zaragoza大学的Raul Mur-Artal编写的视觉SLAM系统。他的论文“ORB-SLAM: a versatile and accurate monocular SLAM system"发表在2015年的IEEE Trans. on Robotics上。开源代码包括前期的ORB-SLAM[1]和后期的ORB-SLAM2[2]。第一个版本主要用于单目SLAM,而第二个版本支持单目、双目和RGBD三种接口。

        ORB-SLAM是一个完整的SLAM系统,包括视觉里程计、跟踪、回环检测。它是一种完全基于稀疏特征点的单目SLAM系统,其核心是使用ORB(Orinted FAST and BRIEF)作为整个视觉SLAM中的核心特征。具体体现在两个方面:

  • 提取和跟踪的特征点使用ORB。ORB特征的提取过程非常快,适合用于实时性强的系统。
  • 回环检测使用词袋模型,其字典是一个大型的ORB字典。
  • 接口丰富,支持单目、双目、RGBD多种传感器输入,编译时ROS可选,使得其应用十分轻便。代价是为了支持各种接口,代码逻辑稍为复杂。
  • 在PC机以30ms/帧的速度进行实时计算,但在嵌入式平台上表现不佳

      它主要有三个线程组成:跟踪、Local Mapping(又称小图)、Loop Closing(又称大图)。跟踪线程相当于一个视觉里程计,流程如下:

  • 首先,对原始图像提取ORB特征并计算描述子。
  • 根据特征描述,在图像间进行特征匹配。
  • 根据匹配特征点估计相机运动。
  • 根据关键帧判别准则,判断当前帧是否为关键帧。

相比于多数视觉SLAM中利用帧间运动大小来取关键帧的做法,ORB_SLAM的关键帧判别准则较为复杂。

      > Raúl Mur-ArtalJ. M. M. Montiel and Juan D. TardósORB-SLAM: A Versatile and Accurate Monocular SLAM System.  IEEE Transactions on Robotics, vol. 31, no. 5, pp. 1147-1163, October 2015. [pdf]

      > Raúl Mur-Artal and Juan D. TardósProbabilistic Semi-Dense Mapping from Highly Accurate Feature-Based Monocular SLAM. Robotics: Science and Systems. Rome, Italy, July 2015. [pdf] [poster]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值