ORBSLAM3的多地图系统

讲述了ORBSLAM3的多地图系统
摘要由CSDN通过智能技术生成

目录

1.什么是多地图系统

2.多地图的作用和效果

3.多地图系统中创建新地图的标准

4.代码分析-如何新建地图,什么时候新建地图?

5.代码分析-地图合并原理

6.几个线程的关联


1.什么是多地图系统

        多地图(Atlas)系统由一系列不连续的子地图(map)构成,并建立了一个唯一的基于DBoW2的关键帧数据库,子地图之间能够无缝连接,实现重定位、回环检测、位置识别等功能。这些子地图分为两种:活跃的地图和不活跃的地图。

        我们在Tracking、LocalMapping线程中操作的地图都是活跃地图,也就是ORB-SLAM2中的唯一的地图。

        我们在ORB-SLAM3中跟踪跟踪跟踪失败找不回来的时候,SLAM系统会把当前地图保存为非活跃地图,当前地图存起来后我们会新建一个活跃地图。在活跃地图中,当采集到一个新的图像帧时,跟踪线程立即追踪并定位该帧的位姿,如果被选为关键帧,它会在局部建图线程里其他共视关键帧一起不断优化。同一时间只有一个活跃地图。

        在多地图系统中,除当前活跃地图外的其他子地图都会被标记为不活跃地图。

        当相机跟踪失败(跟踪中的LOST)就开始进行重定位,如果过了一段时间重定位仍然失败,则将活跃地图标记为不活跃地图,储存在地图集里。然后,重新初始化并启动一个新地图。(在跟踪线程里面,如果一张地图不满足一定条件:关键帧数量不达标会直接丢掉当前活跃地图不保存)

        如何区别闭环和地图融合?

        在同一个活跃地图的两个关键帧之间:如果检测到公共地图区域的关键帧都来自当前的活跃地图,那么执行闭环操作;如果来自不同的子地图,则执行地图融合。如果同时检测到闭环和融合,执行融合操作,忽略闭环。

        宽基线:

        基线的本意是指立体视觉系统中两摄像机光心之间的距离。宽基线一词用于匹配时,泛指两幅图像有明显不同的情况下的匹配。依据拍摄两幅图像的视点位置关系可将对应点匹配问题分为宽基线(Wide Baseline)和窄基线匹配(Short Baseline)。产生这种情况的原因有可能是摄像机之间的位置相差很大,也有可能由于摄像机旋转或焦距的变化等因素产生的。

        相邻两帧所看到的东西(地图点)应该是差不多的,即重叠度应该是很高的,这个在匹配中可以称之为窄基线;但是如果两帧之间距离比较远的话,即重叠度应该是很低的(存在遮挡,视角变换引起的不同,相机焦距变化,旋转...)

        宽基线匹配和窄基线匹配的分界不是很严格,但是在窄基线匹配中存在如下假设:摄像机焦距及其它内参数变化不大:摄像机位置不会相差很远,不会有大的转动,对应点的邻域是相似的。
        宽基线匹配中则存在如下假设:对图像上的任意点,在另一图像上的对应点可以为任意位置;摄像机可以任意移动,且摄像机的焦距及其它内参数可以有较大的变化;一幅图像上的景物在另一幅图像上可能被遮挡;对应点的邻域有相似的地方,但由于摄像机位置的变化及光照的变化,单依靠邻域的相似不能得到正确的对应。
        窄基线匹配中典型方法是利用邻域的互相关(Neighborhood Cross-Correlation)方法。但在宽基线的情况下,图像之间拍摄距离较远,成像条件存在较大差异,即使是空间同一特征,在图像中所表示出来的光学特性(灰度值、颜色值等)、几何特性(外形,大小等)及空间
位置(图像中的位置,方向等)都有很大的不同,再加上噪声、遮挡等因素的存在,此时基于邻域互相关的匹配方法就失效了。在宽基线匹配中,仅仅使用特征本身的信息(比如边缘、角点的位置信息)是难以正确匹配的,研究学者将多个特征尤其是结构性特征予以组合,以形成稳定的特征向量(称为特征描述符)。这种对于图像的几何变形、光照变化等因素保持一定稳定性的特征向量称为不变量(Invariant),不变量技术是宽基线匹配应用中的重要技术。

2.多地图的作用和效果

        能够处理无限数量的非连接的子地图,能够在大场景下进行S。每个子地图有自己的关键帧、地图点、共视图、生成树。每个子地图的参考帧固定为它的第一帧(指图像帧,不是IMU的body坐标系)。新采集的图像帧只更新所有地图中的一个子地图,也就是活跃地图。所有子地图共用一个唯一的关键帧词袋数据库,保证了地图场景重识别的高效率。

        ORBSLAM-Atlas将宽基线匹配引入到多地图领域,结果更加通用和鲁棒。(可以在不同地图之间进行匹配,说明关键帧之间距离很远/视角差距过大)

        如果在探索过程中(去还没有去过的地方)跟踪丢失了,那么将暂存当前地图为非活跃地图,并启动一个新的子地图。当后续地图之间检测到公共区域的时候可以实现无缝地地图融合。
        在ORB-SLAM2中,相机跟踪丢失的判断标准是简单计算跟踪点数量。在ORB-SLAM3中做了改进,制定了新的跟踪丢失的评判标准。当几何约束不好的时候,我们建议放弃不准确的相机位姿估计。这可以避免在闭环的过程中由于高度不确定的位姿导致的位姿图优化误差过大。最终地图被分割为多个更精确的子地图,有了多地图功能,这些子地图最终融合为更精确的全局地图。
        在处理动态场景时更加鲁棒。

        量化:

        ORB-SLAM3多地图系统生成的多会话全局地图是VINS-Mono全局地图精度的2倍。Atlas:指代整个多地图;map:指代其中的子地图。

3.多地图系统中创建新地图的标准

        当相机跟踪失败就开始进行重定位,如果过了一段时间重定位仍然失败,则将活跃地图标记为不活跃地图,储存在地图集合里。然后初始化一个新地图,评判跟踪丢失的标准:
        1.成功匹配的特征点的数量:当前帧和局部地图中成功匹配数量高于定义的阈值。
        2.相机位姿的可观测性:如果检测到的点几何条件不好,那么估计的相机位姿也不准,相机位姿是不可观的。

        下图(a)中显示的是室外汽车上相机拍摄的图像,图像对应在(b)、(c)中的P_1位置。在P_1
满足成功匹配的特征点数量的要求,但是匹配的绝大多数都是远点(超过40倍基线),因此估计的位姿中平移分量非

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

APS2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值