git clone --recursive git@github.com:shiyao-li/MAGICIAN.git
cd MAGICIANconda env create -f environment.yml
conda activate magician
cd RaDe-GS
pip install -r requirements.txt
pip install submodules/diff-gaussian-rasterization --no-build-isolation
pip install submodules/warp-patch-ncc --no-build-isolation
pip install submodules/simple-knn/ --no-build-isolation
pip install git+https://github.com/rahul-goel/fused-ssim/ --no-build-isolation
# tetra-nerf for Marching Tetrahedra
conda install conda-forge::cgal
pip install submodules/tetra_triangulation/ --no-build-isolationDownload the dataset here and place it under a data/ folder in the project root.
Download the pretrained model weights from Google Drive and place them under a weights/ folder in the project root.
python test_magician_planning.pyKey parameters are in configs/test/test_in_default_scenes_config.json:
| Parameter | Description |
|---|---|
beam_width |
Beam search: number of candidates kept at each step |
beam_steps |
Beam search: lookahead depth (number of steps) |
lmdb_dir_name |
Name of the output LMDB directory under results/scene_exploration/ |
python evaluation_lmdb.pyThe LMDB file (specified by lmdb_dir_name) stores the following data for each trajectory:
- Coverage update history: how coverage evolves step by step
- Camera poses: the full history of visited camera positions
- Final point cloud: the reconstructed point cloud at the end of the trajectory
@inproceedings{li2026magician,
author = "Shiyao Li and Antoine Guédon and Shizhe Chen and Vincent Lepetit",
title = {{MAGICIAN: Efficient Long-Term Planning with Imagined Gaussians for Active Mapping}},
booktitle = {{Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)}},
year = 2026
}