|
Title: ORB-SLAM2: An Open-Source SLAM System for Monocular,Stereo,and RGB-D Cameras and RGB-D Cameras
BibTex: (完整的BibTex)
@article{mur2017orb,
title={Orb-slam2: An open-source slam system for monocular, stereo, and rgb-d cameras},
author={Mur-Artal, Raul and Tard{\'o}s, Juan D},
journal={IEEE transactions on robotics},
volume={33},
number={5},
pages={1255--1262},
year={2017},
publisher={IEEE}
}
Motivations:
1. 单目SLAM存在一些问题,如尺度漂移。
Contributions:
1. 第一个用于单目、双目和RGB-D相机的开源SLAM系统,包括闭环、重定位和地图重建。
2. 使用BA比基于ICP或光度的方法获得了更高的精度
3. 通过使用远近双目点和单目观测,结果比SOTA 双目SLAM更准确。
4. 轻量级的定位模式
Background and Related Works:
介绍了Stereo SLAM和RGB-D SLAM
Methodology:
1. 系统概述

三个主要并行线程:
1) Tracking:通过查找与局部地图匹配的特征来跟踪相机的每一帧,并应用BA对运动最小化重投影误差
2) Local Mapping:局部建图并进行管理和优化,进行局部BA
3) Loop Closing:回环检测,通过位姿图优化来校正累计漂移
并在Loop Closing之后启动第四个线程进行完整的BA,获得最佳解
2. 单目、近双目和远双目关键点

ORB-SLAM2是一种基于特征的方法,对输入进行预处理,提取显著关键点位置的特征,然后丢弃输入图像,所有系统操作都基于这些特征,使系统独立于双目或RGB-D传感器。
双目关键点由 (u_L,v_L,u_R) 定义,其中 (u_L,v_L) 为左图的坐标, u_R 为右图中的横坐标。
对于双目相机,在两个图像中提取ORB,对于每个左侧ORB,在右侧图像中搜索匹配,然后用左侧ORB的坐标和右侧匹配点的横坐标生成双目关键点。
对于RGB-D相机,在RGB图像上提取ORB特征,并且对于每个具有坐标 (u_L,v_L) 的特征,我们将其深度值d转换为一个虚拟右坐标。

其中,fx为水平焦距,b为结构光投影仪和红外相机之间的基线。
通过上述方式,来自双目和RGB-D输入的特征被系统的其余部分平等处理。
根据双目关键点的深度,将其归类为近或者远关键点。近关键点可以被单帧三角化,因为深度可以被准确估计,并提供尺度、平移和旋转量;远关键点提供了精确的旋转量,但尺度与平移量较差,并且需要在多个视图的支持下对远点进行三角测量。
单目关键点由左侧图像的两个坐标 (u_L,v_L) 定义, 仅用于多个视图进行三角化,不提供尺度信息,但有助于估计旋转和平移量。
3. 单目和双目约束的BA
系统在跟踪线程中执行BA来优化相机位姿(motion-only BA),在局部建图线程中优化关键帧中的局部窗口和点(local BA),并在回环结束后优化所有关键帧和点(full BA)。
Motion-only BA:优化相机方向R和位置t,最小化世界坐标系下的3D点和匹配的关键点之间的重投影误差。 X^i
为世界坐标系下的3D点, X_{(.)}^i 为关键点。


Local BA:优化了一组共视关键帧 K_L 和这些关键帧中的所有可见点 P_L 。注意,其他关键帧 K_F 观测到这些地图点,也会作为约束参与优化,但其本身不会被优化。 X_k 定义为 P_L 中的点与关键帧k中的关键点之间的匹配集。

Full BA:full BA是局部BA的具体情况,其中地图中的所有关键帧和点都被优化,除了原始关键帧被固定以消除度量自由。
4. 回环闭合和Full BA
回环闭合分两步:检测和验证回环;优化姿态图来校正回环。
在位姿图优化之后加入一个完整的BA优化来实现最优解,在一个单独的线程中执行,允许系统继续创建地图和回环检测。这带来了BA输出与建图的当前状态合并的问题,如果在优化运行时检测到一个新的回环,我们将中止优化并继续回环闭合,这将再次启动完整的BA优化。当full BA完成时,我们需要将更新后的关键帧和关键点子集(full BA后的)与未更新的关键帧和点合并在一起。通过生成树将更新关键帧的修正(即从未优化的位姿到优化的位姿的变换)传播到未更新的关键帧,未更新的点根据参考关键帧的校正进行变换。
5. 关键帧的插入
遵循ORB-SLAM中频繁插入关键帧,剔除多余的关键帧的策略。远近双目点的区别可以引入关键帧插入的新条件,如果近点的数量低于 \tau_t 并且帧至少可以创建 \tau_c 个新的近双目点,系统将插入一个新的关键帧。

6. 定位模式
只要环境没有显著变化,该模式就可以用于在建图良好的区域进行轻量级长期定位。在这种模式下,局部建图和回环闭合线程被禁用,相机通过跟踪使用重定位持续定位。在这种模式下,跟踪利用视觉里程数匹配和地图点匹配。视觉里程表匹配是当前帧中的ORB与前一帧中根据双目/深度信息创建的3-D点之间的匹配。这些匹配使得定位对未建图区域具有鲁棒性,但漂移可能会累积。地图点匹配确保现有地图的无漂移定位。
Experiments:
1. KITTI数据集



2. EuRoC数据集


3. TUM RGB-D数据集


4. 实时性
 |
|