ORB-SLAM2 论文要点总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014527548/article/details/86576561

ORB-SLAM2 论文要点总结

一、创新点

  1. 第一个开源并支持单目、双目、和RGB-D相机的SLAM系统,包含回环检测、重定位和地图复用(支持使用预置的环境地图或者之前建立的地图);
  2. 基于BA优化,与目前前沿的一些基于最近点迭代(ICP)、光学和深度误差最小化等方法相比,实现了更高的精度;
  3. 通过同时使用远处和近处的双目点、以及单目观测,与直接双目法相比,精度更高;
  4. 在不能有效建图区域,采样一种轻量级的定位模式实现地图的有效重用(若无预置地图,则采用双目视觉里程计,会随时间漂移;若有预置地图,与已有地图进行匹配定位,零漂移)。

二、ORB-SLAM2的实现要点

系统主要包含四个线程:

1) 只进行运动信息的BA优化:Tracking跟踪线程通过进行每帧图片与局部地图进行特征匹配,实现相机定位;

2) 进行局部BA优化: Local Mapping局部建图线程对局部地图进行管理,并优化;

3)回环检测: Loop Closing回环线程检测回环位置、进行位姿图优化抑制位置、姿态漂移误差;

4)全局BA优化:在位姿图优化结束后,调用此线程进行全局BA优化,以计算最优的结构和运动结果。

A. 单目点、近双目点和远双目点定义

单目点:基于两个坐标实现,L表示左目特征点(为了与双目对应)。只在具有多个视角时进行三角化,不提供尺度信息,具有旋转和位移信息。
X m = ( u L , v L ) X_m = (u_L, v_L)
双目点:基于三个坐标实现,L表示左目特征点的像素坐标,R表示右目与左目平行方向的坐标。
X s = ( u L , v L , u R ) X_s = (u_L, v_L, u_R)
GRB-D双目点:将其输出的图像特征点坐标和深度进行转换,使其与双目相机的坐标描述一致:
u R = u L f x b / d u_R = u_L - f_xb/d
式(3)中fx表示水平焦距,b表示结构光发射器与红外相机的基线距离。左右像素坐标差就是实际基线长度在相机中的投影长度。

近双目点:双目特征点的深度小于40倍的基线距离。近点可提供可靠的位移、旋转和尺度信息,可进行可靠的三角化求深度信息。

远双目点:双目特征点的深度大于40倍的基线距离。远点可提供可靠的旋转,但是位移和尺度信息较弱,只有存在多个视角的远点观测时才进行三角化求深度。

B. 系统启动

  1. 当采用双目和RGB-D相机时,可直接基于一帧图像实现系统的初始化,这也是双目和RGB-D相机的主要优势之一;
  2. 系统启动时,基于第一帧图片创建一个关键帧,然后令其位置为初始位置,并基于双目点建立初始地图。

C. 单目和双目约束下的BA优化

采用g2o中的LM方法进行BA优化,主要涉及三种:

  • motion-only-BA
  • local BA
  • full BA

motion-only-BA : 通过最小化“匹配到的世界坐标系中的3D点”和“当前图像中的特征点”的重投影误差,优化相机的姿态和位移。

local BA:通过最小化一系列“关键帧(包含共视关键帧和非共视关键帧)中可见的共视3D点”和“每张关键帧图像中共视3D点对应匹配的特征点图像坐标”的重投影误差,优化相机的姿态、位置和地图上的3D点。

full BA:全局BA是局部BA的特殊情况,此时除了初始关键帧外,所有的关键帧和地图3D点均进行优化。

D. 回环与全局BA

回环步骤:

  1. 回环位置的检测和有效性判断;
  2. 环路校正和位姿图优化,与单目相比,双目的尺度漂移可观测。

全局BA:由于全局优化比较耗费时间,因此将其单独作为一个线程,在优化的同时系统还可以进行地图创建和回环检测。当检测到新的回环位置时,若正在进行全局优化,则取消当前的全局优化,因为此时又会重新启动全局优化。

E. 关键帧插入

ORB-SLAM2遵循单目ORB-SLAM中的的策略,频繁插入关键帧,且增加一些额外多余的关键帧(为了鲁棒性)。

近点和远点的区别引入了一个新的场景需要去考虑如何添加关键帧。当场景中一大部分都距离双目相机较远时,此时我们需要大量的近点进行精确的位移估计。所以增加如下的关键帧添加策略:

若图像中跟踪到的近点数量小于100,但近点数量同时大于70时,便将其也加入到关键帧序列中。

F. 定位模式

应用场景: 环境不发生较大改变,已经建好已知地图的区域,需要进行轻量级的长时间定位。

功能:局部建图和回环线程关闭,基于摄像头运行视觉里程计,必要的时候可进行重定位。

工作模式:

  • 有预置地图:基于图像特征点与已知视觉地图进行匹配,可实现无漂移的定位;
  • 无预置地图:基于当前图像中的ORB特征点与前一帧基于双目/RGB-D相机建立的3D点进行匹配,此方法在无地图区域较为鲁棒,但是漂移可能随时间累积。

三、实验对比

  • 单目ORB-SLAM具有较大的尺度漂移,尤其是在转弯时。

猜你喜欢

转载自blog.csdn.net/u014527548/article/details/86576561
今日推荐