ArchiGAN実装④

こんにちは!Onplanetzです。

今日はついにArchiGAN実装[1]シリーズ最終回!前回のArchiGAN実装③で間取り図生成がようやく実用的なレベルになってきたので、今回はそれを使いやすい形に落とし込んでいきたいと思います。

 

tech-onplanetz.hatenablog.com

 

今回のArchiGAN実装プロジェクトでは、以前に間取り図の作成に携われたことのある方に実態調査及びニーズ調査を行なっていました。そこで見えてきたのが、「間取りを書く際に、いくつかざっくりとした間取り図の候補があると書きやすい」、というニーズ。

 

そこで今回のプロジェクトでは、ある部屋の形から、1room, 2room, 3roomのそれぞれの場合の間取り図を生成することにしました。(参考にしていたArchiGANの元論文では複数の選択肢の生成は行っておらず、代わりに家具配置を行っていたので、ここがユニークなところかなと思っています。)

 

 

f:id:tech_onplanetz:20200323200950p:plain

使用したモデル

 

 

f:id:tech_onplanetz:20200323201052p:plain

事例:生成された複数の部屋数に対するレイアウトの例(Onplanetz作成)

 

結果を見てみると、実際にひとつの部屋の形に対して、複数の部屋数の間取りが選択肢として提示されていることが分かります。また、複数の選択肢を示したことで、稀に不思議なレイアウトが生成された場合にも、人の目で良さそうなものを選んで間取り図の候補にすることができるようになりました。

 

また、この画像生成をより直観的に分かりやすい形で行えるよう、tkinterを使ってGUIの作成も行っています。

 

youtu.be

https://youtu.be/RU4jkjjAUXw

 

最後に総括として、このようにして部屋の形から間取り図を生成するモデルを作ることができ、ArchiGAN実装①で最初に立てた目標である、空間デザインお助けAIに近いことができたのではないかと考えています!

最後まで読んでいただきありがとうございました!

ArchiGAN実装プロジェクトについては、Slideshareにconpass勉強会の発表資料を公開しておりますので、こちらも興味ある方は見てみてください。

www.slideshare.net

 

tech-onplanetz.hatenablog.com

 

tech-onplanetz.hatenablog.com

 

tech-onplanetz.hatenablog.com

 

参考文献:

[1]今回使用したGANのモデルは、pix2pixで、先行研究としてArchiGANを参考にしています。

pix2pix論文:Image-to-Image Translation with Conditional Adversarial Networks, Phillip Isola et.al., https://arxiv.org/abs/1611.07004

pix2pixコード:CycleGAN and pix2pix in Pytorch, junyanz github, https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

先行研究:ArchiGAN: a Generative Stack for Apartment Building Design, NVIDIA, https://devblogs.nvidia.com/archigan-generative-stack-apartment-building-design/

 

また、教師データの作成(アノテーション)にはlabelImgを使用しました。

GitHub:Tzutalin. LabelImg. Git code (2015), https://github.com/tzutalin/labelImg