Models · Multi-view depth

VGGT

VGGT (Meta): cameras, depth and 3D points for many images in one pass. Non-commercial weights.

Commercial use: no (weights: CC-BY-NC-4.0).

variantinputbackendtime (ms)peak memory (MiB, allocated / reserved)
vggt-1bsynthetic (336x518)original (fp32)
original
portable
kernels
portable + torch.compile
TensorRT fp16
2502
965
651
458
557
424
6958 / 7358
8688 / 9158
3691 / 4674
3702 / 4654
3611 / 3856
3642 (engine)
Details
  • Original code: https://github.com/facebookresearch/vggt at a288dd0
  • Code licence: LicenseRef-VGGT (permissive); files: LICENSE
  • Weights licence: CC-BY-NC-4.0
  • Licence evidence: https://github.com/facebookresearch/vggt/blob/a288dd0/LICENSE.txt and https://huggingface.co/facebook/VGGT-1B (license: cc-by-nc-4.0)
  • Training data: Per the paper (arXiv 2503.11651): Co3Dv2, BlendMVS, DL3DV, MegaDepth, Kubric, WildRGB, ScanNet, HyperSim, Mapillary, Habitat, Replica, MVS-Synth, PointOdyssey, Virtual KITTI, Aria Synthetic Environments, Aria Digital Twin; DINOv2 initialisation
  • Licence note: The VGGT code licence allows commercial use, but the VGGT-1B weights are CC-BY-NC-4.0; Meta's separately licensed commercial checkpoint is not packaged.
  • Options: long_side = 518 (>= 14)
  • Kernel libraries: fastbb, cudnn_hacc
  • Variants: vggt-1b
  • Outputs: depth, confidence, world_points, intrinsics, cam_to_world, points_confidence (in extras); kind: scale_invariant
  • Input size: any H x W >= 1, resized or padded inside the model
  • Tested up to (portable, fp16, RTX 5060 Ti 16 GB): vggt-1b 3000x4000 (8.0 GiB peak allocated, 10.1 reserved)
  • vggt-1b 336x518, first call: portable + torch.compile 74 s (cold Inductor cache), TensorRT fp16 199 s (ONNX + engine).
  • vggt-1b original (fp32) 336x518: float32 (the authors' autocast off)
  • vggt-1b original 336x518: original default (README / demo): torch.autocast(bfloat16)
  • vggt-1b load / first call: original 19.37 s / 1.289 s (336x518), portable 4.98 s / 0.689 s (336x518), kernels 5.99† s / 0.459 s (336x518)
  • † measured in the speed sweep after the portable load (or an earlier size) in the same process: file cache and kernels are warm, so the time is lower than a fresh start.
  • Protocol, median of 5 after 3 warm-up, uint8 CUDA input (synthetic for bench_inputs sizes), card defaults; gc before each load; peak = max over the first call and the timed calls

Measured

640x512 crops, the 7 most co-visible views as sources; GT = depth rendered from the structured-light points. AbsRel / delta1 over GT pixels, after per-image median scaling unless the model takes the cameras (calibrated MVS: cameras, error in mm; PatchMatchNet also the depth range 425-935 mm, MVSAnywhere its own range from the camera baselines). Original = the original code named under Details, same checkpoint and protocol.

variantdatasetoriginal fp32original fp16portablekernelsnote
vggt-1bDTU scans 1, 9, 24, 33, 75, view 24 + 7 sources, AbsRel / delta1 %0.0026 / 99.940.0027 / 99.940.0026 / 99.940.0026 / 99.94

Measured on NVIDIA GeForce RTX 5060 Ti, torch 2.14.1+cu130, 2026-11-06.

Parity

CPU, float32: max |diff| <= 0.002 vs the original. GPU, float16 (the default), portable and kernels: mean |diff| <= 0.02 and p99 <= 0.25 (absolute error of the output depth).

variantkernels error vs original, mean / p99GPU, torchkernels used
vggt-1b0.00044 / 0.00183RTX 5060 Ti, torch 2.14.1+cu130cudnn_hacc@cudnn92400, fastbb@7d058322634d:sm_120