从ArchiGAN:公寓建筑设计的生成技术,说起
- 2020 年 1 月 13 日
- 筆記
hi,大家好~我是shadow,一枚设计师/全栈工程师/算法研究员,目前主要研究方向是人工智能写作和人工智能设计,当然偶尔也会跨界到人工智能艺术及其他各种AI产品。这是我发在《人工智能Mix》的一篇文章的学习笔记。
( 文末了解《人工智能Mix》 )
这是一篇发表在英伟达的文章,
原文标题:
archigan-generative-stack-apartment-building-design
原文比较长,我把其中值得学习的方法整理了出来:
– 拆解设计步骤,每一步骤训练一个模型完成
建筑平面图设计分解为3个步骤:
- 01 建筑占地轮廓
- 02 功能分区
- 03 家具布置

每个步骤都对应一个经过训练以执行上述3个任务之一的Pix2Pix GAN模型。通过一个接一个地嵌套这些模型,作者创建了设计流程的生成模型栈,同时允许用户在每个步骤中进行输入。
– 模型1
生成轮廓

– 模型2
填充功能色块

– 模型3
根据功能色块,生成每个色块的家具布置

– GAN像素级应用的局限性
作者认为,这些效果都证明了GAN在建筑领域的潜力,但目前ArchiGAN还有一定的局限性,主要分为三点。
一、设计多层建筑时,因为模型无法理解承重墙这一概念,所以无法保证整个建筑物的承重墙设计是否合理。
二、当前产出的图像清晰度有限。作者表示希望通过增加输出层的size,搭配Pix2Pix HD,和TensorRT增强算力实现这一目标。
三、生成数据的格式上,目前智能生成的输出文件是非矢量图的格式,相当于只停留在概念设计(草图阶段),还不能直接转化为cad使用。
原文:
https://devblogs.nvidia.com/archigan-generative-stack-apartment-building-design/?linkId=70968833
关于建筑的智能设计,还有另一个方法,之前分享过,由手绘生成3D模型


根据用户勾画的草图,系统自动生成3D的建筑模型。
跟ArchiGAN搭配,是不是蛮好?
平面到3D都有了~
技术方案,如下:
a)用户简单勾画建筑物某个组件的轮廓
b)基于深度学习,系统找到匹配预定义的组件集(论文称为 Snippet Grammar )
c)用户从匹配到的组件集中挑选合适的组件 (系统转化为 Snippet Grammar 的形式)
d)系统合成用户的选项(组装 Snippet Grammar ),生成建筑 3D 模型

该文章值得借鉴的还有:
– 基于参数的描述性语言
论文提出的 Snippet Grammar ,是基于参数的描述性语言,非常容易转化为机器学习训练所需要的数据形式。按照建筑物的构成划分为 Building mass 、Roof 、Window 、Ledge 等几类组件集,Snippet Grammar 则描述了 3D 模型所属的组件集及其参数集合。
<!— 某个Building mass的3D模型 —> <param building_height=“20” /> <rule name=“Start”> <extrude height=“building_height” /> <comp> <top name=“TopFace” /> <!- -roof – – > <side name=“Facade” /> <!- – facade – – > <bottom name=“Base” /> </comp> </rule> <!— 某个Roof的3D模型—> <param roof_slope=“50” /> <rule name=“TopFace”> <roofGable slope=“roof_slope” /> </rule>
mixlab还有很多相关的智能设计文章,
欢迎自行查阅~