当前位置: 首页 > article >正文

视觉惯性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能够在视觉信息长期缺乏的情况下存活,并且在重新访问已建图区域时与先前地图无缝合并。这种设计提高了系统的鲁棒性和精度,尤其是在复杂和动态的环境中。


http://www.kler.cn/a/227257.html

相关文章:

  • 【Linux系统化学习】进程等待
  • 大小姐驾到!高德地图联合《王者荣耀》推出孙尚香导航语音包
  • 全流程机器视觉工程开发(三)任务前瞻 - 从opencv的安装编译说起,到图像增强和分割
  • paragon ntfs软件2024中文版免费下载安装步骤教程
  • Python flask 模板详解
  • 华为数通方向HCIP-DataCom H12-821题库(单选题:401-420)
  • xlsx xlsx-style 使用和坑记录
  • OpenAI Gym 高级教程——分布式训练与并行化
  • 【51单片机】开发板和单片机的介绍(2)
  • C++指针
  • 瑞数6后缀 快速解决方案
  • 第十一章[文件系统]:11.3:目录
  • Qt应用软件【数据篇】大小端数据转换
  • WordPress SMTP发信避坑指南
  • [office] excel表格怎么绘制股票的CCI指标- #媒体#学习方法#笔记
  • [Tomcat问题]--使用Tomcat 10.x部署项目时,出现实例化Servlet类[xxx]异常
  • 20240127在ubuntu20.04.6下配置whisper
  • 深兰科技“华佗”医用红外热像仪正式获批国家医疗器械二类证
  • 12种算法优化CNN-BiLSTM-Attention多特征输入单步预测,机器学习预测全家桶,持续更新,MATLAB代码...
  • redis布隆过滤器(Bloom)详细使用教程