视觉SLAM的技术资料总结

电子说

1.3w人已加入

描述

SLAM是Simultaneous Localization and Mapping的缩写,意为“同时定位与建图”。它是指运动物体根据传感器的信息,一边计算自身位置,一边构建环境地图的过程。目前,SLAM的应用领域主要有机器人、虚拟现实和增强现实。其用途包括传感器自身的定位,以及后续的路径规划、场景理解。

1、SLAM(同步定位与建图)

随着传感器种类和安装方式的不同,SLAM的实现方式和难度会有很大差异。按传感器来分,SLAM主要分为激光、视觉两大类。其中,激光SLAM研究较早,理论和工程均比较成熟。视觉方案目前大部分实验室研究阶段,实际产品应用很少。SLAM研究自1988年提出以来,已经过了近三十年。早期SLAM研究侧重于使用滤波器理论,最小化运动体位姿和地图的路标点的噪声。21世纪之后,学者们开始借鉴SfM(Structure from Motion)中的方式,以优化理论为基础求解SLAM问题。这种方式取得了一定的成就,并且在视觉SLAM领域中取得了主导地位。

激光传感器:激光传感器可以直接获得相对于环境的直接距离信息,从而实现直接相对定位,对于激光传感器的绝对定位及轨迹优化可以在相对定位的基础上进行。

视觉传感器:视觉传感器很难直接获得相对于环境的直接距离信息,而必须通过两帧或多帧图像来估计自身的位姿变化,再通过累积位姿变化计算当前位置。这种方法更类似于直接用里程计进行定位,即视觉里程计(Visual Odometry)。里程计的测量积分后才相当于激光传感器直接获得的定位信息,这就是图优化SLAM框架中的前端。而后端对定位和位姿轨迹的优化本质上与激光传感器的优化相同,都基于最优估计的理论框架进行。

2、视觉SLAM发展

视觉定位

机器人运动过程中构建环境模型和地标,打造室内“视觉GPS”系统

地图构建

通过多传感器融合技术实时构建高精度,可持久使用的室内地图

语义地图

使用深度神经网络对地图信息进行分割理解,形成具有丰富语义信息的室内地图

应用场景

AR、机器人、无人机、无人驾驶等领域, 就像移动互联网时代的手机定位一样。

有理解力的SLAM:语义SLAM,精准感知并适应环境。将语义分析与SLAM有效融合,增强机器对环境中相互作用的理解能力,为机器人赋予了复杂环境感知力和动态场景适应力。

有广度的SLAM:100万平米强大建图能力。借助高效的环境识别、智能分析技术,室内外全场景范围高达100万平米的地图构建能力。

有精度的SLAM:高精度定位领先算法。可在任何地点进行开机识别、全局定位,精准度高达±2cm。

有时效的SLAM:动态地图实时更新。根据传感器回传数据,与原有地图进行分析比对,完成动态实时更新,实现life-long SLAM。

视觉SLAM系统分为五个模块:传感器数据、视觉里程计、后端、建图、回环检测。

传感器

传感器

3、视觉SLAM未来趋势

导航定位与建图

视觉SLAM

SLAM快速识别地图坐标, 实现设备、特定目标长时间、高精度定位

高精度SLAM

基于视觉+惯性传感器的高精度SLAM算法,媲美激光雷达的定位精度

实时稠密地图构建

通过摄像头获取场景中的稠密点云信息,建立场景的栅格占用地图

路径规划

基于实时构建的场景地图,让机器感知现实场景,实现自主最优路径规划

导航避障

通过摄像头获取场景中的稠密点云信息,建立场景的栅格占用地图,基于智能避障算法,满足机器人精准避障的需求

高精度语义地图

深度学习图像语义

轻量化模型精准识别百余类物体

稠密地图语义分割及匹配

将稠密地图按照物体的语义信息进行分割及匹配,帮助机器理解图像内容,以实现通行区域感知及避障

语义SLAM

SLAM结合深度学习,实现精准的场景环境语义分析,提升SLAM系统精度

物体识别及环境语义

基于轻量化深度学习模型的物体识别,并结合场景地图提供环境语义

多传感器融合及标定

多传感器融合

视觉、惯性、里程计、GNSS等多传感器融合,满足不同场景信息需求,优势互补,提高系统精度

传感器误差建模

分析传感器误差源,对传感器进行高精度误差建模

快速、低成本传感器标定

大幅降低传感器标定成本,实现快速高精度传感器标定

高性能低成本硬件

消费级传感器及低成本计算单元即可满足高精度前端解算

4、SLAM与视觉里程计(Visual Odometry)

人们有时候会混淆SLAM和视觉里程计的概念。应该说,视觉里程计是SLAM的一个模块,其目的在于增量式地估计相机运动。然而,完整的SLAM还包括添加回环检测和全局优化,以获得精确的、全局一致的地图。

视觉里程计通常作为SLAM系统的前端。它增量式的计算方法能估计邻近帧间的相机运动,但这也意味着邻近帧间的误差会影响之后的轨迹估计,意味着它会随着时间推移,产生漂移。同时,视觉里程计也不含有建图模块。一个完整的SLAM系统会关心相机轨迹和地图的全局一致性,但这也意味着需要更多的计算资源来计算全局的优化。在资源有限、不关心全局路径的场合(如无人机的着陆、短时间控制中),可以考虑只使用视觉里程计,而不必使用完整的SLAM。

5、SLAM和SFM

视觉SLAM中大量使用了SFM中的方法,如特征点跟踪、捆集优化(Bundle Adjustment)等,以至于许多研究者把它们视为同一个研究领域。然而,尽管方法上很相似,SLAM和SFM的侧重点是不同的。SLAM的应用场合主要在机器人和VR/AR,计算资源有限,需要很强的实时性,故侧重点在于,如何在有限的资源里快速地对相机进行定位。而SFM方法通常是离线的,可以调用大量计算资源进行长时间的计算,侧重于重建出更精确、美观的场景。

6、开源SLAM方案

视觉传感器

稀疏法(特征点):

ORB-SLAM(单目,双目,RGBD)

Stereo DSO

ProSLAM

PTAM(单目)

MonoSLAM(单目)

半稠密法:

LSD-SLAM(单目,双目,RGBD)

DSO(单目)

SVO(单目, 仅VO)

稠密法:

DTAM(RGBD)

Elastic Fusion(RGBD)

BundleFusion

Kintinous(RGBD)

DVO

RGBD-SLAM-V2

RTAB-MAP

MLM:(单目)

激光传感器

HectorSLAM

Gmapping

KartoSLAM

CoreSLAM

LagoSLAM

cartographer

视觉与IMU融合:

OKVIS

VINS

VINS-Fusion

回环检测:

DBoW2

DLoopDetector

Dlib

后端:

Ceres-solver

G2o

Gtasm

Vertigo

构图:

Grid_map

Octomap

常用数据集:

1、TUM RGB-D SLAM Dataset and Benchmark

德国慕尼黑理工大学计算机视觉组制作的数据集,使用Kinect相机采集的数据集,包括IMU数据,并且用高精度运动采集系统提供了groundtruth(真值)。提供测试脚本,可以方便的实现量化评估。

2、KITTI Vision Benchmark Suite

德国卡尔斯鲁厄理工学院和丰田工业大学芝加哥分校一起合作制作的用于自动驾驶的数据集。

3、EuRoC MAV Dataset

世联邦理工大学制作的数据集,采用装备了双目相机和IMU的四旋翼无人机采集数据。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分