视觉惯性SLAM系列——ORB-SLAM3的整体介绍及各个线程的功能(五)

ORB-SLAM3的整体介绍及各个线程的功能(五)


ORB-SLAM3是一个多线程的系统,它主要包含以下几个线程,每个线程负责不同的功能:

  1. 跟踪线程(Tracking Thread)

    • 作用:负责处理每一帧图像,进行相机位姿的估计和定位。它首先执行与前一帧图像的特征匹配,然后通过仅运动(motion-only)BA(Bundle Adjustment)优化位姿。如果跟踪失败,它会尝试在所有地图中进行重定位。此外,跟踪线程还负责决定何时插入新的关键帧,以及何时将关键帧从局部地图中移除。
    • 详细介绍见
  2. 局部建图线程(Local Mapping Thread)

    • 作用:管理局部地图,向活跃地图添加关键帧和点,移除多余的关键帧和点。在局部窗口内,它使用视觉或视觉惯性BA优化地图。在视觉惯性模式下,建图线程还负责IMU参数的初始化和优化。
    • 详细介绍见
  3. 回环和地图合并线程(Loop and Map Merging Thread)

    • 作用:以关键帧速率检测活跃地图和完整Atlas(多地图集合)之间的共同区域。如果共同区域属于活跃地图,则执行回环矫正;如果属于不同地图,则将两个地图无缝合并为一个,合并后的地图称为活跃地图。在回环矫正后,会在独立线程中执行完整BA以进一步优化地图,同时不影响实时性。
    • 详细介绍见
  4. 重定位线程(Relocalization Thread)

    • 作用:在追踪丢失时,重定位线程尝试在所有地图中重定位当前帧。如果成功重定位,则恢复追踪,并在必要时切换活跃地图。否则,在一段时间后,活跃地图被存储为非活跃地图,并从头初始化一个新的活跃地图。
    • 详细介绍见

这些线程共同工作,使得ORB-SLAM3能够在多种传感器配置下(单目、双目、RGB-D)实现高精度的SLAM。通过多地图系统,ORB-SLAM3能够在视觉信息长期缺乏的情况下存活,并且在重新访问已建图区域时与先前地图无缝合并。这种设计提高了系统的鲁棒性和精度,尤其是在复杂和动态的环境中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值