Skip to main content

MSD: A Benchmark Dataset for Floor Plan Generation of Building Complexes

Project description

MSD: A Benchmark Dataset for Floor Plan Generation of Building Complexes

This repository contains the source code accompanying the paper:

MSD: A Benchmark Dataset for Floor Plan Generation of Building Complexes
Casper van Engelenburg*, Fatemeh Mostafavi, Emanuel Kuhn, Yuntae Jeon, Michael Franzen, Matthias Standfest, Jan C. van Gemert, Seyran Khademi

msd_examples.png

In: Proceedings of the IEEE/CVF European Conference on Computer Vision (ECCV), 2024

Abstract

Diverse and realistic floor plan data are essential for the development of useful computer-aided methods in architectural design. Today's large-scale floor plan datasets predominantly feature simple floor plan layouts, typically representing single-apartment dwellings only. To compensate for the mismatch between current datasets and the real world, we develop Modified Swiss Dwellings (MSD) - the first large-scale floor plan dataset that contains a significant share of layouts of multi-apartment dwellings. MSD features over 5.3K floor plans of medium- to large-scale building complexes, covering over 18.9K distinct apartments. We validate that existing approaches for floor plan generation, while effective in simpler scenarios, cannot yet seamlessly address the challenges posed by MSD. Our benchmark calls for new research in floor plan machine understanding. Code and data are open.

msd_representation.png

Installation

Install the package directly from PyPI:

pip install msd_dataset

Or install from source:

git clone https://github.com/yunho-c/msd.git
cd msd
pip install -e .

Quick Start

import msd

# Download the dataset
# First time: run the CLI command
# msd-download

# Load and visualize a floor plan graph
import matplotlib.pyplot as plt

# Create a figure
fig, ax = msd.set_figure(nc=1, nr=1)

# Plot a floor plan graph (assuming you have a graph G)
# msd.plot_floor(G, ax, node_size=50, edge_size=3)

MSD datasets

The complete dataset can be downloaded from Kaggle. More details on the dataset can be found there.

You can also use the included CLI tool to download the dataset:

msd-download

The graph as base data structure
The floor plans come in various linked modalities: image, geometry, and graph. The main data container is the graph (networkx.Graph() or torch_geometric.data.Data()) on-top-of which the room shapes and types (as node-level attributes), the connectivity types (as edge-level attributes) and the full image (as graph-level attribute) are modelled. While most floor plan datasets are not structured in this way, we believe that the graph captures most precisely the underlying spatial structure of the floor plan's layout. Whatever element you need on top of the graph, you can add (by populating the nodes, edges, or by adding a graph attribute) yourself. And if you don't need anything besides the topology of the floor plan, just use the bare graph: networkx.Graph().nodes(data=False) and networkx.Graph().edges(data=False).

Structure

Floor plan generation

The code for the models will be released soon!

  • Include code for Graph-informed U-Net: will be in this folder. Development branch here:
git checkout yt
  • Include code for Modified HouseDiffusion: will be in this folder. Development branch here:
git checkout wip-house-diffusion-msd

Cite

@misc{vanengelenburg2024msd,
      title={MSD: A Benchmark Dataset for Floor Plan Generation of Building Complexes},
      author={van Engelenburg, Casper and Mostafavi, Fatemeh and Kuhn,
              Emanuel and Jeon, Yuntae and Franzen, Michael and Standfest,
              Matthias and van Gemert, Jan and Khademi, Seyran},
      year={2024}
      eprint={2407.10121}
      archivePrefix={arXiv}
      primaryClass={cs.CV}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

msd_dataset-0.1.0.tar.gz (18.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

msd_dataset-0.1.0-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file msd_dataset-0.1.0.tar.gz.

File metadata

  • Download URL: msd_dataset-0.1.0.tar.gz
  • Upload date:
  • Size: 18.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for msd_dataset-0.1.0.tar.gz
Algorithm Hash digest
SHA256 742338f6ed0d74db177b6e4d7d382838d9d57f72cb4af4dbd228eeafed32ae3f
MD5 e1c1241efe42f4ef670cc926ff1a1cec
BLAKE2b-256 dc4b4b4d09913deec39d3ad2ae0c7c95c4bddcb85a44248ff087a11af088ff2c

See more details on using hashes here.

File details

Details for the file msd_dataset-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: msd_dataset-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for msd_dataset-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ce89400aea3fa5f49a1b9f1a9e2b0f53545baafbd849009703c0407b57db93ad
MD5 46e1bb7926ab28227f8675c3ebbaf068
BLAKE2b-256 10f8d9d346aea78a6099139f85e0148c2a9a8415c0d9692fd7c3544610841d07

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page