SLAM方面经典综述
前言:
近期稍有时间,简单过了一遍2016年之前的SLAM方面的经典综述,第一次阅读外文文献,困难颇多,现打算精度一遍,做好相应笔记、总结。
本次整理共计四篇综述如下:
- Simultaneous localization and mapping(SLAM)-Part I The Essential Algorithms
- 2006_Simultaneous Localization and Mapping (SLAM)-Part II State of the Art
- 基于单目视觉的同时定位与地图构建方法综述
- Past, Present, and Future of Simultaneous Localization and Mapping- Toward the Robust-Perception Age
阅读顺序也是如上顺序,但鉴于当前SLAM方面的后端优化主要采用图优化的方式,故本次先总结2016年发表的两篇,后面在对2006年滤波方法两篇做总结
(推导太多看不懂)
基于单目视觉的同时定位与地图构建方法综述
一、写作目的
室内导航定位的需求以及计算机视觉方面的变革促进出SLAM(simultaneous localization and mapping)的进一步发展,尤其是低成本的视觉SLAM(V-SLAM)方面更是如此,但在2016年前的综述文献均偏向基于滤波的SLAM技术,不能反映如今SLAM技术发展潮流,故针对单目V-SLAM方法进行介绍,同时对V-SLAM最新的研究热点和发展趋势进行总结和展望。
二、V-SLAM基本原理
通过多视图几何原理将三维空间中的三维点变换至相机运动的运动局部坐标系中,通过变换后的投影点与图像点进行最优匹配(最小二乘)来得到最优的空间三维点和相机运动。
求解最优目标方程的过程也称为集束调整(BA),对其求解通常可利用其系数结构进行高效求解。(注:该部分可参考《机器人感知-因子图在SLAM中的应用》一书,后面再做这本书的学习总结)
由于单一视觉对于运动的局限性,所以引入了IMU来准确反馈相机的运动,成为了一种新的SLAM——VI-SLAM。
VI-SLAM在V-SLAM的基础上,引入了一个新的运动方程,使得待优化的目标函数从原来的:
引入运动方程后变为:
同理,若融合GPS数据,则再引入一项,且均假设数据观测符合高斯分布。
三、代表性单目V-SLAM系统
3.1基于滤波器的V-SLAM
3.1.1 MonoSLAM
单目视觉SLAM,基于卡尔曼滤波优化模型,概率预测时体现为椭圆球的概率范围,采取每帧图片中的Shi-Tomasi角点为特征点进行匹配。
缺点:受限于EKF的局限性:
- 如果预测函数和更新函数为非线性(通常 V-SLAM 问题都是非线性的),那么 EKF 并不能保证全局最优,与 Levenberg-Marquardt[20]等迭代的非线性优化技术相比,更容易造成误差累积。
- 若将三维点引入状态变量,则每一时刻的计算复杂度为$O(n^3)$,因此只能处理几百个点的小场景。
3.1.2 MSCKF
缓解了EKF方法的计算复杂度问题的一种VI-SLAM
- 更新阶段改进为包含临近 $l$ 帧的状态集合进行优化;
- 对所有三维点进行消元使原来的二元约束转化为多元约束,计算复杂度降低至$O(nl^3)$
3.2基于关键帧BA的V-SLAM
3.2.1 PTAM
基本思想: 将相机跟踪(Tracking)和地图构建(Mapping)作为 2 个独立的任务在 2 个线程并行执行。地图构建线程仅维护原视频流中稀疏抽取的关键帧(如图 a 所示)及关键帧中可见的三维点(如图 b 所示),这样就可以非常高效地求解目标函数(即 BA);有了 BA 恢复的精确三维结构,相机跟踪线程作为前台线程,仅需优化当前帧运动参数 $C_i$, 足以达到实时的计算效率。
追踪FAST角点作为主要特征点。
3.2.2 ORB-SLAM
在PTAM基础上改进的目前性能最好的单目V-SLAM系统之一:
- 采用ORB特征;
- 加入循环回路和闭合机制;
- 可自动选择初始化的2帧图片;
- 先宽松判断条件使系统尽可能多的加入新的关键帧及三维点,保证后续帧的鲁棒跟踪,再用严格的判断条件删除冗余的关键帧和不稳定的三维点。
(注:ORB-SLAM相关内容后续根据ORB-SLAM2框架进行总结)
3.3 基于直接跟踪的V-SLAM
3.3.1 DTAM
其最显著的特点是能实时恢复场景三维模型。 基于三维模型,DTAM 既能允许 AR应用中的虚拟物体与场景发生物理碰撞,又能保证在特征缺失、图像模糊等情况下稳定地直接跟踪。
3.3.2 LSD-SLAM
仅恢复半稠密的深度图,且每个像素的深度能够独立计算,从而提高了计算效率。采用关键帧表达场景,方位图优化进行闭合循环和大尺度场景的应用。
3.4 比较与分析
性能指标:
- 定位精度
- 定位效率
- 场景尺度
- 特征缺失鲁棒性
- 重定位能力
- 快速运动鲁棒性
- 扩展效率
- 近似纯旋转扩展鲁棒性
- 场景变化鲁棒性
- 回路闭合能力
具体分析由各部分系统的特性决定,各个系统的优缺点也依赖于系统的实现。
四、研究热点与发展趋势
4.1缓解特征依赖
V-SLAM的局限就在于依赖场景特征,如何减少对场景特征依赖的同时,提高对特征信息的高效利用是一个重要的提高V-SLAM系统性能的方向。
现有方法包括物体边缘、平面颜色等方面的应用。
4.2 稠密三维重建
得益于深度相机的出现,三维建模开始进入发展阶段,同时AR方面更是基于三维建模的基础上去开展的。
如何处理有限的算力去完成三维建模这样大规模的数据处理是研究的重点,同时三维建模也逐渐引入深度学习方面的技术进行融合。
4.3 多传感器融合
这个不必多说,VI-SLAM便是典型代表,如何使用多传感器去融合得到的场景信息,提高建图效率、精度是当前研究的热点方向。
4.4 实际发展问题
用户的不专业操作、实际场景的复杂情况都是当前SLAM研究需要解决的方向问题。
五、总结
本文是建立在自己对SLAM整体框架大致了解的基础上去学习的,所有整体看下来没有太多阻塞的地方。其中最收获最多的地方应该是直接跟踪建图部分的SLAM系统的介绍,这也是当前稠密建图的基础。第三部分的性能比较,也让我了解到各个系统之间的优劣所在,知道应该以什么方向、什么指标去评定一个SLAM系统。
本文总结于22年,距离文章发表的16年已有6年之多,其中感触最深刻的应该还是三维建模的方面的应用,融入了深度学习的三维建模已逐渐在无人驾驶、AR、XR等领域展露拳脚,同时ORB-SLAM3的开源,更是“灭霸”般的存在。下个时代的代表综述只会更加精彩。