ORB-SLAM2: an Open-Source SLAM System forMonocular, Stereo and RGB-D Cameras

摘要

我们为单目、双目和RGB-D相机提供了一个完整的SLAM系统,包括地图复用、闭环矫正和重定位功能。该系统在标准CPU上实时运行,适用于各种环境,从室内小型手持式设备,到在工业环境中飞行的无人机和在城市中行驶的汽车。我们的后端基于单目和双目观测的BA,允许使用度量尺度进行精确的轨迹估计。我们的系统包括一个轻量级的纯定位模式,利用视觉里程跟踪未建图的区域和匹配地图点,实现了零漂移定位。对29个最广泛使用的数据集中的公共序列的评估表明,我们的方法达到了最先进的精度,在大多数情况下是最精确的SLAM解决方案。我们发布源代码,不仅是为了SLAM社区的利益,也是为了成为其他领域研究人员的现成SLAM解决方案。

I.引言

同时定位和建图(SLAM)是近二十年来计算机视觉和机器人领域的一个热门研究课题,最近引起了高科技公司的关注。SLAM技术构建未知环境的地图,并在地图中定位传感器,重点关注实时操作。在不同的传感器模组中,相机价格低廉,并提供丰富的环境信息,从而实现鲁棒准确的位置识别。因此,视觉SLAM解决方案,其中主要传感器是一个相机,是当今主要的研究兴趣。位置识别是SLAM系统的一个关键模块,用于闭环矫正(即检测传感器何时返回到已经建图的区域,并在探测过程中矫正累积的误差),以及在跟踪失败后(由于遮挡或剧烈运动)或在系统重新初始化时重新定位相机。

视觉SLAM可以通过使用最便宜和最小的传感器设置的单目相机来执行。但是,由于深度无法仅从一个相机上观测到,地图和估计轨迹的尺度未知。此外,系统引导需要多视图或滤波技术来生成初始地图,因为无法从第一帧开始对其进行三角化。最后,单目SLAM受到尺度漂移的影响,如果在探索中执行纯旋转运动,可能会失败。通过使用双目相机或RGB-D相机,所有这些问题都得到了解决,并获得了最可靠的视觉SLAM解决方案。

在本文中,我们以我们的单目ORB-SLAM[1]为基础,提出了ORB-SLAM2,其贡献如下:

  1. 第一个用于单目、双目和RGB-D相机的开源SLAM系统,包括闭环矫正、重定位和地图重用。
  2. 我们的RGB-D结果表明,通过使用BA,与基于ICP或光度和深度误差最小化的其他的最先进的方法相比,我们实现了更高的精度。
  3. 通过使用近距离和远距离的双目点和单目观测,我们的双目结果比最先进的直接双目SLAM更精确。
  4. 一种轻量级的纯定位模式,可以有效地在禁用建图模块的情况下使用已有地图。

图1显示了来自双目和RGB-D输入的ORB-SLAM2输出的示例。双目案例显示了KITTIdataset[2]序列00的最终轨迹和稀疏重建结果。这是ORB-SLAM2能够成功检测到的具有多个闭环的城市序列。RGB-D案例显示了从TUM RGB-D数据集[3]中估计的fr1_room序列的关键帧位姿,以及通过从估计出的关键帧位姿态反向投影传感器深度图渲染出的稠密点云。请注意,我们的SlAM系统不会执行任何类似KinectFusion[4]或类似的融合,但良好的定义表明了关键帧位姿的准确性。附加视频中显示了更多示例。

在本文的其余部分,我们将在第II节讨论相关工作,在第III节描述我们的系统,然后在第IV节给出评估结果,最后在第V节得出结论。

II. 相关工作

在本节中,我们将讨论有关双目和RGB-D SLAM的相关工作。我们的讨论以及第四节中的评估仅侧重于SLAM方法。

A. 双目SLAM

一个引人注目的早期双目SLAM系统是Paz等人的工作[5]。基于条件独立的分而治之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. RGBD-SLAM

最早和最著名的RGB-DSLAM系统之一是Newcombe等人的KinectFusion[4]。该方法将传感器的所有深度数据融合成体素稠密模型并使用ICP来跟踪相机位姿。由于该系统的体素表示和缺乏闭环矫正,该系统被限制在小的工作空间内。Whelan等人的Kintinous[12]通过使用一个滚动的循环缓冲区,并包括使用位置识别的闭环矫正和位姿图优化能够在大型环境中进行操作。

可能第一个流行的开源系统是Endres等人的RGB-DSLAM[13]。这是一个基于特征的系统,其前端通过特征匹配和ICP来计算帧间运动。后端使用启发搜索中的闭环约束来执行位姿图优化。类似地,Kerl等人的DVO-SLAM[14]的后端优化了一个位姿图,其中帧间约束是由视觉里程计计算,它可以最小化光度误差和深度误差。DVO-SLAM还以启发式的方式在之前的所有帧上搜索闭环候选帧,而不是依靠位置识别。

Whelan等人最近的ElasticFusion[15]构建了一个基于surfel的环境地图。这是一种以地图为中心的方法,它忘记位姿并应用到地图的非刚性变形来执行闭环矫正,而不是一个标准的位姿图优化。该系统的重建细节和定位精度令人印象深刻,但目前的实现仅限于房屋大小的地图,由于复杂性度量与地图中surfel的数量有关。

正如Strasdat等人[8]提出的那样,我们的ORB-SLAM2使用深度信息来合成提取图像特征的双目坐标。这样,我们的系统就不知道输入是双目或RGB-D。与上述所有方法不同的是,我们的后端是基于BA并且构建了一个全局一致的稀疏重建结果。因此,我们的方法是轻量级的,并且可以标准的CPU上工作。我们的目标是长期和全局一致的定位,而不是构建最详细的稠密重建结果。然而,从高度精确的关键帧位姿,我们可以融合深度图,并在一个局部区域进行实时的精确重建,或者在全局BA后后处理所有关键帧的深度图,并得到一个场景的精确三维模型。

III. ORB-SLAM2

用于双目和RGB-D相机的ORB-SLAM2是在基于单目特征的ORB-SLAM[1]上的。系统总体概述如下图所示。

系统有三个主要的并行线程:1)跟踪线程通过查找与局部地图匹配的特征并应用纯运动BA最小化重投影误差来跟踪每一帧相机的位姿,2)局部建图线程管理局部地图并对其进行优化,执行局部BA,3)闭环矫正线程检测大的闭环,并通过执行位姿图优化矫正累积漂移误差。该线程在位姿图优化后开启第四个线程执行全局BA,计算出最优结构和运动解。

系统嵌入了一个基于DBoW2[16]的位置识别模块,用于在跟踪失败(例如遮挡)的情况下重定位,或在已建图场景中重新初始化,以及进行闭环检测。系统维护一个共视图[8],它连接具有共视地图点的任意两个关键帧以及连接所有关键帧的最小生成树。这些图结构允许检索关键帧的局部窗口,以便在局部进行跟踪和局部建图,从而允许系统在大范围环境中工作,并作为矫正回环时进行位姿图优化的结构。

系统为跟踪,建图和位置识别任务使用相同的ORB特征点[8]。这些特征点对旋转和尺度具有鲁棒性,并且对相机的自动增益和自动曝光以及照明变化具有良好的不变性。此外,它们提取和匹配速度快,允许实时运行,并且在基于词袋的位置识别[18]中显示出良好的P/R性能。

在本节的其余部分中,我们将介绍如何利用双目/深度信息以及系统的哪些元素受到影响。有关每个系统块的详细说明,请读者参阅我们的单目著作[1]。

A. 单目、近双目和远双目关键点

ORB-SLAM2作为一种基于特征的方法,对输入进行预处理,以在显著的关键点位置提取特征,如图2b所示。然后,输入图像被丢弃,所有系统操作都基于这些特征,因此系统独立于双目或RGB-D传感器类型。我们的系统处理单目和双目关键点,双目关键点被进一步分为近点或远点。

双目关键点由三个坐标xs=(uL,vL,uR)x_s=(u_L,v_L,u_R)xs​=(uL​,vL​,uR​)定义,(uL,vL)(u_L,v_L)(uL​,vL​)为左图的像素坐标,uRu_RuR​为右图的水平坐标。对于双目相机,在两幅图像中提取ORB特征点,对于每个左图的ORB特征点,在右图中搜索对应的匹配项。通过假设双目的图像已经被矫正过以保持基线水平,这项操作可以非常高效地完成。然后利用左图中ORB特征点的像素坐标和右图中匹配点的水平坐标生成双目关键点,并通过块矫正进行亚像素精细化。对于RGB-D摄像机,我们在RGB图像上提取ORB特征,如Strasdat等人[8]提出的,对于每个具有坐标(uL,vL)(u_L,v_L)(uL​,vL​)的特征,我们将其深度值ddd转换为虚拟右图坐标:

uR=uL−fxbd(1)u_R = u_L - \frac{f_xb}{d} \tag{1}uR​=uL​−dfx​b​(1)

其中fxf_xfx​是水平焦距,bbb是结构光发射器和红外相机之间的基线长度,对于Kinect和Ausu相机,近似等于8cm。深度传感器的不确定性由虚拟右图坐标的不确定性表示。这样,双目和RGB-D输入的特征由系统的其余部分来进行相同的处理。

如果双目关键点的相关深度小于双目/RGB-D相机基线的40倍,则将其分类为近点,否则分类为远点,如[5]中所建议。当深度被准确估计并提供尺度、平移和旋转信息时,可以从一帧中安全地对近点进行三角化。另一方面,远点提供了准确的旋转信息,但尺度和平移信息较弱。当远点被多个视角所看到时,可以对它们进行三角化。

单目关键点由左图上的两个坐标(uL,vL)(u_L,v_L)(uL​,vL​)所定义,对应于所有无法找到双目匹配或在RGB-D情况下深度值无效的ORB特征点。这些点仅从能多个视角进行三角化,不提供尺度信息,但有助于旋转和平移的估计。

B. 系统引导启动

使用双目相机或RGB-D相机的主要优点之一是,通过仅从一帧获得深度信息,不需要像单目相机那样进行运动结构恢复来初始化。在系统启动时,使用第一帧创建一个关键帧,将其位姿设置为世界坐标系原点,并从所有双目关键点创建一个初始地图。

C. 使用单目和双目约束的BA

我们的系统执行BA来优化跟踪线程中的相机位姿(纯运动BA),在局部建图线程中优化一个局部窗口内的关键帧和地图点(局部BA),并在闭环矫正后优化所有关键帧和地图点(全局BA)。我们使用g2o[19]中实现的Levenberg–Marquardt方法。

仅运动BA优化相机旋转R∈SO(3)R \in SO(3)R∈SO(3)和位置t∈R3t \in \mathbb{R}^3t∈R3来最小化匹配好的世界坐标系下的3D点Xi∈R3X_i \in \mathbb{R}^3Xi​∈R3和关键点x(⋅)ix_{(\cdot)}^ix(⋅)i​,可以是单目xmi∈R2x_m^i \in \mathbb{R}^2xmi​∈R2或双目xsi∈R3x_s^i \in \mathbb{R}^3xsi​∈R3之间的重投影误差,其中i∈χi \in \chii∈χ是所有匹配项的集合:

{R,t}=arg min⁡R,t∑i∈χρ(∣∣x(⋅)i−π(⋅)(RXi+t)∣∣Σ2)(2)\{R,t\} = \argmin_{R,t}{\sum_{i \in \chi}{\rho(||x_{(\cdot)}^i-\pi_{(\cdot)}(RX^i+t)||_{\Sigma}^2)}} \tag{2}{R,t}=R,targmin​i∈χ∑​ρ(∣∣x(⋅)i​−π(⋅)​(RXi+t)∣∣Σ2​)(2)

其中ρ\rhoρ是鲁棒Huber代价函数,Σ\SigmaΣ是与关键点尺度相关的协方差矩阵。投影函数π(⋅)\pi_{(\cdot)}π(⋅)​、单目πm\pi_mπm​和校正后双目πs\pi_sπs​的定义如下:

πm([XYZ])=[fxXZ+cxfyYZ+cy],πs([XYZ])=[fxXZ+cxfyYZ+cyfxX−bZ+cx](3)\pi_m \begin{pmatrix}\begin{bmatrix} X \\ Y\\ Z\end{bmatrix}\end{pmatrix}=\begin{bmatrix} f_x\frac{X}{Z}+c_x \\ f_y \frac{Y}{Z} + c_y \end{bmatrix},\pi_s \begin{pmatrix}\begin{bmatrix} X \\ Y\\ Z\end{bmatrix}\end{pmatrix}=\begin{bmatrix} f_x\frac{X}{Z}+c_x \\ f_y \frac{Y}{Z} + c_y \\ f_x \frac{X-b}{Z} + c_x \end{bmatrix} \tag{3}πm​⎝⎛​⎣⎡​XYZ​⎦⎤​​⎠⎞​=[fx​ZX​+cx​fy​ZY​+cy​​],πs​⎝⎛​⎣⎡​XYZ​⎦⎤​​⎠⎞​=⎣⎡​fx​ZX​+cx​fy​ZY​+cy​fx​ZX−b​+cx​​⎦⎤​(3)

式中,(fx,fy)(f_x,f_y)(fx​,fy​)是焦距,(cx,cy)(c_x,c_y)(cx​,cy​)是主点,bbb是基线,所有这些都是通过标定已知的。

局部BA优化一组共视关键帧KL\mathcal{K}_LKL​和在这些关键帧中看到的所有点PL\mathcal{P}_LPL​。所有其他关键帧KF\mathcal{K}_FKF​(不在KL\mathcal{K}_LKL​中,但可以观测到点PL\mathcal{P}_LPL​)对代价函数有贡献,但在优化中保持不变。将χk\chi_kχk​定义为PL\mathcal{P}_LPL​中的点与关键帧kkk中的关键点之间的匹配集合,优化问题定义如下:

{Xi,Rl,tl∣i∈PL,l∈KL}=arg min⁡Xi,Rl,tl∑k∈KL∪∑j∈χkρ(Ekj)Ekj=∣∣x(⋅)j−π(⋅)(RkXj+tk)∣∣Σ2(4)\{X^i,R_l,t_l|i \in \mathcal{P}_L,l \in \mathcal{K}_L\}=\argmin_{X^i,R_l,t_l}{\sum_{k\in\mathcal{K}_L \cup} \sum_{j \in \chi_k}\rho(E_{kj})} \\E_{kj}=||x_{(\cdot)}^j-\pi_{(\cdot)}(R_kX^j + t_k)||^2_{\Sigma} \tag{4}{Xi,Rl​,tl​∣i∈PL​,l∈KL​}=Xi,Rl​,tl​argmin​k∈KL​∪∑​j∈χk​∑​ρ(Ekj​)Ekj​=∣∣x(⋅)j​−π(⋅)​(Rk​Xj+tk​)∣∣Σ2​(4)

全局BA是局部BA的特定情况,在全局BA中,地图中的所有关键帧和点都会进行优化,除了固定原点关键帧以消除量测自由度。

D. 闭环矫正和全局BA

闭环矫正分两步进行,首先检测并验证闭环,然后对闭环进行校正并优化位姿图。与可能发生尺度漂移[20]的单目ORB-SLAM相比,双目/深度信息使尺度可观,几何验证和位姿图优化不再需要处理尺度漂移,并且闭环矫正基于刚体变换而不是相似变换。

在ORB-SLAM2中,在位姿图优化之后加入了一个完整的BA优化,以获得最优解。这种优化可能非常昂贵,因此选择在一个单独的线程中执行它,在执行的同时允许系统继续创建地图和检测闭环。然而,这带来了将BA输出与地图的当前状态合并的挑战。如果在优化运行时检测到新的闭环,将会中止优化并矫正该闭环,这将再次启动完整的BA的优化。当完整BA完成时,需要将更新后的子关键帧和由完整BA优化的点与未更新的关键帧和优化运行时插入的地图点合并。这是通过生成树将更新的关键帧的校正传播到非更新的关键帧来实现的。未更新的点根据应用于其参考关键帧的校正进行变换。

E. 关键帧插入

ORB-SLAM2遵循单目ORBSLAM中引入的策略,即经常插入关键帧,之后剔除冗余的关键帧。近和远双目点之间的区别允许我们为关键帧插入引入一个新的条件,这在场景的很大一部分远离双目传感器的挑战性环境中非常关键,如图3所示。

在这种环境中,我们需要有足够数量的近点来准确地估计平移,因此如果被跟踪的近点的数量降到τt\tau_tτt​以下,并且这一帧至少可以创造τc\tau_cτc​个新的近点,系统将插入一个新的关键帧。根据经验,我们发现τt=100\tau_t=100τt​=100和=70=70=70在我们的所有实验中都很有效。

F. 纯定位模式

我们提出了一种纯定位模式,可用于在已经良好建图的区域进行轻量级的长期定位,只要环境没有明显变化。在这种模式下,局部建图和闭环矫正线程将被禁用,如果需要,相机将通过在需要的时候使用重定位的跟踪线程来持续定位。在这种模式下,跟踪线程利用视觉里程计匹配和地图点匹配。视觉里程匹配是指当前帧中的ORB特征点与前一帧中根据双目/深度信息创建的3D点之间的匹配。这些匹配使得定位对未建图区域具有鲁棒性,但漂移误差会被累积。地图点匹配确保对已经存在的地图进行无累积漂移误差的定位。此模式在随附的视频中演示。

IV. 评估

我们在三个流行数据集中评估了ORB-SLAM2,并与其他最先进的SLAM系统进行了比较,始终使用原始作者发布的结果和文献中的标准评估指标。我们在Intel Core i7-4790台式计算机上运行了ORB-SLAM2,该计算机具有16Gb RAM。为了考虑多线程系统的不确定性,我们将每个序列运行5次,并显示估计轨迹精度的中间结果。我们的开源实现包括在所有这些数据集中运行系统的标定文件和说明。

A. KITTI数据集

KITTI数据集[2]包含在城市和公路环境中从汽车记录的双目序列。双目传感器有一个54cm的基线,工作频率为10Hz,校正后分辨率为1240×376像素。序列00、02、05、06、07和09包含闭环。我们的ORB-SLAM2检测所有闭环,并且能够在之后重用其地图,除了序列09,其中闭环发生在序列末尾的极少数帧中。表一显示了11个具有公开的地面真值的训练序列与最先进的双目LSD-SLAM[11]相比的结果,据我们所知,只有SLAM显示了所有序列的详细结果。我们使用了两种不同的度量,即[3]中提出的绝对平移RMSEtabsRMSE_{t_{abs}}RMSEtabs​​,以及[2]中提出的平均相对平移trelt_{rel}trel​和旋转rrelr_{rel}rrel​误差。在大多数序列中,我们的系统的性能优于双目LSD-SLAM,并且通常相对误差一般低于1%。序列01(见图3)是训练集中唯一的公路序列,平移误差稍差。在这个序列中,平移更难估计,因为由于高速和低帧率,可以跟踪的近点很少。然而,旋转可以准确估计,每100米误差为0.21度,因为有许多远点可以被长期跟踪。图4显示了估计轨迹的一些示例。


与[1]中给出的单目结果相比,提出的双目版本能够处理单目系统失败的序列01。在该高速公路序列中,见图3,仅在少数帧中可以看到近点。双目版本仅从一个双目关键帧创建点而不是单目视觉的延迟初始化(包括查找两个关键帧之间的匹配)的能力,在该序列中对于不丢失跟踪至关重要。此外,双目系统使用公制尺度估计地图和轨迹,并且不会受到尺度漂移的影响,如图5所示。

B. Ruroc数据集

最近的EuRoC数据集[21]包含11个双目序列,这些序列是由微型飞行器(MAV)在两个不同的房间和一个大型工业环境中飞行记录的。双目传感器有一个11cm的基线,提供20Hz的WVGA图像。根据MAV的速度、照明和场景纹理,将序列分为简单、中等和困难三类。在所有序列中,MAV都会重新访问环境,ORB-SLAM2能够重用其地图,在必要时进行闭环矫正。表II显示了所有序列中ORB-SLAM2相对于双目LSD-SLAM(如[11]所示)的绝对平移RMSE。ORB-SLAM2的定位精度为几厘米,比双目LSD-SLAM更精确。由于严重的运动模糊,我们的跟踪在V2_03_difficult的某些部分丢失。如[22]所示,可以使用IMU信息处理该序列。图6显示了与地面真值相比的计算轨迹示例。

C. TUM RGB-D数据集

TUM RGB-D数据集[3]包含来自RGB-D传感器的室内序列,这些传感器分为几个类别,用于评估不同纹理、照明和结构条件下的物体重建和SLAM/里程计方法。我们在大部分RGB-D方法通常评估的一些子序列中展示了结果。在表III中,我们将我们的精确度与以下最先进的方法进行了比较:ElasticFusion[15]、Kintinous[12]、DVO-SLAM[14]和RGB-D SLAM[13]。我们的方法是唯一一种基于BA的方法,在大多数序列中都优于其他方法。正如我们在[1]中已经注意到的RGB-D SLAM结果,freiburg2序列的深度图有4%的尺度偏差,可能来自标定错误,我们已经在运行中进行了补偿,可以部分解释我们显著更好的结果。图7显示了从计算的关键帧位姿对四个序列的深度图进行反向投影而产生的点云。桌子和海报的良好清晰度和直线轮廓证明了我们方法的高的精度定位。

D. 计时结果

为了完成对提出的系统的评估,我们在表IV中给出了三个具有不同图像分辨率和传感器的序列的计时结果。显示了每个线程任务的平均值和两个标准偏差范围。由于这些序列包含一个单闭环,全局BA和闭环矫正线程的一些任务只执行一次,并且只展示一次时间测量值。每帧的平均跟踪时间低于每个序列的相机帧率的倒数,这意味着我们的系统能够实时工作。由于双目图像中的ORB提取是并行的,可以看出,在V2_02的双目WVGA图像中提取1000个ORB特征与在fr3_office的单个VGA图像通道中提取相同数量的特征的时间类似。

闭环中的关键帧数显示为与闭环矫正相关的时间的参考。虽然KITTI 07中的闭环包含更多关键帧,但为室内fr3_office构建的共视图更密集,因此闭环融合、位姿图优化和全局BA任务的成本更高。共视图的密度越高,局部地图包含的关键帧和点就越多,因此局部建图跟踪和局部BA的耗费也就越昂贵。

V. 结论

我们为单目、双目和RGB-D传感器提供了一个完整的SLAM系统,能够在标准CPU上实时执行重定位、闭环矫正和地图重用。我们专注于构建全局一致的地图,以便在广泛的环境中进行可靠和长期的定位,如实验所示。提出的具有重定位能力的纯定位模式为已知环境的情况下提供了一种非常鲁棒、零漂移和轻量化的定位方法。此模式可用于某些应用程序,例如在建图良好的空间中跟踪虚拟现实中的用户视角。

与最先进技术的比较表明,ORBSLAM2在大多数情况下达到了最高的精度。在KITTI视觉里程计基准中,ORB-SLAM2是目前最好的双目SLAM解决方案。关键的是,与近年来蓬勃发展的双目视觉里程计方法相比,ORB-SLAM2在已建图的区域实现了零漂移定位。

令人惊讶的是,我们的RGB-D结果表明,如果需要最精确的相机,BA的性能优于直接法或ICP,其额外优势是计算成本较低,不需要GPU就可以实时运行。

我们已经发布了我们系统的源代码,以及示例和说明,以便其他研究人员可以轻松使用。据我们所知,ORB-SLAM2是第一个可以使用单目、双目和RGB-D输入的开源视觉SLAM系统。此外,我们的源代码还包含一个增强现实应用程序的示例,该应用程序使用单目相机来展示我们解决方案的潜力。

例如,未来的扩展可能包括兼容无重叠区域的多相机鱼眼或者广角相机、大规模稠密建图、协同建图或增强运动模糊情况下的鲁棒性。

ORBSLAM2论文翻译相关推荐

  1. ORB-SLAM2 论文翻译

    https://ug98gs7tbw.feishu.cn/docs/doccnKKOWAjkKv7AzAiEvbnM3Tf

  2. DM-VIO论文翻译

    简介 DM-VIO: Delayed Marginalization Visual-Inertial Odometry DM-VIO: 延迟边缘化惯性视觉里程计 花了两天时间捏着鼻子把这篇论文翻译完了 ...

  3. Spatial As Deep: Spatial CNN for Traffic Scene Understanding论文翻译

    Spatial As Deep: Spatial CNN for Traffic Scene Understanding论文翻译 Abstract摘要 Convolutional neural net ...

  4. 论文翻译_论文翻译的注意事项有什么?

    针对不同题材的文稿有不同的翻译标准,论文翻译是比较严谨的一种翻译类型,下面小编给大家分享论文翻译的注意事项有什么? 注意"从一而终" 所有的论文,在权威平台上发布的时候都必须译为英 ...

  5. 转:经典论文翻译导读之《Google File System》

    首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 Java小组 工具资源 - 导航条 -首页所有文章资讯Web架构基础技术书籍教程Java小组工具资源 经典论文翻译导读之<Google ...

  6. 论文翻译_做论文翻译需要知道哪些翻译技巧?知行翻译:这3个技巧

    论文,在古代是指交谈辞章或交流思想.而现代常用来指进行各个学术领域的研究和描述学术研究成果的文章.论文不仅是探讨问题进行学术研究的一种手段,也是描述学术研究成果进行学术交流的一种工具.常见的种类包括学 ...

  7. php 谷歌翻译api_科研福音,论文翻译神器系列!

    参考文献很大程度上反映了一篇论文的水平.对于研究生来说,自己动手写论文前的第一步工作就是阅读大量高水平.前沿的文献,而这些论文大多是英文写就. 人工翻译一般比较耗时且需要扎实的语言功底,对于初学者来说 ...

  8. Arcface v1 论文翻译与解读

    神罗Noctis 2019-10-13 16:14:39  543  收藏 4 展开 论文地址:http://arxiv.org/pdf/1801.07698v1.pdf 最新版本v3的论文翻译:Ar ...

  9. 【转】分布式一致性算法:Raft 算法(Raft 论文翻译)

    编者按:这篇文章来自简书的一个位博主Jeffbond,读了好几遍,翻译的质量比较高,原文链接:分布式一致性算法:Raft 算法(Raft 论文翻译),版权一切归原译者. 同时,第6部分的集群成员变更读 ...

最新文章

  1. 诺奖得主克鲁格曼:比特币是庞氏骗局,但不一定很快走向崩溃
  2. python语言自学-python语言系统学习(四)
  3. Python——接口开发
  4. SAP UI5 footerbar按钮高亮实现逻辑
  5. traceping是什么意思_trace命令是什么意思?
  6. C 运算符中不能重载的是哪些
  7. esxi usb插口_酷暑大作战 | USB-C风扇新体验
  8. 由〈非你莫属〉想到与客户的沟通
  9. Linux学习笔记009---Centos7安装vim ifconfig wget tree等基础命令
  10. Facebook 在西雅图和匹兹堡建立新AI实验室,业界担心大学人才争夺战烽火再起...
  11. java反射 泛型类型_【译】9. Java反射——泛型
  12. 软考-程序员-知识点汇总
  13. 【算法】格雷码(Gray Code)与8421二进制码之间的转换算法 (LeetCode89)
  14. latex中文小标题_latex定制标题样式
  15. 请问什么是AIX 5L的PTF?
  16. Elasticsearch: 运用 Pinned query 来提高文档的排名 (7.5发行版新功能)
  17. 一文搞懂什么是遗传算法Genetic Algorithm【附应用举例】
  18. veins车载通信仿真框架(3)--OMNET++基础
  19. 李小龙:超人是这样练成的
  20. pycharm连接mysql5.7

热门文章

  1. 2023-03-06
  2. Ubuntu18.04将QT应用设计为开机自启
  3. 长江商学院营销学李洋教授分析大数据与精准营销
  4. ElasticSearch基础介绍:5:可视化工具之cerebro
  5. 微信小程序与卡券功能小结
  6. LT7911D功能概述 LT7911D是Type-C/DP1.2转双路MIPI/Lvds的一款芯片
  7. 脑机接口-常用的MATLAB函数
  8. c++ 小游戏 NO6 跑酷游戏
  9. QT控件最上层或最下层显示
  10. 《第一行代码》总结之UI、碎片(二)