Direct Numerical Layout Generation for 3D Indoor Scene Synthesis via Spatial Reasoning
Xingjian Ran, Yixuan Li, Linning Xu, Mulin Yu, Bo Dai
Shanghai AI Laboratory, The University of Hong Kong, The Chinese University of Hong Kong,
[Paper]
[Project Page]
conda create -n DirectLayout python=3.10
conda activate DirectLayout
pip install -r requirements.txtMain configuration is located in config/settings.py:
APISettings:base_urlandapi_keyfor spatial reasoningModelSettings: model names and temperature settings
Due to personal reasons, we are sorry that we cannot release the specialized model trained in the paper. However, with the rapid progress of LLMs, it is now possible to achieve results comparable to the trained specialized model by using modern LLMs.
python demo.py \
--input ./eval_test.json \
--output-dir ./output_layout \
--assets-dir ./asset_library \
--render-dir ./output_sceneeval_test.json must be an array with length 2:
- Item 1: list of scene descriptions (
List[str]) - Item 2: list of scene dimensions (
List[List[float]], where each item is typically[length, width, height]in meters)
Example:
[
["The scene is ...", "Another scene ..."],
[[2.56, 2.56, 1.60], [3.00, 2.50, 1.80]]
]output_layout/<room>.json: 3D layout for each sceneoutput_scene/view_<n>/<room>.png: rendered images
If you find this work useful, please consider citing:
@article{ran2025direct,
title={Direct numerical layout generation for 3D indoor scene synthesis via spatial reasoning},
author={Ran, Xingjian and Li, Yixuan and Xu, Linning and Yu, Mulin and Dai, Bo},
journal={arXiv preprint arXiv:2506.05341},
year={2025}
}