文章目录
视觉SLAM的组成结构
视觉里程计(VO)
-特征点法 -构建稀疏点云地图
特征点法提取图像中稀疏的特征点,通过描述子完成帧间匹配,然后根据特征点间 2D 到 2D、2D 到 3D 或是 3D 到 3D 的约束关系使用对极几何、PNP 或 ICP 等算法求解位姿。
Klein G, Murray D. Parallel Tracking and Mapping for Small AR Workspaces[C]// IEEE & Acm International Symposium on Mixed & Augmented Reality. 2008.
Klein 提出的 PTAM(Parallel Tracking and Mapping)创新性的实现了跟踪与建图过程的并行化,并首次有了前端与后端的概念:前端为跟踪线程,根据获取的图像数据实时估计位姿;后端引入了关键帧机制,实现对地图的非线性优化。但 PTAM 也 存在着应用场景小、特征易跟丢等缺陷。
Mur-Artal R , Montiel J M M , Tardos J D . ORB-SLAM: a Versatile and Accurate Monocular SLAM System[J]. IEEE Transactions on Robotics, 2015, 31(5):1147-1163.
Mur-Artal R , Tardos J D . ORB-SLAM2: An Open-Source SLAM System for Monocular, Stereo, and RGB-D Cameras[J]. IEEE Transactions on Robotics, 2017:1-8.
2015 年 Mur-Artal 等人提出的 ORB-SLAM,相较于 PTAM 的双线程,它采用了并行跟踪,局部建图,闭环检测三线程:
并行跟踪线程用于完成基于模型评分的地图初始化、特征匹配及位姿估计;
局部建图部分提出了一个宽进严出的关键帧筛选策略,并对构建的局部地图进行优化;
闭环检测使用词袋模型判断当前场景是否曾经出现过,并实现了对全局地图进行优化,对于要求全局一致性的应用场景有着优秀的效果。
目前在基于特征点法的 SLAM 系统中,ORB-SLAM 中被认为非常稳定与出色,后续的一些研究也以它为标准。
-直接法 -构建稠密或半稠密的地图 --需要使用 RGB-D 传感器
直接法引入了光流跟踪的思想,在光度不变假设的基础上,以最小化光度误差为优化目标, 对位姿变量进行求解。
Engel J, Schöps T, Cremers D. LSD-SLAM: Large-Scale Direct Monocular SLAM[J]. 2014.
Engel J, Koltun V, Cremers D. Direct Sparse Odometry.[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2018, 40(3):611-625.
Engle 等人于 2014 年提出 的 LSD-SLAM(Large Scale Direct Monocular SLAM),实现了一种 CPU 级别的单目半稠密地图重建,并且在单目深度估计上考虑到三角化的不确定性而采用了一种新颖的滤波形式 。
LSD-SLAM 对于相机的快速运动、曝光变换鲁棒性较低,2016 年 Engle 等人提出了另一个单目稀疏 直接法视觉里程计 DSO(Direct Sparse Odometry),针对直接法易受光照干扰的缺点,DSO 采 用光度标定模型,它在优化中会动态的估计光度参数,从而使得算法对曝光变换更加鲁棒。
Forster C , Pizzoli M , Scaramuzza D . SVO: Fast Semi-Direct Monocular Visual Odometry[C]// IEEE International Conference on Robotics & Automation. IEEE, 2014.
SVO(Semi-direct Visual Odometry)是由 Forster 等人于 2014 年提出的半直接法视觉里程计, 应用在携带俯视视角单目相机的无人机平台。因为它首先对图像提取角点,然后再对角点采用 直接法求位姿,所以称之为半直接法。SVO 在纹理丰富的平面场景中有着较好的定位精度,并且能达到极快的运行速度。
视觉里程计–总结:
特征点法适应于帧间的大运动,即只要帧间存在视野重叠就能通过特征描述子进行全局匹配。
直接法的本质是进行一个最优化,当帧间存在大运动或者光照变换、 图像模糊等情况,易陷入局部最优或是丢失对地图点的跟踪。
因此特征点法具有更好的鲁棒性, 然而特征点、描述子的提取会占据大量时间,在保证点个数、匹配效率的情况下就很难达到实时性,目前特征点法在保证实时性的情况下多使用 ORB 特征提取算法。
直接法能利用图像中的更多的信息,包括一些不能提取特征点的区域,在 GPU 下能够实现稠密重建,而稀疏直接法能在 CPU 上达到一个较优的实时性。
SLAM 后端研究
SLAM 问题的数学描述通常为运动方程与观测方程两部分,对于不同的传感器,不同应用场景,分别有着不同的参数化方程及状态量。本质上可将后端优化看作一个状态估计问题:如何根据带有噪声的观测求系统状态的最优估计,在实现方式上分为滤波器和非线性优化法。
滤波器法
滤波器法假设状态间具有马尔科夫性,即当前时刻状态仅于上一时刻状态有关。基于滤波器法的 SLAM 并没有明显的区分出后端的概念,其核心思想可通过贝叶斯滤波模型进行统一描述,即对状态量不断的进行迭代与更新。
如果运动和观测方程属于线性方程,且状态与噪声服从高斯分布, 即可得到卡尔曼滤波。 对于非线性的系统, Smith 等人通过扩展卡尔曼滤波器 (Extended Kalman Filter,EKF)解决该问题,对系统方程进行一阶线性近似。
对于视觉 SLAM, 地图点以及位姿量随着系统运行会越来越多,那么 EKF 需要维护和更新的均值与协方差规模随之也会越来越大,则会大量占用存储空间,因此不适用于大规模环境。同时,SLAM 的运动与观测通常具有严重的非线性,线性近似仅在小范围内成立,而较远处则会造成严重的非线性误差。
Sim R , Elinas P , Little J J . A Study of the Rao-Blackwellised Parti

本文详细介绍了视觉SLAM(Simultaneous Localization and Mapping)技术的基本原理与最新进展,包括视觉里程计的不同方法、SLAM后端优化技术、单目视觉里程计的初始化、运动估计流程等。此外还探讨了视觉与IMU融合的优势与挑战。
最低0.47元/天 解锁文章
17万+

被折叠的 条评论
为什么被折叠?



