README.md

February 28, 2026 · View on GitHub

LiteVGGT: Boosting Vanilla VGGT via Geometry-aware Cached Token Merging

LiteVGGT Project Page

Zhijian Shu, Cheng Lin, Tao Xie, Wei Yin, Ben Li, Zhiyuan Pu,
Weize Li, Yao Yao, Xun Cao, Xiaoyang Guo, Xiao-Xiao Long

Nanjing University of Posts and Telecommunications, Horizon Robotics, Nanjing University,
Zhejiang University, Macau University of Science and Technology, TARS Robotics,
China Mobile Zijin Innovation Institute

News

[Feb 21, 2026] LiteVGGT has been accepted to CVPR 2026!

Overview

For 1000 input images, LiteVGGT achieves a 10× speedup over VGGT while maintaining high accuracy in camera pose and point cloud prediction. Its scalability and robustness make large-scale scene reconstruction more efficient and reliable.

teaser

Environment Setup

First, create a virtual environment using Conda, clone this repository to your local machine, and install the required dependencies.

conda create -n litevggt python=3.10
conda activate litevggt
git clone git@github.com:GarlicBa/LiteVGGT-repo.git
cd LiteVGGT-repo
pip install -r requirements.txt

Install the Transformer Engine package following its official installation requirements (see https://github.com/NVIDIA/TransformerEngine):

export CC=your/gcc/path
export CXX=your/g++/path
pip install --no-build-isolation transformer_engine[pytorch]

Then, download our LiteVGGT checkpoint that has been finetuned and TE-remapped:

wget https://huggingface.co/ZhijianShu/LiteVGGT/resolve/main/te_dict.pt

Inference

python run_demo.py \
  --ckpt_path path/to/your/te_dict.pt \
  --img_dir path/to/your/img_dir \
  --output_dir ./recon_result \

Evaluation

ScanNet

Evaluate LiteVGGT on the ScanNet dataset with 1,000 input images.

python eval/eval_scannet.py \
--ckpt_path your/path/te_dict.pt \
--data_dir your/path/scannetv2/processed_data \
--gt_ply_dir your/path/scannetv2/raw/scans \
--output_path ./eval_results \
--num_scenes 50 \
--input_frame 1000 \

7 Scenes & NRGBD

Evaluate across two datasets, sampling keyframes every 3 frames:

python eval/eval_7andN.py \
--ckpt_path your/path/te_dict.pt \
--output_dir ./eval_results \
--kf 3 \

Co3D

Follow VGGT's protocol to prepare the Co3D dataset.

python eval/co3d/test_co3d.py \
--model_path your/path/te_dict.pt \
--co3d_dir your/path/co3dv2 \
--co3d_anno_dir your/path/anno \
--seed 0 \

DTU dataset

python eval/eval_DTU.py \
--model_path your/path/te_dict.pt \
--dtu_dir your/path/eval_data/dtu \
--seed 0 \

Checklist

  • Release the model weights
  • Release the evaluation code

Acknowledgements

Thanks to these great repositories: VGGT, FastVGGT, Dust3r, Fast3R, CUT3R, StreamVGGT, ToMeSD and many other inspiring works in the community.

Citation

If you find this project helpful, citing our paper would be greatly appreciated:

@article{shu2025litevggt,
  title={LiteVGGT: Boosting Vanilla VGGT via Geometry-aware Cached Token Merging},
  author={Shu, Zhijian and Lin, Cheng and Xie, Tao and Yin, Wei and Li, Ben and Pu, Zhiyuan and Li, Weize and Yao, Yao and Cao, Xun and Guo, Xiaoyang and others},
  journal={arXiv preprint arXiv:2512.04939},
  year={2025}
}