跳转至

Geometric Context Transformer for Streaming 3D Reconstruction

会议: ECCV 2026
论文: ECCV 原文
领域: 3D视觉
关键词: 3D基础模型 / 流式三维重建 / 几何上下文注意力 / 相机姿态估计 / SLAM

一句话总结

GCT 借鉴经典 SLAM 的三层空间上下文分解思想,提出几何上下文注意力(GCA),解耦出锚点上下文、局部姿态参考窗口与轻量轨迹记忆,将流式重建单帧 token 膨胀率降低约 80 倍,在 H800 上以 20 FPS 稳定运行超长视频序列并大幅超越现有流式与优化方法。

研究背景与动机

人类在连续感知物理世界时,并不会机械保存所有视觉帧的全部细节,而是选择性保留关键空间参照、密集近景线索和紧凑轨迹结构。然而,在以 VGGT 和 Depth Anything 3 为代表的前馈式 3D 基础模型中,高质量的三维重建高度依赖全局离线多视角自注意力。将这种强大的前馈 3D 重建能力迁移至实时流式视频场景时,模型必须在无未来观测的前提下面对长序列推断。现有流式方案陷入了两难困境:以 CUT3R 为代表的循环压缩方法虽然内存固定,但激进的状态压缩引发了灾难性状态遗忘,导致长程轨迹严重漂移;而以 StreamVGGT 和 Stream3R 为代表的因果缓存方法试图保留完整历史,导致 token 数量与计算开销随序列长度线性膨胀,推断效率迅速崩溃;此外,结合传统 SLAM 后端的外挂式方法则依赖人工设定的关键帧启发式规则与耗时的光束法平差(Bundle Adjustment)迭代优化,难以实现端到端统一与纯前馈实时性。

流式三维重建的核心矛盾在于:既需要长程几何记忆来锚定全局尺度与抑制累积漂移,又必须维持极其紧凑的流式状态以满足严苛的低延迟与常数显存要求。现有方法要么丢失了几何结构,要么保留了冗余细节,缺乏一种符合三维几何物理规律的上下文选择与管理机制。经典 SLAM 系统通过显式维护初始参考帧(坐标系对齐)、局部滑动窗口(密集匹配与相对位姿求解)以及全局位姿图(长程防漂移)实现了鲁棒实时的三维建图,这种分层空间表征为基础模型的上下文管理提供了关键启示。

本文的切入角度是:不再依赖人工启发式规则维护关键帧图,而是将经典 SLAM 的分层空间几何先验内化为纯前馈的端到端注意力机制。核心 idea:提出几何上下文注意力(GCA),将流式推断状态显式解耦为负责坐标与尺度锚定的锚点上下文、负责密集局部几何配准的姿态参考窗口、以及仅保留紧凑上下文标记与时间位置编码的轨迹记忆,以常数级增量开销实现超长序列的高保真一致性流式重建。

方法详解

整体框架

GCT 接收连续单目视频流 \(I = \{I_1, I_2, \dots\}\),在无未来帧输入的前提下因果推断当前帧 \(I_t\) 的相机位姿 \(\hat{P}_t\) 与深度图 \(\hat{D}_t\)。系统采用 DINOv2 预训练的 ViT 骨干提取每帧图像的 \(M\) 个图像 patch 标记,并将其与 1 个相机标记 \(c\)、4 个暂存寄存器标记 \(r_j\) 以及 1 个可学习的锚点标记 \(a\) 拼接为单帧输入标记集。整个架构由交替堆叠的单帧自注意力层(Frame Attention)与几何上下文注意力层(Geometric Context Attention, GCA)构成:单帧注意力独立细化帧内特征,而 GCA 则依据精心设计的几何分层掩码在跨帧间进行几何交互与特征聚合。最后,任务专用的相机预测头与深度预测头分别从相机标记与图像标记中解码输出位姿和深度。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["连续单目视频流输入<br/>帧 It 随时间因果到达"] --> B["ViT 特征提取与标记增强<br/>DINOv2 patch + 6个上下文标记"]
    B --> C["帧内自注意力层<br/>Frame Attention 独立细化单帧表征"]
    C --> D["几何上下文注意力 GCA<br/>跨帧分层几何交互与推理"]
    D --> E["锚点上下文<br/>固定初始尺度与全局世界坐标系"]
    D --> F["局部姿态参考窗口<br/>保留最近 k 帧密集图像标记与相对约束"]
    D --> G["轨迹记忆上下文与视频RoPE<br/>驱逐图像标记,仅留6个紧凑标记与时序编码"]
    E & F & G --> H["任务预测头解码<br/>Camera Head 预测位姿,Depth Head 预测深度"]
    H --> I["流式三维重建输出<br/>相机轨迹 Pt 与度量点云 Dt"]

关键设计

1. 锚点上下文:坐标系统与绝对尺度锚定

单目三维重建存在固有的全局尺度模糊。传统离线重建方法通常依赖全局点云统计量进行尺度归一化,但在因果流式推断中未来场景完全不可见,无法进行全局统揽。为此,GCT 将视频序列的前 \(n\) 帧(例如 \(n=2 \sim 8\))指定为锚点帧,在初始化阶段执行全互注意力,并赋予锚点帧与后续流式帧不同的可学习锚点标记参数,以使网络明确区分参考基底与待测流。在推断全程中,锚点帧的全部图像标记与上下文标记被永久锁定在注意力上下文中,后续所有帧均以其为基准进行坐标与尺度对齐。训练时,所有真值深度与平移均除以初始锚点点云的平均欧氏距离 \(s = \frac{1}{|\bar{X}_{anchor}|} \sum_{x \in \bar{X}_{anchor}} \|x\|_2\),从而在因果推断起始即建立稳定的标准世界坐标系。

2. 局部姿态参考窗口:密集几何线索与局部几何对齐

远距离的锚点帧只能提供宏观尺度与原点基准,无法为当前帧提供足够的局部视差与稠密对应关系。GCT 在推断过程中动态维护包含最近 \(k\) 帧(训练时 \(k \in [16, 64]\),推断时固定为 64)的滑动参考窗口,完整保留这 \(k\) 帧的全部图像标记(每帧约 500 个标记)。高密度的视觉重叠为新到达的帧提供了丰富的局部配准线索,使网络能够精准求解当前帧相对于临近时刻的相机运动与局部曲面几何。同时,为了进一步保证窗口内几何连贯性,局部窗口内的所有帧对均受到相对位姿损失的强监督,避免相邻帧间出现高频震荡或局部折叠。

3. 轨迹记忆上下文与视频RoPE:轻量历史压缩与全局漂移抑制

当视频序列持续推进至数千帧时,若仅依靠锚点和局部窗口,中间被滑出的历史帧将被完全遗忘,从而导致无法抑制的长程累积漂移;若保留所有帧的密集标记,KV 缓存将不可承受。GCT 提出了一种优雅的轨迹记忆压缩机制:一旦某一帧离开当前滑动窗口,模型立即驱逐该帧占用显存巨大的全部图像 patch 标记(约 500 个),仅保留高度压缩的 6 个核心上下文标记(1 个相机标记、1 个锚点标记和 4 个寄存器标记)。此外,模型在保留的上下文标记中注入视频时间旋转位置编码(Video RoPE),赋予其严格的时序距离度量。通过这种设计,包含 \(T\) 帧的历史长序列在 GCA 中的上下文标记总数严格收敛为 \((n+k) \cdot M + 6T\),相较于标准因果注意力的 \(T(M+6)\) 实现了近 80 倍的增量压缩,在序列长度超过 10,000 帧时显存与单步计算量近乎恒定,有效支撑了全局回环与长程漂移矫正。

损失函数 / 训练策略

GCT 采用多任务联合损失进行端到端优化,由深度损失、绝对位姿损失与局部相对位姿损失组成:

\[\mathcal{L} = \lambda_{\text{depth}} \mathcal{L}_{\text{depth}} + \lambda_{\text{abs-pose}} \mathcal{L}_{\text{abs-pose}} + \lambda_{\text{rel-pose}} \mathcal{L}_{\text{rel-pose}}\]

其中,深度损失 \(\mathcal{L}_{\text{depth}}\) 包含不确定度加权的 L1 深度重投影误差、表面梯度平滑误差以及对数不确定度正则项。绝对位姿损失 \(\mathcal{L}_{\text{abs-pose}}\) 监督预测位姿到真实相机外参的 Huber 误差,且特别采用相机到世界(Camera-to-World, C2W)坐标变换参数化,解耦了传统世界到相机变换中平移与旋转的高灵敏度耦合。相对位姿损失 \(\mathcal{L}_{\text{rel-pose}}\) 在当前滑动窗口内的所有帧对 \((i, j)\) 间计算测地旋转误差与平移 L1 误差:

\[\mathcal{L}_{\text{rel-pose}} = \frac{1}{k(k-1)} \sum_{i \neq j, \, i, j \in \{1,\dots,k\}} \left( \mathcal{L}_{\text{rot}}(i, j) + \lambda_{\text{trans}} \mathcal{L}_{\text{trans}}(i, j) \right)\]

模型训练分两阶段进行:第一阶段在多样化短序列与非视频数据上使用全局全注意力预训练离线基础模型(160K 迭代);第二阶段加载预训练权重,接入 GCA 模块,并在包含 24 至 320 帧的长序列视频数据集上进行渐进式微调。为解决长序列训练中的显存瓶颈,训练过程采用了基于 Ulysses 的序列上下文并行(Context Parallelism, 并行度设为 16),跨 64 块 GPU 进行多机高效训练。推断侧则基于 FlashInfer 实现了分页式 KV-Cache(Paged KV-cache),消除了滑动窗口频繁驱逐时的内存碎片与重新分配开销,使 518×378 分辨率下推断速度稳定在 20.3 FPS。

实验关键数据

主实验

在 Oxford Spires 具有长程复杂场景转换的大规模基准评测中(稀疏设置:每 12 帧采样一帧,共 320 帧),GCT 在绝对轨迹误差(ATE)、相对位姿误差以及轨迹 AUC 指标上大幅超越了包含强力离线模型(Depth Anything 3、VGGT)、优化类 SLAM 方法(DROID-SLAM、VIPE)以及所有代表性在线流式模型。

方法 类型 AUC@15 ↑ AUC@30 ↑ ATE (m) ↓ RPE-trans ↓ RPE-rot (°) ↓
Fast3R 离线 (offline) 1.20 2.99 34.80 8.21 59.51
VGGT 离线 (offline) 23.84 35.09 24.78 8.87 22.79
Depth Anything 3 (DA3) 离线 (offline) 49.84 56.68 12.87 3.22 16.17
DROID-SLAM 优化 (optim) 8.58 21.41 21.84 1.02 6.90
VIPE 优化 (optim) 45.35 51.88 10.52 0.43 5.98
CUT3R 在线流式 (online) 5.98 14.95 18.16 1.17 7.18
TTT3R 在线流式 (online) 13.92 25.90 19.35 2.28 13.30
Wint3R 在线流式 (online) 11.61 23.42 21.10 1.62 6.27
Stream3R 在线流式 (online) 9.67 15.21 29.58 6.67 16.90
GCT (本文) 在线流式 (online) 63.22 76.46 5.37 0.93 3.69

在跨数据集泛化与稠密三维点云重建实验中(如 ETH3D、7-Scenes、NRGBD 基准),GCT 的重建精度与完整度同样显著刷新流式重建指标:

数据集 指标 GCT (本文) 次优在线方法 (Wint3R / TTT3R) 提升幅度
ETH3D 轨迹 ATE (m) ↓ 0.43 0.86 (Wint3R) 误差下降 50.0%
ETH3D 重建 F1 评分 ↑ 86.80 77.28 (Wint3R) +9.52 pts
7-Scenes 轨迹 ATE (m) ↓ 0.08 0.11 (Stream3R) 误差下降 27.3%
7-Scenes 重建 F1 评分 ↑ 82.38 78.81 (Wint3R) +3.57 pts
NRGBD 重建 F1 评分 ↑ 65.10 56.96 (Wint3R) +8.14 pts
KITTI Odometry 轨迹 ATE (m) ↓ 24.12 31.89 (VGGT-Long) 误差下降 24.4%

消融实验

在 TartanGround 验证集上对几何上下文注意力(GCA)的各组成模块进行系统消融,验证了各机制的不可或缺性:

实验配置 Rel. Loss A. Init. Co. Tok. V. RoPE AUC@3 ↑ AUC@30 ↑ ATE (m) ↓ RPE-rot (°) ↓ 说明
基线滑动窗口 9.80 65.84 8.59 2.57 仅保留局部相对损失
+ 锚点初始化 13.63 68.71 7.88 2.90 确立坐标基准与绝对尺度
- 去除相对损失 13.91 68.25 8.25 5.35 缺少局部约束导致旋转剧烈抖动
+ 上下文标记 15.75 69.92 7.46 2.26 引入轨迹压缩记忆聚合长程信息
完整模型 (Full) 16.39 71.87 5.98 1.93 加入 Video RoPE 精确编码时序距离

此外,在超参数敏感性测试中(Oxford Spires 分辨率 518×378),当滑动窗口大小 \(k\) 从 16 增加至 64 时,ATE 从 11.2m 显著改善至 5.3m,并在 \(k \ge 48\) 后趋向饱和;而锚点数量 \(n\) 从 2 增加至 8 表现出极高鲁棒性。

关键发现

  • 轨迹记忆与时间位置编码(Video RoPE)是抗击超长序列漂移的关键:引入紧凑上下文标记使 AUC@30 提升至 69.92,加入 Video RoPE 后 ATE 进一步从 7.46m 锐降至 5.98m,证明时序拓扑与宏观轨迹记忆相辅相成。
  • 相对位姿监督在局部几何注册中起到了不可替代的锚定作用:移除相对位姿损失会导致旋转误差(RPE-rot)从 2.26° 剧增至 5.35°,表明全局注意力必须配合严格的局部相对刚性约束。
  • 超长序列稳定性惊人:在 3,840 帧的 Oxford Spires 密集全序列测试中,随着帧数增加,CUT3R 的 ATE 从 18.16m 激增至 32.47m,而 GCT 的 ATE 仅从 5.37m 微增至 5.60m,以近乎水平的误差曲线验证了其长期几何一致性。

亮点与洞察

  • 将 SLAM 的分层表征内化为纯前馈 Transformer 注意力:巧妙地将“参考基准、局部滑动窗、全局位姿图”对应到“锚点上下文、局部窗口密集标记、轨迹记忆紧凑标记”,既继承了经典三维几何的结构先验,又摆脱了传统后端的繁复优化。
  • 驱逐图像标记、保留上下文标记的高效状态压缩:流式推断的核心瓶颈在于显存与算力随时间暴涨,GCT 在帧滑出窗口后仅保留 6 个上下文标记并剔除 patch 标记,以 80 倍的 token 压缩比实现了超长序列的常数级边际推断开销。
  • Paged KV-cache 与 FlashInfer 的工程协同:针对流式模型频繁出入滑动窗口导致的显存重分配开销,采用分页式 KV 缓存机制,单帧延迟稳定,在普通消费级 GPU(如 RTX 4090)上也能实现 12-14 FPS,在 H800 上达到 20+ FPS 实时表现。

局限与展望

  • 强依赖初始锚点质量:全局尺度与世界坐标系强绑定于前几帧锚点帧的观测质量,若视频起步阶段遭遇剧烈晃动、镜头遮挡或纯旋转无视差运动,可能导致整个序列的绝对尺度产生系统性偏差。
  • 暂未显式引入回环检测与显式全局重定位模块:当前依赖轨迹记忆进行隐式漂移抑制,当相机经历长周期大尺度闭环并重访旧场景时,注意力虽然能带来一定重聚,但缺乏类似经典 SLAM 的全局位姿图优化或显式拓扑重定位约束。
  • 动态物体与极端光照鲁棒性仍有提升空间:尽管在 Sintel 动态序列上表现优异,但若场景中包含大面积连续遮挡的动态移动前景,静态刚体假设受到挑战时仍可能引起局部深度与位姿扰动。

相关工作与启发

  • vs CUT3R / TTT3R: CUT3R 采用循环神经网络维持固定维度隐状态,在长序列中易遗忘历史,漂移严重;TTT3R 尝试在推断阶段做测试时微调,计算开销大。GCT 采用分层 GCA 注意力,既保留了长程显式几何参考,又避免了反复优化,精度与长程一致性大幅领先。
  • vs StreamVGGT / Stream3R: 现有流式 VGGT 衍生模型采用朴素因果注意力缓存,所有历史帧均保留全部图像标记,序列变长后显存与延迟迅速爆炸。GCT 通过驱逐非窗口帧的图像标记,将每帧新增 token 降至 6 个,算力利用率提升数十倍。
  • vs DROID-SLAM / VIPE: 经典混合式学习 SLAM 依赖复杂的多视图稠密对应追踪与耗时的非线性迭代优化。GCT 作为端到端单前馈网络,不仅无须人工调节关键帧规则,而且在 Oxford Spires 上的 ATE(5.37m)显著优于 VIPE(10.52m)和 DROID-SLAM(21.84m)。

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 成功将经典 SLAM 的三层空间上下文理念熔铸进端到端基础模型的注意力架构中,设计优雅且切中痛点。
  • 实验充分度: ⭐⭐⭐⭐⭐ 涵盖 Oxford Spires、ETH3D、7-Scenes、Tanks & Temples、NRGBD、Sintel、KITTI 等众多权威基准,消融与长序列评测扎实完备。
  • 写作质量: ⭐⭐⭐⭐⭐ 逻辑严密流畅,图示清晰,SLMA 启发与 Transformer 上下文机制的映射阐述透彻。
  • 价值: ⭐⭐⭐⭐⭐ 极大推进了 3D 基础模型在具身智能、实景三维与端侧实时流式建图方向的工业化落地潜力。