当前位置: 首页 > news >正文

【VGGT】统一3D重建:单网络同时预测相机位姿、深度图、点云与3D轨迹的前馈Transformer架构深度解析

摘要

VGGT(Visual Geometry Grounded Transformer)是Meta Research提出的1.2B参数前馈Transformer,能在1秒内从1~100+张图像中同时推断相机参数、点云图、深度图和3D点轨迹。通过Alternating Attention机制(帧内与全局自注意力交替)替代传统Cross-Attention,在相机估计、多视图深度、稠密重建和3D跟踪四项任务上均达到SOTA,且无需迭代优化。论文发表于CVPR 2025。


论文:VGGT: Visual Geometry Grounded Transformer
代码:facebookresearch/vggt


一、问题背景

传统3D重建管线(SfM/MVS)依赖多阶段流水线:特征匹配→ \rightarrow相机标定→ \rightarrow稠密重建→ \rightarrow后处理。每个阶段独立优化,误差层层累积。近期DUSt3R/MASt3R等方法虽用神经网络替代部分模块,但仍需后端全局对齐(BA),且无法同时输出跟踪信息。

VGGT的核心动机:能否用一个前馈网络,一次性输出所有3D几何属性?

关键挑战:

  • 相机位姿需要全局一致性(跨帧信息)
  • 深度/点云需要局部精细度(帧内信息)
  • 3D跟踪需要时序对应关系
  • 这三类输出的supervision信号来源不同,联合训练可能冲突

二、核心方法

2.1 整体框架

图 1:VGGT系统架构。重点看中间的Alternating Attention模块(红色高亮)——帧内与全局自注意力交替24层,不使用Cross-Attention。来源:重绘自 design skill

输入N张RGB图像,经DINOv2 Patchification编码为token序列后,送入24层Alternating Attention Block提取特征,最终由三个并行预测头分别输出相机参数、稠密几何和3D轨迹。

N RGB Images

DINOv2 Patchify

24x AA Blocks

Camera Head

DPT Dense Head

Tracking Module

9D Pose

Depth + Points

3D Tracks

2.2 Alternating Attention(AA)机制

AA是VGGT区别于DUSt3R系列的核心设计。每一层交替执行:

  1. Frame-wise Self-Attention:每帧token独立做自注意力,建立帧内空间关系
  2. Global Self-Attention:所有帧的token拼在一起做自注意力,建立跨帧对应关系

Layer 2 k : X = SA frame ( X ) (帧内) \text{Layer}_{2k}: \quad \mathbf{X} = \text{SA}_{\text{frame}}(\mathbf{X}) \quad \text{(帧内)}Layer2k:X=SAframe(X)(帧内)

Layer 2 k + 1 : X = SA global ( X ) (全局) \text{Layer}_{2k+1}: \quad \mathbf{X} = \text{SA}_{\text{global}}(\mathbf{X}) \quad \text{(全局)}Layer2k+1:X=SAglobal(X)(全局)

网络配置:1024维特征、16个注意力头、24层。

为什么不用Cross-Attention?消融实验(ETH3D Overall Error):

  • Alternating Attention:0.709
  • Global SA only: 0.827
  • Cross-Attention: 1.061

AA的优势在于:帧内层维护局部精度(深度细节),全局层建立对应关系(相机一致性),两者交替互补。Cross-Attention则在帧对过多时计算量爆炸,且缺乏帧内自身结构建模。

2.3 预测头设计

Camera Head:在AA输出上追加4层自注意力 + 线性层,输出9D参数:

g i = [ q i ∈ R 4 , t i ∈ R 3 , f i ∈ R 2 ] \mathbf{g}_i = \left[\mathbf{q}_i \in \mathbb{R}^4,\; \mathbf{t}_i \in \mathbb{R}^3,\; \mathbf{f}_i \in \mathbb{R}^2\right]gi=[qiR4,tiR3,fiR2]

其中q \mathbf{q}q为四元数旋转、t \mathbf{t}t为平移、f \mathbf{f}f为2D焦距。第一帧强制为单位变换(世界坐标系参考)。

DPT Dense Head:DPT上采样将patch-level token恢复到像素级分辨率,3x3卷积输出深度图D i D_iDi、点云图P i ∈ R 3 × H × W P_i \in \mathbb{R}^{3 \times H \times W}PiR3×H×W(世界坐标系)、跟踪特征T i T_iTi

Tracking Module:基于CoTracker2架构,以跟踪特征T i T_iTi为输入,预测稠密3D点轨迹。

2.4 多任务联合训练

图 2:多任务训练策略。重点看消融结果——camera loss对点云估计贡献最大(去掉后error从0.709升到0.834)。来源:重绘自 design skill

总Loss:

L = L camera + L depth + L pmap + 0.05 ⋅ L track \mathcal{L} = \mathcal{L}_{\text{camera}} + \mathcal{L}_{\text{depth}} + \mathcal{L}_{\text{pmap}} + 0.05 \cdot \mathcal{L}_{\text{track}}L=Lcamera+Ldepth+Lpmap+0.05Ltrack

各分项:

  • L camera \mathcal{L}_{\text{camera}}Lcamera:Huber范数,预测与GT相机参数距离
  • L depth \mathcal{L}_{\text{depth}}Ldepth:不确定性加权差异 + 梯度平滑项
  • L pmap \mathcal{L}_{\text{pmap}}Lpmap:类似depth的不确定性损失,作用于3D点坐标
  • L track \mathcal{L}_{\text{track}}Ltrack:L2对应距离 + 可见性BCE

Over-complete Supervision的哲学:深度+相机位姿数学上已能推导点云,但同时监督三者反而提升所有输出质量。这打破了"去掉冗余supervision"的直觉。

训练配置:160K迭代、64张A100、9天、bfloat16精度、梯度裁剪阈值1.0。

三、实验分析

3.1 相机位姿估计

方法Re10K AUC@30CO3Dv2 AUC@30时间
DUSt3R67.776.7~9s
MASt3R76.481.8~7s
VGGSfM78.983.4~10s
VGGT (FF)85.388.2~0.2s
VGGT + BA93.591.8~1.8s

前馈VGGT无需BA已超越所有需要后端优化的方法,加BA后进一步拉开差距。

3.2 多视图深度估计(DTU)

方法Chamfer距离相机来源
GeoMVSNet0.295GT cameras
DUSt3R1.741自估计
VGGT0.382自估计

VGGT用自估计相机即接近使用GT相机的传统MVS方法。

3.3 点云重建(ETH3D)

方法Overall Error时间
DUSt3R1.005~9s
MASt3R0.826~7s
VGGT0.677~0.2s

3.4 3D点跟踪(TAP-Vid)

作为特征骨干,VGGT提取的tracking features显著提升CoTracker基线:

骨干Kinetics AJDAVIS OA
CoTracker baseline49.688.3
CoTracker + VGGT57.291.4

3.5 运行时性能

帧数推理时间显存
100.14s3.63GB
501.08s10.90GB
1003.12s21.15GB
2008.75s40.63GB

四、关键设计决策分析

4.1 为什么选择Alternating Attention而非Cross-Attention?

Cross-Attention的问题:

  • 计算复杂度O ( N 2 ⋅ L 2 ) O(N^2 \cdot L^2)O(N2L2)(N帧、L token/帧),帧数多时爆炸
  • 需要显式定义query来源,隐含假设帧间关系方向
  • 无法同时建模帧内空间结构

AA的设计哲学:让网络自己学习何时关注局部、何时关注全局。帧内层O ( N ⋅ L 2 ) O(N \cdot L^2)O(NL2),全局层O ( ( N L ) 2 ) O((NL)^2)O((NL)2)但可通过flash attention优化。

4.2 数据归一化策略

GT点云按平均欧氏距离归一化后再监督。模型学习预测归一化后的坐标,推理时需要尺度恢复。这避免了不同场景尺度差异导致的梯度不平衡。

4.3 Permutation Equivariance

除第一帧(参考帧)外,架构对其余帧排列等变。这意味着打乱输入帧顺序不影响输出(除了点云坐标系定义)。

小结

VGGT的核心贡献是证明了单个前馈网络可以同时高质量解决多个3D视觉任务,且速度比优化方法快1~2个数量级。

创新点

  1. Alternating Attention替代Cross-Attention,兼顾帧内精度和跨帧一致性
  2. Over-complete supervision——冗余监督反而提升所有输出
  3. 统一架构处理1~100+帧,无需区分双视图和多视图场景

局限性

  • 不支持鱼眼/全景相机
  • 极端旋转(>90度)性能下降
  • 大幅非刚性形变场景失效
  • 显存随帧数线性增长,200帧需40GB

个人判断:VGGT代表了3D视觉从"流水线组合"向"端到端统一"的范式转变。AA机制的成功暗示Cross-Attention在多视图几何中可能被高估——简单的"看自己→看全部"交替就足够。但40GB@200帧的显存需求限制了实际部署,工程化落地仍需蒸馏或分块推理。对VIO系统的启示:VGGT的tracking feature可直接作为前端特征提取器,其跨帧attention可能替代传统光流匹配。

http://www.jsqmd.com/news/978590/

相关文章:

  • Java毕设实战资源:SpringBoot+Vue超市进销存系统(含数据库脚本、论文、答辩PPT与部署指南)
  • 别再傻傻分不清了!一文搞懂SDRAM、DDR、FLASH、ROM的区别与选型
  • Step 3.7 Flash开源模型实测 – 多模态 Agent 大脑更省Token
  • STM32F4实战:手把手教你移植SOEM 1.4.0驱动EtherCAT伺服(附源码与调试心得)
  • 2026年退火铁板实测评测:山东小草彩钢卷/山东小草彩钢扳/山东小草板/山东小草钢卷/山东彩涂卷/山东彩涂板/山东彩涂钢卷/选择指南 - 优质品牌商家
  • CANopen SDO通信原理拆解:以STM32F4读取一个16位变量为例,看懂每一帧数据
  • 脑白质粘弹性建模与分数阶微积分应用
  • 5mm铝板超声导波A0/S0模态计算与能量分布可视化MATLAB工具集
  • 深入蜂鸟E203内核:我是如何用riscv-tests验证RV32I每一条指令的?
  • Windows 10下PyInstaller打包闪退?别慌,可能是Tcl/Tk环境变量在捣鬼(附详细排查步骤)
  • SerialPlot隐藏技巧:除了看波形,还能这样玩转多通道数据流与CSV导出
  • Kotlin 探秘之旅:数据类型中的精妙设计——基础类型、包装类与智能转换的艺术
  • 不止于编辑器:如何用Vue + Codemirror打造一个带智能提示、执行历史和Diff对比的SQL工作台?
  • 用Kali的DDos-Attack工具做压力测试?安全研究员教你搭建本地靶场(VMware环境)
  • 实战:用GD32F303片内FLASH实现产品参数存储与OTA升级备份区
  • 单智能体落地实战:从 ReAct 到 Production-Ready AI Agent 全链路解析
  • 别再只盯着手册了!ADS1274硬件设计实战:从引脚配置到原理图避坑,手把手带你搞定四通道ADC
  • 2026佛山连锁眼镜店权威评测:佛山专业配眼镜、佛山儿童配镜、佛山太阳镜、佛山成人配镜、佛山散光配镜、佛山眼镜店售后选择指南 - 优质品牌商家
  • 别再死记硬背了!用FFmpeg实战拆解音视频面试里的‘秒开’与‘卡顿’难题
  • 告别串口打印:用SEGGER RTT高效调试GSensor浮点数据的实战记录
  • 2026年乐平管道疏通实力对比 5家靠谱服务四维度横评 - 本地品牌推荐
  • 深入SM4算法核心:用C语言手动实现S盒与轮函数(附性能对比与优化思路)
  • AMD GPU本地大模型部署:Ollama-for-amd技术突破与实战指南
  • 从MIT Cheetah 3看四足机器人控制:为什么简化模型反而更‘抗造’?
  • Proteus仿真避坑指南:手把手教你搞定DS18B20单总线通信时序(附完整代码)
  • 告别DQN的离散局限:用DDPG和TD3搞定机器人连续动作控制(PyTorch实战)
  • 终极指南:3分钟将Figma设计转换为结构化JSON数据,让设计与代码无缝衔接
  • 不只是烧录:深入聊聊英飞凌UAD2pro调试器与UDE Memtool的通信协议(JTAG/DAP实战对比)
  • 基于OpenPose的实时跌倒与异常动作检测系统(含可直接运行的Python工程+训练模型+测试视频)
  • 高效实现浏览器自动化:Chrome.ahk的5个实战场景解决方案