一个大型前馈 Transformer,单次推理即可完成所有关键3D视觉任务,速度比优化方法快数百倍,精度更高。
<aside> 💡
传统3D重建(COLMAP、Bundle Adjustment)基于visual-geometry methods, 主要依赖迭代优化(BA优化),计算慢、流程复杂。DUSt3R / MASt3R 用神经网络改进了部分流程,但:
VGGT 的回答:一个模型,一次前向传播,输入任意数量图片,输出全部3D属性,不需要后处理。
</aside>
<aside> 💡
N张输入图像
↓ DINO Patch Tokenization
图像 Tokens(每帧 K 个)+ 相机 Token + 寄存器 Token
↓ 交替注意力 Transformer(L=24 层)
├── 帧内注意力(Frame-wise Self-Attention)
└── 全局注意力(Global Self-Attention)
↓ 四个预测头
├── 相机头
│ 4层 self-attention → 线性层 → g = [q, t, f](9维)
│ 输入:相机 token tᵍᵢ
│
├── 深度图头(DPT)
│ DPT 上采样 → 3×3 卷积 → D(H×W)+ ΣD(H×W)
│ 输入:图像 token tᴵᵢ → 密集特征图 F
│
├── 点图头(DPT)
│ DPT 上采样 → 3×3 卷积 → P(3×H×W)+ ΣP(H×W)
│ 输入:同上,共享 DPT backbone
│
└── 追踪头(CoTracker2)
相关性计算 → self-attention → yˆ(2D对应点)+ v(可见性)
输入:密集追踪特征 T(C×H×W)+ 查询点 yq
输入
| 符号 | 形状 | 说明 |
|---|---|---|
Iᵢ |
$ℝ^(3×H×W)$ | 第 i 帧 RGB 图像,共 N 帧 |
| N | 标量 | 输入帧数,1 到数百帧均可 |
输出(每帧一组)
| 符号 | 形状 | 说明 |
|---|---|---|
gᵢ |
ℝ⁹ | 相机参数,= [q, t, f] |
Dᵢ |
ℝ^(H×W) | 深度图,每像素一个深度值 |
ΣᵢD |
ℝ^(H×W) | 深度图不确定性(aleatoric uncertainty) |
Pᵢ |
ℝ^(3×H×W) | 点图,每像素对应3D坐标 |
ΣᵢP |
ℝ^(H×W) | 点图不确定性 |
Tᵢ |
ℝ^(C×H×W) | 密集追踪特征图,C 维 |
g = [q, t, f],共9维| 参数 | 符号 | 维度 | 类型 | 说明 |
|---|---|---|---|---|
| 旋转四元数 | q |
ℝ⁴ | 外参 | 表示相机朝向,格式 [x, y, z, w] |
| 平移向量 | t |
ℝ³ | 外参 | 相机位置,以第一帧为世界坐标系原点 |
| 视场角 | f |
ℝ² | 内参 | [水平 FoV, 垂直 FoV],单位弧度 |
假设:主点(principal point)在图像中心,不预测畸变参数。第一帧固定为世界坐标系,q₁ = [0,0,0,1],t₁ = [0,0,0]。
D| 参数 | 符号 | 形状 | 说明 |
|---|---|---|---|
| 深度值 | Dᵢ(y) |
标量(每像素) | 像素 y 对应的深度,从第 i 个相机视角观测,值域 ℝ⁺ |
| 深度不确定性 | ΣᵢD(y) |
标量(每像素) | 训练后与模型置信度成正比,用于损失加权 |