跳转至

RegimeVGGT: Layer-Wise Spatially Preserving Redundancy Removal for Visual Geometry Grounded Transformer

会议: NeurIPS 2026
arXiv: 2606.18439
OpenReview: https://openreview.net/forum?id=1a4VUxz0sm
领域: 重建与渲染
关键词: 3D重建、前馈视觉几何Transformer、免训练加速、Token合并、KV下采样

一句话总结

针对视觉几何Transformer(VGGT)二次方跨帧注意力开销巨大且层间异质性显著的问题,本文通过谱分析与因果干预揭示浅层无结构、中层驱动几何对齐、深层冗余但支配位姿的三阶段规律,提出了双轴U形免训练加速方案(显著性引导分段合并与选择性保护K/V下采样),在保持密集重建精度的同时实现高达6.7倍的端到端推理加速。

研究背景与动机

从多视角图像端到端恢复场景密集三维几何结构与相机位姿,是自动驾驶、机器人导航与增强现实的核心基础技术。传统的运动恢复结构(SfM)与多视角立体视觉(MVS)管线依赖特征匹配、三角测量与光束法平差(Bundle Adjustment),在弱纹理、重复结构与大视差场景下极易失败且耗时漫长。近年来以 DUSt3R 为代表的前馈神经网络打破了这一瓶颈,而视觉几何Transformer(VGGT)进一步将任意视角图像送入统一步伐,直接联合预测逐点 3D 坐标与相机参数。然而,VGGT 内部由 24 层交替进行的帧内注意力与全局跨帧注意力聚合器构成,其复杂度随着输入帧数 \(S\) 与每帧 Patch 数 \(P\) 呈 \(O(S^2 P^2)\) 二次方暴涨。在单张 NVIDIA H800 GPU 上,标准 VGGT 在序列达到 300 帧时即耗尽显存,即使采用重计算的优化基线 VGGT* 在长序列场景下也极其缓慢。

现有面向 VGGT 的免训练加速工作主要沿单一维度施加均匀压缩:FastVGGT 在全部 24 层中均匀合并 Token,S-VGGT 将场景切分为独立子场景,而 AVGGT 虽然意识到早期层冗余并改用单帧注意力,但后续层仍采用统一网格的 K/V 降采样。这些方法均忽视了 VGGT 沿网络深度所呈现的深刻功能异质性与跨帧几何对齐规律。

通过对 VGGT 隐藏特征进行闭式岭回归线性探测、注意键随机置换因果干预以及注意力概率矩阵有效秩的谱分析,本文发现 VGGT 的全局跨帧注意力在深度方向呈现明显的“浅-中-深”三阶段(Regime)异质结构:浅层(L1–L10)尚未建立几何对齐结构且有效秩极低(\(\le 20\));中层(L11–L18)是跨帧几何对齐的爆发区,注意力有效秩达到峰值(\(\approx 90\)),且信息高度浓缩于物体轮廓与深度边缘处的少量“几何Token”;深层(L19–L24)注意力虽然崩塌为低秩修正、对密集点云重建几乎不敏感,但相机与 Register Token 的跨帧路径却主导着全局相机位姿漂移。核心 idea:遵循“浅层激进、中层保守且保护几何边缘、深层高压缩但维持位姿通路”的U形异质规律,联合沿 Token 数量轴实施显著性引导的分段合并,并沿 K/V 密度轴实施基于相位偏移网格与参考帧锚点的选择性下采样,实现保全几何与相机轨迹的无损端到端加速。

方法详解

核心机制

VGGT 的根本瓶颈在于全局跨帧注意力块 \(O(S^2 L^2)\) 的二次方复杂度(\(L = T + 5\),包含 \(T\) 个图像 Patch Token 与 5 个相机/Register Token)。RegimeVGGT 的核心机制是双轴正交压缩与网络三阶段 U 形调度的完美结合:

  1. Token 数量轴(Saliency-Guided Banded Merging):在每层全局块前,将非参考帧的 Patch Token 分割并进行双向合并,全局注意力结束后通过 Unmerge 恢复完整分辨率以供给 DPT 稠密几何预测头。合并比例按三阶段设为 U 形(浅层 0.99、中层 0.50、深层 0.99),并通过预训练冻结的 DINOv2 最终层 [CLS] 注意力图 \(\Psi\) 筛选出前 \(\alpha=10\%\) 的几何/高频边界 Token 免于合并。
  2. K/V 密度轴(Selectively Protected K/V Downsampling):在每层中,全部 Patch 与相机 Token 均保留为 Query 正常发起查询;但作为 Key/Value 时,非锚点帧的 Token 按 U 形采样率 \(\sigma_b\) 被约束在规则网格上。为了消除跨帧盲区,网格坐标依据帧索引进行二维相位偏移(Phase Shift),使多帧的并集覆盖整个空间;同时将参考帧(Frame 0)以及相机/Register Token 设为全密度保护,守住全局位姿回归与对齐基准。

整体框架与流程

下图展示了 RegimeVGGT 内部单一全局注意力块的数据流转与双轴压缩处理流程:

%%{init: {'theme': 'base', 'themeVariables': {'fontSize': '12px', 'lineColor': '#2B6CB0'}}}%%
flowchart TD
    InTokens["输入多视角 Tokens (S 帧 × L 个 Token)"] --> SplitRef{"区分参考帧与普通帧"}

    SplitRef -->|"参考帧 (Frame 0)"| RefPath["保持全量 Patch Token 与 Cam/Reg 密集表达"]
    SplitRef -->|"非参考帧 (f > 0)"| NonRefPath["提取 Patch Token 集合"]

    NonRefPath --> DINOProtect["DINOv2 Saliency 筛选<br/>保护 Top-α 几何与高频边缘 Token"]
    DINOProtect --> BipartiteMerge["显著性引导分段合并 (U形比率 ρ_b)<br/>浅层 0.99 / 中层 0.50 / 深层 0.99"]

    BipartiteMerge --> CombinedQ["构建紧凑 Query 集合 (保留所有 Token 身份)"]
    RefPath --> CombinedQ

    BipartiteMerge --> PhaseKV["选择性保护 K/V 下采样<br/>网格降采样 (U形比率 σ_b) + 帧索引相位偏移"]
    RefPath --> PhaseKV

    PhaseKV --> AppendCamReg["强制注入全密度保护项<br/>Frame 0 锚点 + 相机/Register Token + Top-α 边缘"]
    AppendCamReg --> CompactKV["构建稀疏 Key/Value 集合"]

    CombinedQ --> ScaledSoftmax["尺寸偏置感知注意力 (Size-Aware Attention)<br/>Log(group_size) 吸收进 Q/K 投影"]
    CompactKV --> ScaledSoftmax

    ScaledSoftmax --> UnmergeStep["双向反合并映射 (Unmerge)<br/>写回原始 Token 槽位,恢复稠密分辨率"]
    UnmergeStep --> OutTokens["输出完整分辨率特征至帧内注意力与 DPT 预测头"]

关键设计

1. 基于 DINOv2 [CLS] 显著性引导的分段合并:在压缩序列长度的同时保全几何不连续面

直接套用均匀 Token 合并(如 ToMe)会使三维重建丢失细粒度几何边缘。实验证明,对深度残差最大的前 10% 几何 Token 进行消融,深度头误差激增 2.1 倍。为在免训练推理时精准定位这些关键 Token,RegimeVGGT 引入冻结 DINOv2 骨干网络最后一层的头平均 [CLS] 注意力得分 \(\Psi_p = \frac{1}{H} \sum_{h=1}^H \text{softmax}(q_{\text{CLS}}^{(h)} (k_p^{(h)})^\top / \sqrt{d_h})\)。DINOv2 的自蒸馏与掩码建模特性使其 [CLS] 注意力紧紧锚定在前景物体轮廓和几何突变处,而非散乱的低级纹理边缘。每层将得分最高的前 \(\alpha=0.1\) Patch Token 和参考帧 Token 排除在待合并集 \(\mathcal{A}_s\) 之外,其余 Token 按余弦相似度进行双向合并。合并比例遵循谱分析给出的 U 形调度: $$ \rho^{(\ell)} = \begin{cases} 0.99 & \ell \in [1, 10] \quad (\text{浅层无结构,激进压缩}) \ 0.50 & \ell \in [11, 18] \quad (\text{中层强对齐,保守合并}) \ 0.99 & \ell \in [19, 24] \quad (\text{深层低秩,激进压缩}) \end{cases} $$ 同时,为避免每层重复计算相似度矩阵造成计算浪费,设计了与 Regime 边界对齐的索引缓存(Band-Aligned Cache):仅在第 1、11、19 层计算匹配矩阵并在组内复用,但在跨视角交互最激烈的 L11–L14 维持逐层重算。

2. 尺寸偏置吸收的高效注意力计算:消除掩码开销的硬件加速实现

在合并完成后,每个留存的 Key 代表了 \(g_k \ge 1\) 个原始源 Token。标准的加权注意力需要对 Softmax Logit 加上 \(\log g_k\) 偏置项: $$ \text{Attn}^\star(\mathbf{Q}, \mathbf{K}, \mathbf{V}; \mathbf{g}) = \text{softmax}\left(\frac{\mathbf{Q} \mathbf{K}^\top}{\sqrt{d}} + \log \mathbf{g}^\top\right) \mathbf{V} $$ 若显式构造大小为 \(N \times N\) 的注意力掩码,将彻底破坏 FlashAttention 的显存局部性。RegimeVGGT 提出一种代数吸收技巧:在 Query 矩阵末尾追加一列全 1 向量,在 Key 矩阵末尾追加一列缩放偏置向量 \(\sqrt{d} \log \mathbf{g}\)。由于扩展向量的点积在 \(1/\sqrt{d}\) 缩放后正好等于 \(\log g_k\),该操作零成本等价于显式偏置。随后将头维度零填充(Zero-Padding)至 FlashAttention-2 所需的规整尺寸(如 64 补齐至 80),计算完成后通过切片截断输出,在保证数值精度的同时释放最大 GPU 吞吐。

3. 相位偏移与参考帧锚定 K/V 下采样:破除跨帧盲区并锚定全局位姿基准

在 K/V 维度上,留存密度沿深度采取与合并比例相反的倒 U 形配置:浅层 \(\sigma_s=1.5\)(保留约 44%)、中层 \(\sigma_m=1.3\)(保留约 56%)、深层 \(\sigma_d=1.7\)(保留约 36%)。针对固定空间降采样会导致跨视角空间盲点的问题,本文依据帧索引 \(f\) 与瓦片尺寸 \(t\) 对采样网格施加二维相位偏移:行偏移为 \((f \text{ div } t) \bmod t\),列偏移为 \(f \bmod t\)。这保证了跨 \(S\) 帧的 K/V 覆盖并集随帧数增加迅速逼近完整空间,消除系统性盲区。更为关键的是,网络深层虽然对点云影响微弱,但直接跳过或冻结深层 Patch 交互会导致累积位姿漂移,使长序列轨迹彻底崩塌。为此,RegimeVGGT 实行三重选择性保护: - Frame 0 锚点:固定第 0 帧作为全密度参考系,为中层跨视角回归提供绝对坐标锚; - Cam/Reg Token:相机与 Register Token 负责跨帧承载位姿梯度,全程保持全密度双向交互; - 几何与边缘显著 Token:由 \(\Psi\) 标记的前 \(\alpha\) 关键区域在 K/V 侧同样保留全分辨率。

理论分析与设计权衡

在计算复杂度层面,原始 VGGT 全局块的总复杂度为 \(24 \cdot O(S^2 L^2)\)。引入双轴压缩后,在包含 \(S\) 帧的序列中,第 \(b\) 个 Regime 内每个全局注意力块的复杂度降为: $$ \mathcal{O}_{\text{RegimeVGGT}}^{(b)} = O\left(S^2 \frac{(L'_b)^2}{\sigma_b^2}\right) + O(S L^2) $$ 其中 \(L'_b \approx (1-\rho_b) T + 5\) 为合并后有效 Token 数,分母 \(\sigma_b^2\) 反映了 K/V 稀疏因子,右侧 \(O(S L^2)\) 项源于对 Frame 0 锚点帧的全密度保留。通过乘性复合压缩,全局注意力计算的理论 FLOPs 减少了约 20 倍,端到端推理在长序列(如 ScanNet 1000 帧)下实现了 6.7 倍的实际墙钟加速。

设计权衡上,本文明确排除了“深层完全跳过全局注意力”和“深层仅允许相机Token查询”两种直觉性捷径:前者剥夺了相机 Token 在最后 6 层的跨视角信息流,导致 Tanks & Temples 上的 AUC@30 从 0.9162 骤降至 0.6330;后者虽然在短序列表现良好,但在长序列下未更新的深层 Patch 导致相机 Token 检索到陈旧特征,累积漂移依旧严重(AUC@30 仅恢复至 0.7965)。只有维持全局 Query 更新并实施选择性 K/V 降采样(Step 3),才能在长达千帧的轨迹中维持稳定闭环。

实验关键数据

主实验

本文在 7 Scenes、NRGBD 稠密室内三维重建数据集,以及 Tanks & Temples(大型室外场景)、DTU(物体级多视角)、ScanNet-50(长达 1000 帧的极限序列)上位姿与点云重建进行了系统评估。所有实验均在单张 80GB NVIDIA H800 GPU(分辨率 \(518 \times 392\))上完成。

表1:7 Scenes 与 NRGBD 室内数据集点云重建定量对比(步长 3 与 10)

数据集 方法 步长 3 精度 (Acc)↓ 步长 3 完整度 (Comp)↓ 步长 3 法线一致性 (NC)↑ 步长 3 耗时 (s)↓ 步长 10 精度 (Acc)↓ 步长 10 完整度 (Comp)↓ 步长 10 法线一致性 (NC)↑ 步长 10 耗时 (s)↓
7 Scenes VGGT (CVPR'25) OOM OOM OOM - OOM OOM OOM -
7 Scenes VGGT* (CVPR'25) 0.018 0.028 0.600 56.0 0.019 0.029 0.609 6.5
7 Scenes FastVGGT (ICLR'26) 0.017 0.027 0.603 18.1 0.017 0.028 0.611 3.5
7 Scenes S-VGGT (ICME'26) 0.021 0.021 0.602 17.1 0.025 0.025 0.619 4.0
7 Scenes RegimeVGGT (本文) 0.017 0.027 0.602 13.9 0.017 0.028 0.611 3.0
NRGBD VGGT (CVPR'25) OOM OOM OOM - OOM OOM OOM -
NRGBD VGGT* (CVPR'25) 0.028 0.018 0.657 107.3 0.016 0.017 0.668 10.4
NRGBD FastVGGT (ICLR'26) 0.031 0.019 0.662 29.1 0.017 0.018 0.670 4.9
NRGBD S-VGGT (ICME'26) 0.027 0.016 0.636 28.0 0.040 0.019 0.659 4.7
NRGBD RegimeVGGT (本文) 0.024 0.018 0.659 21.8 0.018 0.018 0.670 4.2

表2:ScanNet-50 极端长序列点云重建与相机位姿估计对比(1000 帧与 500 帧)

序列长度 方法 倒角距离 (CD)↓ 绝对轨迹误差 (ATE)↓ 绝对旋转误差 (ARE)↓ 相对旋转误差 (R-rot)↓ 相对平移误差 (R-tr)↓ 推理耗时 (s)↓ 显存峰值 (GB)↓
1000 帧 VGGT OOM OOM OOM OOM OOM - OOM
1000 帧 VGGT* 0.463 0.117 5.127 0.962 0.034 477.3 42.5
1000 帧 FastVGGT 0.464 0.111 4.166 0.660 0.029 113.5 60.3
1000 帧 S-VGGT OOM OOM OOM OOM OOM - OOM
1000 帧 RegimeVGGT (本文) 0.465 0.092 3.97 0.60 0.025 71.5 49.0
500 帧 VGGT* 0.467 0.105 4.645 0.693 0.032 130.2 23.7
500 帧 FastVGGT 0.453 0.093 4.016 0.642 0.031 41.4 32.9
500 帧 S-VGGT 0.439 0.113 4.113 0.925 0.091 26.1 37.0
500 帧 RegimeVGGT (本文) 0.452 0.096 4.06 0.68 0.033 25.6 26.9

消融实验

表3:Tanks & Temples 上的双轴模块组件消融(区分长序列与短序列场景)

模块配置 变体分支说明 长序列 (Courthouse, 1106帧) AUC@30↑ 长序列加速比↑ 短序列 (其余5场景) AUC@30↑ 短序列加速比↑ 平均 AUC@30↑ 全局平均加速比↑
基线参考 VGGT* (Full Token Baseline) 0.8381 1.00× 0.9319 1.00× 0.9162 1.00×
分段合并轴 去除分段缓存 (w/o Cache) 0.8409 1.83× 0.9314 2.02× 0.9163 1.89×
分段合并轴 去除尺寸偏置 (w/o Size Bias) 0.8225 2.90× 0.9311 2.57× 0.9064 2.79×
分段合并轴 标准显著性分段合并单独生效 0.8358 2.90× 0.9320 2.57× 0.9159 2.78×
K/V下采样轴 去除参考帧锚点 (w/o Anchor) 0.8134 2.27× 0.9324 2.01× 0.9126 2.18×
K/V下采样轴 去除相位偏移 (w/o Phase Shift) 0.8254 2.28× 0.9307 2.01× 0.9132 2.18×
K/V下采样轴 标准选择性保护下采样单独生效 0.8329 2.28× 0.9356 2.01× 0.9185 2.18×
完整模型 RegimeVGGT (双轴正交融合) 0.8125 5.79× 0.9281 3.93× 0.9088 5.01×

关键发现

  • 深层位姿通路的致命性:实验证明深层全局注意力虽然对几何点云指标贡献极小,但直接砍断深层交互会使 Tanks & Temples 的 AUC@30 暴跌 0.28(从 0.916 跌至 0.633)。必须采用选择性保护机制维持相机与 Patch 的全局更新通路。
  • 长序列位姿甚至反超基线:在 1000 帧 ScanNet-50 极端长轨迹下,RegimeVGGT 的 ATE 达到 0.092,明显优于 VGGT* 的 0.117 和 FastVGGT 的 0.111。这表明适度的冗余剔除和相位偏移采样有效抑制了冗余背景噪声对全局对齐的负面干扰。
  • 显存与速度的卓越平衡:在 1000 帧下,标准 VGGT 和 S-VGGT 均发生 OOM,FastVGGT 显存高达 60.3GB,而 RegimeVGGT 显存仅 49.0GB,且时间从 477.3s 缩减至 71.5s(加速 6.7 倍)。

亮点与洞察

  • 精细的跨层功能解耦与因果诊断:不把网络当黑盒,而是结合信息探测、键置换因果干预和注意力有效秩三位一体,明确定义了 L1–L10(浅层无结构)、L11–L18(几何对齐爆发)、L19–L24(低秩冗余)的三阶段边界。
  • DINOv2 [CLS] 显著性作为几何边缘的零成本代理:利用大模型预训练的自注意力天然聚集在三维不连续面与物体边界的物理特性,免去了推理时获取真值深度或设计复杂边缘启发式规则的开销。
  • 空间网格相位偏移的优雅设计:用极其简洁的二维偏移公式 \((f \text{ div } t) \bmod t\) 与 \(f \bmod t\),以零参数开销换取了跨多帧空间 K/V 并集的完整无死角覆盖。

局限与展望

  • 固定分段压缩率的跨场景普适性:当前的合并率 \(\rho_b\) 与降采样率 \(\sigma_b\) 是在多场景诊断后固定的超参数,对于极度空旷平坦或极度复杂的特殊场景,自适应动态调节比例有望进一步挖掘加速潜力。
  • 显著性打分仍为通用视觉代理:当前依赖冻结 DINOv2 的类注意力,虽然在免训练范式下表现优异,但若允许少量微调,引入显式几何感知的轻量化打分头或能提供更细致的边界保护。

相关工作与启发

  • vs FastVGGT (ICLR'26):FastVGGT 在全部 24 层中均匀运用 ToMe 合并,忽视了中层几何对齐的关键地位和深层对相机位姿的敏感性。RegimeVGGT 提出的三阶段 U 形调度在千帧下比 FastVGGT 快 1.58 倍,且轨迹误差 ATE 显著更低(0.092 vs 0.111)。
  • vs S-VGGT (ICME'26):S-VGGT 采用场景级硬切分,在超长序列(1000 帧)下仍会爆显存(OOM)。RegimeVGGT 属于单模型内部细粒度精简,不仅显存可控,而且支持任意长度序列的端到端单次前向推理。
  • vs AVGGT:AVGGT 通过硬性将前 9 层改为帧内自注意力并采用均匀网格降采样,但未能保护深层位姿通路,也未引入跨帧相位偏移来修复盲区。

评分

  • 新颖性: ⭐⭐⭐⭐⭐ [首次系统剖析并量化了 3D 前馈几何大模型的层间三阶段异质性,设计了双轴匹配的正交压缩管线]
  • 实验充分度: ⭐⭐⭐⭐⭐ [覆盖 7 Scenes、NRGBD、DTU、Tanks & Temples 及千帧 ScanNet-50,消融严密且指标全面]
  • 写作质量: ⭐⭐⭐⭐⭐ [动机叙述逻辑紧密,因果分析与图表呈现极具说服力]
  • 价值: ⭐⭐⭐⭐⭐ [免训练且即插即用,将前馈多视角 3D 大模型的千帧推理耗时从 8 分钟大幅削减至 1 分钟]