Command Palette
Search for a command to run...
LSD-SLAM:大规模直接法单目 SLAM
LSD-SLAM:大规模直接法单目 SLAM
Jakob Engel Thomas Schöps Daniel Cremers
摘要
我们提出了一种直接法(无特征)单目 SLAM 算法,与当前直接法的最新方法不同,该算法能够构建大规模、一致的环境地图。基于直接图像对齐实现高精度位姿估计的同时,以关键帧的位姿图及关联的半稠密深度图形式实时重建三维环境。半稠密深度图通过对大量像素级小基线立体比较进行滤波获得。显式考虑尺度漂移的建模使该方法能够在包含场景尺度大幅变化的具有挑战性的序列上运行。主要得益于两项关键创新:(1)一种新型直接法跟踪方法,在 sim(3) 流形上运行,从而显式检测尺度漂移;(2)一种优雅的解决方案,将含噪深度值的影响纳入跟踪过程。所得到的直接法单目 SLAM 系统可在 CPU 上实时运行。
一句话总结
由慕尼黑工业大学研究人员提出的 LSD-SLAM 是一种直接单目 SLAM 系统,它在 sim(3) 上运行以显式检测尺度漂移,并采用概率化表述将含噪声的深度值纳入跟踪过程,从而在 CPU 上实现大规模、一致建图和实时半稠密深度重建。
核心贡献
-
LSD-SLAM 被提出为一种直接、无特征的单目 SLAM 算法,它将直接图像对齐提供的精确位姿估计与大规模、一致的环境重建相结合。该方法维护一个关键帧位姿图,其中带有来自许多像素级小基线立体比较的概率化半稠密深度图。
-
一种新颖的直接跟踪方法使用 Sim(3) 相似变换对齐关键帧,对单目轨迹中的尺度漂移进行显式建模和检测。这种考虑尺度的表述能够在场景尺度变化很大的序列中实现可靠跟踪和建图。
-
该方法将对深度图不确定性的概率化处理纳入直接跟踪,以应对含噪声的深度估计。实验表明,所得到的 CPU 实时系统能够跟踪和建图超过 500 m 的手持轨迹,其中包括大旋转和尺度变化,其平均逆深度从小于 20 cm 到超过 10 m。
引言
单目 SLAM 和三维重建对无人机导航、增强现实和虚拟现实具有重要意义,因为单个相机可以在许多环境尺度上工作,而不受深度或立体测距范围限制。主要挑战是尺度歧义,因为单目相机无法直接测量绝对世界尺度,尺度漂移成为主要误差来源。基于特征的方法存在局限,因为它们只使用特征观测,丢弃了有用的边缘和区域结构,而早期的直接单目方法使用了完整的图像强度,但只能产生局部里程计,没有一致的全局地图。作者利用直接图像对齐和半稠密深度估计提出 LSD-SLAM,这是一个构建关键帧全局位姿图的直接单目 SLAM 框架。其关键贡献是使用相似变换显式建模尺度漂移,并将深度不确定性以概率方式纳入跟踪,从而在 CPU 上实现实时性能以及更稳健的大规模建图。
方法
作者利用一种直接单目 SLAM 流水线,该流水线在图像流上连续运行,并将环境表示为关键帧位姿图。参见框架图:
该框架由三个紧密耦合的模块组成:跟踪、深度图估计和地图优化。跟踪模块估计新图像相对于当前参考关键帧的相对位姿。深度图估计模块会在相机移动足够远时精化当前关键帧或创建新关键帧。地图优化模块将被替换的关键帧纳入全局位姿图,在该图中精化相对变换和不确定性以减少累积漂移。
每个关键帧包含一张强度图像、一张逆深度图以及该逆深度图的方差。深度值和方差是半稠密的,这意味着它们只在具有足够强度梯度的图像区域中维护。地图中的边存储关键帧之间的相似变换以及相关协方差矩阵。第一个关键帧可以用随机逆深度值和大方差进行初始化。在有足够平移运动时,系统会收敛到稳定的深度配置,而不需要单独的稠密初始化过程。
在最底层,图像对齐通过最小化光度误差来完成。给定参考关键帧 κi 及其图像 Ii、逆深度图 Di 和深度方差 Vi,通过估计相对变换 ξji∈se(3) 来对齐新图像 Ij。像素 p 的残差为
rp(p,ξji)=Ii(p)−Ij(ω(p,Di(p),ξji)).优化目标是一个方差归一化的鲁棒光度误差:
Ep(ξji)=p∈ΩDi∑σrp2(p,ξji)rp2(p,ξji)δ.Huber 风格鲁棒范数定义为
∥r2∥δ={r2/(2δ),∣r∣−δ/2,∣r∣≤δ,otherwise.关键设计选择是不假设残差方差为常数。作者计算
σrp2(p,ξji)=2σI2+(∂Di(p)∂rp(p,ξji))2Vi(p),其中 σI2 对图像强度噪声建模,Vi(p) 对逆深度图中的不确定性建模。如下图所示:
该图说明了归一化如何随运动类型变化。对于纯旋转,深度不确定性不影响光度残差,因此归一化保持均匀。对于前向运动,其效果集中在特定图像区域。对于侧向运动,残差根据局部强度梯度方向以不同方式加权。这种行为很重要,因为单目深度不确定性在空间上高度可变。
对齐本身通过在李群上的迭代重加权 Gauss Newton 优化来求解。残差向量为 r=(r1,…,rn)T,并使用左组合更新。在每次迭代中,更新量计算如下
δξ(n)=−(JTWJ)−1JTWr(ξ(n)),随后
ξ(n+1)=δξ(n)∘ξ(n).权重矩阵 W 降低具有大残差的像素的权重,使估计器对遮挡、反射和其他光度不一致具有鲁棒性。逆加权 Hessian 估计
Σξ≈(JTWJ)−1用于描述最终位姿的不确定性。作者使用左乘约定,这意味着最终位姿可以表示为
ξ(n)=ϵ∘ξtrue,ϵ∼N(0,Σξ).在实践中,残差通常相关,因此该协方差被视为下界,而不是完全精确的模型。尽管如此,它仍为鲁棒匹配、回环检测和全局位姿图优化提供了有用信息。
不确定性通过基于 Jacobian 的近似在非线性函数中传播。如果输入变量 X 具有协方差 ΣX,并且输出为 Y=f(X),则输出协方差近似为
Σf≈JfΣXJfT.该机制允许将深度方差 Vi 纳入跟踪过程中使用的光度残差方差。
深度图估计模块决定是精化当前关键帧还是将最新跟踪帧提升为新关键帧。关键帧选择准则使用加权距离度量
dist(ξji)=ξjiTWξji,其中 W 平衡相对平移和旋转。如果超过阈值,系统通过将现有邻近关键帧的深度投影到新图像中来创建新关键帧。然后应用一次空间正则化和异常值去除。新深度图被缩放,使其平均逆深度等于一,并将相应尺度吸收到关键帧的相似变换位姿中。
如果新帧不成为关键帧,则用其精化当前关键帧。作者在预期立体精度较高的区域采用许多高效的小基线立体比较。所得测量值以概率方式合并到现有逆深度图中,同时正则化保持空间一致性。
为了全局一致性,系统在 sim(3) 上执行直接图像对齐,而不是仅在 se(3) 上执行。单目跟踪具有尺度歧义,并且这种歧义会在长轨迹上导致尺度漂移。为了解决这个问题,作者将每个关键帧归一化,使其平均逆深度为一,并将关键帧之间的约束估计为相似变换。优化目标结合光度残差和深度残差:
E(ξji)=p∈ΩDi∑σrp2(p,ξji)rp2(p,ξji)+σrd2(p,ξji)rd2(p,ξji)δ.光度残差与跟踪期间具有相同形式。深度残差为
rd(p,ξji)=[p′]3−Dj([p′]1,2),其中
p′=ωs(p,Di(p),ξji)是相似变换下的变换点。深度残差方差从两个关键帧传播得到:
σrd2(p,ξji)=Vj([p′]1,2)(∂Dj([p′]1,2)∂rd(p,ξji))2+Vi(p)(∂Di(p)∂rd(p,ξji))2.组合鲁棒残差反映了光度异常值和深度异常值经常一起发生这一事实。需要深度项,因为仅靠光度对齐无法在 sim(3) 上确定尺度。
候选回环或大偏移关键帧约束来自邻近关键帧以及基于外观的建图机制。在向全局图中插入约束之前,作者执行相互跟踪检查。对于候选对,系统同时估计 ξjki 和 ξijk。只有当二者失配在统计上很小时,才接受这两个估计:
e(ξjki,ξijk)=(ξjki∘ξijk)T(Σjki+AdjjkiΣijkAdjjkiT)−1(ξjki∘ξijk).伴随变换将第二个协方差映射到与第一个估计一致的切空间。这种相互检查有助于抑制错误回环。
sim(3) 上的直接图像对齐是非凸的,并且需要初始化。系统使用二阶最小化技术以及从极低分辨率开始的由粗到细金字塔,这增大了回环对齐的收敛半径。这些选择帮助该方法从比稠密直接对齐通常允许更大的初始错误中恢复。
地图优化模块在后台持续精化位姿图。优化变量是关键帧相对于世界坐标系的绝对位姿 ξW1,…,ξWn。目标函数是相对相似约束上的马氏距离和:
E(ξW1,…,ξWn)=(ξji,Σji)∈E∑(ξji∘ξWi−1∘ξWj)TΣji−1(ξji∘ξWi−1∘ξWj).该表述遵循用于局部跟踪的左乘约定。得到的位姿图校正通过组合里程计约束、回环约束及其估计的不确定性来强制全局一致性。
实验
LSD-SLAM 在长且具有挑战性的户外轨迹上进行了定性评估,并在适配单目操作的公开 RGB-D 基准上进行了定量评估。定性测试表明,该方法能够处理大范围旋转、较大尺度变化、复杂深度变化以及显著回环。定量评估证明了在该困难基准上具有有竞争力的跟踪精度,而额外实验表明,所提出的跟踪步骤显著增大了 sim(3) 相机运动的收敛半径,且没有明显降低精度。
在 TUM RGB-D 和模拟序列上,LSD-SLAM 通常比单目基线产生更低的绝对轨迹误差,其中包括某个基线方法跟踪失败的情况。它还与使用传感器深度的方法具有竞争力,尽管在部分 TUM 和慢动作模拟序列上,直接 RGB-D 方法具有更低误差。在报告序列上,LSD-SLAM 优于半稠密单目里程计和基于关键点的单目 SLAM,后者在一个 TUM 序列上失败。尽管 LSD-SLAM 仅将深度用于初始化,它仍接近基于深度的 RGB-D SLAM,其中深度方法在某些序列上领先,而 LSD-SLAM 在一个模拟序列上领先。
实验在 TUM RGB-D 和模拟序列上将 LSD-SLAM 与单目和基于深度的基线进行比较,主要评估绝对轨迹精度和跟踪鲁棒性。LSD-SLAM 总体上优于单目方法,包括在某些序列上可靠性较低的半稠密里程计和基于关键点的 SLAM。尽管仅将深度用于初始化,它仍与基于深度的 RGB-D SLAM 保持竞争力,表明所提出方法在多种序列条件下实现了强大的整体性能。