【论文笔记】ORB-SLAM2: An Open-Source SLAM System for Monocular, Stereo, and RGB-D Cameras

ORB-SLAM2:一种开源的单目、双目RGB_D相机SLAM系统

<Raúl Mur-Artal and Juan D. Tardós

这一篇文章主要是在之前的ORB_SLAM基础上进行研究的,将之前文章中没有解决的深度问题使用RGB_D相机解决,增加了深度的概念。

摘要

  1. 本文提出了ORB-SLAM2,它是基于单目、双目或RGB-D相机的一个完整的SLAM系统,包括地图重用、回环检测和重定位功能。
  2. 这个系统可以适用于多种环境,无论是室内小型手持设备,还是工厂环境中飞行的无人机和城市中行驶的车辆,其都可以在标准CPU上实时运行。该系统的后端使用基于单目和双目观测的光束法平差法(bundle adjustment),这使得其可以精确估计轨迹的尺度。
  3. 该系统包含一个轻量级的定位模式,它使用视觉里程计追踪未建图区域并匹配地图点,实现零漂移定位。
  4. 在29个常用公开数据集上的实验评估显示本文方法在大多数情况下是精度最高的SLAM解决方案。

1 介绍

同时定位建图(SLAM)在过去二十年中一直是计算机视觉和机器人领域的研究热点,所以相机SLAM研究取得很大进展,但是因为单目相机的无法获得深度信息和存在零漂现象,所以把单目相机换成是RGB_D相机可以很好地解决这个问题。

本文中,在我们之前提出的单目ORB-SLAM的基础上,我们进一步提出了ORB-SLAM2,它有以下贡献:

  1. 第一个开源的基于单目、双目、RGB-D相机的SLAM系统,其中包括回环检测、重定位、以及地图重用功能。
  2. 相比较目前最好的基于迭代最近点法(ICP)或广度和深度误差最小法,我们通过使用光束法平差法(BA),可以达到更高的精度。
  3. 通过使用远近匹配双目点和单目观测,我们的双目结果比目前最好的直接双目SLAM的精度更高。
  4. 提出了一个轻量级的重定位模式,它可以在无法建图时,有效地重新使用地图。

在这里插入图片描述

2 相关工作

2.1 双目SLAM

  1. Paz早期的卓越的双目SLAM系统,基于条件独立分治的扩展卡尔曼滤波SLAM(EKF-SLAM)。他们经验性地指出,当特征点的深度小于双目相机基线长度的40倍时,特征点可以被可靠地三角化。

  2. Strasdat等人的工作在关键帧窗内采用BA优化(点-位姿约束),在关键帧窗外采用位姿图优化(位姿-位姿优化)。通过限制窗的大小,该方法可以实现恒定的时间复杂度,但无法保证全局一致性。

  3. Mei等人提出了RSLAM方法,其使用了地标和位姿的相对位置表示法,并在限制时间复杂度的条件下,在激活区域内采用相对BA。RSLAM可以实现回环的闭合,这可以扩展回环两端的激活区域,但并不能增强全局一致性。

  4. Pire等人提出的S-PTAM [采用了局部BA,但它缺少闭合大回环的功能。

  5. Engel等人提出的双目LSD-SLAM 是一种半稠密的方法,它最小化图像梯度较大区域的光度误差。该方法希望在不依赖特征的条件下,在运动模糊或纹理较弱的环境下获得更好的鲁棒性。但是,作为直接法,该方法的性能会由于未建模因素而显著下降。

    作者方法:在局部关键帧集合中采用了BA,因此该方法的复杂度不受地图尺寸影响,我们可以在大场景中实施该方法。但是,我们的目标是建立一个全局一致的地图。与RSLAM类似,当闭合一个回环时,我们的系统会首先将两端对齐,因此追踪模块可以使用旧地图继续定位,之后采用位姿图优化来最小化回环中的累积漂移,再之后进行全局BA。

2.2 RGB-D SLAM

  1. Newcombe等人提出的KinectFusion 是最早也是最著名的RGB-D SLAM系统之一。该方法将传感器得到的所有深度数据融合至一个稠密的体积模型,并使用ICP来追踪相机位姿。由于该系统使用体积表示形式并且缺少回环检测,它只能应用于小规模的工作空间。

  2. Whelan等人提出的Kintinuous ]使用了一个滚动循环缓冲区,并且包括了一个使用位置识别和位姿图优化的回环检测模块,从而能够在大规模场景运行。

  3. Endres等人提出的RGB-D SLAM可能是最早流行的开源系统。它是一个基于特征的系统,它的前端通过特征匹配和ICP来计算帧间的运动,它的后端使用位姿图优化,其回环检测约束条件由启发式搜索得到。

  4. Kerl等人提出的DVO-SLAM的后端也采用位姿图优化,其中关键帧之间的约束是由一个最小化光度和深度误差的视觉里程计计算得到。同时,DVO-SLAM在以往所有帧中启发式地搜索回环的候选者,而不依赖于位置识别。

  5. Whelan等人提出的ElasticFusion 建立了环境的surfel地图,这是一种忽略位姿,而以地图为核心的方法,它采用对地图进行非刚性变形的方式来实现回环闭合,而不是采用位姿图优化的方法。该系统细节重建和定位精度是非常优秀的,但是由于地图中面元数量所带来的复杂度,目前它仍局限于建立房间大小的地图。

    作者方法:ORB-SLAM2系统使用了一种Strasdat等人提出的方法,该方法使用深度信息来为图像中提取的特征合成立体坐标。通过这种方法,我们的系统可以处理来自双目或者RGB-D的输入。

but!我们方法的后端基于BA,并且能够得到一个全局一致的稀疏重建。因此我们的方法是轻量级的,可以在标准CPU上运行。

3 ORB-SLAM2

ORB-SLAM2由三个主要的并行线程组成:追踪、局部建图和回环检测。在回环检测后会执行第四个线程,进行全局BA。追踪线程会对双目和RGB-D输入进行预处理,从而使得系统其它部分可以独立于输入传感器运行。虽然这张图没有展示,但ORB-SLAM2也可以基于单目输入运行[1]。(a)系统的线程和模块 (b)输入的预处理

如下图:在这里插入图片描述

基于双目和RGB-D相机的ORB-SLAM2是建立在我们的基于特征的单目ORB-SLAM的基础上的

3.1 单目、近处立体和远处立体关键点

3.2 系统启动

使用双目或者RGB-D相机的最主要的好处之一是,我们可以直接获得单帧图像的深度信息,不用像在单目SLAM中一样需要使用特定的SFM(structure from motion)初始化。在系统启动时,我们将第一帧设为关键帧,将其位姿设置为初始位姿,并且根据所有的立体关键点来建立一个初始地图。

3.3 单目和双目约束下的光束优化法(BA)

我们的系统在追踪线程中使用BA来优化相机位姿(纯运动BA),在局部建图线程中优化关键帧和点的局部窗(局部BA),在回环检测后优化所有的关键帧和点(全局BA)

3.4 回环检测和全局BA

回环检测分两步进行:第一步是检测和确认回环,第二步是通过优化位姿图来修正回环。相较于单目ORB-SLAM可能会发生尺度漂移[20],双目/深度信息会使尺度变得可以观测,所以几何验证和位姿图优化不再需要处理尺度漂移;

4 评价

作者在三个数据集上进行了系统的评价:

4.1 KITTI 数据集

KITTI数据集包括了城市和高速公路环境中车辆采集的双目视频序列。
在这里插入图片描述参数:绝对平移均方根误差(absolute translation RMSE)t_abs 、相对平移平均误差t_rel、相对旋转平均误差r_rel

4.2 EuRoC数据集

最近的EuRoc数据集包含11段双目视频序列,其由一个微型无人机(MAV)在两间不同的屋子和一个很大的工业环境中拍摄。

下表展示了ORB-SLAM2与双目LSD-SLAM [11]在该数据集所有视频序列中的绝对平移量均方根误差
在这里插入图片描述

4.3 TUM RGB-D数据集

TUM RGB-D数据集包括RGB-D传感器采集的室内视频序列,其被分组在几个分类中,用于在不同纹理、光照和结构条件下评价物体重建和SLAM/里程计方法的效果。
在这里插入图片描述

4.4 运算耗时结果(Timing results)

在这里插入图片描述

5 结论

提出了一个完整地基于单目、双目或RGB-D传感器的SLAM系统,其可以在标准CPU上实时实现重定位、回环检测和重用地图。我们的重点在于建立全局一致的地图,用于在实验中所介绍的大规模环境中进行长期定位。我们提出的包含重定位功能的定位模式,是一种可以在已知环境中进行鲁棒的、零漂移的、轻量级的定位方法。该模式可适用于特定应用,例如在环境建图良好的虚拟现实中追踪使用者的视点。

与当前最好的SLAM系统的对比,ORB在大多数情况下达到了最高的精度。在KITTI视觉里程计基准测试中,ORB-SLAM2是目前最好的双目SLAM解决方案。很重要的是,与最近流行的双目视觉里程计方法相比,ORB-SLAM2实现了在已建图区域的零漂移定位。

我们的RGB-D结果显示,如果需要精度最高的相机定位,那么BA的表现比直接法或ICP更好,另外它的计算量也更小,不需要依赖GPU就可以实时运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值