Skip to content

VGGT: Visual Geometry Grounded Transformer

Best Paper · CVPR 20253D & 4D reconstruction

Uses one feed-forward network to infer cameras, depth, point maps, and tracks from one or many images. The shared architecture studies jointly learned 3D geometry instead of separate task-specific solvers.

Explanation level

VGGT replaces a chain of iterative geometry steps with a single transformer for 3D reconstruction from images. This article covers the problem, the method, numbers checked against the paper and the limits the authors state.

Overview

VGGT (Visual Geometry Grounded Transformer) is a feed-forward network that takes from one to hundreds of images of a scene and directly predicts camera parameters (intrinsics and extrinsics), depth maps, 3D point maps and point tracks. The authors report that it runs in under a second for small image sets and often beats optimization-based methods without post-processing. The authors are Jianyuan Wang, Minghao Chen, Nikita Karaev, Andrea Vedaldi, Christian Rupprecht and David Novotny (Visual Geometry Group, Oxford, and Meta AI).

Main contributions according to the paper: (1) one large transformer that predicts all key 3D quantities together; (2) outputs that are directly usable and often better than slower post-processed pipelines; (3) even better results when bundle adjustment (BA) is added on top; (4) a pretrained backbone that can be reused for dynamic point tracking and novel view synthesis. Being on the Best Paper list is official conference recognition; remarks about its significance are EyeCode editorial interpretation.

Research Problem

Classical structure-from-motion (SfM) has several stages: image matching, triangulation and bundle adjustment. Learning has improved individual parts, and VGGSfM combines learning with differentiable BA, but geometry still plays a big role, so systems stay complex and costly. DUSt3R and MASt3R predict point maps for an image pair, but they handle only two images at a time and need post-processing (global alignment) to fuse more.

Problem formulation: the input is N RGB images of the same scene (N from one to hundreds). For each image the network outputs a camera (9 numbers), a depth map, a point map in the first camera frame and a grid of features used for tracking. The first image is the reference frame; the order of the others is arbitrary. The difficulty is that the network must infer scene geometry and viewpoints at the same time, without being given the cameras.

Key Idea

The core idea is a large, nearly standard transformer with one structural choice: alternating attention (AA), which switches between self-attention within each frame and global self-attention over the tokens of all frames. The model learns several related 3D quantities together (camera, depth, point map, track) on many public datasets. The authors report that joint learning improves accuracy, and that at inference, point maps built from predicted depth plus cameras beat the dedicated point-map head.

Methodology

EyeCode schematic of the VGGT data flow
EyeCode schematic (original illustration of the method as described in the paper; not a reproduction of the authors' figure). · EyeCode Tech (Original EyeCode illustration) · Source
Bar chart of the attention ablation on ETH3D, from Table 5
Original EyeCode chart redrawing Table 5 of the paper: ETH3D point-map Overall error (lower is better). · EyeCode Tech (Original EyeCode illustration) · Source

Pipeline: (1) each image is split into 14x14 patches and turned into tokens by DINOv2; (2) every frame gets a camera token and four register tokens, with a different learned set for the first frame to mark the reference; (3) 24 blocks, each with a frame-wise attention layer and a global attention layer; (4) a camera head (four self-attention layers and a linear layer) predicts cameras, a DPT head predicts depth, point maps and uncertainty, and a tracking head based on CoTracker2 predicts where a query point appears in other images.

Training data comes from about 17 sources (Co3Dv2, BlendMVS, DL3DV, MegaDepth, Kubric, WildRGB, ScanNet, HyperSim, Mapillary, Habitat, Replica, MVS-Synth, PointOdyssey, Virtual KITTI, two Aria datasets and a synthetic set of artist-made assets). The total loss is camera plus depth plus point map plus 0.05 times the track loss.

Experiments & Results

Table 1 of the paper: camera pose estimation with 10 random frames per scene, AUC@30 (higher is better). No method was trained on RealEstate10K; the learned methods were trained on Co3Dv2. A dagger-marked row (‡) is concurrent work. Time is measured on one H100 GPU. Some rows of the paper (Colmap+SPSG, PixSfM, PoseDiff) are omitted here.
MethodRe10K AUC@30CO3Dv2 AUC@30Time
DUSt3R67.776.7~7 s
MASt3R76.481.8~9 s
VGGSfM v278.983.4~10 s
MV-DUSt3R ‡71.369.5~0.6 s
CUT3R ‡75.382.8~0.6 s
FLARE ‡78.883.3~0.5 s
Fast3R ‡72.782.5~0.2 s
VGGT (feed-forward)85.388.2~0.2 s
VGGT (with BA)93.591.8~1.8 s
Table 2 of the paper: multi-view depth estimation on DTU with Chamfer-style metrics (Accuracy, Completeness, Overall; lower is better). The "GT camera" column says whether the method uses ground-truth cameras at test time. Some rows (Gipuma, MVSNet, CIDER) are omitted here.
MethodGT cameraAcc.Comp.Overall
PatchmatchNetyes0.4270.3770.417
MASt3Ryes0.4030.3440.374
GeoMVSNetyes0.3310.2590.295
DUSt3Rno2.6770.8051.741
VGGTno0.3890.3740.382
Table 10 of the paper (Appendix C): camera pose estimation on IMC (phototourism), AUC at 3°, 5° and 10° angular thresholds (higher is better). The "TTO" column says whether test-time optimization is used. Some rows (other PixSfM variants, COLMAP SIFT+NN) are omitted here.
MethodTTOAUC@3°AUC@5°AUC@10°Runtime
PixSfM (SP + SG)yes45.1957.2270.47>20 s
DFSfM (LoFTR)yes46.5558.7472.19>10 s
DUSt3Ryes13.4621.2435.62~7 s
MASt3Ryes30.2546.7957.42~9 s
VGGSfMyes45.2358.8973.92~6 s
VGGSfMv2yes59.3267.7876.82~10 s
VGGTno39.2352.7471.260.2 s
VGGT + BAyes66.3775.1684.911.8 s
Bar chart of RealEstate10K AUC@30 for VGGT and baselines, from Table 1
Original EyeCode chart redrawing numbers from Table 1 of the paper (RealEstate10K AUC@30, higher is better). · EyeCode Tech (Original EyeCode illustration) · Source

Protocol: camera pose is measured with AUC@30 (area under the angular-accuracy curve combining rotation and translation errors) on RealEstate10K and CO3Dv2, using 10 random frames per scene. The model was not trained on RealEstate10K. Baselines include DUSt3R, MASt3R, VGGSfM v2 and concurrent works (MV-DUSt3R, CUT3R, FLARE, Fast3R). Table 1 shows feed-forward VGGT at 85.3 and 88.2, and 93.5 and 91.8 with BA. The authors note that the gap is larger on RealEstate10K, and that BA still brings gains, so room for improvement remains.

Other results: on DTU, the Overall error drops from 1.741 (DUSt3R) to 0.382 without ground-truth cameras. On ETH3D (10 frames, Umeyama alignment), Overall is 0.709 with the point head and 0.677 when built from depth plus camera, versus 0.826 for MASt3R and 1.005 for DUSt3R. For two-view matching on ScanNet-1500, AUC@5 is 33.9 versus 31.8 for Roma. For dynamic tracking, plugging VGGT features into CoTracker raises AJ on Kinetics from 49.6 to 57.2. On speed, Table 9 reports 0.14 seconds for 10 frames and 1.04 seconds for 50 frames on one H100.

Qualitatively, the paper shows an oil painting, two non-overlapping images and a repeated-texture scene where DUSt3R is distorted or fails; these are examples chosen by the authors.

Limitations

Reported by the authors

The Discussions section states that the current model does not support fisheye or panoramic images, that quality drops under extreme input rotations, and that the model tolerates slight non-rigid motion but fails under substantial non-rigid deformation. The authors say these can be addressed by fine-tuning on targeted data with minimal architectural change. They also acknowledge that naive global self-attention is memory-intensive with many tokens and suggest LLM-style techniques such as tensor parallelism (as in Fast3R).

EyeCode analysis (editorial interpretation)

Peak memory of 40.63 GB at 200 frames shows a practical limit for very large image sets. At tight angular thresholds on IMC the feed-forward model trails the BA variant, so BA still has a place when high accuracy is needed.

Key Takeaways

  • One feed-forward network predicts cameras, depth, point maps and tracks in a single pass.
  • Alternating attention and multi-task learning are the two design choices backed by ablations (Tables 5 and 6).
  • AUC@30 of 85.3 on RealEstate10K and 88.2 on CO3Dv2 in about 0.2 seconds; with BA, 93.5 and 91.8.
  • BA still adds accuracy, especially at tight angular thresholds.
  • Limits: fisheye, panoramas, extreme rotation, large non-rigid deformation and memory.

Suggested directions (EyeCode suggestions, not claims from the paper)

  • Try VGGT plus a light BA on your own data and compare against COLMAP in time and error.

References

  1. VGGT: Visual Geometry Grounded Transformer (arXiv, Tables 1-10, Appendix B and C)
  2. VGGT project page
  3. VGGT official code and README (facebookresearch/vggt)
  4. VGGT authors PDF (CVPR 2025 version)
  5. CVPR 2025 Best Papers

KEEP EXPLORING

Keep connecting the ideas.