ORB-SLAM2:一个针对单目;立体和深度相机的开源即时定位与地图构建系统外文翻译资料

 2022-12-06 03:12

英语原文共 9 页,剩余内容已隐藏,支付完成后下载完整资料


ORB-SLAM2:一个针对单目;立体和深度相机的开源即时定位与地图构建系统

摘要——我们提出的ORB-SLAM2是一个对于单眼,立体和RGB-D相机完全的即时定位与地图构建系统,包括地图重用,闭环检测和重新定位功能。 系统在标准CPU上,从小型手持室内场景到无人机飞行工业环境和汽车在城市周围驾驶,这一系统都能进行实时工作。 我们的基于单眼和立体声束调整的后端观测允许使用度量进行准确的轨迹估计规模。 我们的系统包含一个轻量级定位模式,该模式为未映射的地区利用视觉里程计追踪并且与映射允许零漂定位的点相匹配。该29种流行公开序列的评估显示了我们的方法达到了最先进的精度,在大多数情况下是最高的准确的即时定位与地图构建解决方案。 我们发布源代码不仅为SLAM社区的利益,而且旨在成为其他领域的研究人员简单易用的SLAM解决方案。

Ⅰ.介绍

即时定位与地图构建(SLAM)已经在过去的二十年中成为计算机视觉和机器人社区的一个热点研究话题,并且在最近吸引了高科技公司的注意。SLAM技术为未知环境建立地图并且在地图中在实时操作中以强大的注意力定位传感器的位置。在不同的传感器形态中,摄像头是廉价的,而且提供了丰富的环境信息用以强劲且精确的地点识别。因此,以摄像头为主要传感器的视觉SLAM解决方案,是如今符合最广大利益的方案。由于闭塞或者激进的运动或者在系统重新初始化的时候,地点识别是一个SLAM系统关闭回环(比如当传感器返回一个标注的地区时进行探测并且校正在探索中累计的误差)和在一次追踪失败后重新定位的关键模块。

视觉SLAM能够仅仅通过一个单目相机——最为便宜且微小的传感器设备进行操作。然而,由于仅仅通过一个摄像头不能观测到深度,地图的规模和估计轨迹是未知的。而且由于它无法对最初的一阵画面进行三角测量,系统的自展需要多视点或者过滤技术来产生初始化地图。最后但也是重要的是,单目SLAM会出现刻度漂移并且如果在探索中工作在单纯的旋转方式下会导致失败。通过使用立体相机或者深度相机,这些问题都可以被解决并且允许最可靠的视觉SLAM解决方案。

在这篇文章中,我们建立我们的单目ORB-SLAM并且以以下这些有点提出ORB-SLAM2:

·第一个针对单目、立体和深度相机的开源SLAM系统,包括闭环检测,重新定位和地图重用。

·我们的RGB-D结果显示,通过使用光束平差法(Bundle Adjustment BA)我们比基于ICP或者测光以及深度最小化的先进方法获得更多的精确性。

·通过使用进或远立体点和单目观测,我们的立体视觉结果比先进的直接立体SLAM更加精确。

·一个轻量级的定位模式可以有效的在映射失败时重新使用地图。

图一展示了ORB-SLAM2来自立体相机的输出和来自深度相机的输入。立体相机的例子展示了来自KITTI数据集00序列的最终轨迹和稀疏重建。这是一个城市序列,这个序列里有能被ORB-SLAM2成功探测到的多个回路差。深度相机的例子显示了来自TUM RGB-D数据集fr1_room序列的关键帧姿态估计,以及通过来自估计关键帧姿态向后投影传感器深度地图提出的一个密集点云。注意,我们的SLAM不像任何类似KinectFusion的融合物,但是好的定义显示出关键帧姿态的精确性。更多的例子在附加的视频中。

在本文的剩下部分,我们在第Ⅱ部分讨论相关工作,在第Ⅲ部分描述我们的系统,然后在第Ⅳ部分展示估计结果并且在第Ⅴ部分以一些结论结束。

Ⅱ.相关工作

在这一部分我们在立体相机和RGB-D SLAM上讨论相关工作。我们的讨论,以及第Ⅳ部分的估计仅聚焦在SLAM方案上。

A.Stereo SLAM

一个值得注意的早期立体SLAM系统是Paz et al的成果。基于传统的独立分割以及Conquer EKF-SLAM,在当时相比于其它方案,它能够在大环境下操作。更重要的是,他是第一个可以采取近远点的立体SLAM(比如在立体相机中指出由于小偏差而造成的不可以被可靠估计的深度),对后者使用逆深度参数[6]。 他们凭经验显示,如果深度小于立体基线的40倍,那么可以可靠地进行三角测量。 在这项工作中,我们遵循这种以不同方式处理近远点的策略,正如第III-A节所述。

大多数现代立体声SLAM系统都是基于关键帧的[7],并在本地执行BA优化以实现可扩展性。 Strasdat等人的工作。 [8]在关键帧的内部窗口中执行BA(点 - 姿态约束)的联合优化,并在外部窗口中执行姿态图(姿态约束)。通过限制这些窗口大小的方法可以实现恒定的时间复杂度,但不保证全局一致性。 Mei等人的RSLAM。 [9]使用地标和姿势的相对表示,并且在可以被限制为恒定时间的活动区域中执行相对BA。 RSLAM能够关闭允许扩展循环两侧的活动区域的循环,但不强制实施全局一致性。最近由Pire等人提出的S-PTAM [10]执行本地BA,但它缺乏大环路闭环。与这些方法类似,我们在关键帧的本地集合中执行BA,因此复杂度与地图大小无关,并且我们可以在大型环境中运行。但我们的目标是建立一个全球一致的地图。关闭一个循环时,我们的系统首先将两侧对齐,类似于RSLAM,以便跟踪能够使用旧映射继续本地化,然后执行姿态图优化,最小化循环中累积的漂移,BA紧随其后。

Engel等人最近的Stereo LSD-SLAM [11]是一种半密集的直接方法,可以最大限度地降低高梯度图像区域的光度误差。 该方法不依赖于特征,预计对运动模糊或质地不好的环境更加稳健。 然而,作为一种直接的方法,它的性能可能会受到诸如卷帘快门或非朗伯反射率等未建模效果的严重影响。

B.RGB-D SLAM

最早和最着名的RGB-D SLAM系统之一是Newcombe等人的KinectFusion。[4]。 该方法将来自传感器的所有深度数据融合为体积密度模型,该模型用于使用ICP跟踪相机姿态。 由于体积表示和缺少闭环,该系统仅限于小型工作空间。 Whelan等人的Kintinuous [12]能够在大型环境中使用滚动循环缓冲区并包含环路闭合使用场所识别和姿态图优化。

可能是第一个流行的开源系统是Endres等人的RGB-D SLAM。[13]。 这是一个基于特征的系统,其前端通过功能匹配和ICP计算帧到帧运动。 后端通过启发式搜索来执行姿态图优化和闭环约束。 同样,Kerl等[14]提出的DVO-SLAM后端优化了一个姿态图,其中关键帧到关键帧的约束是通过视觉测距来计算的,该测距可以将光度和深度误差降至最低。 DVO-SLAM还在所有先前帧中以启发式方式搜索循环候选,而不是依赖于地点识别。

Whelan等人[15]最近的ElasticFusion建立了一个基于surfel的环境地图。这是一种以地图为中心的方法,它可以忘记姿态,并对地图应用非刚性变形来执行闭环,而不是标准的姿态图优化。该系统的详细重建和定位准确性令人印象深刻,但目前的实施仅限于房间大小的地图,因为复杂度随着地图中的面数量而变化。如Strasdat等人提出的那样[8]我们的ORB-SLAM2使用深度信息来合成图像上提取的特征的立体坐标。通过这种方式,我们的系统不受立体声或RGB-D输入的影响。与上述所有方法不同的是,我们的后端基于捆绑调整并构建了全球一致的稀疏重构。因此我们的方法是轻量级的,可与标准CPU一起使用。我们的目标是长期和全球一致的本地化,而不是构建最详细的密集重建。然而,从高度精确的关键帧可以融合深度图并在局部区域即时获得准确的重建,或在完整的BA之后对所有关键帧的深度图进行后期处理,并获得整个场景的精确3D模型。

Ⅲ.ORB-SLAM2

用于立体声和RGB-D摄像机的ORB-SLAM2构建于我们基于单眼的基于特征的ORB-SLAM [1]上,其主要组件在此进行总结以便读者方便。 系统的总体概述如图2所示。系统有三个主要的并行线程:
1)通过查找特征匹配来跟踪每个帧定位相机本地地图和最大限度地减少重投影误差applymotion-only BA,
2)本地映射管理本地地图并优化它,执行本地BA,
3)通过执行姿势图优化来闭合回路以检测大回路并校正累积的漂移。 此线程启动第四个线程以在姿态图优化之后执行全BA,以计算最佳结构和运动解决方案。

该系统嵌入了一个基于DBoW2 [16]的位置识别模块,用于重新定位,以便追踪失败(例如遮挡)或在已映射场景中重新初始化以及进行循环检测。系统维护一个可视图[8],它链接观察公共点的任何两个关键帧和连接所有关键帧的最小生成树。这些图结构允许检索本地
关键帧的窗口,以便跟踪和本地映射在本地运行,允许在大型环境中工作,并作为关闭循环时执行的姿态图优化的结构。

系统使用相同的ORB特征[17]进行跟踪,映射并放置识别任务。这些功能对于旋转和缩放功能非常强大,并且对相机自动增益和自动曝光以及照明更改具有良好的不变性。此外,他们提取和匹配的速度很快,允许实时操作,并且在bag-of-word地方识别中显示出良好的精度/回忆性能[18]。

在本节的其余部分,我们将介绍如何利用立体/深度信息以及哪些元素的系统受到影响。关于每个系统块的详细描述,我们将读者引用到我们的单目刊物[1]。

A.单目,近距离立体以及远距离立体关键点

ORB-SLAM2作为一种基于特征的方法预处理输入,以便在显着的关键点位置提取特征,如图2b所示。然后丢弃输入图像,并且所有系统操作都基于这些特征,使得系统独立于立体声或RGB-D传感器。我们的系统处理单眼和立体关键点,它们被进一步分类为近或远。立体关键点由三个坐标xs =(u L,v L,u R)定义,其中(u L,v L) image和u R右图像中的水平坐标。对于立体相机,我们在两幅图像中提取ORB,对于每个左侧ORB,我们都会在右侧图像中搜索匹配。这可以非常有效地完成假设立体声矫正图像,以便对极线是水平的。然后我们用左ORB的坐标和右匹配的水平坐标产生立体关键点,通过贴片相关对亚像素进行亚像素细化。对于RGB-D相机,我们在RGB图像上提取ORB特征,并且如Strasdat等人[8]所提出的那样,对于具有坐标(u L,v L)的每个特征,我们将其深度值d转换成虚拟右坐标:

其中f x是水平焦距,b是结构光投影仪和红外摄像机之间的基线,对于Kinect和Asus Xtion我们接近8厘米。

深度传感器的不确定性由虚拟坐标系的不确定性表示。通过这种方式,来自立体声和RGB-D输入的特征将由系统的其余部分同等处理。如果其关联深度小于立体声/ RGB-D基线的40倍,立体声关键点将被分类为近距离,如[5],否则分类为远。随着深度的准确估计,关闭关键点可以从一帧安全地进行三角测量,并提供缩放,平移和旋转信息。另一方面,远点提供准确的旋转信息,但是规模和翻译信息较弱。我们在多个视图支持的情况下对远点进行三角测量。
单眼关键点由左图像上的两个坐标x m =(u L,v L)定义,并对应于所有那些无法找到立体匹配或在RGB-D情况下具有无效深度值的ORB。这些点只能从多个视图进行三角化,而不提供比例信息,但对旋转和平移估算有所贡献。

B.系统引导

使用立体或RGB-D摄像机的主要优点之一是,通过仅从一帧获得深度信息,我们不需要像单眼情况那样的运动初始化的特定结构。 在系统启动时,我们用第一帧创建一个关键帧,将其姿势设置为原点,并从所有立体声关键点创建一个初始映射。

C. 用单目和立体约束进行光束调整

我们的系统执行BA来优化跟踪线程(仅限运动BA)中的相机姿态,优化局部映射线程(本地BA)中的关键帧和点的局部窗口,并且在闭环之后优化所有关键帧和点 (全BA)。 我们使用g20中实现的Levenberg-Marquardt方法[19]。

仅运动BA优化摄像机方向Risin;SO(3)和位置tisin;R3,使世界坐标系中的匹配三维点X iisin;R 3与关键点xi(·)之间的重投影误差最小化,单眼xi misin;R 2或立体xisisin;R 3,其中iisin;X是所有匹配的集合:

其中rho;是鲁棒Huber成本函数,Sigma;是与关键点尺度关联的协方差矩阵。 投影函数pi;(·),单眼pi;m和整形立体pi;s定义如下:

其中(f x,f y)是焦距,(c x,c y)是主点,b是基线,所有这些都是从校准中已知的。

本地BA优化一组隐形关键帧K L和在这些关键帧P L中看到的所有点。 所有其他关键帧K F(不在K L中)中的观测点都对成本函数有贡献,但在优化中保持不变。 将X k定义为P L中的点与关键帧k中的关键点之间的匹配集,优化问题如下:

全BA是本地BA的特殊情况,其中地图中的所有关键帧和点都进行了优化,除了为消除规范自由度而固定的原始关键帧。

D.循环关闭和全BA

循环关闭分两步进行,首先必须检测并验证循环,然后对循环进行校正,以优化姿态图。与可能发生尺度漂移的单眼ORB-SLAM [20]相比,立体/深度信息使得尺度可观察,并且几何验证和姿态图优化不再需要处理尺度漂移并且基于刚体变换而不是相似之处。
在ORB-SLAM2中,我们在姿态图之后引入了全面的BA优化以实现最佳解决方案。这种优化可能非常昂贵,因此我们在一个单独的线程中执行它,从而允许系统继

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[21349],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。