ORB-SLAM3论文(四)

ORB-SLAM3论文(四)

一、MAP MERGING AND LOOP CLOSING(地图融合和回环闭合)

tracking和mapping线程通过将地图点投影到估计的相机位姿中,并在附近几个像素的图像窗口中搜索匹配项,以此来找到帧和活动地图之间的短期和中期的数据关联。为了实现定位和回环检测的长期数据关联,ORB-SLAM使用DBoW2词袋位置识别系统。DBoW2用它们的词袋向量建立一个关键帧数据库,并且给定一个查询图像能够根据它们的词包高效地提供最相似的关键帧。

本文提出了一种新的具有改进召回率的位置识别算法,用于长期和多地图数据关联。每当建图线程创建一个新的关键帧时,就会启动位置识别,尝试检测与地图集中已经存在的任何关键帧的匹配。如果找到的匹配的关键帧属于活动地图,则执行回环闭合。否则,它是一个多地图数据关联,然后合并活动地图和匹配地图。另外的创新点在于,一旦新的关键帧和匹配映射之间的相对姿态被估计出来,我们定义一个local window(局部窗口),其中包含匹配的关键帧及其在共视图中的邻域。在这个窗口中,我们集中搜索中期数据关联,提高了循环闭合和地图合并的精度。

(一)Place Recognition(位置识别)

为了获得较高的召回率,对于每个新的活动关键帧,本系统在DBoW2数据库中查询Atlas中的几个相似的关键帧。为了达到100%的精度,每个候选关键帧都要经过几个步骤的几何验证。所有几何验证步骤的基本操作是检查图像窗口内是否存在其描述符与映射点的ORB描述符匹配的ORB特征点,并使用它们之间的Hamming距离阈值。如果在搜索窗口中有多个候选项,为了丢弃不明确的匹配项,我们检查与第二个最近匹配项的距离比。我们的位置识别算法的步骤是:

1、DBoW2候选关键帧

我们用活动关键帧Ka检索地图集DBoW2数据库中三个最相似的关键帧,排除与Ka共视的关键帧。我们将位置识别每个匹配的候选关键帧称为Km。

2、Local window(局部窗口)

对于每一个Km,我们定义一个局部窗口,其中包括Km、它的最佳共视关键帧以及它们所观察到的地图点。DBoW2直接索引提供了Ka中的特征点和本地窗口关键帧之间的一组假定匹配。对于每一个2D-2D匹配,我们也可以在它们对应的地图点之间进行3D-3D匹配。

3、3D aligning transformation(三维对齐变换)

我们使用RANSAC计算变换Tam,使Km局部窗口中的地图点与Ka的地图点对齐。

在纯单目或者单目惯性中,地图还不成熟时,我们计算Tam∈Sim(3),或者Tam∈SE(3)。在这两种情况下,我们使用Horn算法【1】,使用三个3D-3D匹配的最小集合来找到Tam的每个假设。某个假设中,通过Tam对Ka中的地图点进行变换后,如果在Ka中实现一个重投影误差低于某个阈值,则记为肯定。票数高于设定阈值前提下,选择票数较多的假设。

4、Guided matching refinement(引导匹配精细化)

局部窗口中的所有地图点都用Tam进行变换,以找到与Ka中的关键点更多的匹配。当然,搜索也会反转,在本地窗口的所有关键帧中查找Ka地图点的匹配项。利用找到的所有匹配,采用非线性优化方法对Tam进行优化,优化目标函数为双向重射误差,利用鲁棒核函数对伪匹配提供鲁棒性。如果优化后的inliner数超过一个阈值,则使用较小的图像搜索窗口启动引导匹配和非线性优化的第二次迭代。

5、Verification in three covisible keyframes(在三个共视关键帧中验证)

为避免误匹配,DBoW2等待位置识别在三个连续的关键帧中触发,从而延迟或丢失位置识别。**本文关键观点:**验证所需的信息已经在地图上了。为验证位置识别,ORB-SLAM3在active map中寻找两个Ka的共视关键帧,其中与局部窗口中的点的匹配数量超过了一个阈值。如果未找到,则使用新传入的关键帧进行验证。直到三个关键帧验证Tam,或者两个连续的新关键帧无法验证Tam。

6、VI Gravity direction verification(重力方向验证)

在视觉惯性融合时,如果活动地图成熟了,我们估计了Tam∈SE(3)。我们进一步检查(pitch and roll)俯仰角和横摇角是否低于阈值,以确定是否接受位置识别假设。

(二)Visual Map Merging(视觉地图合并)

如果位置识别成功,产生了多地图数据关联,在活动地图Ma中的关键帧Ka和地图集中的不同地图中的匹配关键帧Mm之间,使用对齐变换Tam进行地图合并操作。**(需要确保Mm中的信息能被tracking线程及时调用,避免地图重复)**因此,作者建议将Ma引入Mm坐标系,并且Ma中信息较多,故分为两步:首先,合并在Ka和Km邻域中的welding window中进行,然后通过位姿图优化将修正量传播到合并后的其余部分。

1、 Welding window assembly(融合窗口集合)

焊接窗口包括Ka及其共视关键帧、Km及其共视关键帧以及它们观察到的所有地图点。在将它们包含在焊接窗口中之前,属于Ma的关键帧和地图点由变换Tma使它们与Mm对齐。

2、 Merging maps(地图合并)

地图Ma和Mm融合成为新的活动地图。为删除重复点,将在Mm的关键帧中主动搜索匹配项以查找Ma的地图点。对于每对匹配,从Ma中移除点,并且Mm中的点不断累积已移除点的观测值。共视性和本征图通过添加边来更新,这些边将Mm和Ma的关键帧连接到找到的新的中期点关联。

3、Welding bundle adjustment(融合BA)

下图为视觉融合BA的因子图表示:具有重投影误差项(蓝色方块)。

在这里插入图片描述

在融合窗口(图3a)中,执行局部BA优化Ma和Mm中的所有关键帧。为了固定测量自由度,Mm中的共视关键帧保持固定。优化完成后,融合区域中所有关键帧都可以用于摄像机跟踪,实现地图Mm的快速准确复用。

4、Pose-graph optimization(位姿图优化)

在保持融合区域关键帧固定的前提下,利用融合后的整个地图的本征图进行位姿图优化。此优化将修正从融合窗口传播到地图的其余部分。

(三)Visual-Inertial Map Merging(视觉惯性地图合并)

视觉惯性合并算法的步骤与纯视觉情况相似。对步骤1和3进行了修改,以便更好地利用惯性信息:

1、VI welding window assembly(VI融合窗口集合)

如果活动地图成熟,我们在Ma被包含在融合窗口之前应用可用的Tma∈SE(3)来转换Ma。如果活动地图不成熟,我们利用可用的Tma∈Sim(3)对其。

2、VI welding bundle adjustment(VI 融合BA)

下图为VI融合BA的因子图,具有重投影误差项(蓝色方块)、IMU预积分项(黄色方块)和偏差随机游走(紫色方块)。
在这里插入图片描述

活动关键帧Ka及其最后5个关键帧的姿态、速度和偏差都是可优化的。这些变量通过IMU预积分项进行关联。对于地图Mm,我们进行了类似的处理,包括Km及其5个时间邻域的姿态、速度和偏差,如上图所示。对于Mm,包含但固定了紧挨着本地窗口的关键帧;而对于Ma,包含了相似的关键帧,但其姿势仍然是可优化的。所有这些关键帧看到的所有点,以及观察这些点的关键帧姿势也得到优化。所有的关键帧和点通过重投影误差来关联。

(四)Loop Closing(闭合回环)

回环闭合校正算法类似于地图合并,但是位置识别匹配的两个关键帧都是属于活动地图。

首秀是地图点融合:融合窗口由匹配的关键帧组合而成,检测到重复的点进行融合,在共视性和本质图中创建新的关联。

下一步是姿势图优化:将回环校正传播到地图的其余部分。

最后一步是全局BA:在考虑回环闭合的中长期匹配后找到MAP估计。在视觉惯性的情况下,全局BA只在关键帧数目低于阈值的情况下进行,以避免计算过多。

二、实验结果

作者将ORB-SLAM3与其他多项近期研究进行对比,大多数都是ORB-SLAM3占据优势且适应性较强。

(一)Single-session SLAM on EuRoC:

Performance comparison in the EuRoC dataset (RMSE A TE in m., scale error in %). Except where noted, we show results reported by the authors of each system, for all the frames in the trajectory, comparing with the processed GT.
在这里插入图片描述

(二)Visual-Inertial SLAM on TUM-VI Benchmark

TUM VI Benchmark [82]: RMS A TE (m) for regions with available ground-truth data.
在这里插入图片描述

RMSE A TE (m) obtained by ORB-SLAM3 with four sensor configurations in the room sequences, representative of AR/VR scenarios (median of 3 executions).
在这里插入图片描述

Multi-session stereo-inertial result with several sequences from TUM-VI dataset (front, side and top views).
在这里插入图片描述

Multi-session RMS A TE (m) on the EuRoC dataset. V alues of CCM-SLAM and VINS are copied verbatim from their papers. Our values are the median of 5 executions, aligning the trajectories with the processed GT.

在这里插入图片描述

(三)、Multi-session SLAM:

Multi-session stereo-inertial In red, the trajectory estimated after single-session processing of outdoors1. In blue, multi-session processing of magistrale2 first, and then outdoors1.
在这里插入图片描述

三、总结

ORB-SLAM3是一个最完整的可视化、视觉惯性和多会话SLAM的开源库,配备了单目、立体、RGB-D、针孔和鱼眼摄像头。

我们的主要贡献是快速准确的IMU初始化技术和多会话地图合并功能,这些功能依赖于一种新的具有改进召回功能的地点识别技术,使ORB-SLAM3非常适合于长期和大规模的SLAM实际应用。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ORB-SLAM3是一个基于ORB-SLAM2和ORB-SLAM-VI的系统,它可以在纯视觉或者视觉惯导的系统中鲁棒地运行。它支持在单目、双目和RGB-D相机上利用针孔或者鱼眼模型进行SLAM(Simultaneous Localization and Mapping)任务。ORB-SLAM3是对之前版本的改进和扩展,在2015年提出的ORB-SLAM首次引入了特征点描述子ORB(Oriented FAST and Rotated BRIEF),2017年提出的ORB-SLAM2在此基础上进一步改进了定位和地图重建的性能,还引入了闭环检测和重定位功能。ORB-SLAM-VI在ORB-SLAM2的基础上进一步增加了惯性测量单元(IMU)的支持。而ORB-SLAM3则在ORB-SLAM2和ORB-SLAM-VI的基础上进行了更多的改进和优化。具体来说,ORB-SLAM3引入了新的局部地图表示方法,采用了更强大的特征点描述子SuperPoint和更快速的特征点检测器SuperGlue,提升了系统的定位和重建性能。此外,ORB-SLAM3还引入了新的优化方法,提高了系统的鲁棒性和实时性。整体上,ORB-SLAM3在之前版本的基础上进行了多方面的改进和优化,使得系统在各种不同场景和设备上都能更加可靠地进行SLAM任务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [一文详解ORB-SLAM3](https://blog.csdn.net/qq_29462849/article/details/118159468)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [ORB-SLAM3技术详解(1)简介与论文解读](https://blog.csdn.net/hhaowang/article/details/117318737)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值