House-GAN++: Generative Adversarial Layout Refinement Network towards Intelligent Computational Agent for Professional Architects

Overview

House-GAN++

Code and instructions for our paper: House-GAN++: Generative Adversarial Layout Refinement Network towards Intelligent Computational Agent for Professional Architects, CVPR 2021. Project website.

Data

alt text We have used the RPLAN dataset, which offers 60k vector-graphics floorplans designed by professional architects. Qualitative and quantitative evaluations based on the three standard metrics (i.e., realism, diversity, and compatibility) in the literature demonstrate that the proposed system outperforms the current-state-of-the-art by a large margin.

Demo

image Please check out our live demo.

Running pretrained models

See requirements.txt for checking the dependencies before running the code

For running a pretrained model check out the following steps:

  • Run python test.py.
  • Check out the results in output folder.

Training models

Coming Soon!

Citation

@misc{nauata2021housegan,
      title={House-GAN++: Generative Adversarial Layout Refinement Networks}, 
      author={Nelson Nauata and Sepidehsadat Hosseini and Kai-Hung Chang and Hang Chu and Chin-Yi Cheng and Yasutaka Furukawa},
      year={2021},
      eprint={2103.02574},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Contact

If you have any question, feel free to contact me at [email protected]

Acknowledgement

This research is partially supported by NSERC Discovery Grants, NSERC Discovery Grants Accelerator Supplements, DND/NSERC Discovery Grant Supplement, and Autodesk. We would like to thank architects and students for participating in our user study.

Comments
  • Could you share the post-processing code for getting project demo-like (vector floorplan) results?

    Could you share the post-processing code for getting project demo-like (vector floorplan) results?

    First of all, thanks for the amazing research. I am super interested in this design generation research.

    I would like to get cleaner-looking results to see. In your paper, I found you got a pair-wise comparison with raw segmentation and also vector floorplan.

    image I would like to check the results from vector floorplan visualization.

    If it is in your github repo already, could you tell me where it is? I didn't see a description of it.

    And I have a question about the floorplan result. Once I got the testing result from test.py with "data/json" using pre-trained weights, I found that some of the results are missing the entrance door. (filename: 7513.json, 18477.json, 19307.json, 36233.json, 45012.json, 45161,json)

    fp_final_5 fp_final_0

    Do you know the reason? I suspect entrance doors are overlapped by other masks.

    opened by sucream1004 5
  • ModuleNotFoundError: No module named 'pygraphviz'

    ModuleNotFoundError: No module named 'pygraphviz'

    Traceback (most recent call last): File "test.py", line 11, in from dataset.floorplan_dataset_maps_functional_high_res import FloorplanGraphDataset, floorplan_collate_fn File "/data/houseganpp/dataset/floorplan_dataset_maps_functional_high_res.py", line 28, in from misc.utils import ROOM_CLASS, ID_COLOR File "/data/houseganpp/misc/utils.py", line 30, in from pygraphviz import * ModuleNotFoundError: No module named 'pygraphviz'

    opened by Ha0Tang 0
  • what's the reason input vector is 18-d ?

    what's the reason input vector is 18-d ?

    Hi, I noticed that the code using input vector is 18-d ,instead of 12-d vector in the paper. So, I am so curious why you did that, and what benefit that can make. thanks for any reply

    opened by f745311 0
  • Dataloader error

    Dataloader error

    Hi,

    I am trying to reproduce the results of your paper and I am getting an error while loading data. The error is the following:

    113 ./data/rplan/45776.json [Epoch 0/200] [Batch 111/379] [D loss: 9.999077] [G loss: 81.515854] [L1 loss: 83.728096] Traceback (most recent call last): File "train.py", line 114, in for i, batch in enumerate(fp_loader): File "/home/user/miniconda3/envs/houseganpp/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 530, in next data = self._next_data() File "/home/user/miniconda3/envs/houseganpp/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 1224, in _next_data 114 ./data/rplan/16164.json return self._process_data(data) File "/home/user/miniconda3/envs/houseganpp/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 1250, in _process_data data.reraise() File "/home/user/miniconda3/envs/houseganpp/lib/python3.7/site-packages/torch/_utils.py", line 457, in reraise raise exception IndexError: Caught IndexError in DataLoader worker process 0. Original Traceback (most recent call last): File "/home/user/miniconda3/envs/houseganpp/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 287, in _worker_loop data = fetcher.fetch(index) File "/home/user/miniconda3/envs/houseganpp/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 49, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "/home/user/miniconda3/envs/houseganpp/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 49, in data = [self.dataset[idx] for idx in possibly_batched_index] File "/home/user/houseganpp/dataset/floorplan_dataset_maps_functional_high_res.py", line 135, in getitem graph_nodes, graph_edges, rooms_mks = self.build_graph(rms_type, fp_eds, eds_to_rms) File "/home/user/houseganpp/dataset/floorplan_dataset_maps_functional_high_res.py", line 294, in build_graph poly = self.make_sequence(np.array([fp_eds[l][:4] for l in eds_poly]))[0] File "/home/user/houseganpp/dataset/floorplan_dataset_maps_functional_high_res.py", line 189, in make_sequence v_curr = tuple(edges[0][:2]) IndexError: index 0 is out of bounds for axis 0 with size 0

    I have built the database with the repository https://github.com/sepidsh/Housegan-data-reader

    I attach the file with the error, but I think that the error is not in the file but in the dataloader. When I feed just this file to the model, it works. 16164.zip

    Have you had this error before? Do you know how to solve it?

    opened by deeplearningdiaries 1
  • how to process the RPLAN dataset

    how to process the RPLAN dataset

    I use the code in misc/read_floorplan.py to process the RPLAN dataset,

    but I find the bboxes is not computed,and always [] !!!!!

    So, how to get the bboxes

    bboxes, edges, ed_rm = [], [], []
    info=dict() for w_i in range(len(walls)): edges.append([((walls[w_i][0]-min_x)/lenx),((walls[w_i][1]-min_y)/leny),((walls[w_i][2]-min_x)/lenx),((walls[w_i][3]-min_y)/leny),walls[w_i][5],walls[w_i][8]]) if(walls[w_i][6]==-1): ed_rm.append([walls[w_i][7]]) elif(walls[w_i][7]==-1): ed_rm.append([walls[w_i][6]]) else: ed_rm.append([walls[w_i][6],walls[w_i][7]])

    for i in range(len(poly)):
        p=poly[i]
        pm=[]
        for p_i in range((p)):
                if(p_i%2==0):
                    pm.append(([edges[km+p_i][0],edges[km+p_i][1]]))
                else:
                    pm.append(([edges[km+p_i][2],edges[km+p_i][3]]))
        km=km+p
    info['room_type'] = room_type
    info['boxes'] = bboxes
    info['edges'] = edges
    info['ed_rm'] = ed_rm
    
    opened by czhxiaohuihui 1
  • System Exit : 2

    System Exit : 2

    Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount("/content/drive", force_remount=True). usage: ipykernel_launcher.py [-h] [--n_cpu N_CPU] [--batch_size BATCH_SIZE] [--checkpoint CHECKPOINT] [--data_path DATA_PATH] [--out OUT] ipykernel_launcher.py: error: unrecognized arguments: -f /root/.local/share/jupyter/runtime/kernel-2b829f88-b0ca-4d50-b119-ca22aa9df5a4.json An exception has occurred, use %tb to see the full traceback.

    SystemExit: 2

    opened by maryam-ghaderi-bafti 1
Owner
null
A method that utilized Generative Adversarial Network (GAN) to interpret the black-box deep image classifier models by PyTorch.

A method that utilized Generative Adversarial Network (GAN) to interpret the black-box deep image classifier models by PyTorch.

Yunxia Zhao 3 Dec 29, 2022
CityLearn Challenge Multi-Agent Reinforcement Learning for Intelligent Energy Management, 2020, PikaPika team

Citylearn Challenge This is the PyTorch implementation for PikaPika team, CityLearn Challenge Multi-Agent Reinforcement Learning for Intelligent Energ

bigAIdream projects 10 Oct 10, 2022
A platform for intelligent agent learning based on a 3D open-world FPS game developed by Inspir.AI.

Wilderness Scavenger: 3D Open-World FPS Game AI Challenge This is a platform for intelligent agent learning based on a 3D open-world FPS game develope

null 46 Nov 24, 2022
This code uses generative adversarial networks to generate diverse task allocation plans for Multi-agent teams.

Mutli-agent task allocation This code uses generative adversarial networks to generate diverse task allocation plans for Multi-agent teams. To change

Biorobotics Lab 5 Oct 12, 2022
A computational optimization project towards the goal of gerrymandering the results of a hypothetical election in the UK.

A computational optimization project towards the goal of gerrymandering the results of a hypothetical election in the UK.

Emma 1 Jan 18, 2022
PyTorch 1.5 implementation for paper DECOR-GAN: 3D Shape Detailization by Conditional Refinement.

DECOR-GAN PyTorch 1.5 implementation for paper DECOR-GAN: 3D Shape Detailization by Conditional Refinement, Zhiqin Chen, Vladimir G. Kim, Matthew Fish

Zhiqin Chen 72 Dec 31, 2022
NR-GAN: Noise Robust Generative Adversarial Networks

NR-GAN: Noise Robust Generative Adversarial Networks (CVPR 2020) This repository provides PyTorch implementation for noise robust GAN (NR-GAN). NR-GAN

Takuhiro Kaneko 59 Dec 11, 2022
HiFi-GAN: Generative Adversarial Networks for Efficient and High Fidelity Speech Synthesis

HiFi-GAN: Generative Adversarial Networks for Efficient and High Fidelity Speech Synthesis Jungil Kong, Jaehyeon Kim, Jaekyoung Bae In our paper, we p

Rishikesh (ऋषिकेश) 31 Dec 8, 2022
π-GAN: Periodic Implicit Generative Adversarial Networks for 3D-Aware Image Synthesis

π-GAN: Periodic Implicit Generative Adversarial Networks for 3D-Aware Image Synthesis Project Page | Paper | Data Eric Ryan Chan*, Marco Monteiro*, Pe

null 375 Dec 31, 2022
Partial implementation of ODE-GAN technique from the paper Training Generative Adversarial Networks by Solving Ordinary Differential Equations

ODE GAN (Prototype) in PyTorch Partial implementation of ODE-GAN technique from the paper Training Generative Adversarial Networks by Solving Ordinary

Somshubra Majumdar 15 Feb 10, 2022
Flickr-Faces-HQ (FFHQ) is a high-quality image dataset of human faces, originally created as a benchmark for generative adversarial networks (GAN)

Flickr-Faces-HQ Dataset (FFHQ) Flickr-Faces-HQ (FFHQ) is a high-quality image dataset of human faces, originally created as a benchmark for generative

NVIDIA Research Projects 2.9k Dec 28, 2022
Generate high quality pictures. GAN. Generative Adversarial Networks

ESRGAN generate high quality pictures. GAN. Generative Adversarial Networks """ Super-resolution of CelebA using Generative Adversarial Networks. The

Lieon 1 Dec 14, 2021
This project uses reinforcement learning on stock market and agent tries to learn trading. The goal is to check if the agent can learn to read tape. The project is dedicated to hero in life great Jesse Livermore.

Reinforcement-trading This project uses Reinforcement learning on stock market and agent tries to learn trading. The goal is to check if the agent can

Deepender Singla 1.4k Dec 22, 2022
LBK 20 Dec 2, 2022
Official PyTorch implementation of the paper "Recycling Discriminator: Towards Opinion-Unaware Image Quality Assessment Using Wasserstein GAN", accepted to ACM MM 2021 BNI Track.

RecycleD Official PyTorch implementation of the paper "Recycling Discriminator: Towards Opinion-Unaware Image Quality Assessment Using Wasserstein GAN

Yunan Zhu 23 Nov 5, 2022
CVPR2021: Temporal Context Aggregation Network for Temporal Action Proposal Refinement

Temporal Context Aggregation Network - Pytorch This repo holds the pytorch-version codes of paper: "Temporal Context Aggregation Network for Temporal

Zhiwu Qing 63 Sep 27, 2022
RefineGNN - Iterative refinement graph neural network for antibody sequence-structure co-design (RefineGNN)

Iterative refinement graph neural network for antibody sequence-structure co-des

Wengong Jin 83 Dec 31, 2022
Speech Enhancement Generative Adversarial Network Based on Asymmetric AutoEncoder

ASEGAN: Speech Enhancement Generative Adversarial Network Based on Asymmetric AutoEncoder 中文版简介 Readme with English Version 介绍 基于SEGAN模型的改进版本,使用自主设计的非

Nitin 53 Nov 17, 2022
pytorch implementation for Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network arXiv:1609.04802

PyTorch SRResNet Implementation of Paper: "Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network"(https://arxiv.org/abs

Jiu XU 436 Jan 9, 2023