arXiv:1610.06475 ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras

来源:互联网 发布:数字化加工软件 编辑:程序博客网 时间:2024/06/05 20:24

提出的ORBSLAM2系统包含地图重用、回环检测以及重定位能力,可在多环境下实时运行。系统后端基于BA对单目或双目的观测数据进行优化,来得到度量尺度下的准确轨迹估计。系统包含轻量级的定位模式,可以满足未扩展区域下以及带零漂的地图匹配点的VO跟踪。

ORBSLAM2 Improvenments
1.支持多摄像头的开源系统
2.RGBD结果印证了使用BA可比使用ICP/光度测量的深度误差估计更精准
3.通过加入远近的立体点和单目观测的辅助,本系统可比双目直接法更精准
4.提供轻量级的定位模式,可在建图失效的条件下重用地图

System Threads
ORBSLAM2有四个线程,其中三个主线程Tracking、Local Mapping、Loop Closing,一个在Loop Closing后起Global BA副线程。另外代码工程中还有一个Viewer线程负责画图。
其中:
Tracking: 通过寻找与局部地图的特征匹配关系对每帧相机的位姿进行定位;通过Motion-only BA优化相机位姿以减小重投影误差
Local Mapping: 通过Local BA维护和优化局部地图
Loop Closing: 检测大回环,通过位姿图优化修正累积误差漂移;优化完毕后起第四个线程运行全局BA
Global BA: 在全局一致的基础上计算最优的位姿与地图
Viewer: 地图与帧图显示

DBoW - Place Recognition
基于DBoW场景识别的三个作用点:1. 跟踪丢失时的重定位 2. 在已生成地图基础上的初始化 3. 回环检测

Covisibiliy Graph
共视图连接了任意两关键帧及之间观测到的共视点,且维护了连接所有关键帧的最小生成树。它留有地图的局部特性,使Tracking和Local Mapping可局部操作;使系统可以在大尺度环境下进行拓展;同时满足在回环闭合的时作为整体结构进行位姿优化。

Motion Information
在双目条件下:小于40倍基线距离的关键点称为近点,反之则为远点。近关键点可根据单幅图像三角化(不需初始化),可准确地估计出深度,并提供尺度与旋转平移信息;而远关键点可提供准确的旋转信息,但对尺度和平移信息体现不足。通常远点通过多视图来进行三角化。
在单目条件下:关键点只能通过多视图关系来进行三角化,并且丢失了尺度信息,但依然可提供旋转和平移信息。因此需要足够的运动视差来满足系统初始化条件。

Bundle Adjustment
Motion-only BA: 跟踪后对每帧相机位姿优化
Local BA: 固定窗口的关键帧与地图点的联合优化
Full BA: 回环检测后对地图中所有关键帧与地图点的完全优化
代码实现中,以上的BA都是使用g2o的LM优化实现的。
其中Motion-only BA的优化函数:

投影方程:

Local BA对窗口内的所有共视关键帧KL和关键点PL进行优化,其它可观测到关键点PL但不在KL(窗口)中的关键帧,对损失函数有影响,因此加入优化函数内但不对其进行优化以辅助KL的优化,其优化函数:

Full BA可看做Local BA的一种特殊情况,它对全局关键帧和地图点进行优化(除了固定初始关键帧位置以减少测量的自由度)。

Full BA优化比较花费时间,因此单独作为一个线程以使系统在全局优化时可以继续生成地图和检测回环。
系统采取策略是当优化时如果检测到回环,则将该优化停止,当回环结束后再进行全局优化。
如何将BA优化结果与当前地图融合是一个挑战。即当全局优化结束后,需要将优化过后的关键帧与在优化过程中插入的新关键帧融合,这主要是通过最小生成树传播修正来完成。

Localization Mode
Localization mode将Local Mapping和Loop Closing线程停掉,只用Tracking线程,通过关键帧及地图点间的匹配,在已构建地图的区域中可很好地完成定位;而在未拓展的区域中,上述匹配仍可较鲁棒的定位,但是漂移会累积。

Experiment Results
文中将ORBSLAM2与LSDSLAM进行了对比,在01序列中ORBSLAM的平移对比较差,这是因为01序列是高速路,近关键点比较少,很难跟踪上,因此平移量很难估;而相对来说远点较多,因此方向(旋转)指标要比LSD好。


Others
1.单目的尺度是不确定的,且由于不是每帧都可被三角化,因此系统额外要求多视角与滤波来自行生成初始地图;另外,单目SLAM存在尺度漂移的问题,因此在拓展地图时,如遇纯旋转的情况下可能造成失败。
2.双目不一致可导致深度估计不准,此时因采用逆深度参数估计;而实际上,只有深度小于40倍基线长度的点可被正确三角化。本文也采用这种策略分别对远近点进行深度估计。
3.固定窗口的KeyFrame + BA的缺点是不能保持全局一致性;SPTAM也是只做局部BA,而缺少回环检测部分。
4.LSDSLAM是一种半稠密直接法,它不通过特征而对图像中梯度大的区域使光度误差最小化,因此对运动模糊和纹理少的环境较鲁棒,但其受卷帘快门和非传感器反射的影响较大。
5.RGBD的前端一般是用ICP跟踪位姿,后端用启发式算法或场景识别找回环。

阅读全文
0 0
原创粉丝点击