健身知识
fitness knowledge
你的当前位置:
视觉SLAM框架解读
来源: | 作者:新光科技 | 发布时间: 2022-05-31 | 1498 次浏览 | 分享到:

视觉SLAM技术是AGV智能搬运机器人的核心技术之一,一般的视觉SLAM系统分为五个模块:传感器数据、视觉里程计、后端、建图、回环检测。

1.传感器数据

在视觉SLAM中主要为相机图像信息的读取和预处理。如果在机器人中,还可能有码盘,惯性传感器等信息的读取和同步。

2.视觉里程计

视觉里程计(VO)也称前端。它根据相邻图像的信息,估计出粗略的相机运动,给后端提供较好的初始值。VO 的实现方法,按是否需要提取特征,分为特征点法的前端以及不提特征的直接法前端。基于特征点法的前端,长久以来(直到现在)被认为是视觉里程计的主流方法。它运行稳定,对光照、动态物体不敏感,是目前比较成熟的解决方案。

前端视觉里程计的功能是类似“里程计”的功能,其核心功能是进行初步的构图与定位,是指对机器人相机采集到的图像进行初步处理,也是视觉SLAM技术的起点。根据对图像处理方式的不同,可以分为直接法与间接法两种。

直接法

直接法是指对相机所采集的图像在像素层面上直接进行求解,根据选取像素量的多少,又可以分为以下三种方案:

稀疏直接法

半稠密直接法

稠密直接法

从稀疏直接法到稠密直接法,其计算量依次增加,构图与定位的精度越高。

因此,在实际的使用过程中,根据应用场合选择合理的求解方案。但始终不变的是,直接法是对采集的图像直接进行求解,不进行图像处理层面的操作。

间接法

间接法一般称为特征点法。即对图像提取相应的特征点,然后对两帧图像进行特征匹配(找出两帧图像相同的特征),最后利用匹配好的特征进行位姿的求解。

由此可见,特征点法的实施过程主要求解两大问题:特征匹配和位姿。而在直接法中,并不需要特征匹配这一工作。

特征匹配主要是图像处理工作,目前的图像处理算法多种多样,而对于视觉SLAM技术里的图像处理算法,个人认为有以下几点要求:

能提取大部分场景下的图像特征

能匹配大量图像之间的特征

能够满足一定的实时性要求

因为基于特征点法的视觉里程计的要解决的首要问题便是特征提取与匹配,因此,前两个要求是毋庸置疑的,而视觉SLAM技术的应用特点决定了算法有较高的实时性的要求。目前主要的算法有:FAST、SURF以及ORB算法。

图像特征匹配算法只解决了视觉里程计的第一个问题,而最重要的问题是要利用匹配好的图像特征进行构图与定位。

3.后端优化

有前端就有后端,如果说前端里程计是进行“粗算”,那么后端的主要工作便是“细算”,因此,其核心的工作是对前端里程计的定位与构图进行优化。

在实际的求解过程中,后端优化所用到的数据集要比里程计要多得多,这也是可以进行优化的核心,因为随着机器人的移动,环境的变化,时间的推移等等,前端里程计求解的误差会累积,从而导致最后构图与定位偏离实际太多。因此,后端优化在视觉SLAM技术中必不可少。

目前主流的后端优化有两种:

  扩展卡尔曼滤波(EKF)算法;

  基于光束法平差(BA)的图优化算法;

SLAM技术的早期,EKF算法应用较多,而近些年,图优化更受青睐。

后端优化主要是处理SLAM过程中噪声的问题。任何传感器都有噪声,所以除了要处理“如何从图像中估计出相机运动”,还要关心这个估计带有多大的噪声。

前端给后端提供待优化的数据,以及这些数据的初始值,而后端负责整体的优化过程,它往往面对的只有数据,不必关这些数据来自哪里。在视觉SLAM中,前端和计算接视觉研究领域更为相关,比如图像的特征提取与匹配等,后端则主要是滤波和非线性优化算法。

4.回环检测

理论上,当机器人第二次到达同一个地点,根据采集的图像计算得到的位姿应该是同前面的计算结果一样的,对于同一个地点,视觉SLAM技术构建的位姿图应该是重合的。但在实际过程中,技术进行里程计与后端优化算法,位姿求解依旧有偏差,所以机器人在重复经过同一地点,位姿图会有微弱便宜现象,形成“重影”。

回环检测技术便是要去掉“重影”。对于SLAM来说,通过对比当前帧与过去关键帧的相似度,如相似度超过某一阀值时就可以被认为是检测到回环。

目前回环检测的主流方案是词袋模型。其基本思想是构建一本“词典”,把每帧图像的特征当作一个个“单词”,回环检测类似快速查词典的过程,当词典中存在与当前图像高度相似的“单词”时,便是检测到了回环。

回环检测也可以称为闭环检测,是指机器人识别曾到达场景的能力。回环检测提供了当前数据与所有历史数据的关联,在跟踪算法丢失之后,我们还可以利用回环检测进行重定位。因此,回环检测对整个SLAM系统精度的提升,是非常明显的。

5.建图

建图主要是根据估计的轨迹建立与任务要求对应的地图,在机器人学中,地图的表示主要有栅格地图、直接表征法、拓扑地图以及特征点地图这4种。而特征点地图是用有关的几何特征(如点、直线、面)表示环境,常见于视觉SLAM技术中。

图是对前期求解的所以数据进行后处理。根据机器人实际应用场合以及功能的不同,建立的整体图像的类型也不一样。如壁障机器人与导航机器人,它们所需要图像的特点便不一样。当只需要记住一点,图只是基于前三部分的计算结果,在算法层面相对简单,在应用层面则显得尤为重要。

热线电话
400-0000-000