跳转至

SLAM-Former: Putting SLAM into One Transformer

会议: ECCV2026
论文: ECCV 原文
领域: 几何匹配与定位
关键词: 单目稠密 SLAM、全局一致性、前后端协作、KV 缓存、token 剪枝

一句话总结

SLAM-Former 用共享权重的 Transformer 交替执行因果增量建图与全局地图校正,并将校正后的 KV 缓存反馈给前端,在无需相机标定的设置下达到 TUM RGB-D 平均 ATE 0.039 m 和 7-Scenes 重建 Chamfer 0.027 m。

研究背景与动机

单目稠密同时定位与建图(SLAM)不仅要估计相机走到哪里,还要让不同时间看到的墙壁、桌面等表面落在一致的三维位置。 DUSt3R、MASt3R 和 VGGT 等几何基础模型提高了从图像直接预测几何的能力,但把局部预测拼成长期地图仍不容易。 MASt3R-SLAM 和 VGGT-SLAM 通过图像对或子地图建立几何,再用外部优化连接这些局部结果;局部预测的形变、尺度差异和跨帧不一致仍可能留下重复表面。

另一条路线是让模型按时间顺序接收图像,通过循环状态或 KV 缓存保存历史。 StreamVGGT 等方法避免每来一帧就重算全部输入,却通常不重新估计过去已经生成的地图。 当早期几何有偏差时,后续帧一直依赖带偏差的历史状态,因而“能够持续输出”并不等于“能在获得新证据后纠正过去”。 传统 SLAM 的后端恰好承担这一职责,但作者希望把它纳入同一个可学习模型,而不是继续叠加独立回环检测与图优化模块。

SLAM-Former 因此保留前端和后端的职能划分,却让两者共享 Transformer 权重,以地图 token 和注意力缓存作为交接内容。 前端给后端提供带有顺序信息的几何初值,后端则修正历史表示,并改变前端下一步所依赖的记忆。 核心 idea:不仅更新地图的输出,还把全局校正写回前端的 KV 缓存,让后续增量预测从已经纠偏的历史继续出发。

方法详解

整体框架

输入是连续单目 RGB 图像,输出是各关键帧的局部点图、置信度和相机位姿,并由这些结果组成稠密地图。 图像先编码成 patch token,附加 register token;共享骨干交替聚合帧内信息与跨帧信息,任务头再解码几何和位姿。 “一个 Transformer”指前后端共享同一模型,并不是每帧只调用一次网络,也不是取消关键帧选择和周期调度。

系统先进行因果前端增量建图,再周期性执行全局后端缓存反馈;KV 多样性剪枝减少后端注意力和随后前端缓存访问的负担。 训练时用三种注意力模式匹配这些运行状态,监督信号不作为推理输入。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["连续 RGB 图像<br/>图像编码"] --> B["因果前端增量建图"]
    B -->|每 10 个关键帧的地图 token| C["全局后端缓存反馈"]
    C --> D["KV 多样性剪枝"]
    D -->|刷新历史 KV| B
    B --> E["任务头解码<br/>局部点图与位姿"]
    D --> E
    S["训练监督<br/>深度、点图、相机"] -.-> B
    S -.-> C

图中的剪枝发生在后端注意力计算中,并把相应 KV 留给后续前端;箭头是协作与缓存流,不表示先完成全部后端计算再开始剪枝。 完整 KV 是默认评测设置,启用剪枝不会删除需要输出几何的查询位置。

关键设计

1. 因果前端增量建图

每来一帧,系统先把它与最近的关键帧成对输入同一 Transformer,用全注意力预测位姿,再根据相对运动决定是否保留。 实际实现采用平移阈值 0.1;这一步不读取全部历史 KV,因此不必为大量相邻、冗余的图像付出完整建图成本。 前两个关键帧联合初始化;此后每个新关键帧读取历史关键帧的跨帧注意力 KV,产生自己的地图 token 和新 KV,再追加到状态中。 它只依赖已经看到的帧,所以满足在线处理的因果性;代价是过去的错误不会仅靠这个步骤被重新修正。

地图 token 与 KV 缓存不能混为一谈:前者是骨干输出的隐式几何表示,可以送入任务头解码,也可以交给后端继续处理;后者是各层注意力的键和值,用于让新帧复用历史信息。 前端不需要在每步重新编码并运行全部旧图像,因而比反复执行全序列模型更适合流式输入。 模型预测每帧自身坐标系中的局部点图,而不是直接要求每个点都处于固定世界坐标系;跨帧一致性由位姿、后端交互以及训练中的几何约束共同建立。

2. 全局后端缓存反馈

每积累 10 个关键帧,后端把已有地图 token 作为输入,通过全注意力让历史帧之间进行双向交互,并在一次前向传播中重新估计地图表示。 与仅对新帧做因果注意力不同,旧帧此时能够利用后来出现的视角;作者借此承担传统回环检测和全局优化的功能,而不显式求解位姿图。 这是一种学习到的全局校正机制,不等于证明注意力必然找对回环或满足所有几何约束。

更关键的是,后端产生的 KV 会替换前端保存的对应历史 KV。 如果只刷新输出点云却继续沿用旧缓存,新帧依然会参考错误的历史;缓存反馈把纠偏真正接入后续推理。 反过来,后端接收的不是互不相关的原始图像,而是前端按顺序形成的地图 token,里面已经包含增量定位和建图的上下文。 为使同一套权重既能处理图像 token 又能处理地图 token,训练专门覆盖纯前端、前后端混合与纯后端三种状态,而非只在测试时临时拼接两种注意力。

3. KV 多样性剪枝

关键帧不断增加会同时放大缓存容量和跨帧注意力成本,但不能简单删除 patch token:对应的稠密几何输出也可能随之消失。 作者借鉴 DivPrune,在每个关键帧的非 register patch token 中,以余弦距离衡量差异,贪心挑选能够保持较大最小两两距离的子集。 它追求的是保留不同内容的代表,而不是把有限预算都给相似区域;两两距离预计算对每帧 patch 数的复杂度是平方级。

保留集合确定后,只裁剪键和值,查询保持完整,原文可清楚辨认的关系是:

\[ K'=K[S^*],\qquad V'=V[S^*],\qquad Q'=Q. \]

因此每个原有查询位置仍能汇聚保留的上下文并输出几何,减少的是“可被检索的记忆”,而非“需要预测的地图位置”。 若关键帧数为 \(n\)、固定保留比例为 \(\gamma\),论文将主导注意力成本表述为前端 \(O(\gamma n)\)、后端 \(O(\gamma n^2)\);这减少常数,但没有把固定比例后端变成线性算法。 让缓存池随序列按对数或平方根增长时,后端对应 \(O(n\log n)\) 或 \(O(n^{1.5})\);这些是注意力规模分析,不能直接当作整个系统的实测加速倍数。

一个完整示例

设相机在房间里移动,稍后再次看到先前拍过的墙面;这是机制示例,不是论文新增的实验序列。 开始时,前两个关键帧建立地图 token 和 KV;第 3 个关键帧到来后,先通过帧对位姿检查,再利用已有 KV 生成新的局部点图和位姿。 到第 10 个关键帧触发后端时,所有已积累的地图 token 共同参与校正,早先墙面的位置可以受新视角影响。

若采用 25% KV 保留比例,每帧仍保留全部查询,但只保留选中的四分之一 patch KV 来参与相应注意力。 后端刷新前端历史缓存后,第 11 个关键帧依赖的是校正后的历史,而不是最初的漂移状态。 这一流程说明它与“视频结束后再优化一次”的区别:后端的收益会进入下一轮在线预测。

损失函数 / 训练策略

每次训练迭代顺序执行三种模式并共享权重:Mode 1 用因果注意力模拟前端累计 KV;Mode 2 对历史地图 token 用全注意力、对新图像用因果注意力,模拟后端 KV 与前端新 KV 混用;Mode 3 对地图 token 使用全注意力,训练纯后端校正。 Mode 3 的地图 token 可以来自不同运行或缓存状态,让后端学习处理带有不同误差的前端表示。 Mode 2 尤其重要,因为“校正过的历史加上尚未校正的新帧”正是周期式后端运行间隙的真实状态。

各模式都监督深度、点图和相机,清楚可读的总目标为:

\[ L=L_{\mathrm{depth}}+L_{\mathrm{pmap}}+\lambda L_{\mathrm{cam}},\qquad L_{\mathrm{all}}=L_1+L_2+\beta L_3. \]

深度取自局部点图的深度分量;深度与点图监督包含置信度加权和空间梯度约束。 点图监督先利用预测位姿把局部点图对齐到第一帧;相机监督使用尺度处理后的相对位姿与 Huber 损失,尺度估计沿用 Pi3 的做法。 缓存中的式 (4) 至式 (6) 存在运算符缺失,故这里不重建其精确细项公式,也不猜测置信度项的符号和系数。

模型以 Pi3 权重初始化,共有 36 层帧内及全局注意力 Transformer,冻结图像编码器和相机头。 训练 10 个 epoch,batch size 为 32,每个 batch 只含 12 帧;测试则处理更长序列。 采用 AdamW,学习率 \(10^{-5}\) 与余弦调度,设置 \(\lambda=100\)、\(\beta=10\),后端间隔 \(T=10\)。 训练数据包括 ARKitScenes、ScanNet、ScanNet++、HyperSim、BlendedMVS、MegaDepth 和 MVS-Synth;32 张 A100 上训练耗时 11 小时,评测使用单张 RTX 4090。

实验关键数据

主实验

ATE 是绝对轨迹误差,这里报告其 RMSE;Acc. 衡量预测表面到真实表面的距离,Complet. 衡量真实表面被重建覆盖的距离,Chamfer 汇总双向距离,以下均越低越好。 表中只比较无需标定的方法,数值单位均为 m;主实验默认保留全部 KV。

数据集与指标 SLAM-Former 对比方法 对比值 原文来源
TUM RGB-D 平均 ATE 0.039 ViSTA-SLAM 0.052 表 1
TUM RGB-D 平均 ATE 0.039 VGGT-SLAM 0.053 表 1
7-Scenes 平均 ATE 0.042 MASt3R-SLAM 0.066 表 2
Replica 平均 ATE 0.030 EC3R-SLAM 0.041 表 3
7-Scenes Acc. 0.017 EC3R-SLAM 0.025 表 4
7-Scenes Complet. 0.037 EC3R-SLAM 0.054 表 4
7-Scenes Chamfer 0.027 EC3R-SLAM 0.040 表 4

7-Scenes Acc. 从 0.025 降至 0.017,对比值作分母时相对降低 32.0%;不能把原文“对手误差约高 47%”改写为“本文降低 47%”。 定位也不是对所有标定方法占优:TUM 表 1 的标定 MASt3R-SLAM 为 0.030,低于本文 0.039;Replica 的正文也明确承认落后于标定 DROID-SLAM。 原文表 4 的 ViSTA-SLAM ATE 为 0.056,而表 2 为 0.055,这个差异不作自行统一。

消融实验

表 6 直接比较有无后端,TUM RGB-D 的 ATE RMSE 单位为 m。

配置 平均 room floor desk 说明
仅前端 0.134 0.547 0.264 0.041 只做因果增量预测
前端 + 后端 0.039 0.082 0.079 0.018 全局校正并反馈 KV

平均 ATE 相对降低约 70.9%,room 的改善尤其明显,符合长序列累积漂移需要历史校正的动机。 但这组消融一起引入了后端校正和 KV 反馈,不能据此分别量化两者的独立贡献,也没有单独证明 Mode 2 的收益。

表 7 进一步分析 7-Scenes 上的缓存压缩,所有误差单位仍为 m。

KV 保留设置 ATE Acc. Complet. Chamfer
100% 0.042 0.017 0.036 0.026
50% 0.041 0.017 0.036 0.027
25% 0.042 0.018 0.037 0.027
12.5% 0.042 0.020 0.038 0.029
6.25% 0.055 0.026 0.042 0.034
log KV pool 0.042 0.017 0.037 0.027
sqrt KV pool 0.041 0.017 0.037 0.027

原文表 7 的 100% 行为 Complet. 0.036、Chamfer 0.026,与表 4 的 0.037、0.027 略有不同;这里按各表原值保留,不把两次报告视为完全相同的基准。

关键发现

  • 后端不仅改善最终表面,也显著降低轨迹误差;表 6 是支持前后端协作最直接的定量证据。
  • 保留 12.5% KV 时 ATE 仍为 0.042,但 Acc. 已从 0.017 增至 0.020,因此“定位几乎不变”不等于“所有几何指标不变”。
  • 6.25% 时多项指标明显恶化;对数与平方根缓存池则维持较接近完整 KV 的结果,显示固定比例不是唯一选择。

亮点与洞察

  • 把后端校正写入注意力记忆,而不只修正最终预测。这让“地图优化”能够影响未来的感知过程,是比单次离线重建更接近 SLAM 的协作方式。
  • 用三种注意力配置训练同一个模型,覆盖周期运行中不同来源的缓存状态。可迁移的思路是显式训练模块交接时的混合状态,而不是默认单独训练的功能自然兼容。
  • 完整查询与稀疏 KV 分离,保住稠密输出位置。这种压缩方式适合“输出必须密集,但可供检索的历史高度冗余”的视觉任务。

局限与展望

  • 作者明确指出长序列存在时延和显存扩展问题,图 7 的曲线终点对应内存限制。固定比例剪枝仍保留后端平方级注意力,不能据此宣称无限长实时 SLAM。
  • 三套主要定量基准都是室内场景;本文证据不足以推出室外大尺度、强动态物体或严重遮挡条件下的可靠性,这是评测范围的限制。
  • 表 6 没有拆分缓存反馈、后端重估和三模式训练,后端间隔与关键帧阈值也缺少独立敏感性分析。后续应在相同预算下分别控制这些因素。
  • 全注意力承担回环功能是作者的机制解释,本文没有单独报告回环检测准确率或失败恢复能力。更接近部署的评测应检查错误回环、长时间失跟和动态场景下的恢复。

相关工作与启发

  • vs MASt3R-SLAM / VGGT-SLAM:它们以几何基础模型提供图像对或子地图预测,再用外部几何优化连接;本文用共享 Transformer 直接更新全局地图 token,并反馈到后续前端。传统方法仍可能在某些标定定位设置下更准确。
  • vs StreamVGGT / CUT3R:流式模型擅长利用历史生成新结果,但不具备本文这种周期性全局重估与缓存刷新机制。本文最重要的增量是让历史能够被新证据改写。
  • vs Pi3:Pi3 提供预训练几何能力,本文增加顺序式前端与后端协作。图 6 给出定性比较,但正文称 ofkt0、图注称 ofkt1,序列标识不一致,因此不据此作精确的序列级定量结论。
  • 可延伸方向:根据地图不一致程度自适应决定后端触发时机和缓存预算,可能比固定每 10 个关键帧更新更有效;这是笔记提出的研究方向,不是原文已验证结果。

评分

  • 新颖性: 4/5。共享 Transformer 的前后端闭环和 KV 反馈具有明确系统创新,但建立在成熟几何基础模型与注意力机制之上。
  • 实验充分度: 4/5。覆盖三套定位基准、重建和剪枝分析,但缺少更细粒度协作消融及室外长期验证。
  • 写作质量: 4/5。架构与训练模式对应清楚,少数跨表数值与图文序列标识需谨慎读取。
  • 价值: 4/5。为从流式几何预测走向可回溯校正的神经 SLAM 提供了具体、可借鉴的系统设计。