1. 概述与预备知识
声明:本文是深蓝学院 高翔博士主讲的《SLAM理论与实践》的学习笔记。
大致是什么
SLAM:Simultaneous Localization and Mapping
同时定位与地图构建
- 定位:室内、室外
- 建图:稀疏、半稠密、稠密
主要应用方向
- 手持设备定位
- 机器人定位
- 自动驾驶定位
- AR(增强现实)
参考资料
SLAM概述
自主运动的两大基本问题:
- 我在哪? (定位)
- 周围环境如何? (建图)
定位与建图=内外兼修 定位侧重对自身的了解,建图侧重对外在的了解,相互关联(鸡生蛋?蛋生鸡?)准确的定位需要精确的地图,精确的地图来自准确的定位
视觉SLAM框架
自动驾驶(机器人)主要分为:传感、感知,规划与决策 这几个模块。视觉SLAM只包含集中 部分技术点。它的框架如下:
- 前端:Visual Odometry
- 后端:Optimization
- 回环检测:Loop Closing
- 建图:Mapping
前端
传感
传感器是机器人感知外界环境的手段,分为内质和外质两种。
内质:感受机器人本体信息,如 相机 IMU 激光, 更加自由
外质:安装与环境中的设备,如GPS 、导轨、二维码Marker, 环境限制了传感器的形式(GPS需要能接受卫星信号,Marker 导轨等需要环境允许安装)
视觉SLAM主要采用内质的相机作为传感器,相机的特点是以二维投影形式记录了三维世界的信息,过程丢掉了一个距离 维度。主要包括:
- 单目相机 Monocular: 无深度,深度需要其它手段估计
- 双目相机(立体相机) Stereo:通过视差计算深度
- 深度相机 RGB-D:通过物理方法测量深度
- 其他 全景、Event Camera:
当相机运动时,可通过视差确定深度。深度即第三维信息,对SLAM来说至关重要
视觉里程计
视觉里程计用于估计邻近时刻的相机运动(注意是估计两帧图片之间相机的相对运动,并不是真的为了计算里程)。最简化:两个图像的相对运动。
方法包括:
- 特征点法
- 直接法
后端
负责从带有噪声的数据中估计最优轨迹 与 地图。
- 滤波器法:可由最大后验概率推导出来
- 图优化法:
回环检测
检测相机是否到达过之前位置(判断与之前位置的差异:计算图像相似性,如词袋模型)
建图
- 目的:导航、规划、通讯、交互、可视化
- 种类:度量地图、拓扑地图、稀疏地图、稠密地图