ORB-SLAM3系列:论文重点导读及整体算法流程梳理

ORB-SLAM3是强大的视觉、视觉惯性SLAM系统,优于同类方法,支持单目、双目和惯导。本文梳理了其优势、系统结构、视觉惯导SLAM原理、地图合并与回环检测,详细解析了其在跟踪、建图和回环处理中的关键流程,为理解与应用ORB-SLAM3提供了深入指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

​本文是ORB-SLAM3深度系列的第二篇内容,我们将聚焦ORB-SLAM3的整体算法代码流程梳理及论文重点翻译和解读。

目录

01 ORB-SLAM3系统优势

02 ORB-SLAM3系统概述

​Atlas

跟踪线程

​局部建图线程

​回环和地图合并线程

03 视觉-惯导SLAM

基本原理

IMU 初始化

跟踪和建图

跟踪丢失的鲁棒性

04 地图合并和回环检测

位置识别

视觉地图合并

视觉-惯导地图合并

回环检测


01 ORB-SLAM3系统优势

ORB-SLAM3是第一个对短期、中期、长期数据关联的视觉、视觉惯性系统。和其他具有代表性的视觉和视觉惯性系统相比,ORB-SLAM3系统都优势明显。

​具体表现在四个方面:

1)它是一个单目和双目视觉惯导SLAM系统,完全依赖于最大后验估计(MAP)。在小型和大型、室内和室外环境中实时稳定运行,比其他方法准确2-10倍。

2)召回场景识别采用先检查候选关键帧的几何一致性,然后检查与三个共视关键帧的局部一致性策略。以略高的计算成本为代价,增加了召回率并增加了数据关联,提高了地图准确性。

3)使用Atlas表示一组断开的地图集,并将所有的地图平滑地应用于位置识别、相机重新定位、回环检测和地图无缝拼合。

4)抽象的相机表示,使SLAM代码与所用的相机模型无关,并允许通过提供它们的投影、非投影和雅可比函数来添加新模型。

02 ORB-SLAM3系统概述

ORB-SLAM3系统基于ORB-SLAM2和ORB-SLAM-VI建立,主要组成如下:

图1:ORB-SLAM3系统的主要内容

​Atlas

由一些不连续的地图组成的集合表示,分为活跃地图和非活跃地图。其中,跟踪线程在活跃地图定位传入帧,并通过局部建图线程随着新的关键帧不断优化和增长。Atlas构建了一个基于关键帧的唯一DBoW2数据库,用于重定位、回环检测以及地图合并。

跟踪线程

处理传感器信息并实时计算当前帧相对于活跃地图的位姿,使匹配地图特征的重投影误差最小化。在视觉惯性模式下,通过在优化过程中引入惯性残差来估计本体速度和IMU偏置。

跟踪丢失后,跟踪线程会尝试在Atlas地图中重定位当前帧。如果重定位成功,将恢复跟踪并在需要时切换为活跃地图。否则一段时间后,活跃地图被存储为非活跃地图,新的活跃地图需从头进行初始化。

​局部建图线程

在靠近当前帧的关键帧局部窗口中,添加关键帧及特征点到活跃地图中,并移除冗余关键帧与地图点,使用视觉或者视觉惯导BA来优化地图。而在惯性情况下,建图线程中的IMU参数通过最大后验估计技术来初始化和优化。

​回环和地图合并线程

用关键帧速率检测活跃地图和整个Atlas之间的公共区域。公共区域如果属于活跃地图,就执行回环纠正;如果属于不同地图,两个地图就被无缝合并成一张地图,这个地图就成了活跃地图。回环纠正后,在不影响实时性能的情况下,独立线程会启动一个完全的BA来进一步优化地图。

03 视觉-惯导SLAM

ORB SLAM3建立在ORB-SLAM-VI的基础上,并提供一种快速准确的IMU初始化技术和开源SLAM库,支持使用针孔和鱼眼相机进行单目惯性和立体惯性SLAM。

基本原理

纯视觉SLAM只估计当前相机位姿,而视觉-惯导SLAM还会估计其他变量,包括世界坐标系下的本体位姿T_i=[R_i,p_i]\in SE(3)、速度v_i,陀螺仪和加速度计偏置 b_{i}^{g}以及 b_{i}^{a},状态变量表示为:

S_{i}\doteq \left \{ T_{i} ,v_{i},b_{i}^{g},b_{i}^{a} \right \}

对于视觉-惯性SLAM,在连续两帧i和i+1之间进行IMU预积分。获得的预积分旋转、速度以及位置测量分别用\Delta R_{i,i+1}, \Delta v_{i,i+1}, \Delta P_{i,i+1} 表示,整个测量向量的协方差矩阵表示为\Sigma _{I_{i,i+1}} 。给出这些预积分项以及状态S_iS_{i+1},我们采用惯导残差 r_{I_{i,i+1}}的定义:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值