欢迎光临
我们一直在努力

ORB-SLAM3代码详解 - 第 13 篇 · 回环检测与地图融合

ORB-SLAM3代码详解 – 第 13 篇 · 回环检测与地图融合

核心源码:src/LoopClosing.cc(约 2539 行)、src/Sim3Solver.cc(约 489 行)。 LoopClosing 线程承担两类任务:在同一张地图内检测回环并校正累积漂移;以及将两张原本独立的 子地图通过 Sim3 对齐后融合为一张——后者是 Atlas 多地图体系的核心能力。 第 11 篇分析了词袋检索如何给出候选关键帧,第 12 篇分析了本质图如何承载全局校正, 本篇衔接二者,分析\”候选 → 几何验证 → 校正/融合 → 全局 BA\”的完整流程。

所有行号、阈值均基于仓库 commit 4452a3c;源码版权归 ORB-SLAM3 原作者(GPLv3),引用仅作教学。


1. 线程主循环 Run()

LoopClosing 的活动频率远低于另两个线程:多数时间只是从队列取出关键帧、做一次位置识别,未发现公共区域即丢弃;一旦命中,则触发系统中代价最高的一次全局校正。主循环位于 Run()(约 90 行):

void LoopClosing

赞(0)
未经允许不得转载:171主机测评 » ORB-SLAM3代码详解 - 第 13 篇 · 回环检测与地图融合
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址