Advertisement

[论文笔记]ORB-SLAM2 an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras

阅读量:

The ORB-SLAM2 is an open-source SLAM system specifically designed to cater to monocular, stereo, and RGB-D camera configurations. It operates by integrating feature detection with visual odometry to provide accurate mapping capabilities in various environments.

本文介绍 ORB-SLAM2

ORB-SLAM2 为单目、立体和RGB-D相机构建了全面的SLAM系统框架,并支持地图重用、循环闭合和重新定位等功能

本文的工作建立在[2015TRO]Versatile Monocular SLAM系统的基础上,并采用了OR...

主要贡献如下:

首个基于单眼摄像头、三维空间视觉及带有RGB-D视觉的相机的开放源代码SLAM系统,包含有闭环回路、自动重新定位位置与姿态以及地图的再利用。

研究表明,在采用了基于束调整的方法后,本文所采用的方法在精度方面优于基于ICP的方法以及其他基于光度和深度误差最小化的现有技术。

基于远近立体点和单目观察技术的应用,在实验结果上所提出的方法相较于最先进的直接立体SLAM表现更为突出。

一种轻量级本地化模式,可以在禁用映射的情况下有效地重用地图。

Oriented FAST + Rotated BRIEF

相关工作

立体SLAM

现在主流的立体SLAM大多是以关键帧为基础,并在局部区域进行BA优化以增强系统的扩展性。

BA( Bundle Adjustment 束调整) :优化的是最小化重投影误差,

测倾:因测定仪器精度欠佳以及人为因素和外界环境的影响作用,在实际工作中难以避免出现测距误差。为此需要通过合理处理这些误差问题来提高计算成果质量,在必要条件下增加足够的测站点数以达到确定未知参数所需数量的目的即需进行多余观测工作。然而这必定会导致测站点间存在相互矛盾的关系从而使得测倾计算的主要目标在于消除这些矛盾进而求得各观测量的结果并评定其精度水平这种计算方法的基础原理就是所谓的最小二乘法理论。

请添加图片描述

RGB-D SLAM

ORB-SLAM2

整个ORB-SLAM2 分为三条主线程:

通过检测与局部地图特征匹配,并利用运动BA算法最小化重投影误差以实现对每帧相机位置的估计。

管理和优化局部地图的局部映射,执行局部BA

通过执行姿态图优化来检测大循环并校正累积漂移的循环闭包

在位姿图优化后执行完整的BA,以计算最优结构和运动解。

该系统集成了一个基于DBoW2的位置识别模块,在跟踪失败(如被遮挡)时重新定位;同时,在已部署场景中进行重新初始化,并用于循环检测。系统维护了一个可见性图(covisibility graph),此图连接了任意两个关键帧间的可见性节点,并构建了所有关键帧之间的最小生成树。

此类图结构可实现对关键帧邻域窗口的检索,在本地运行下便于完成轨迹跟踪与局部映射,并具备在大规模环境中的适应能力的同时可作为闭合循环期间姿势图优化的关键架构

单目、近距离立体、远距离立体 关键点

如图所示,在OR...过程中,首先进行了图像预处理以识别关键区域的几何特性;随后放弃原始图像数据;后续的所有运算均基于提取的关键点特性;从而确保该系统与立体视觉或RGB-D传感器无关;仅对该类关键区域进行后续分析,并将它们划分为近处和远处两类

立体关键点

在 stereo vision 应用中,
x_s = (u_L,v_L,u_R) 其中 (u_L,v_L) 代表左图像上的坐标,
u_R 为右图像的水平位置,
在两幅图像中采集 ORB 特征,
对于每一个左边的 ORB 特征,
在右图像中进行匹配定位。
随后,
利用左 ORB 坐标与右匹配点的水平位置生成空间关键点,
通过分块关联(patch correlation)实现亚像素精度细化。
而对于 RGB-D 方法,
首先在 RGB 图像上采集 ORB 特征,
遵循 Strasdat 的研究框架,
对于具有位置 (u_L,v_L) 的每个特征点,
将其深度信息 d 转化为虚拟右坐标。

请添加图片描述

其中f_x代表水平焦点参数;b则表示结构光投影装置与红外成像装置之间的基线距离。深度传感器的不确定度可表征为虚拟右直角坐标系下的不确定度分布。这样设计下,在系统中余下的部分会均等处理来自立体视图与RGB-D数据的各种特征信息。

当关键点的相关深度值低于立体/RGB-D基线计算出的40倍值时,则将该分类标记为close类别;否则将该分类标记为far类别。

基于深度的精确估计以及提供尺度、平移和旋转参数的基础上

System Bootstrapping

一种主要优势在于能够通过单一图像获取深度数据,并无需像单目摄像头那样依赖于运动来建立结构。当系统启动时,在初始化阶段我们首先利用第一帧来生成关键帧,并将姿态归零点设置为原点位置。接着我们基于所有的立体对应点构建初始地图

Bundle Adjustment with Monocular and Stereo Constraints

跳过

Loop Closing and Full BA

回环闭合被划分为两个阶段,在实现闭环的过程中需要进行必要的检测与验证步骤。对于闭环的优化工作而言, 应特别关注姿态图的调整与完善. 单目ORB-SLAM算法可能会出现尺度漂移问题, 但通过利用立体或深度信息则能够有效避免这一问题. 几何验证以及姿态图优化的过程无需再处理尺度漂移问题, 其基础理论建立在刚体变换的基础上而非相似性变换

在ORB-SLAM2算法中,在姿态图估计完成后实施了一次完整的贝叶斯调整(BA)优化以求得最优解。由于这一过程可能较为复杂,在优化操作独立运行至完成之前允许系统持续生成地图并检测循环路径。然而,在此过程中遇到了将束调整后的更新结果与当前地图状态有效整合的挑战。若在运行中检测到新形成的闭环,则应提前终止优化以保持循环闭合状态,并重新启动完整的BA流程。当完整BA优化最终完成时,需要通过传播更新的关键帧信息来实现关键帧子集和点坐标的综合更新(即从非更新关键帧至更新关键帧的转换),这包括将树状更新传播至未被更新的关键帧点(当优化处于运行状态时)。对于尚未被包含在此次更新中的点位,则基于其参考关键帧的修正信息进行相应的几何变换处理。

Keyframe Insertion

ORB-SLAM2采用了单目ORB-SLAM中的方法,在频繁地添加关键帧后剔除多余的重复帧。近景点与远景点之间的区别让我们能够引入一个新的关键帧插入标准,在复杂环境下这一点尤为突出。值得注意的是,在这种情况下场景的大部分区域都远离立体声传感器,请参考图3

请添加图片描述

在上述情况下

Localization Mode

在适合建图的地方应用一种本地化策略,在环境发生变化时可以在已建立良好地图的前提下实现轻量级的长期本地化操作。这种策略下在线建图功能被禁用以减少资源消耗,并通过连续定位技术进行实时追踪操作可切换至重新定位机制以保证系统的稳定性与可靠性。基于视觉里程匹配算法以及与前一帧三维特征点之间的配准系统能够实现高精度的位置估计从而提升对复杂场景的理解能力同时也能有效避免位置漂移问题的发生以确保全局一致性较高的定位精度。

EVALUATION

分别在KITTI 数据集,EuRoC 数据集,TUM RGB-D数据集上进行ORB-SLAM2的评估。

KITTI 数据集

请添加图片描述
请添加图片描述

EuRoC 数据集

请添加图片描述

TUM RGB-D数据集

请添加图片描述

CONCLUSION

本文提出一个完整的SLAM系统

全部评论 (0)

还没有任何评论哟~