Official implementation of FreeScene: Mixed Graph Diffusion for 3D Scene Synthesis from Free Prompts (CVPR 2025).
Paper: CVPR OpenAccess | Project Page
cd FreeScene
bash settings/setup.sh
pip install -e .
python3 download_pretrain_vq.pyDataset: we use the preprocessed data from InstructScene. Run python3 dataset/download.py (see dataset/README.md).
bash scripts/train.sh 0Checkpoints: out/mgdit/checkpoints/
bash scripts/inference.sh 0 1099 scratch # text-to-scene
bash scripts/inference.sh 0 1099 graph # graph-to-sceneSet OPENAI_API_KEY (and optionally OPENAI_BASE_URL), then:
export OPENAI_API_KEY=your_key
bash scripts/generate_freescene.sh 0 1099 \
--text "there is a sofa on the left of the double_bed" \
--image path/to/reference.jpgOutput: out/mgdit/freescene_outputs/
@InProceedings{Bai_2025_CVPR,
author = {Bai, Tongyuan and Bai, Wangyuanfan and Chen, Dong and Wu, Tieru and Li, Manyi and Ma, Rui},
title = {FreeScene: Mixed Graph Diffusion for 3D Scene Synthesis from Free Prompts},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
year = {2025},
pages = {5893--5903}
}We thank InstructScene for providing the preprocessed dataset, fVQ-VAE weights, and codebase that this project builds upon.