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理论研究也相对成熟,落地产品更丰富。
激光雷达有单线多线之分,角分辨率及精度也各有千秋。SICK、velodyne、Hokuyo以及国内的北醒光学、Slamtech是比较有名的激光雷达厂商。他们可以作为SLAM的一种输入形式。
上面这个小视频里展示的就是一种简单的2D SLAM。
上面这个小视频是宾大的教授kumar做的特别有名的一个demo,是在无人机上利用二维激光雷达做的SLAM。
sample google Cartographer,
激光的又分为2D和3D的,
2.2 VSLAM
VSLAM 主要是通过摄像头来采集数据信息,跟激光雷达一对比,摄像头的成本显然要低很多。而则主要用摄像头来实现,摄像头品种繁多,主要分为单目、双目、单目结构光、双目结构光、ToF几大类。他们的核心都是获取RGB和depth map(深度信息)。简单的单目和双目(Zed、leapmotion)
2.2.1 基于 RGBD 的深度摄像机
基于深度摄像机的 Vslam,跟激光 SLAM 类似,通过收集到的点云数据,能直接计算障碍物距离;
结构光原理包括DOE和MEMS两种,其中,DOE的分辨率比较低,而MEMS的点云数量比较大.
2.2.2 单目、双目或者鱼眼摄像头
基于单目、鱼眼相机的 VSLAM 方案,利用多帧图像来估计自身的位姿变化,再通过累计位姿变化来计算距离物体的距离,并进行定位与地图构建;
点云数量出来后,依据点云的具体格式和密度,视觉SLAM(也分Sparse、semiDense、Dense)两类,但其主要思路大同小异。
Sparse(稀疏)的
偏Dense(密集)的
小结:
3 SLAM的分类二 - 获取图片区域的方法:
从获取图片那个区域使用的方面讲,SLAM系统可以被分为稀疏和稠密.
3.1 稀疏/稠密方法
稀疏的SLAM系统仅仅使用一帧图片的选中的一小部分像素, 然而稠密SLAM系统则使用大部分或者全部像素. 由于使用不同的总量的像素和区域,产生的地图也不尽相同.由稀疏方法产生地图通常使用点云, 这是一种比较粗糙的编码方式,主要用于跟踪摄像头的位姿.另一方面,稠密的方法,更加给力的硬件通常时需要的,大部分稠密的SLAM系统都需要GPU.
稀疏,用于姿态的表现
半稀疏,用于自动驾驶比较多
稠密,用于反向工程
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]在采取了全局优化的基础上,在大规模场景下可以取得好的效果。在国外,基于图优化的方法大都被划分为前端和后端的问题,
得到算法和分相相关因子的相关图。
参考:
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