视觉SLAM综述(入门篇)

??最近几天刚刚接触到视觉SLAM这个研究方向,发现这个方向的知识点挺多挺杂的,于是就自己看文献,刷博客,大致对视觉SLAM有了整体的了解.
??这篇博客也算是一个简单的小综述,具体的知识点正在学习之中。
目录

  1. SLAM的研究背景与研究方法
  2. 视觉SLAM
  3. 前端里程计
  4. 后端优化
  5. 回环检测
  6. 构图
  7. 参考文献
SLAM的研究背景与研究方法
  • 研究背景
??SLAM全称为同步构图与定位,其基本问题可描述为:对于一个带有传感器的机器人,如何在未知环境下,利用传感器获取自身位置与周围环境的地图。
??随着未来机器人大规模应用,如何让机器人在各类复杂的环境下获取自身以及环境的信息是实现机器智能的基础,因此,SLAM技术是属于智能机器人的一种底层技术。
  • 研究方法
??目前,根据机器人所搭载的传感器不同,可以分为传统的SLAM技术与视觉SLAM(visual SLAM)技术。
??对于传统的SLAM技术,机器人搭载诸如激光传感器,声呐传感器,GPS传感器等各类非图像传感器。而视觉SLAM技术是指机器人在仅仅利用相机作为视觉传感器的前提下,实现自主定位与构图。
??基于目前图像处理与机器视觉的热潮,视觉SLAM也成为了一个研究热点。
视觉SLAM ??目前视觉SLAM技术的技术方案主要分为视觉里程计,后端优化,回环检测以及构图四部分构成。这四部分相互联系但又相对独立,每一部分都是较为独立的理论体系。
视觉SLAM综述(入门篇)
文章图片

??????图1 视觉SLAM方案流程
前端视觉里程计 【视觉SLAM综述(入门篇)】??顾名思义,前端视觉里程计的功能是类似“里程计”的功能,其核心功能是进行初步的构图与定位,是指对机器人相机采集到的图像进行初步处理,也是视觉SLAM技术的起点。
??根据对图像处理方式的不同,可以分为直接法与间接法两种。
直接法
??直接法是指对相机所采集的图像在像素层面上直接进行求解,根据选取像素量的多少,又可以分为以下三种方案:
  1. 稀疏直接法
  2. 半稠密直接法
  3. 稠密直接法
    ??从稀疏直接法到稠密直接法,其计算量依次增加,构图与定位的精度越高。
    ??因此,在实际的使用过程中,根据应用场合选择合理的求解方案。但始终不变的是,直接法是对采集的图像直接进行求解,不进行图像处理层面的操作。
间接法
??间接法一般称为特征点法。即对图像提取相应的特征点,然后对两帧图像进行特征匹配(找出两帧图像相同的特征),最后利用匹配好的特征进行位姿的求解。
??由此可见,特征点法的实施过程主要求解两大问题:特征匹配和位姿。而在直接法中,并不需要特征匹配这一工作。
??特征匹配主要是图像处理工作,目前的图像处理算法多种多样,而对于视觉SLAM技术里的图像处理算法,个人认为有以下几点要求:
  1. 能提取大部分场景下的图像特征
  2. 能匹配大量图像之间的特征
  3. 能够满足一定的实时性要求
??因为基于特征点法的视觉里程计的要解决的首要问题便是特征提取与匹配,因此,前两个要求是毋庸置疑的,而视觉SLAM技术的应用特点决定了算法有较高的实时性的要求。目前主要的算法有:FAST、SURF以及ORB算法。
??图像特征匹配算法只解决了视觉里程计的第一个问题,而最重要的问题是要利用匹配好的图像特征进行构图与定位。根据数据集和构图的维度不同,里程计进行位姿求解主要分为以下三种情形:
??????表1:间接法位姿求解方案
维度 解决方案
2D-2D 对极几何
3D-2D PnP
3D-3D ICP
后端优化 ??有前端就有后端,如果说前端里程计是进行“粗算”,那么后端的主要工作便是“细算”,因此,其核心的工作是对前端里程计的定位与构图进行优化。
??在实际的求解过程中,后端优化所用到的数据集要比里程计要多得多,这也是可以进行优化的核心,因为随着机器人的移动,环境的变化,时间的推移等等,前端里程计求解的误差会累积,从而导致最后构图与定位偏离实际太多。因此,后端优化的在视觉SLAM技术中必不可少。
??目前主流的后端优化有两种:
??扩展卡尔曼滤波(EKF)算法;
??基于光束法平差(BA)的图优化算法;
??在SLAM技术的早期,EKF算法应用较多,而近些年,图优化更受青睐。
回环检测 ??理论上,当机器人第二次到达同一个地点,根据采集的图像计算得到的位姿应该是同前面的计算结果一样的,对于同一个地点,视觉SLAM技术构建的位姿图应该是重合的。但在实际过程中,技术进行里程计与后端优化算法,位姿求解依旧有偏差,所以机器人在重复经过同一地点,位姿图会有微弱便宜现象,形成“重影”。
??回环检测技术便是要去掉“重影”。对于SLAM来说,通过对比当前帧与过去关键帧的相似度,如相似度超过某一阀值时就可以被认为是检测到回环。
??目前回环检测的主流方案是词袋模型。其基本思想是构建一本“词典”,把每帧图像的特征当作一个个“单词”,回环检测类似快速查词典的过程,当词典中存在与当前图像高度相似的“单词”时,便是检测到了回环。
构图 ??构图是对前期求解的所以数据进行后处理。根据机器人实际应用场合以及功能的不同,建立的整体图像的类型也不一样。如壁障机器人与导航机器人,它们所需要图像的特点便不一样。当只需要记住一点,构图只是基于前三部分的计算结果,在算法层面相对简单,在应用层面则显得尤为重要。
PS:视觉SLAM技术知识点多而杂,这篇算是这几天的学习总结吧,肯定有很多不清晰的地方。
参考文献
[1]: 视觉SLAM十四讲:从理论到实践,高翔、张涛
[2]:https://blog.csdn.net/vonzhoufz/article/details/46461849
[3]:https://blog.csdn.net/weixin_37239947/article/details/75271173?utm_medium
[4]:https://blog.csdn.net/wb790238030/article/details/90773401
[5]:https://blog.csdn.net/weixin_39568744/article/details/81367147

    推荐阅读