ORBSLAM-Atlas: a robust and accurate multi-map system
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORBSLAM-Atlas: a robust and accurate multi-map system相关的知识,希望对你有一定的参考价值。
摘要-我们提出ORBSLAM-Atlas,该系统能够处理无限制的非连接的子图的数量,其包括一个鲁棒的地图合并算法能够检测子图之间的公共区域并无缝融合他们。ORBSLAM算法杰出的鲁棒性和精确性由于能够检测宽基线匹配在关键帧之间,以及能够利用他们通过非线性优化的方法,然而,它只能够处理一张地图。ORBSLAM Atlas为多地图领域带来了广泛的基线匹配检测和开发。结果是一个SLAM系统更通用和鲁棒,能够执行多阶段的构图。如果跟踪丢失在探索期间不是冻结地图,而是一个新的子图被启动,它可以用之前的地图融合当有相同部分被访问到时。我们的标准是宣布相机失去了与之前简单计算跟踪点数量的方法的对比度,我们建议丢弃由于糟糕的几何条件导致的不准确估计的相机姿态。结果就是,地图被分割成更精确的子图,最后以更精确的全局地图方式合并,多亏多建图的能力。
我们在EuRoC数据集上提供了广泛的实验验证,ORBSLAM-Atlas能够获得精确的单目和双目效果在较难的数据集上ORBSLAM是失败的。我们也建立全局一致的地图,在同一个房间进行多次建图后,获得迄今为止最好的结果,比竞争的多地图方法准确2到3倍。我们也证明我们系统的鲁棒性和可扩展性对于处理动态环境,在EuRoC数据集中进行定量分析,在人员密集的走廊中相机被遮挡以及跟踪经常丢失环境下进行定性分析。
1、介绍
、、、
主要贡献:
a、一个多地图表示,称之为atlas,其处理无限数量的子图。这个atlas有一个唯一的DBoWs的关键帧数据库用于所有的子图,这使得有效的多地图场景识别。
b、用于所有多建图操作的算法:新地图创建,在多地图中的重定位,地图融合。 我们已经设计了如何交织基本建图阶段,以稳健、准确和高效地执行多建图操作。系统所有的部分中, 与地图合并过程相关的是,该过程将两个地图与一个公共区域无缝融合。在融合之后,这两个正在融合的地图由一个新的融合的地图替换。我们提出在跟踪丢失之后一个新地图的创建。它防止了在探索轨迹中失败,重定位不能恢复相机跟踪丢失。
c、在较差的相机位姿的情况下,一个新的声明跟踪丢失的标准。能够防止在回环中错误的位姿图优化,回环中包含了更高的不确定的相机位姿。
II、相关工作
在文献当中,多地图能力被研究作为合作建图系统的一个部分。协作代理最终将帧发送到执行多个建图操作的中央服务器。Foster等人在论文[9]中首次提出这个分布结构。在他们的方法发中,代理发送帧到全局服务器,然而,他们不会从服务器获得信息来改善他们的局部地图。第一个具有双向信息流,即从代理到服务器,和从服务器到代理的C2TAM,其是PTAM到RGB-D传感器的扩展能够处理多个地图在多个机器人上。Morrison在文章[12]中研究一个鲁棒的无状态的客户端-服务器的结构用于合作的多SLAM设备。他们主要关注点是软件结构,没有汇报精度结果。由文章[13]等人的最近工作提出CCM-SLAM,一个分布式的多地图用于多无人机,具有双向信息流,构建在ORBSLAM基础之上。我们的系统与他们的中央服务器接近,因为二者都是建立在相似的建图阶段。他们关注在客服有限的带宽的挑战以及在单目例子汇总的分布式处理,然而我们的关注点是建立一个精确的全局地图。根据他们的实验报告,我们的系统在单目例子中比他们差不多3倍的精度。并且,我们的系统显示了鲁棒性,精确处理了所有的EuRoC数据集在双目和单目上。
最近的ORB-SLAMM也提出了ORBSLAM2的扩展用于处理多地图在单目的例子中。他们整合了多地图不是很紧凑相比我们的,因为他们的子图保持相对独立,每一个有他们的DBoW2数据集。另外,他们的合并操作在子图间计算一个连接,但是没有用合并的来替换子图。
我们也比较了VINS-Mono在多建图阶段在Machine Hall EuRoC数据集中。VINS-Mono是一个视觉里程计系统,其回环纠正用位姿图优化来估计。正如ORBSLAM-Atlas能够检测和处理大量的并行观测用BA,他们的独立地图是2倍的精度高于VINS-Mono。ORB-SLAM-Atlas多阶段的全局地图保持两倍高精度相对于VINS-Mono的全局地图,因为多亏地图的合并,它能够检测并从高视差匹配中获利,在多地图和多阶段建图的例子。
增加鲁棒性到跟踪丢失的想法在探索过程中通过地图创建和融合的想法首先由Ead[16]用滤波的方法实现。基于第一帧的多地图系统在[17]中被提出,他们提出了一个非连接的地图想法,然而,地图的初始化是手动的,系统不能合并或者将不同的子图关联。在滤波的EKF-SLAM方法中,协方差很容易利用,通过匹配次数阈值和低摄像机定位误差协方差的双重标准,宣布摄像机丢失[18]。在关键帧方法中,标准被减少到匹配的数量因为协方差没有被计算。我们提出恢复双重标准,其具有摄像机姿态协方差的低成本代理,该代理来自仅摄像机姿态优化的黑森(Hessian)。这种近似协方差最近在[19]中被用于主动感知。
III、ORB-SLAM ATLAS 多地图表示
我们用atlas来表示多地图,用map来表示子图,下面详细讨论atlas结构和他们的标准来决定何时一个新的子图被创建。
A、多地图表示
图1,atlas由一个虚拟的无限制的地图数量,每一个地图有它自己的关键帧,地图点,共视图以及生成树组成。每一个地图的参考系是固定的,在它的第一个相机中,正如ORBSLAM中一样,它与其他地图独立。输入的视频只在atlas中一个地图中更新,我们称之为活跃地图,我们将剩余的地图称作不活跃的地图。atlas也包含一个唯一的用于所有地图的DBoW2识别数据库,该数据库存储所有识别地图中任一关键帧的信息。
我们的系统有一个单一的地点识别阶段来检测共同的地图区域,如果它们都在活动地图中,它们对应于一个循环闭合,而如果它们在不同的地图中,则它们对应于地图合并。
B、新地图创建标准
当相机跟踪被认为丢失时,我们试图在atlas中重定位。如果用一些帧重定位不成功,那么活跃地图变成非活跃地图且存储在atlas中。之后,一个新的地图初始化被启动根据[2]和[1]中描述的算法。
为了决定是否相机在轨迹上,我们启发式地提出两个标准必须被完成,否则相机被认为丢失:
a)匹配的特征数量:在局部地图中的点与当前帧之间匹配的数量高于预先定义的阈值。
b)相机位姿可观测能力:如果探测到的点的几何条件是较差的,那么相机位姿不会可观测,相机定位估计不会精确。
图2是来自于[20]数据集的一个例子,共视标准的使用,联合多个建图得到一个巨大提升在建图精度上。
在图片中,有超过阈值的点被匹配,然而,它们对应于遥远的地图点,因此相机平移估计不准确。没有可观测能力的标准,由位姿图优化计算的回环纠正是不精确的,因为在回环中包含的相对平移不精确。然而如果可观测能力标准被使用,哪些不确定的关键帧从地图中移除,地图被打散但是ORBSLAM-Atlas能够在一个精确的全局地图中合并所有子图。
C、相机位姿的可观测能力
从相机位姿的误差协方差中我们估计出可观测能力。我们假设地图点被完美的估计,因为实时操作对于每一帧的地图点不能计算协方差。观测信息矩阵Ω i,j,表示观测的不确定性,x i,j,在相机i中地图点j。它与检测到图像FAST点的图像分辨率比例成比例调整。用mi点估计的相机i的不确定性,mi是相机i中与地图点匹配的数量。
D、在多个地图中重定位
如果相机跟踪丢失,我们使用当前帧来查询atlas的DBoW数据库。这个单一的查询能够找到地图中更多相似关键帧。一旦我们有候选的关键帧,地图,假定的匹配映射点,我们就执行重定位[1],期首先由PnP和RANSAC阶段来鲁棒的估计相机位姿,之后进行一个有引导的匹配,最后执行一个只优化相机位姿的非线性优化。
IV 无缝地图合并
我们使用ORBSLAM的位置识别模块来检测地图合并。它对由共视图连接的三个关键帧执行重复位置识别,以减少误报风险。并且,在地图合并阶段,活跃地图会吞并其他有共同区域的地图。一旦合并完成,合并的地图完全替换了之前的两个地图。当有必要的时候,我们使用a,s以及m作为下标来表示活跃的,被吞并的,以及合并的地图。
1)在两个地图间检测共同区域。位置识别提供了两个匹配的关键帧,Ka和Ks以及在两个地图Ma和Ms认定的匹配。
2)对齐变换的估计。在双目中是SE(3)刚体变换,在单目中是相似性变换Sim(3),将两个合并的地图的世界坐标系对齐。用RANSAC来计算初始估计,从Ma和Ms中匹配的地图点。将估计的变换应用到Ks来做一个引导的匹配阶段,我们在Ks中匹配点Ma,最终估计TWa,Ws由重投影误差的非线性优化。
3)组合合并的地图。我们使用TWa,Ws到所有的关键帧和Ms中的地图点。然后检测重复的地图点并融合他们,在Ms和Ma中共同观测到的地图点。之后,我们组合所有的Ms和Ma关键帧和地图点进入Mm。并且,我们融合Ms和Ma的生成树和共视图进一个Mm的生成树和共视图。
4)在连接区域的局部BA。它包括根据Mm共视图的所有具有共视Ka的关键帧。为了固定量规自由度,在M a中固定的关键帧在局部BA中保持固定,而其余关键帧在非线性优化期间设置为自由移动。我们应用第二个重复点检测和融合阶段来更新Mm共视图。
5)位姿图优化。最后,我们启动一个Mm的位姿图优化。
合并过程在一个与跟踪线程并行的线程中运行,有时候一个全局的BA线程(图1)在开始合并之前,局部的建图线程停止避免了在atlas中额外的新帧添加。如果一个全局的BA线程在运行,它也会停止,因为BA正在运行的生成树将被更改。跟踪线程保持运行在旧的活跃地图上来保持实时操作。一旦地图合并完成。我们会重新开始局部建图线程。如果结束,全局BA被重新启动来处理新的数据。
VI、结论
我们提出ORBSLAM-Atlas的一个多地图系统能够将单一地图的ORB-SLAM的杰出质量带入到多地图领域。它不仅能够鲁棒的检测宽基线匹配而且在随后的非线性优化中产生精确的相机和地图估计。产生的多地图系统是更鲁棒的,因为它能够在探索轨迹丢失中自救回来,并且更通常的是,因为它能自然的处理多个阶段的操作。
在EuRoC数据集中实验证明ORBSLAM-Atlas可以得出最佳的结果对于一个全局地图在多个阶段之后,对于使用纯单眼视觉的EuRoC困难数据集中的覆盖率和误差。此外,该系统在处理动态场景方面证明了出色的鲁棒性。
以上是关于ORBSLAM-Atlas: a robust and accurate multi-map system的主要内容,如果未能解决你的问题,请参考以下文章
Towards a Robust Deep Neural Network in Text Domain A Survey
Robust detection of alternative splicing in a population of single cells
视觉SLAMDXSLAM: A Robust and Efficient Visual SLAM System with Deep Features
视觉SLAMDXSLAM: A Robust and Efficient Visual SLAM System with Deep Features
预训练语言模型RoBERTa: A Robustly Optimized BERT Pretraining Approach
预训练语言模型RoBERTa: A Robustly Optimized BERT Pretraining Approach