ORB-SLAM
Mur-Artal 2015 · 论文
一句话总结 — 一个完整、通用的单目SLAM系统,在跟踪、建图、重定位和回环检测的每一个任务中都使用ORB特征点,并具备自动初始化和”适者生存”式的地图管理机制。
问题
早期的单目SLAM系统各自只解决了问题的一部分:PTAM有关键帧光束法平差,但没有回环检测,其patch特征对于场景识别毫无用处,且需要手动初始化;其他系统则无法处理大规模环境,也无法从跟踪丢失中恢复。ORB-SLAM(IEEE TRO 2015,萨拉戈萨大学)在PTAM的核心思想、DBoW2场景识别和尺度感知回环检测的基础上,将这些问题统一在一个框架中解决,能够在室内外、大小规模环境中实时运行。
方法与架构
一种特征,服务所有任务。 同一套ORB特征(定向FAST + 旋转BRIEF,通过汉明距离匹配)同时服务于跟踪、建图、重定位和回环检测,因此不会有重复的工作。
自动初始化。 从同一组对应点 xc↔xr 并行计算单应矩阵和基础矩阵,即 xc=Hcrxr 与 xc⊤Fcrxr=0,各自通过带有异常值截断核的对称转移误差打分:
SM=i∑(ρM(dcr2(xci,xri,M))+ρM(drc2(xci,xri,M))),ρM(d2)={Γ−d20if d2<TMif d2≥TM
其中 χ2 阈值为 TH=5.99,TF=3.84。启发式指标 RH=SH+SFSH 在 RH>0.45(平面/低视差场景)时选择单应矩阵,否则选择基础矩阵(Erc=K⊤FrcK);系统会检测退化或模糊的配置,并推迟初始化。
三个并行线程。
- 跟踪线程通过匹配局部地图并用仅优化运动的BA来定位每一帧。所有优化都是在位姿 Tiw∈SE(3) 和地图点 Xw,j∈R3 上最小化鲁棒重投影误差:
C=i,j∑ρh(ei,j⊤Ωi,j−1ei,j),ei,j=xi,j−πi(Tiw,Xw,j),
使用Huber核 ρh,且 Ωi,j=σi,j2I2×2 与关键点所在的金字塔尺度相关联。关键帧的插入条件较宽松(例如,当该帧跟踪到的参考关键帧的点少于90%时即插入)。
- 局部建图三角化新的地图点,在共视邻域上运行局部BA,并进行严格的剔除:一个新点必须在预测能看到它的帧中的超过25%中被找到,并且要被至少三个关键帧观测到;如果某关键帧90%的点都被至少三个其他关键帧观测到,则该关键帧会被删除。共视图连接了共享至少15个点观测的关键帧(边权重 θ = 共享点的数量)。
- 回环检测使用DBoW2检测候选回环,从双视图约束 e1=x1,i−π1(S12,X2,j),e2=x2,j−π2(S12−1,X1,i) 计算7自由度的 Sim(3) 对齐(单目存在尺度漂移),然后通过在本质图(essential graph,即生成树 + θmin=100 的共视边 + 回环边)上进行位姿图优化来纠正漂移,最小化
C=i,j∑ei,j⊤Λi,jei,j,ei,j=logSim(3)(SijSjwSiw−1)∈R7,
之后再进行一次可选的全局BA。
实验结果
所有实验均在Intel Core i7-4700MQ(4核 @ 2.40 GHz)、8 GB内存上进行,图像以其真实帧率处理:
- NewCollege(2.2公里机器人序列):报道中首个能处理完整序列的单目系统。跟踪时间中位数为30.57毫秒/帧(ORB提取11.10毫秒,初始位姿3.38毫秒,局部地图跟踪14.84毫秒);局部建图中位数为383.59毫秒/关键帧,主要由局部BA的296.08毫秒占据。
- TUM RGB-D(16个序列):关键帧轨迹RMSE,例如fr1_xyz为0.90厘米(PTAM为1.15,LSD-SLAM为9.00),fr2_xyz为0.30厘米,fr2_desk_person为0.63厘米(LSD-SLAM为31.73)。PTAM在8个序列中跟踪丢失,LSD-SLAM在3个序列中丢失;ORB-SLAM除fr3_nstr_tex_far外均能正常运行——在该序列中它能正确检测到平面双重歧义并拒绝初始化。
- 重定位:从fr2_xyz地图出发,召回率为78.4%,而PTAM为34.9%;在严重遮挡情况下(针对sitting_xyz地图重定位walking_xyz帧),召回率为77.9%,而PTAM为0%。
- 长期运行:关键帧数量会趋于饱和,而PTAM式策略的关键帧数量会无限增长——地图规模随场景内容增长,而非随时间增长。
- KITTI(10个序列):除高速公路序列01外,均能以10 fps实时处理;轨迹误差通常在地图尺度的约1%左右(03序列为0.3%,无回环的08序列为5%),经过20次全局BA迭代后会略有改善。
对SLAM的意义
ORB-SLAM将十年来的最佳思想——PTAM的并行跟踪/建图、关键帧BA、词袋场景识别、共视性、Sim(3)回环检测——统一到了一个健壮的开源系统中,并在多年间成为事实上的单目SLAM基准标准。它的H/F初始化、共视图/本质图机制以及”适者生存”式剔除策略被后续几乎所有基于特征的系统所采用,并催生了至今仍是SLAM评测基准的ORB-SLAM2/3系列。
相关条目