视觉同时定位与地图构建 (SLAM) 通常被视为空间智能的“圣杯”。理想情况下,我们要让机器人或一副 AR 眼镜张开“眼睛” (相机) ,观察场景,并立即了解它在哪里以及世界的 3D 样貌——无需任何手动设置。
然而,SLAM 的现实情况历来都很棘手。它通常需要严格的硬件专业知识、仔细的相机校准 (那些棋盘格图案) 以及可靠的特征提取器。虽然“稀疏”SLAM (跟踪点) 效果不错,但“稠密”SLAM (重建整个表面) 仍然计算量大且容易发生漂移。
于是 MASt3R-SLAM 登场了,这是来自伦敦帝国理工学院的一个新系统。这项研究通过使用强大的深度学习模型作为“先验”来解决困难的几何问题,从而彻底改变了局面,允许在甚至不知道相机内参的情况下进行实时的、稠密的重建。
在这篇文章中,我们将拆解这篇论文,了解他们是如何利用 3D 重建先验实现实时稠密 SLAM 的。我们将探讨从传统几何到深度学习先验的转变,使其快速运行的巧妙优化技巧,以及它与最先进技术的对比表现。

核心问题: 为什么我们需要先验?
要从 2D 图像执行 SLAM,系统必须解决一个“逆问题”。它看到的是平面的图像,必须推导出 3D 结构和相机随时间的运动。这在数学上是很困难的,因为:
- 尺度模糊性: 远处的大物体看起来和近处的小物体是一样的。
- 无纹理区域: 白墙和光亮的表面会混淆传统的特征匹配器。
- 复杂的参数: 你通常需要与轨迹一起求解相机的焦距和畸变。
为了解决这个问题,研究人员使用先验 (Priors) ——即帮助约束问题的假设或预训练知识。
- 单视图先验: 从单张图像猜测深度的神经网络。这些通常是不一致的;第 1 帧预测的深度可能与第 2 帧不匹配。
- 多视图先验: 像光流或多视图立体视觉 (MVS) 这样的技术。这些比较好,但往往将相机的运动与场景几何纠缠在一起。
基础: MASt3R
作者将他们的系统建立在一个名为 MASt3R (DUSt3R 的继任者) 的近期突破之上。MASt3R 是一个“双视图 3D 重建先验”。你给它两张图像,它会输出点图 (Pointmaps) ——两张图像在共同坐标系下对齐的稠密 3D 点云。
这是一个范式转变。MASt3R 不是分别为特征匹配、位姿估计和深度估计提供单独的模块,而是在一个联合框架中隐式地解决它们。但这篇论文要解决的挑战是: 我们如何利用这个厚重的双视图深度学习模型,将其转化为一个实时的、全局一致的 SLAM 系统?
MASt3R-SLAM 架构
该系统是基于 MASt3R 预测“自底向上”设计的。它是一个单目系统 (单相机) ,运行速度为 15 FPS。

如上图 3 所示,该流程遵循标准的 SLAM 结构,但包含新颖的组件:
- 输入: 图像逐一输入。
- 点图预测: MASt3R 预测 3D 结构。
- 匹配: 一种高效的迭代投影方法寻找对应关系。
- 跟踪: 系统通过最小化“射线误差”来估计相机位姿。
- 局部融合: 合并点图以减少噪声。
- 后端: 一个图 (Graph) 优化整个轨迹和回环。
让我们分解一下使其能够实时工作的技术创新。
1. 通用相机模型
大多数 SLAM 系统假设一个由焦距 (\(f_x, f_y\)) 和主点 (\(c_x, c_y\)) 定义的“针孔”相机模型。如果你不知道这些,或者它们发生了变化 (如变焦镜头) ,标准的 SLAM 就会失效。
MASt3R-SLAM 对相机模型不做任何假设 , 只要求它是一个“中心相机” (所有光线通过一个中心) 。系统不使用像素和焦距,而是将预测的点图转换为归一化射线 。
这意味着系统可以处理:
- 未知校准。
- 严重畸变 (鱼眼) 。
- 随时间变化的内参 (视频拍摄过程中放大和缩小) 。
2. 高效的点图匹配
SLAM 中的关键一步是找出图像 A 中的哪个像素对应图像 B 中的哪个像素。MASt3R 提供了用于匹配的特征,但对所有像素进行暴力搜索的复杂度是 \(O(N^2)\)——对于实时机器人来说太慢了。
作者引入了迭代投影匹配 (Iterative Projective Matching) 。 他们不搜索整个图像,而是将匹配视为一个局部优化问题。

直观理解如下 (如上图 2 所示) :
- 我们有来自上一帧的一个 3D 点 \(\mathbf{x}\)。
- 我们想找出这个点出现在当前帧点图 \(\mathbf{X}^i_i\) 的什么位置。
- 我们将点图转换为射线 (\(\psi\))。
- 我们调整像素坐标 \(\mathbf{p}\),直到该像素处的射线与目标射线 \(\psi(\mathbf{x})\) 对齐。
在数学上,他们最小化射线之间的角度差 \(\theta\):

这个优化通过 Levenberg-Marquardt 算法求解。因为“射线图像”是平滑的,它在极少的迭代次数内就能收敛。这将缓慢的全局搜索转变为闪电般快速的局部优化,并在 GPU 上完全并行化。
3. 跟踪: 射线误差 vs. 点误差
一旦找到匹配,系统需要确定相机如何移动 (跟踪) 。目标是找到当前帧和关键帧之间的相对位姿 \(\mathbf{T}_{kf}\)。
一种朴素的方法是最小化 3D 点之间的距离( 点误差 )。然而,深度学习的预测通常在深度 (尺度) 上存在误差,这可能会甩掉跟踪。
相反,作者最小化射线误差 (Ray Error) 。 他们对齐点的方向而不是它们的绝对位置。

在上面的方程 (\(E_r\)) 中,系统优化位姿以使射线 \(\psi(\mathbf{T}_{kf}\mathbf{X})\) 与参考射线对齐。这对深度噪声具有更强的鲁棒性。他们使用迭代重加权最小二乘法 (IRLS) 求解器来处理异常值。
4. 处理尺度: Sim(3) 优化
因为网络是从图像对预测几何结构的,世界的“尺度” (一米有多大?) 可能会漂移或在图像对之间不一致。为了处理这个问题,作者在相似群 Sim(3) 而不是标准的刚体群 SE(3) 中定义所有位姿。

该矩阵包含一个比例因子 \(s\)、一个旋转 \(\mathbf{R}\) 和一个平移 \(\mathbf{t}\)。这种灵活性允许系统对齐地图的各个片段,即使网络的尺度预测出现波动。
5. 局部融合
深度网络输出的预测带有噪声。如果你同等地信任每一帧,你的地图将会很混乱。MASt3R-SLAM 采用了局部点图融合 (Local Pointmap Fusion) 。

随着相机跟踪,系统为关键帧维护一个“规范”点图。新的预测通过移动加权平均合并到这个规范地图中 (如上式所示) 。这起到了滤波器的作用,平滑了几何结构并随着时间的推移提高了 3D 结构的置信度,而无需对每个像素进行昂贵的捆绑调整 (Bundle Adjustment) 。
后端: 全局一致性
我们刚才描述的“前端”处理即时运动。“后端”则确保整个地图是合理的。
当相机移动足够远时,会创建一个新的关键帧 。 这些关键帧构成一个图。
- 回环检测: 系统使用特征检索来检查机器人是否回到了之前的位置。如果发现回环,MASt3R 会估计几何约束,并在图中添加一条边。
- 全局优化: 系统对所有关键帧执行大规模的二阶优化 (高斯-牛顿法) 。

这个全局优化 (\(E_g\)) 最小化整个图的射线误差,校正漂移并将地图捕捉为一致的形状。
实验与结果
作者在标准基准测试 (如 TUM RGB-D、EuRoC 和 7-Scenes) 上评估了 MASt3R-SLAM。他们将其与 DROID-SLAM 进行了比较,后者目前被认为是基于深度学习的 SLAM 的黄金标准。
轨迹精度
结果令人印象深刻。即使没有校准 (未校准模式) ,MASt3R-SLAM 也达到了最先进的性能。

在表 1 中,“Ours” (Uncalibrated,未校准) 实现了 3.0 cm 的平均误差,击败了 DROID-SLAM (3.8 cm),并且在缺少校准时显著优于像 ORB-SLAM3 这样的传统方法。这证实了来自 MASt3R 的 3D 先验足够强大,可以替代精确的校准。
稠密几何质量
精确跟踪是一回事,但地图看起来好吗?这正是该方法大放异彩的地方。因为它使用稠密 3D 先验,所以生成的重建比基于流的方法更干净、更连贯。

在图 9 中,你可以看到在“7-Scenes”数据集上的对比。MASt3R-SLAM 的 RMSE 倒角 (Chamfer) 距离 (一种几何误差度量) 显著更低 (0.0288m vs 0.0604m) 。DROID-SLAM 的地图包含更多噪声和离群点 (蓝色雾状物) ,而 MASt3R-SLAM 生成了更紧致的表面。

该系统能很好地处理复杂的工业环境,如 EuRoC 重建所示 (图 6) 。
对“野外”条件的鲁棒性
论文中最酷的演示之一是对极端变焦变化的处理。因为系统使用的是射线而不是固定的像素,即使在相机剧烈变焦时——这种情况会破坏大多数标准 SLAM 系统——它也能成功跟踪。

图 7 显示了两个具有巨大焦距变化的连续帧。MASt3R-SLAM 在此过渡过程中保持了跟踪和地图的连续性。
计算性能
它真的是实时的吗?

图 8 分解了运行时间。繁重的工作由 MASt3R 网络 (编码器和解码器) 完成,约占总时间的 64%。然而,由于匹配和跟踪逻辑 (本文的新颖贡献) 非常高效 (仅需几毫秒) ,整个系统在高端 GPU (RTX 4090) 上以 ~15 FPS 的速度运行。这对于遥操作和许多机器人任务来说已经足够快了。
结论与意义
MASt3R-SLAM 代表了 SLAM 普及化的重要一步。通过将鲁棒的 3D 深度学习先验包裹在一个有原则的几何后端中,作者创建了一个具备以下特点的系统:
- 即插即用: 无需校准。
- 稠密: 你得到的是完整的 3D 地图,而不仅仅是稀疏的点云。
- 鲁棒: 它自然地处理镜头畸变和变焦。
虽然端到端学习方法 (如 DROID-SLAM) 试图从数据中学习整个 SLAM 流程,但这篇论文表明混合方法可能更好: 让网络解决困难的 3D 感知 (立体视觉) ,让经典优化解决一致性 (SLAM) 。
对于学生和研究人员来说,这突显了“模块化”深度学习的价值。与其是一个黑盒子,我们拥有由深度表示驱动的可解释组件 (匹配、跟踪、优化) 。随着像 MASt3R 这样的 3D 先验变得更快、更好,我们可以期待 SLAM 变得像打开相机一样简单。
](https://deep-paper.org/en/paper/2412.12392/images/cover.png)