Installation | Base Model | SLAM | SfM | Benchmark | Training
@article{wang2025amb3r,
title={AMB3R: Accurate Feed-forward Metric-scale 3D Reconstruction with Backend},
author={Wang, Hengyi and Agapito, Lourdes},
journal={arXiv preprint arXiv:2511.20343},
year={2025}
}- [2026-06-05] Add Déjà View for benchmark and support Déjà View for AMB3R-VO/SfM
- [2026-05-16] Add VGGT-Omega for benchmark and support VGGT-Omega for AMB3R-VO/SfM
- [2026-05-09] Add code for visualization.
- [2026-05-08] Add training code for metric-scale estimation.
- [2026-03-09] Add training code for AMB3R.
- [2026-03-02] Add DepthAnything 3 for benchmark and support AMB3R-VO (DA3).
- [2026-02-28] 📊 We have officially released the code for AMB3R Benchmark.
- [2026-02-24] 🗺️ We have officially released the code for AMB3R-SfM.
- [2026-02-21] 🏎️ We have officially released the code for AMB3R-VO.
- [2026-02-21] 🍯 We have officially released the code for AMB3R (Base model).
🔜 TODOs / Upcoming
- support of various foundation models for AMB3R-VO and AMB3R-SfM
1. Clone the repository
git clone https://github.com/HengyiWang/amb3r.git
cd amb3r2. Create a Conda environment
conda create -n amb3r python=3.9 cmake=3.14.0 -y
conda activate amb3r
pip install torch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 --index-url https://download.pytorch.org/whl/cu118
pip install torch-scatter==2.1.2 -f https://data.pyg.org/whl/torch-2.5.0+cu118.html
pip install "git+https://github.com/facebookresearch/pytorch3d.git@V0.7.8" --no-build-isolation
pip install flash-attn==2.7.3 --no-build-isolation
pip install -r requirements.txt3. Download weights
Download our checkpoint and place it under ./checkpoints/.
Run the interactive demo with the following command:
python demo.py Controls:
0/1: Disable (w/o) / Enable (w/) backend↓/↑: Decrease / Increase confidence threshold by0.01←/→: Decrease / Increase confidence threshold by0.1E: Enable sky & edge maskB: Switch background color
Run the AMB3R-VO pipeline with:
python slam/run.py --data_path <path-to-video-folder>Our AMB3R-VO framework is a general framework that is compatible with any base model that produces pointmap, camera pose, and confidence. All you need to do is to add this function to your base model and plug it into our amb3r-vo pipeline pipeline = AMB3R_VO(model):
def run_amb3r_vo(self, frames, cfg, keyframe_memory=None):
"""
This function runs the AMB3R-VO with your own base model.
"""
images = frames['images'] # (B, T, C, H, W) in [-1, 1]
# Run your own base model to get pointmap, pose, and confidence
pointmap, pose, confidence = self.forward(images)
return {
'world_points': pointmap, # (B, nimgs, H, W, 3)
'world_points_conf': confidence, # (B, nimgs, H, W, 1)
'pose': pose, # (B, nimgs, 4, 4)
}Run the AMB3R-SfM pipeline with:
python sfm/run.py --data_path <path-to-video-folder>Our AMB3R-SfM framework is also a general framework that is compatible with any base model that produces pointmap, camera pose, and confidence. All you need to do is to add this function to your base model and plug it into our amb3r-sfm pipeline pipeline = AMB3R_SfM(model):
def run_amb3r_sfm(self, frames, cfg, keyframe_memory=None, benchmark_conf0=None):
"""
This function runs the AMB3R-SfM with your own base model.
"""
images = frames['images'] # (B, T, C, H, W) in [-1, 1]
# Run your own base model to get pointmap, pose, and confidence
pointmap, pose, confidence = self.forward(images)
return {
'world_points': pointmap, # (B, nimgs, H, W, 3)
'world_points_conf': confidence, # (B, nimgs, H, W, 1)
'pose': pose, # (B, nimgs, 4, 4)
}Please refer to benchmark/README.md for the benchmark details.
Please refer to docs/train.md for the training details.
Your can use visualizer.ipynb to load .npz from AMB3R-VO/SfM to create the video as in our project page.
Controls:
- C : Place a new camera
- Z : Undo last camera
- L : loop the first and last camera
- P : Play the preview
- Q : Quit and render the sequence
Our code, data preprocessing pipeline, and evaluation scripts are built upon several amazing open-source projects:
- Models: VGGT, Pointcept, Spann3R, DUSt3R, MoGe, CroCo
- Evaluation: Marigold, Diffusion-E2E, RMVD, MVSA, visloc_pseudo_gt, FVS
We sincerely thank the authors for their open-source contributions!
The research presented here has been supported by a sponsored research award from Cisco Research and the UCL Centre for Doctoral Training in Foundational AI under UKRI grant number EP/S021566/1. This project made use of time on computing resources from UKRI/EPSRC AI Hub in Generative Models [grant number EP/Y028805/1].
If you find our code, data, or paper useful, please consider citing:
@article{wang2025amb3r,
title={AMB3R: Accurate Feed-forward Metric-scale 3D Reconstruction with Backend},
author={Wang, Hengyi and Agapito, Lourdes},
journal={arXiv preprint arXiv:2511.20343},
year={2025}
}