NeurIPS 2026
HKUST Spatial Artificial Intelligence Lab · Alibaba Group · Nanjing University · Fudan University
Junyuan Deng, Heng Li, Kejie Qiu, Lingteng Qiu, Rui Peng, Weichao Shen, Weihao Yuan, Siyu Zhu, Zilong Dong, Ping Tan
Glob3R is a scalable global 3D reconstruction framework built on geometric foundation models. It converts dense feed-forward predictions into reliable multi-view tracks and jointly refines camera poses and scene geometry through motion averaging and bundle adjustment. Glob3R improves reconstruction accuracy and consistency on long sequences, large-scale scenes, and unordered image collections.
Installation · Training · Evaluation
- Release inference code.
- Release evaluation code.
- Release training code.
- Improve depth alignment: aligning depth maps with scale and shift alone may be insufficient for consistent point cloud fusion.
git clone --recurse-submodules https://github.com/aigc3d/Glob3R.git
cd Glob3RFollow installation to create the CUDA environment and build the pinned optimization dependencies.
Place these files in weights/:
| File | Purpose | Source |
|---|---|---|
pytorch_model.bin |
Glob3R geometry and matching | Hugging Face |
dino_salad.ckpt |
Image retrieval | SALAD |
dinov2_vitb14_pretrain.pth |
Retrieval backbone | DINOv2 |
dinov2_vitb14_reg4_pretrain.pth |
Keyframe selection | DINOv2 with registers |
Download the Glob3R checkpoint:
mkdir -p weights
curl -fL https://huggingface.co/juneyoung9/glob3r/resolve/main/pytorch_model.bin \
-o weights/pytorch_model.binUse the Glob3R checkpoint; upstream Pi3/Pi3X weights do not contain its trained matching heads. The two DINOv2 checkpoints serve different architectures.
For an ordered sequence, put images in one directory with sortable names:
CUDA_VISIBLE_DEVICES=0 python infer.py \
--data_path data/scene --save_path outputs/scene \
--ckpt weights/pytorch_model.bin --weights_dir weights \
--window_size 10 --anchor_imgs_per_window 1 \
--keyframe_mode fixed --running_keyframe --save_denseFor an unordered collection, use --unordered and omit --keyframe_mode.
Window size 10 processes up to 20 views per ordered window and requires at least
11 selected images. For a shorter sequence, reduce --window_size. Benchmark-specific
settings and evaluation commands are in evaluation.
--ckpt and --weights_dir can also be set through GLOB3R_CKPT and
GLOB3R_WEIGHTS. Run python infer.py --help for options.
Fine-tune the matching heads using public TUM RGB-D sequences:
python -m glob3r.training.train --config configs/train_tum.yaml \
--data-root data/tum --checkpoint weights/pytorch_model.bin \
--output outputs/tum_refineTraining covers data layout, online warp supervision, validation and checkpoint recovery. This example continues from the released model; it does not recreate the original mixed-dataset training run.
Thanks to these great repositories:
Sail-Recon for the PSNR evaluation;
Pi3, RomaV2, Instant-SfM, Glomap for inspiration in algorithm design and implementation;
And many other inspiring works in the community.
Original contributions use the BSD 3-Clause license. Incorporated code retains its own terms, including GPL and noncommercial restrictions; the complete project is not uniformly BSD-licensed. See third-party attribution and licenses.
If you find this project useful in your research, please consider citing:
@inproceedings{glob3r2026,
title={Glob3R: Global Structure-from-Motion with 3D Foundation Models},
author={Deng, Junyuan and Li, Heng and Qiu, Kejie and Qiu, Lingteng and Peng, Rui and Shen, Weichao and Yuan, Weihao and Zhu, Siyu and Dong, Zilong and Tan, Ping},
booktitle={Advances in Neural Information Processing Systems},
year={2026}
}