【视觉惯性SLAM:十一、ORB-SLAM2:跟踪线程】

跟踪线程是ORB-SLAM2的核心之一,其主要任务是实时跟踪相机的位姿变化和场景的变化,以维持地图的更新和相机轨迹的估计。ORB-SLAM2的跟踪线程通过多种方式(参考关键帧跟踪、恒速模型跟踪、重定位跟踪、局部地图跟踪)处理跟踪丢失、场景动态变化等问题,确保系统的鲁棒性和实时性。

以下从各个跟踪策略详细介绍ORB-SLAM2的跟踪线程工作原理。

跟踪线程流程

参考关键帧跟踪

背景及原理

  • 参考关键帧:
    • 当前帧通过与上一帧的特征点匹配可以获得初步的位姿估计。
    • 为进一步优化跟踪精度,需要与局部地图中最相关的关键帧 进行匹配(即参考关键帧 ),通过参考关键帧的地图点与当前帧特征点的匹配来优化当前帧的位姿
  • 作用:
    • 通过与参考关键帧的匹配,获得更多约束,避免累积误差对跟踪精度的影响。
    • 参考关键帧提供地图点,当前帧通过投影这些地图点到图像平面来寻找匹配。

实现步骤

  • 从局部关键帧中选择一个最近或最优的关键帧作为参考关键帧。
  • 从参考关键帧中提取地图点(3D点),并将其投影到当前帧的图像中。
  • 根据投影位置在图像金字塔中搜索匹配点(利用ORB特征的描述子匹配)。
  • 使用匹配点对,通过优化方法(例如PnP)进一步优化当前帧的位姿。

恒速模型跟踪

背景及原理

  • 恒速模型假设相机在连续两帧之间以恒定速度运动。
  • 在刚体运动的约束下,如果上一帧的位姿已知,则可以推测当前帧的初始位姿。
  • 通过此预测,可以缩小搜索范围,提高匹配效率和跟踪精度。

实现步骤

  • 利用上一帧的位姿和速度预测当前帧位姿:
    根据上一帧的位姿 T t − 1 T_{t-1} Tt−1和速度𝑉,预测当前帧的位姿 T t = T t − 1 ⋅ V T_{t}=T_{t-1}\cdot V Tt=Tt−1⋅V
  • 临时地图点的创建:
    • 基于恒速模型,预测上一帧中的地图点在当前帧图像中的位置,生成临时地图点用于匹配。
    • 这些地图点可通过三角化与当前帧进行验证和更新。
  • 优化位姿:
    使用匹配的特征点对,利用最小二乘方法优化预测的位姿,确保跟踪的精确性。

重定位跟踪

背景及原理

  • 场景丢失或跟踪失败的情况:
    • 当相机出现快速运动、剧烈旋转或动态遮挡时,跟踪可能丢失。
    • 此时,重定位机制能够恢复跟踪状态。
  • 原理:
    • 基于倒排索引的词袋模型,将当前帧的特征描述子与地图中已有关键帧的描述子进行快速匹配,从中找到候选关键帧。
    • 利用这些候选关键帧恢复当前帧的位姿。

实现步骤

  • 倒排索引:
    • 词袋模型提前对所有关键帧进行特征向量的编码(离线训练的字典)。
    • 当前帧通过ORB特征的描述子生成词袋向量,并快速匹配候选关键帧。
  • 搜索重定位候选关键帧:
    • 在数据库中,找到与当前帧最相似的关键帧作为重定位候选。
  • 利用EPnP算法估计位姿:
    • 对候选关键帧进行投影匹配,找到共视特征点对。
    • 使用EPnP(Efficient Perspective-n-Point)算法计算当前帧的初始位姿。
  • 位姿优化:
    • 将初始位姿作为输入,通过BA优化,恢复跟踪。

局部地图跟踪

背景及原理

  • 局部地图跟踪是通过局部优化提升跟踪精度的过程。
  • 在局部地图跟踪中,ORB-SLAM2会利用与当前帧最近的局部关键帧及其相关的地图点进行跟踪。
  • 局部地图由当前帧的共视关键帧和这些关键帧的观测地图点组成。

实现步骤

  • 构建局部地图:
    • 获取当前帧的共视关键帧集合(共视图关系提供)。
    • 从共视关键帧中提取地图点,构建局部地图。
  • 投影匹配:
    • 将局部地图点投影到当前帧的图像平面,预测其金字塔层级。
    • 在投影位置附近搜索匹配点,获取更多的特征点匹配对。
  • 优化当前帧位姿:
    • 使用匹配点对,通过光束法平差(BA)优化当前帧的位姿。

ORB-SLAM2中的跟踪策略特点

  • 多层次跟踪:
    • 针对不同的场景(跟踪正常、丢失、重定位),采用不同的策略,保证系统鲁棒性。
  • 实时性:
    • 跟踪线程与局部建图、回环检测线程分离,并采用高效的投影匹配和优化算法,保证实时性。
  • 鲁棒性:
    • 通过恒速模型预测、局部地图跟踪和重定位机制,ORB-SLAM2能够应对遮挡、快速运动等挑战。

总结

跟踪方式 关键作用 方法概要
参考关键帧跟踪 提供额外约束,提升跟踪精度 利用局部关键帧提供地图点进行投影匹配
恒速模型跟踪 提供初始位姿预测,缩小搜索范围 根据上一帧位姿和速度预测当前帧位姿
参考关键帧跟踪 恢复跟踪,防止因丢失而中断 通过词袋模型快速匹配候选关键帧并估计位姿
局部地图跟踪 提高局部跟踪精度,增加约束 构建局部地图,进行投影匹配和优化当前帧位姿

以上是ORB-SLAM2中跟踪线程的详细介绍。通过多种策略,ORB-SLAM2确保了跟踪的精度、实时性和鲁棒性,是其高性能的关键之一。

相关推荐
程序猿阿伟20 分钟前
《QClaw重构开发的四个底层逻辑,看懂少走半年弯路》
人工智能·重构
通信小呆呆21 分钟前
当波束搜索遇见信道编码和反向传播:两种让“粗搜索”不再犯错的新思路
人工智能·信息与通信·信号处理·信道编码·波束扫描
沫儿笙21 分钟前
库卡焊接机器人氩气节气装置
人工智能·机器人
卷卷说风控23 分钟前
【卷卷观察】Sora 倒了,Seedance 冲了,量子计算被 AI 接管了——这周的三条线索
人工智能·量子计算
漂流瓶jz25 分钟前
UVA-120 煎饼 题解答案代码 算法竞赛入门经典第二版
数据结构·c++·算法·排序·aoapc·算法竞赛入门经典·uva
深念Y29 分钟前
图数据库 vs 向量数据库:AI时代的两个“最强大脑”
数据库·人工智能·neo4j·图论··向量·rag
paeamecium34 分钟前
【PAT甲级真题】- Stack (30)
数据结构·算法·pat考试·pat
黎阳之光34 分钟前
黎阳之光核工厂202应急管控平台|全域实景孪生,筑牢核安全最后一道防线
大数据·人工智能·算法·安全·数字孪生
Mr数据杨41 分钟前
韩语娱乐新闻评论偏见检测与内容审核优化
机器学习·数据分析·kaggle
小程故事多_8042 分钟前
破局AI Agent落地困境,Harness六大组件全解析与实践启示
人工智能·自动化·ai编程