Home

Awesome

Structured3D

Structured3D

Structured3D is a large-scale photo-realistic dataset containing 3.5K house designs (a) created by professional designers with a variety of ground truth 3D structure annotations (b) and generate photo-realistic 2D images (c).

Paper

Structured3D: A Large Photo-realistic Dataset for Structured 3D Modeling

Jia Zheng*, Junfei Zhang*, Jing Li, Rui Tang, Shenghua Gao, Zihan Zhou

European Conference on Computer Vision (ECCV), 2020

[Preprint] [Paper] [Supplementary Material] [Benchmark]

(* Equal contribution)

Data

The dataset consists of rendering images and corresponding ground truth annotations (e.g., semantic, albedo, depth, surface normal, layout) under different lighting and furniture configurations. Please refer to data organization for more details.

To download the dataset, please fill the agreement form that indicates you agree to the Structured3D Terms of Use. After we receive your agreement form, we will provide download access to the dataset.

For fair comparison, we define standard training, validation, and testing splits as follows: scene_00000 to scene_02999 for training, scene_03000 to scene_03249 for validation, and scene_03250 to scene_03499 for testing.

Errata

Tools

We provide the basic code for viewing the structure annotations of our dataset.

Installation

Clone repository:

git clone git@github.com:bertjiazheng/Structured3D.git

Please use Python 3, then follow installation to install PyMesh (only for plane visualization) and the other dependencies:

conda install -y open3d -c open3d-admin
conda install -y opencv -c conda-forge
conda install -y descartes matplotlib numpy shapely
pip install panda3d

Visualize 3D Annotation

We use open3D for wireframe and plane visualization, please refer to interaction control here.

python visualize_3d.py --path /path/to/dataset --scene scene_id --type wireframe/plane/floorplan
WireframePlaneFloorplan
Wireframeplanefloorplan

Visualize 3D Textured Mesh

python visualize_mesh.py --path /path/to/dataset --scene scene_id --room room_id
<p align="center"> <img src="assets/mesh/scene_00000.png" width="500"> </p>

Visualize 2D Layout

python visualize_layout.py --path /path/to/dataset --scene scene_id --type perspective/panorama

Panorama Layout

<p align="center"> <img src="assets/pano_layout/scene_00000_485142.png" width="250"> <img src="assets/pano_layout/scene_00000_490854.png" width="250"> <img src="assets/pano_layout/scene_00000_492165.png" width="250"> </p>

Please refer to the Supplementary Material for more example ground truth room layouts.

Perspective Layout

<p align="center"> <img src="assets/pers_layout/scene_00000_485142_0.png" width="250"> <img src="assets/pers_layout/scene_00000_485142_1.png" width="250"> <img src="assets/pers_layout/scene_00000_490854_2.png" width="250"> </p>

Visualize 3D Bounding Box

python visualize_bbox.py --path /path/to/dataset --scene scene_id
<p align="center"> <img src="assets/bbox/scene_00000_485142_0.png" width="250"> <img src="assets/bbox/scene_00000_485142_1.png" width="250"> <img src="assets/bbox/scene_00000_490854_2.png" width="250"> </p>

Visualize Floorplan

python visualize_floorplan.py --path /path/to/dataset --scene scene_id
<p align="center"> <img src="assets/bbox/floorplan.png" width="500"> </p>

Citation

Please cite Structured3D in your publications if it helps your research:

@inproceedings{Structured3D,
  title     = {Structured3D: A Large Photo-realistic Dataset for Structured 3D Modeling},
  author    = {Jia Zheng and Junfei Zhang and Jing Li and Rui Tang and Shenghua Gao and Zihan Zhou},
  booktitle = {Proceedings of The European Conference on Computer Vision (ECCV)},
  year      = {2020}
}

License

The data is released under the Structured3D Terms of Use, and the code is released under the MIT license.

Contact

Please contact us at Structured3D Group if you have any questions.

Acknowledgement

We would like to thank Kujiale.com for providing the database of house designs and the rendering engine. We especially thank Qing Ye and Qi Wu from Kujiale.com for the help on the data rendering.