mapvggt / README.md
ChenmingWu's picture
Upload README.md with huggingface_hub
ebd5829 verified
|
Raw
History Blame Contribute Delete
4.83 kB
---
license: other
license_name: fair-noncommercial-research-derivative
license_link: https://github.com/facebookresearch/vggt-omega/blob/main/LICENSE
tags: [3d-gaussian-splatting, novel-view-synthesis, autonomous-driving, vggt, feed-forward]
---
# MapVGGT — Map-grounded feed-forward 3DGS on a VGGT-Omega backbone (PRIVATE)
> **PRIVATE research artifact.** Non-commercial, research-only. See **License** below before any use.
MapVGGT is a feed-forward novel-view-synthesis model for driving scenes:
**VGGT-Omega (1B)** predicts per-pixel **metric depth**; each input pixel is lifted to a
world-space 3D Gaussian (positions from depth + **known** camera poses); a per-pixel head
predicts opacity/scale/rotation; the union is rendered with `gsplat`; a small 2D **UNet
refines** the rendered image. MapGS components (HD-map–anchored tokens, scene-graph
dynamics, map-depth / free-space losses) are included but — see results — found neutral.
## Honest results (held-out-SCENE, segment-disjoint Waymo, 40 distinct scenes, 256×448, n_in=8)
| model | PSNR | SSIM | notes |
|---|---|---|---|
| VGGT-Omega + gentle finetune (backbone) | 21.7 | 0.66 | `abl_base_best` |
| + MAGT map tokens + scene-graph dynamics | 21.7 | 0.66 | `abl_full_best` — **neutral** (ablation) |
| **+ UNet render-refine** | **22.67** | **0.689** | `mapvggt_refine_best` — **headline** |
**Be candid about scope.** This is a **research/system artifact, not SOTA**: ~22.7 dB is
**~5 dB below** published feed-forward driving NVS (DGGT 27.4, PointForward 28.5, on
different protocols). Established by clean ablation: the entire gain over a generic
backbone is **VGGT-Omega + gentle backbone finetuning**; the single extra lever that
moved the metric is the **UNet refine (+0.85 dB)**. HD-map tokens, scene-graph dynamics,
higher resolution, multi-view color fusion, uncertainty-shaped covariance, and a skybox
were all **measured neutral** on this metric (the image-space UNet subsumes them). The
binding constraint is data scale (1/3 Waymo, ~1157 clips; overfits ~step 1000). Per-clip
PSNR anti-correlates with view-extrapolation distance (r=-0.57): the model is strong on
slow/overlapping scenes, weak on fast ego-motion / disocclusion.
## Contents
- `mapvggt/` — model (`model.py`), heads (`heads.py`: MAGT map tokens, scene-graph dynamics),
`refine.py` (RefineUNet). `crosscolor.py` / `uncertainty.py` are **experimental, validated
negative** (kept for the record; not used in training).
- `mapgs/` — data pipeline (unified clip format, Waymo/AV2 converters), HD-map, losses, metrics.
- `scripts/` — `train_mapvggt_refine.py` (main trainer), `train_mapvggt_full.py` (map+dyn),
`eval_mapvggt.py` (canonical loader + held-out eval), data-restore utilities.
- `checkpoints/``mapvggt_refine_best.safetensors` (headline 22.67), `abl_base_best`,
`abl_full_best`. **Each ~4.6 GB and embeds the finetuned VGGT-Omega 1B backbone** (keys
`model.vggt.*`, `model.head.*`, `unet.*` for the refine ckpt).
## NOT included (by design)
- **Base VGGT-Omega weights** (`vggt_omega_1b_512.pt`) — obtain from its FAIR-licensed source;
set `MAPVGGT_VGGT_CKPT`. (Our refine ckpt already contains a finetuned copy of these weights.)
- **Training data** — Waymo Open clips (its license **forbids redistribution**) and AV2 clips
(regenerate with `mapgs/data/convert/*` from your own licensed copies).
- Vendored clones (`_vggt_omega_repo`, `_tokengs_repo`); clone yourself and set `VGGT_OMEGA_REPO`.
## Usage
```bash
export VGGT_OMEGA_REPO=/path/to/vggt-omega # facebookresearch/vggt-omega clone
export MAPVGGT_VGGT_CKPT=/path/to/vggt_omega_1b_512.pt # base weights (FAIR-licensed)
# eval the released checkpoint on a segment-disjoint Waymo val split:
python -m scripts.eval_mapvggt --ckpt checkpoints/mapvggt_refine_best.safetensors \
--roots /path/to/data/unified/waymo
```
The refine checkpoint round-trips to 22.67±3.76 / 0.689 via `scripts/eval_mapvggt.py`.
## License & provenance (read before use)
- **Derivative of VGGT-Omega (Meta FAIR), under the FAIR Noncommercial Research License.**
The checkpoints contain finetuned VGGT-Omega weights → they inherit FAIR terms:
**non-commercial, research-only; do not redistribute.** This repo is **PRIVATE** for that reason.
⚠️ Commercial use (incl. by a commercial org) is **not permitted** under FAIR terms.
- Lineage: **TokenGS** (NVIDIA, research-only) — earlier backbone, code under Apache-2.0;
**Depth-Anything-V2** (Apache-2.0); **PointForward** (scene-graph dynamics formulation).
- Training data: **Waymo Open Dataset** (subject to Waymo terms, no redistribution) and
**Argoverse 2** (CC BY-NC-SA 4.0). MapGS code is the authors' own.
*Reproducibility note:* gsplat + bf16 make runs reproducible at the seed/config level, not bit-exact.