野外的 DROID-SLAM:基于可微不确定性束调整的动态环境实时 SLAM 系统 DROID-SLAM in the Wild
通过可微不确定性束调整和 DINOv2 特征相似度,实现真实动态环境下的鲁棒实时 SLAM
前置知识
SLAM (Simultaneous Localization and Mapping)
同时定位与建图是机器人视觉导航的核心任务,旨在在未知环境中同时估计相机运动轨迹(定位)并构建环境的三维地图(建图)。传统 SLAM 假设场景是静态的,通过特征匹配或直接法最小化重投影误差来优化相机位姿和深度图。当场景中存在运动物体时,刚性假设被破坏,导致错误的对应关系和位姿估计漂移。
本文解决的核心问题是传统 SLAM 在动态场景下的失败,理解 SLAM 的基本原理和刚性假设对于理解本文的不确定性建模至关重要。
Bundle Adjustment (BA)
束调整是视觉 SLAM 和多视图几何中的核心优化算法,通过同时优化所有相机位姿和 3D 点坐标来最小化重投影误差。在数学上,它构建一个大型非线性最小二乘问题,通常使用 Levenberg-Marquardt 或 Gauss-Newton 算法求解。可微 BA 意味着整个优化过程可以被反向传播,允许将不确定性估计纳入端到端的学习框架。
本文的核心创新是在传统 BA 中引入像素级不确定性权重,理解 BA 的数学形式和优化过程对于理解本文的 Uncertainty-aware BA 至关重要。
DINOv2 特征
DINOv2 是 Meta 开发的自监督视觉 Transformer 模型,通过自蒸馏学习生成密集的图像特征表示。这些特征具有强大的语义一致性和对外观变化的鲁棒性,能够在不同视角下捕捉物体的本质属性。FiT3D 是基于 DINOv2 的 3D 感知微调版本,更适合 SLAM 任务中的多视图对应匹配。
本文利用 DINOv2 特征的余弦相似度来度量多视图一致性,这是估计动态不确定性的关键信号,理解这些特性的语义鲁棒性对于理解方法的有效性很重要。
不确定性建模
在深度学习和 SLAM 中,不确定性建模用于量化模型预测的置信度。像素级动态不确定性表示每个像素是动态物体的概率,高不确定性意味着该像素应该被降权以减少对位姿估计的负面影响。不确定性可以通过贝叶斯推断、集成方法或学习的方式获得,本文采用优化方法通过特征相似度迭代更新。
本文的核心是不确定性估计和优化,理解不确定性的概念、作用和优化方式对于理解整个方法框架至关重要。
研究动机
传统视觉 SLAM 方法假设场景是静态的,当环境中存在运动的行人、车辆等物体时,刚性假设被破坏导致特征匹配错误,进而引起位姿估计漂移和重建质量下降。现有动态 SLAM 方法主要依赖两类策略:一是使用预定义的动态先验(如物体检测器或语义分割网络)来识别并屏蔽动态区域,但这些方法对未知物体类别失效;二是基于几何建图的质量来估计不确定性(如 WildGS-SLAM 和 UP-SLAM),但在复杂真实环境中,高斯建图本身质量不佳,导致不确定性估计不准确。例如,在 YouTube 视频中的运动模糊、曝光不足、强反射等挑战性条件下,这些方法完全失效。
本文的目标是本文旨在设计一个鲁棒的实时单目 SLAM 系统,能够在无需预定义动态先验或高质量几何建图的情况下,准确估计每个像素的动态不确定性,从而在真实世界的动态环境中实现准确的相机定位和场景重建。具体目标包括:(1)提出可微分的 Uncertainty-aware Bundle Adjustment 框架;(2)设计基于视觉特征相似度的不确定性优化方法;(3)构建包含真实户外动态场景的数据集;(4)在保持实时性的前提下达到 SOTA 性能。
与已有工作不同的是,本文的独特切入角度是解耦不确定性优化与几何建图的质量依赖。现有方法如 WildGS-SLAM 和 UP-SLAM 需要构建完美的神经隐式场或高斯映射来优化不确定性,这在复杂真实环境中难以实现。本文则直接利用 DINOv2 特征的帧间相似度来度量多视图不一致性,这种方法不依赖于高质量的几何表示,因此对建图质量不敏感,在视觉复杂、光照变化剧烈的真实环境中更加鲁棒。此外,本文引入了局部仿射变换和 Softplus 激活函数来正则化不确定性,避免了简单直接优化带来的空间不一致性问题。
核心方法
DROID-W 建立在 DROID-SLAM 框架之上,通过引入可微分的 Uncertainty-aware Bundle Adjustment (UBA) 来处理动态物体。系统整体采用交替优化策略:先优化相机位姿和深度,再优化不确定性,循环迭代。对于每个 RGB 图像序列,系统首先使用 Metric3D 估计单目深度作为初始化正则化,然后提取 DINOv2 特征用于不确定性估计。在 UBA 中,每个像素的不确定性作为权重调节重投影残差,高不确定性意味着该像素可能是动态的,其对位姿优化的贡献被大幅降低。不确定性通过最小化帧间特征不一致性的损失函数进行优化,结合了对数先验正则项来避免退化解。整个过程在 CUDA 中实现以确保实时性能。
核心创新点是利用 DINOv2 特征的余弦相似度而非重投影误差来估计动态不确定性。重投影误差在大幅度运动时会变得不可靠,而视觉特征的 2D 相似度更加稳定且语义有意义。对于图像对,计算刚性运动对应点,然后提取对应的 DINOv2 特征,通过余弦相似度度量多视图一致性。动态物体会导致低相似度,因此应该被赋予高不确定性。这与依赖几何建图质量的方法(如 WildGS-SLAM)有本质区别,本文方法对建图失败不敏感,在真实复杂环境中更加鲁棒。
方法步骤详情
方法步骤完整描述如下:(1)输入处理:对输入 RGB 序列,使用 Metric3D 预测单目深度作为深度正则化;(2)特征提取:使用 FiT3D 模型提取 DINOv2 密集特征;(3)初始化:累积 12 个关键帧,利用 Metric3D 深度初始化 disparity;(4)交替优化循环:首先进行位姿-深度细化,最小化不确定性感知的能量函数,其中不确定性的逆作为权重;然后进行不确定性优化,最小化特征相似度损失和对数先验项,通过梯度下降更新局部仿射变换参数;(5)全局 BA:对所有关键帧执行全局束调整,冻结不确定性参数;(6)输出:优化后的相机轨迹、深度图和不确定性图。
技术新颖性
技术新颖性主要体现在三个方面:一是首次将不确定性估计与几何建图解耦,使用特征相似度而非建图质量来优化不确定性,这在真实复杂环境中具有显著优势;二是设计了局部仿射变换加 Softplus 激活的不确定性表示,相比简单的解码器更稳定;三是交替优化策略和深度正则化项的引入,使得系统在高度动态场景下仍能保持鲁棒性。与 WildGS-SLAM 和 UP-SLAM 相比,本文不需要完美的神经隐式场或高斯映射,因此对场景复杂度和光照变化更不敏感,这在 YouTube 等真实视频中得到了验证。
实验结果
在四个基准数据集上的实验结果表明,DROID-W 在动态环境中取得了显著的性能提升。在 Bonn RGB-D Dynamic 数据集上,平均 ATE 为 2.30cm,优于 WildGS-SLAM 的 2.52cm 和 DROID-SLAM 的 4.91cm,特别是在高动态序列如 Crowd (1.3cm vs 5.2cm) 上提升明显。在 TUM RGB-D 数据集上,平均 ATE 为 1.36cm,与 DROID-SLAM 的 1.62cm 持平,在低动态场景 f3/sr (2.1cm vs 2.2cm) 上接近,但在高动态场景如 f3/ws (0.5cm vs 1.2cm) 上显著更优。在 DyCheck 数据集上,平均 ATE 为 0.034,优于 Splat-SLAM 的 0.068,在高度纹理化的复杂环境中表现出鲁棒性。最重要的是在本文提出的 DROID-W 户外数据集上,平均 ATE 为 0.230m,显著优于 WildGS-SLAM 的 0.637m 和 DROID-SLAM 的 1.460m,在 Downtown 2 (0.25m vs 0.95m) 和 Downtown 6 (0.43m vs 1.22m) 上提升尤为明显。运行时性能方面,系统达到约 10 FPS,比 WildGS-SLAM 快 40 倍,略慢于 DROID-SLAM 的 26 FPS,但保持了实时性。定性结果显示,在 YouTube 视频中,DROID-SLAM 产生尺度漂移和错误几何,WildGS-SLAM 几乎完全失败,而本文方法产生准确一致的点云重建。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| Camera Tracking on Bonn RGB-D Dynamic | ATE RMSE (cm) | 2.30 | WildGS-SLAM: 2.52, DROID-SLAM: 4.91 | 相比 WildGS-SLAM 提升 8.7%,相比 DROID-SLAM 提升 53.2% |
| Camera Tracking on TUM RGB-D | ATE RMSE (cm) | 1.36 | WildGS-SLAM: 1.51, DROID-SLAM: 1.62 | 相比 WildGS-SLAM 提升 9.9%,相比 DROID-SLAM 提升 16.0% |
| Camera Tracking on DyCheck | ATE RMSE | 0.034 | Splat-SLAM: 0.068, WildGS-SLAM: 0.056 | 相比 Splat-SLAM 提升 50%,相比 WildGS-SLAM 提升 39.3% |
| Camera Tracking on DROID-W (outdoor) | ATE RMSE (m) | 0.230 | WildGS-SLAM: 0.637, DROID-SLAM: 1.460 | 相比 WildGS-SLAM 提升 63.9%,相比 DROID-SLAM 提升 84.2% |
| Runtime Performance | FPS | 10 | WildGS-SLAM: 0.25, DROID-SLAM: 26 | 相比 WildGS-SLAM 提升 40 倍,略低于 DROID-SLAM 但保持实时性 |
局限与改进
作者承认的主要局限性是系统在初始化阶段的表现。当位姿估计仍不可靠时,基于帧间对齐的不确定性优化可能产生不准确的不确定性估计。作者建议引入重建先验来改进初始化阶段的鲁棒性。此外,从实验结果可以观察到,在 haru 场景中,当移动的狗占据主要视野时,准确的不确定性估计会抑制动态区域,导致可靠的背景特征减少,从而降低性能。这表明在极端动态场景中,系统可能过度抑制某些区域。另一个潜在的局限性是方法仍然基于刚性运动假设,对于非刚性变形(如行人肢体运动、布料摆动)的处理能力有限,虽然 DINOv2 特征具有一定的语义鲁棒性,但未显式建模非刚性形变。
独立分析的弱点
独立分析的第一个弱点是在高度动态且物体遮挡严重的情况下,静态背景特征可能不足,导致跟踪退化。这可以通过引入多模态信息(如 IMU 或 LiDAR)或开发更智能的不确定性传播策略来缓解,即在确保有足够可靠特征时才抑制动态区域。第二个弱点是 DINOv2 特征提取的计算开销较大,限制了在移动设备上的部署,可以通过特征蒸馏或使用更轻量的特征提取器(如 MobileViT)来改进。第三个弱点是对相机快速旋转或剧烈运动的敏感性,因为帧间特征相似度在视角变化过大时可能不再可靠,可以考虑引入时序平滑约束或使用更长窗口的上下文信息。第四个弱点是缺乏显式的非刚体运动建模,可以考虑将不确定性估计与可变形场学习结合,以处理更复杂的动态场景。
未来方向
作者提出的未来工作方向是改进初始化阶段的不确定性估计,引入重建先验来增强鲁棒性。基于论文成果可以延伸的方向包括:(1)扩展到 RGB-D 或立体视觉输入,利用深度信息进一步提升不确定性估计的准确性;(2)结合语义分割网络,将不确定性估计与类别信息结合,实现对不同动态物体的差异化处理;(3)开发更高效的不确定性优化算法,减少梯度下降的迭代次数;(4)将方法推广到多机器人 SLAM 场景,研究动态不确定性的分布式优化;(5)探索不确定性估计在其他视觉任务中的应用,如动态目标跟踪、视频稳定等;(6)构建更大规模的野外动态 SLAM 数据集,包含更多样的场景和运动模式,推动该领域的发展。
复现评估
论文承诺代码和数据集将在 GitHub 上开源(https://github.com/MoyangLi00/DROID-W.git),这为复现提供了良好的基础。DROID-W 数据集包含 7 个户外序列,分辨率为 1200x1600,提供 RGB 帧、地面真实位姿和同步的 IMU/LiDAR 测量数据。评估在 RTX 3090 GPU 和 16 核 CPU 上进行,硬件要求相对可及。主要的依赖包括 DINOv2、Metric3D、FiT3D 等预训练模型,这些模型都是公开可用的。实验部分提供了详细的消融研究,验证了每个组件的有效性,包括不确定性感知 BA、单目深度正则、不确定性解耦、仿射映射和权重衰减等。补充材料提供了雅可比推导的数学细节,这有助于理解优化过程和实现复现。整体而言,复现难度中等,主要挑战在于 CUDA 实现和大规模优化算法的正确性。
论文图表
该图展示了 DROID-W 系统的整体效果。左侧是输入视频的几帧画面,中间是重建的动态点云和估计的相机位姿,右侧是优化后的不确定性叠加在对应输入帧上的可视化。从图中可以清楚地看到,系统能够准确识别出场景中的动态区域(如移动的人群、车辆),并给出合理的不确定性估计,同时重建出清晰的静态场景结构和准确的相机轨迹。
这张图是理解论文贡献的入口,直观展示了系统在真实野外环境中的能力,与题目 'in the Wild' 相呼应,说明了所解决的实际问题。通过与现有 SLAM 方法失败情况的对比,突出了本文方法的优势,特别是在动态干扰下的鲁棒性。