こんにちは!Onplanetzです。
今日はついにArchiGAN実装[1]シリーズ最終回!前回で間取り図生成がようやく実用的なレベルになってきたので、今回はそれを使いやすい形に落とし込んでいきたいと思います。
今回のArchiGAN実装プロジェクトでは、以前に間取り図の作成に携われたことのある方に実態調査及びニーズ調査を行なっていました。そこで見えてきたのが、「間取りを書く際に、いくつかざっくりとした間取り図の候補があると書きやすい」、というニーズ。
そこで今回のプロジェクトでは、ある部屋の形から、1room, 2room, 3roomのそれぞれの場合の間取り図を生成することにしました。(参考にしていたArchiGANの元論文では複数の選択肢の生成は行っておらず、代わりに家具配置を行っていたので、ここがユニークなところかなと思っています。)
結果を見てみると、実際にひとつの部屋の形に対して、複数の部屋数の間取りが選択肢として提示されていることが分かります。また、複数の選択肢を示したことで、稀に不思議なレイアウトが生成された場合にも、人の目で良さそうなものを選んで間取り図の候補にすることができるようになりました。
また、この画像生成をより直観的に分かりやすい形で行えるよう、tkinterを使ってGUIの作成も行っています。
最後に総括として、このようにして部屋の形から間取り図を生成するモデルを作ることができ、最初に立てた目標である、空間デザインお助けAIに近いことができたのではないかと考えています!
最後まで読んでいただきありがとうございました!
ArchiGAN実装プロジェクトについては、Slideshareにconpass勉強会の発表資料を公開しておりますので、こちらも興味ある方は見てみてください。
参考文献:
[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