软件工程应用与实践第十篇

ORB-SLAM3 地图管理相关理解

2021SC@SDUSC


前言

ORB-SLAM3中的地图管理是在ORB-SLAM1和2的基础上进行改进的,要了解他的地图管理,需要查看之前两个的相关资料,对它们进行融合总结。


一、概述

ORB-SLAM3能够在长时间视觉信息不佳的情况下存活下来的原因,是因为它有一个依赖高召回率的位置识别算法多地图系统,当它丢失时,它会启动一个新的地图,并在重新访问之前的地图时无缝地与之前的地图合并。它与视觉里程计相比,能够更大程度的重用之前的信息。具体内容会在下面提到。

二、地图管理

1.重定位

ORB-SLAM3在重定位的策略上做了一些改进。为了保证重定位不出错,重定位常常设置了严苛的条件,保证高精准率而识别率较低。在ORB-SLAM1和ORB-SLAM2中,在三个关键帧匹配上后则认为重定位成功,由于要判断三个关键帧需要花较多时间,于是改进为:当当前关键帧与数据库的关键帧匹配上后,检测与当前关键帧具有共视关系的关键帧是否也能够匹配,如果可以则判定为重定位成功;否则才继续使用接下来的关键帧进行判定。(共视关系指:如果两个位姿的关键帧拍摄到的相同关键点的数量达到一定值,则认为两个关键帧具有共视关系)

2.地图融合

在了解地图融合之前,要先了解ORB-Atlas的相关知识。在之前的篇章中提到过Atlas地图集,即管理着一系列的子地图,这些子地图共用同一个DBoW数据库。
活动地图与非活动地图:当相机在正常跟踪状态,所生成关键帧所在的地图称为“活动地图”。如果跟踪失败,首先将进行重定位操作寻找地图集中对应的关键帧,如果依旧失败,则重新创建一个新的地图。此时旧的地图变成了“非活动地图”,新的地图作为活动地图继续进行跟踪与建图过程。在跟踪过程中,当前相机必然是位于活动地图当中,可能存在零或多个子地图。
回环与地图融合:在插入关键帧时,会与完整地图的DboW数据库进行匹配。如果发现了相同的场景,且两个关键帧同时位于活动地图,则意味着发生了回环,便按照回环的方式进行融合处理;如果匹配上的关键帧位于非活动地图,则需要将两个子地图进行拼接,及ORB-Atlas的地图融合,即当前活跃的地图吞并对应的非活跃地图,同时会通过一些步骤将非活跃地图上的信息补充到活跃地图上,有以下几个步骤:
·检测:检测出之前匹配的两个关键帧,并获取两个子地图当中与匹配上的两个关键帧具有共视关系的关键点和关键帧
·位姿计算:主要是通过计算关键帧的变换关系,将其他帧利用该关系进行映射
·地图点合并:将被吞并地图的关键点变换到当前关键帧位姿下,融合重复的地图点。之后将两个地图的关键帧融合
·衔接区域的局部BA优化
·完整地图的位姿图优化
在ORB-SLAM3中对融合的区域起了一个新的名字叫做“衔接窗口”

3.闭环检测

在上面的地图融合中已有所提及,闭环检测不仅在当前地图中进行,还会在以前的地图中检测。如果是在当前地图中检测到了回环,则进行回环矫正;如果是在以前的地图中检测到了回环,则在回环处进行地图的融合,并矫正融合地图中所有的关键帧位姿和地图点。


参考资料:一文详解ORB-SLAM3中的地图管理 来自3D视觉工坊

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值