Code for CVPR2018 - Human-centric Indoor Scene Synthesis Using Stochastic Grammar.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

CVPR2018 - Human-centric Indoor Scene Synthesis Using Stochastic Grammar

The algorithm is described in a CVPR 2018 paper (supplementary materials).

Running in Virtual Machine

Tested with VMWare workstation 14.1.1. VirtualBox should also work Login password: cvpr

Compile from Source


Tested in Ubuntu 16.04

  • OpenCV, Boost library, CGAL, Eigen
sudo apt-get install libopencv-dev libcgal-dev libcgal-qt5-dev libboost-all-dev libeigen3-dev

Running the sampler

cd src/cpp
mkdir build && cd build
cmake ..
make -j8
./cpp/cpp 0
  • The sampled results are saved as txt and json files in `tmp/samples'. The txt files can be opened and viewed by RoomArranger (free to use on Linux).
    1. Open RoomArranger (tested on 9.4.1), click "Start New Project" -> "OK".
    2. Click "Project" -> "Import" -> "Object Listing", and select the sample txt file you want to visualize as "Source".
    3. Check the box of "Column Headings". You should see a change of "Assign attributes". Click "OK".
    4. The sample file should be loaded by now. You can change the room size to match the sampled room size. The sampled room is represented by a box like other objects, and you can see its size by click on it. The room size can be changed by clicking on "Project Properties" on the tool bar or pressing ctrl+T.

Visualizing the results

  • Change the paths in src/python/
  • Run src/python/ The visualization results will be saved in 'tmp/figures'.

If you find this code useful, please cite our work with the following bibtex:

    title={Human-centric Indoor Scene Synthesis Using Stochastic Grammar},
    author={Qi, Siyuan and Zhu, Yixin and Huang, Siyuan and Jiang, Chenfanfu and Zhu, Song-Chun},
    booktitle={Conference on Computer Vision and Pattern Recognition (CVPR)},