学习
实践
活动
工具
TVP
写文章

人工智能“建筑师”之 由手绘生成3D模型

这是论文《Interactive Sketching of Urban Procedural Models》的解读,主要以解读实现思路为主。

*

使用流程:

根据用户勾画的草图,系统自动生成3D的建筑模型。

a)用户简单勾画建筑物某个组件的轮廓

b)基于深度学习,系统找到匹配预定义的组件集(论文称为Snippet Grammar

c)用户从匹配到的组件集中挑选合适的组件 (系统转化为Snippet Grammar的形式)

d)系统合成用户的选项(组装Snippet Grammar),生成建筑3D模型

*

基于参数的描述性语言:

论文提出的Snippet Grammar,是基于参数描述性语言,非常容易转化为机器学习训练所需要的数据形式。按照建筑物的构成划分为Building mass 、Roof 、Window 、Ledge等几类组件集,Snippet Grammar则描述了3D模型所属的组件集及其参数集合。

例如,建筑物3D模型的描述:

Snippet Grammar非常像HTML标签语言,也类似于RDF/RDFS ,资源描述框架(RDF)是用于描述网络资源的W3C标准,比如网页的标题、作者、修改日期、内容以及版权信息。

我们可以把设计的规则转化为Snippet Grammar,然后再转化为图片与Gi作为CNNs的输入数据。

*

实现思路:

1 分类标签

图为分类标签示例

按照建筑物的构成划分为Building mass、Roof、Window、Ledge等几类组件集;

23D模型参数化

每一个建筑物组件3D模型使用Snippet Grammar描述;

3 生成训练数据

每一类组件集参数随机变化形成许多的3D模型;把生成的每一个3D模型对应的图片(草图),及Snippet Grammar保存下来。

4 训练数据处理

共2组训练数据,分别为:

(草图,分类标签),用于判断草图属于哪一个标签(分类问题);

(草图,Snippet Grammar),定义为Gi = { α, τ, η, ρ },用于估计草图的参数组合;

5CNNs训练标签分类模型:

使用(草图,分类标签)作为输入,基于CNNs训练分类模型,建立(草图,分类标签)之间的映射关系。相当于告诉机器哪张图属于建筑物的哪个组件(属于window还是roof等)。

6CNNs训练各个标签下的参数分类模型:

图为building mass的示例

使用(草图,Gi)作为输入,建立某一标签下草图对应的参数之间的映射关系。相当于,告诉机器,在building mass标签(或其他标签)下,这张草图属于那一组参数。

7 应用:

当用户输入新的草图图片时,模型判断属于哪个分类标签,并返回最可能的Gi集合给用户,最后再根据用户选择的Gi对应的Snippet Grammar,生成3D模型。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180129G0ZP9I00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券