NOTE / 2018/8/22
[十四讲-1]1-2章总结
最近在看《视觉SLAM十四讲》,在此对一些关键点进行总结和记录。
第一章:预备知识
- SLAM - Simultaneous Localization and Mapping,中文翻译“同时/同步定位与地图构建”。
- 主要解决的问题是当设备(机器人、手机…)进入一个陌生的环境中时:1. 感知自身的位置(定位Localization);2. 感知周围的环境(地图构建mapping)。
- 这个问题的特殊性在于:要求实时的进行;没有环境的先验知识(有些也要求有);定位和地图构建是同步的,两者相辅相成。
- 所用的传感器多种多样:相机、Lidar、IMU、编码器、超声波…,其实SLAM应该是一个特殊化的状态估计问题,或者是多传感器融合问题。
课后题中有一个如何求解 的问题,这个是经常遇到的一个问题。不同的参数状态有不同的求法,如SVD分解、QR分解,而在 BA 优化中,还会用到舒尔补来加速求解。这个问题以后会单独拿出来分析。
第二章:初识SLAM
SLAM要解决的问题定位+环境建模。
SLAM相对于在环境中布置外部标志、外部传感器的方式,更加通用、灵活,不需要改造环境,这也是最近AR领域的定位问题都在试图用SLAM技术解决,如苹果的ARkit、Google的AR core和百度的DuMix。
视觉传感器:单目、双目、多目、深度、Event-Base、IR…
- 单目相机缺少一个尺度;
- 双目相机能够提供尺度信息,但是精度与基线距离、物体远近有关;计算量大,匹配困难;
- RGBD相机,可以提供一定距离的深度信息,但是一般只能用在室内;
经典的视觉SLAM框架

- 前端:对传感器数据进行抽象;估计连续两帧图像之间的位姿-视觉里程计;构造后端优化用的Graph;由于视觉里程计只估计帧间运动,因此会产生累计误差,这个问题会利用后端的优化和闭环检测来解决。
- 后端:根据里程计和回环信息,进行全局优化,得到全局一直的地图和位姿;后端求解一个最大后验概率估计问题,主要采用滤波和非线性优化的方法。
- 回环检测:检测是否发生回环,提供回环约束;
- 建图:根据估计的轨迹,建立环境模型,具体建立什么样的地图由任务驱动;可分为 度量地图、拓扑地图、语义地图、混合地图……
经典SLAM的假设 :1. 环境是静态的;2. 环境是一个刚体;3.光照变化不明显;4没有人为干扰。
通用数学表达
不同的传感器,不同的设备有不同的参数化形式。