SLAM - 01 - 分类

前言:

本文针对SLAM(Simultaneous Localization And Mapping,简称SLAM)的基本定义和分类进行了讨论。


1 SLAM的定义:

通常是指在机器人或者其他载体上,通过对各种传感器数据进行采集和计算,生成对其自身位置姿态的定位和场景地图信息的系统。SLAM技术对于机器人或其他智能体的行动和交互能力至为关键,因为它代表了这种能力的基础:知道自己在哪里,知道周围环境如何,进而知道下一步该如何自主行动。它在自动驾驶、服务型机器人、无人机、AR/VR等领域有着广泛的应用,可以说凡是拥有一定行动能力的智能体都拥有某种形式的SLAM系统

2 SLAM的分类一:

 一般来讲,SLAM系统通常都包含多种传感器和多种功能模块。而按照核心的功能模块来区分,目前常见的机器人SLAM系统一般具有两种形式:基于激光雷达的SLAM(激光SLAM)和基于视觉的SLAM(Visual SLAM或VSLAM)。

2.1 激光SLAM

激光SLAM脱胎于早期的基于测距的定位方法(如超声和红外单点测距)。激光雷达(Light Detection And Ranging)的出现和普及使得测量更快更准,信息更丰富。激光雷达采集到的物体信息呈现出一系列分散的、具有准确角度和距离信息的点,被称为点云。通常,激光SLAM系统通过对不同时刻两片点云的匹配与比对,计算激光雷达相对运动的距离和姿态的改变,也就完成了对机器人自身的定位。但激光雷达能更高精度的测出障碍点的角度和距离,方便定位导航。

SLAM - 01 - 分类

激光雷达距离测量比较准确,误差模型简单,在强光直射以外的环境中运行稳定,点云的处理也比较容易。同时,点云信息本身包含直接的几何关系,使得机器人的路径规划和导航变得直观。激光SLAM理论研究也相对成熟,落地产品更丰富。

SLAM - 01 - 分类

激光雷达有单线多线之分,角分辨率及精度也各有千秋。SICK、velodyne、Hokuyo以及国内的北醒光学、Slamtech是比较有名的激光雷达厂商。他们可以作为SLAM的一种输入形式。

SLAM - 01 - 分类

上面这个小视频里展示的就是一种简单的2D SLAM。

 

SLAM - 01 - 分类

上面这个小视频是宾大的教授kumar做的特别有名的一个demo,是在无人机上利用二维激光雷达做的SLAM。

 

 


sample google Cartographer,

SLAM - 01 - 分类

SLAM - 01 - 分类

激光的又分为2D和3D的, 

 SLAM - 01 - 分类

SLAM - 01 - 分类

SLAM - 01 - 分类

 


2.2  VSLAM

VSLAM 主要是通过摄像头来采集数据信息,跟激光雷达一对比,摄像头的成本显然要低很多。而则主要用摄像头来实现,摄像头品种繁多,主要分为单目、双目、单目结构光、双目结构光、ToF几大类。他们的核心都是获取RGB和depth map(深度信息)。简单的单目和双目(Zed、leapmotion)

SLAM - 01 - 分类
 

2.2.1 基于 RGBD 的深度摄像机

基于深度摄像机的 Vslam,跟激光 SLAM 类似,通过收集到的点云数据,能直接计算障碍物距离;

结构光原理包括DOE和MEMS两种,其中,DOE的分辨率比较低,而MEMS的点云数量比较大.

SLAM - 01 - 分类

2.2.2 单目、双目或者鱼眼摄像头

基于单目、鱼眼相机的 VSLAM 方案,利用多帧图像来估计自身的位姿变化,再通过累计位姿变化来计算距离物体的距离,并进行定位与地图构建; 

 


点云数量出来后,依据点云的具体格式和密度,视觉SLAM(也分Sparse、semiDense、Dense)两类,但其主要思路大同小异。

 SLAM - 01 - 分类

 Sparse(稀疏)的

SLAM - 01 - 分类

偏Dense(密集)的


小结: 

SLAM - 01 - 分类


3 SLAM的分类二 - 获取图片区域的方法:

从获取图片那个区域使用的方面讲,SLAM系统可以被分为稀疏和稠密. 

3.1 稀疏/稠密方法

稀疏的SLAM系统仅仅使用一帧图片的选中的一小部分像素, 然而稠密SLAM系统则使用大部分或者全部像素. 由于使用不同的总量的像素和区域,产生的地图也不尽相同.由稀疏方法产生地图通常使用点云, 这是一种比较粗糙的编码方式,主要用于跟踪摄像头的位姿.另一方面,稠密的方法,更加给力的硬件通常时需要的,大部分稠密的SLAM系统都需要GPU.

SLAM - 01 - 分类

稀疏,用于姿态的表现 

SLAM - 01 - 分类

半稀疏,用于自动驾驶比较多

SLAM - 01 - 分类

稠密,用于反向工程


4 SLAM的分类三 - 算法:

根据SLAM系统使用图像信息的方式(算法的实现方法)可以分为直接/非直接.

4.1 非直接方式

非直接的方式通常先提出特征,然后利用这些特征定位摄像头和地图构建. 这些特征可以是简单的几何特征比如角和边,更加复杂的特征描述方法比如:SIFT,SURF,ORB,FAST等等. 

4.2 直接的方式

直接的方法试着恢复环境深度和结构信息,摄像头的位姿通过优化地图和摄像头信息参数共同得到. 由于特征提取会花费大量的时间,当维持与间接方法同样的帧率,直接方法潜在的好处在于可以有更多的时间进行其他计算.另一方面,间接方法基于特征可以提供更好的容错能力当光照条件改变时, 因为间接方法不直接使用像素强度.


结合上述两种分类的方法: 

 

结合上述两种分类的方法, 又分为两种概率的框架:

一、概率方法

      采用概率框架的方法的思路大致为:假设从初始时刻到当前 时刻的观测数据和控制输入已知,那么就可以联合后验概率来构建一个后验概率密度函数,这个函数用来描述相机姿态 和 地图中的特征的空间位置,进而通过递归的贝叶斯滤波算法 来对构建的概率密度函数进行估计,从而完成SLAM问题的解决。

      在基于KF的方法中,假设满足高斯分布并且系统的非线性较小时可以得到不错的效果,另外从后验概率的不同可以分为EKF-SLAM方法、扩展信息滤波(EIF)方法、UKF-SLAM方法、SEIF方法等,例如,Davison等提出的单目视觉SLAM系统(MonoSLAM)和Roussillon[提出的实时单目视觉SLAM系统(RTSLAM)就是建立在扩展卡尔曼滤波(EKF)的基础上的。

     再基于PF的方法中,主要有Doucet[7]提出的基于Rao-Blackwellized粒子滤波器(RBPF)的方法 和在此基础上Montemerlo[8]提出的 FastSLAM方法等,其中FastSLAM方法可以用于非线性的系统。

      优点: 基于概率框架的方法的计算框架类似,其中基于EKF的单目视觉,一般可以分为运动模型和观测模型并在一阶HMM 的假设下可以实现系统状态的预测和观测更新。地图也可以在线更新。

      缺点:但是这种方法多采用增量式的地图创建方法,复杂度是n^2的。另外故在系统不稳定和观测的不确定性的影响下造成误差的累积,在大规模场景时会导致最终地图的不一致性,难于保持准确度和鲁棒性。

二、非概率方法

   在非概率框架的方法中,Klein等在基于关键帧的基础上提出的PTAM系统(Parallel Tracking andMapping),该系统会在后文给出详细的分析和优化措施。基于图优化的SLAM方法[9]在采取了全局优化的基础上,在大规模场景下可以取得好的效果。在国外,基于图优化的方法大都被划分为前端和后端的问题,

得到算法和分相相关因子的相关图。

SLAM - 01 - 分类


参考:

1 激光SLAM与视觉SLAM的现状与趋势

https://yq.aliyun.com/articles/236369

2 激光 SLAM与VSLAM,最稳定、最主流的定位导航方法谁主沉浮?

https://www.eefocus.com/sensor/390426

https://www.eefocus.com/sensor/436867

3 Google 

https://google-cartographer.readthedocs.io/en/latest/

4 SLAM的前世今生 终于有人说清楚了 | 硬创公开课

https://www.leiphone.com/news/201605/5etiwlnkWnx7x0zb.html

5 不同类型的视觉SLAM系统

https://blog.****.net/yangziluomu/article/details/61912557


论文连接:

相关论文和演示视频

DSO: Koltun, V. and Cremers, D., 2016. Direct sparse odometry. arXiv preprint arXiv:1607.02565. 
https://www.youtube.com/watch?v=C6-xwSOOdqQ

DTAM: Newcombe, R.A., Lovegrove, S.J. and Davison, A.J., 2011, November. DTAM: Dense tracking and mapping in real-time. In Computer Vision (ICCV), 2011 IEEE International Conference on (pp. 2320-2327). IEEE. 
https://www.youtube.com/watch?v=Df9WhgibCQA

LSD-SLAM: Engel, J., Schöps, T. and Cremers, D., 2014, September. LSD-SLAM: Large-scale direct monocular SLAM. In European Conference on Computer Vision pp. 834-849). Springer International Publishing. 
https://www.youtube.com/watch?v=GnuQzP3gty4&t=1s

MonoSLAM: Davison, A.J., Reid, I.D., Molton, N.D. and Stasse, O., 2007. MonoSLAM: Real-time single camera SLAM. IEEE transactions onpattern analysis and machine intelligence, 29(6) 
https://www.youtube.com/watch?v=mimAWVm-0qA

ORB-SLAM: Mur-Artal, R., Montiel, J.M.M. and Tardos, J.D., 2015. ORB-SLAM: a versatile and accurate monocular SLAM system. IEEE Transactions on Robotics 31(5), pp.1147-1163. 
https://www.youtube.com/watch?v=_9VcvGybsDA

PTAM: Klein, G. and Murray, D., 2007, November. Parallel tracking and mapping for small AR workspaces. In Mixed and Augmented Reality, 2007. ISMAR 2007. 6th IEEE and ACM International Symposium on (pp. 225-234). IEEE. 
https://www.youtube.com/watch?v=F3s3M0mokNc

SVO: Forster, C., Pizzoli, M. and Scaramuzza, D., 2014, May. SVO: Fast semi-direct monocular visual odometry. In Robotics and Automation (ICRA), 2014 IEEE International Conference on (pp. 15-22).IEEE. 
https://www.youtube.com/watch?v=2YnIMfw6bJY&t=2s

Monday, 13. March 2017 08:52AM 
原文地址Different Types of Visual SLAM Systems