一种基于条件卷积的建筑布局生成方法、装置及介质

文档序号:33188467发布日期:2023-02-04 07:28阅读:50来源:国知局
一种基于条件卷积的建筑布局生成方法、装置及介质

1.本发明涉及建筑布局设计和图像自动生成的交叉领域,尤其涉及一种基于条件卷积的建筑布局生成方法、装置及介质。


背景技术:

2.传统建筑师设计建筑布局主要依靠个人经验进行手工画图设计,费时费力且非常依赖于专业知识。深度学习技术的发展使得计算机可以自动学习规范化生成图像的流程,自动学习建筑设计的规范,进而取代建筑师的繁琐设计过程,省时省力。
3.已有的建筑布局生成算法可大致分为两类:非深度方法和深度方法。非深度方法包括基于随机森林回归器的方法、混合整数二次规划方法和贝叶斯网络等等,这些方法不需要较大的算力支持,但是生成效果欠佳,生成的建筑布局大多不符合建筑规范。深度方法可以分为基于传统cnn的多步骤生成方法、基于pix2pix的方法等等,目前由于网络结构优化不足,建筑布局生成的效果较差,会出现大面积模糊以及房间分类不清晰问题。


技术实现要素:

4.为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于提供一种基于条件卷积的建筑布局生成方法、装置及介质。
5.本发明所采用的技术方案是:
6.一种基于条件卷积的建筑布局生成方法,包括以下步骤:
7.获取建筑布局图,对所述建筑布局图进行预处理,编码器根据预处理后的建筑布局图获取低维噪声;
8.将建筑边界图输入生成器,根据建筑边界图获取条件卷积核;
9.在生成器中,将低维噪声与条件卷积核进行条件卷积运算,直到生成的建筑布局设计图。
10.进一步地,所述建筑布局图ir为色块图,建筑布局图ir中采用不同颜色来表示不同房间区域;
11.所述获取建筑布局图,对所述建筑布局图进行预处理,编码器根据预处理后的建筑布局图获取低维噪声,包括:
12.将所述建筑布局图ir按照预设比例进行伸缩,并进行张量化和归一化操作,获得预处理后的建筑布局图;
13.将预处理后的建筑布局图输入编码器e,计算获得建筑布局图的噪声均值mean和偏差var;
14.将噪声均值mean和偏差var进行重参数化,获得低维噪声z;
15.编码器e的输入输出公式如下:
16.z=e(ir)
17.式中,ir为真实建筑布局图,z为噪声。
18.低维噪声z的具体计算公式如下:
19.mean=conv1(ir)
20.var=conv2(ir)
21.z=n*e
0.5*var
+mean
22.式中,conv1和conv2为卷积操作,n为白噪声。
23.进一步地,所述将建筑边界图输入生成器,根据建筑边界图获取条件卷积核,包括:
24.在生成器g中,采用下采样的降维卷积网络提取建筑边界图ib的特征信息,获得不同尺度的特征图;
25.采用跳接层和上采样的二维卷积层,将建筑边界图ib的特征图采样为条件卷积核k
cc

26.其中,条件卷积核k
cc
作为生成器g的调制信息。
27.进一步地,所述将低维噪声与条件卷积核进行条件卷积运算,直到生成的建筑布局,包括:
28.采用线性层对低维噪声z进行预处理,以使低维噪声z的张量的形状符合图像数据类型;
29.将预处理后的低维噪声z和条件卷积核k
cc
进行条件卷积运算,经过上采样卷积层进行高宽的扩展,重复该过程预设次数,直到生成等同于建筑约束大小的建筑布局设计图io。
30.进一步地,所述将预处理后的低维噪声z和条件卷积核k
cc
行条件卷积运算,包括:
31.采用条件卷积模块,将预处理后的低维噪声z和条件卷积核k
cc
行条件卷积运算;
32.生成器g的输入输出公式如下:
33.io=g(z,ib)
34.式中,io为输出图像,z为噪声,ib为建筑边界图。
35.其中,条件卷积的计算公式如下:
[0036][0037][0038]
在每一个条件卷积模块中,输入特征i通过卷积运算得到输出特征o,其中i∈rc×h×w、o∈rd×h×w;其中c为输入特征的通道数,d为输出特征的通道数,h和w分别是输入特征的高和宽;i和j分别表示输入特征i上的高和宽的坐标,数值范围分别在0至h和0至w之间;k为卷积核大小;k
cc
为条件卷积核,k
p
为点状卷积核。
[0039]
进一步地,所述建筑布局生成方法还包括模型训练步骤:
[0040]
在训练过程使用一个基于注意力机制的多尺度鉴别器,注意力模块用于同时提取空间注意力权重和通道注意力权重,同时鉴别器中添加了一个残差结构用于跳接;
[0041]
鉴别器d的输入输出公式为:
[0042]
l
hinge
=d(i
dis
,t)
[0043]
式中,i
dis
为要鉴别的图像,鉴别为真实布局图ir或生成图像io;t为布尔值,为鉴别
器判别为真或假的目标。
[0044]
鉴别器中注意力模块的计算公式如下:
[0045][0046]ac
=σ(mlp(maxc(i))+mlp(avgc(i)))
[0047][0048]
式中,输入的特征映射i,i∈rc×h×w;输出的特征映射为o,o∈rc×h×w;通道注意力权重ac∈rc×1×1,而空间注意力权重as∈r1×h×w;σ表示sigmoid激活函数;式中maxc表示最大池化操作,avgc表示平均池化操作,maxs表示通道维度上的最大值计算操作,avgs表示通道维度上的均值计算操作;mlp为多层线性运算操作,表示按位乘,conv表示卷积操作。
[0049]
进一步地,生成器使用三种损失函数进行训练,分别为损失函数l
l1
、l
vgg
和l
dis

[0050]
损失函数l
l1
是将真实图像和生成器生成的图像分别在鉴别器得到降维特征进行l1损失的计算,目的是希望生成图像与真实图像尽可能相像;
[0051]
损失函数l
vgg
是将真实图像和生成器生成的图像在已训练好的预设网络上进行特征提取,对提取的特征进行l1损失的计算;
[0052]
损失函数l
hinge
是将生成器生成的图像经过鉴别器进行降维,与鉴别器判定为正确的结果进行损失的hinge计算;
[0053]
生成器的损失函数的表达式如下所示:
[0054]
lg=l
l1
(d(ir,ib),d(g(e(ir),ib),ib))+l
vgg
(ir,g(e(ir),ib))+l
hinge
(d(g(e(ir),ib)),true)
[0055]
式中,d为鉴别器,g为生成器,e为编码器,ir为建筑布局图,ib为建筑边界图,true表示布尔值真。
[0056]
进一步地,基于注意力机制的鉴别器使用真实图像和生成图像同时进行辨别,与生成器进行对抗训练,鉴别器的损失函数为:
[0057]
ld=l
hinge
(d(g(e(ir),ib)),false)+l
hinge
(ir,true)
[0058]
式中,d为鉴别器,g为生成器,e为编码器,ir为建筑布局图,ib为建筑边界图,true表示布尔值真,false表示布尔值假。
[0059]
本发明所采用的另一技术方案是:
[0060]
一种基于条件卷积的建筑布局生成装置,包括:
[0061]
至少一个处理器;
[0062]
至少一个存储器,用于存储至少一个程序;
[0063]
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。
[0064]
本发明所采用的另一技术方案是:
[0065]
一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行如上所述方法。
[0066]
本发明的有益效果是:本发明使用基于条件卷积的方法来进行建筑布局生成,将建筑边界图添加进条件卷积做调制信息,提高生成的建筑布局图质量,更好地满足建筑布局规范。
附图说明
[0067]
为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员而言,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
[0068]
图1是本发明实施例中一种基于条件卷积的建筑布局生成方法的步骤流程图;
[0069]
图2是本发明实施例中训练模型的示意图;
[0070]
图3是本发明实施例中基于条件卷积的生成器结构图;
[0071]
图4是本发明实施例中进行建筑布局生成的实际效果示意图。其中(a)为输入的建筑边界图,图4(b)为建筑边界对应的真实布局,图4(c)为生成的建筑布局设计图。具体地,图中红色表示走廊、黑色表示阳台、深蓝表示客厅、浅蓝表示饭厅、黄色表示厨房、紫色表示卫生间。
具体实施方式
[0072]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
[0073]
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0074]
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
[0075]
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
[0076]
如图1所示,本实施例提供一种基于条件卷积的建筑布局生成方法,包括以下步骤:
[0077]
s1、获取建筑布局图,对建筑布局图进行预处理,编码器根据预处理后的建筑布局图获取低维噪声。
[0078]
将已有的随机建筑布局图ir作为规范输入编码器e,通过多个二维卷积层和线性层生成包含建筑规范信息的低维噪声z。
[0079]
作为一种可选的实施方式,步骤s1具体包括步骤s11-s13:
[0080]
s11、将已有的随机建筑布局图ir进行预处理,所述的建筑布局图为色块图,用不同颜色来表示不同房间区域。将ir的高宽按比例伸缩为256,并将其进行张量化和归一化操
作,归一化将像素数值范围规范在-1至1之间,得到预处理后的建筑布局图。
[0081]
s12、将预处理后的建筑布局图输入编码器e,编码器e使用5个二维卷积层对建筑布局进行下采样,同时将输出特征图的通道数扩展到512维;再使用两个线性层来计算噪声均值mean和偏差var。
[0082]
s13、将得到的噪声均值mean和偏差var进行重参数化得到最终噪声z。n为均值为0,方差为1的高斯噪声,计算公式如下所示:
[0083]
mean=conv1(ir)
[0084]
var=conv2(ir)
[0085]
z=n*e
0.5*var
+mean
[0086]
式中,conv1和conv2为卷积操作,n为白噪声。
[0087]
s2、将建筑边界图输入生成器,根据建筑边界图获取条件卷积核。
[0088]
将建筑边界图ib输入生成器g,使用特征金字塔编码为条件卷积的卷积核k
cc
,使用条件卷积核k
cc
来调制激活生成器的输出满足建筑边界语义。
[0089]
作为一种可选的实施方式,步骤s2具体包括步骤s21-s22:
[0090]
s21、使用下采样的降维卷积网络提取建筑边界图ib的特征信息,分别得到不同尺度的特征图。
[0091]
s22、使用跳接层和上采样的二维卷积层将建筑边界图ib的特征图采样为条件卷积核k
cc
,即生成器需要的调制信息。
[0092]
s3、在生成器中,将低维噪声与条件卷积核进行条件卷积运算,直到生成的建筑布局设计图。
[0093]
将低维噪声z输入生成器g,在生成器中卷积核k
cc
与噪声z进行条件卷积运算,重复多次条件卷积运算最终得到生成的建筑布局io。
[0094]
作为一种可选的实施方式,步骤s3具体包括步骤s31-s32:
[0095]
s31、将低维噪声z使用线性层进行预处理,将其张量的形状变形为符合图像数据类型的四个维度,通道维度变形为3。
[0096]
s32、将预处理后的噪声经过条件卷积层与条件卷积核k
cc
进行条件卷积运算,经过上采样卷积层来进行高宽的扩展,重复上述过程多次直到生成等同于建筑约束大小的设计图io。
[0097]
进一步作为可选的实施方式,在步骤s1之前还包括训练模型的步骤。参见图2和图3,模型包括编码器e、生成器g和鉴别器d三部分。在训练阶段需要同时对三者进行训练,但是在使用阶段只需要编码器和生成器。编码器e用于对已有的真实图像进行建筑规范信息的提取,得到蕴含着建筑设计规范信息的低维噪声z。生成器g输入噪声z和建筑边界图ib,经过条件卷积和上采样生成建筑设计图io。鉴别器d是一个多尺度特征提取器,仅在模型训练阶段使用,与生成器进行对抗训练。
[0098]
编码器e由卷积层和线性层组合而成,使用kld损失进行训练,编码器损失函数如下所示:
[0099]
le=l
kld
(e(ir))
[0100]
式中ir为真实建筑布局。
[0101]
本实施例的生成器g使用条件卷积方法来取代传统卷积。条件卷积相比传统卷积
更好的利用了不同区域的特征信息。二者有着原理上的不同,相比于传统卷积在不同像素上使用相同的卷积核,条件卷积对不同像素使用不同的卷积核进行卷积运算。由于使用完整的条件卷积将会使得模型相当庞大,故使用不改变通道数的条件卷积和改变通道数的点状卷积进行替代。在我们的条件卷积生成器中,特征金字塔先提取建筑边界图中的特征,这些特征作为主干网络中条件卷积层的卷积核k
cc
,k
cc
∈rc×h×w×k×k。点状卷积使用常规的卷积方式,其卷积核k
p
∈rc×d。生成器使用的条件卷积的计算公式如下所示:
[0102][0103][0104]
在每一个条件卷积模块中,输入特征i通过卷积运算得到输出特征o,其中i∈rc×h×w、o∈rd×h×w。其中c为输入特征的通道数,d为输出特征的通道数,h和w分别是输入特征的高和宽,这里我们只考虑输出特征与输入特征高宽相同的情况。i和j分别表示输入特征i上的高和宽的坐标,数值范围分别在0至h和0至w之间。k为卷积核大小,使用时必须设为奇数。k
cc
为条件卷积核,k
p
为点状卷积核。
[0105]
生成器g使用三种损失函数的和用作反向传播进行训练,分别是l
l1
、l
vgg
和l
dis
。l
l1
将真实图像和生成器生成的图像分别在鉴别器得到降维特征进行l1损失的计算,目的是希望生成图像与真实图像尽可能相像。l
vgg
则是将真实图像和生成器生成的图像在已训练好的vgg19网络上进行特征提取,对二者提取的特征进行l1损失的计算。l
hinge
是将生成器生成的图像经过鉴别器进行降维,与鉴别器判定为正确的结果进行损失的hinge计算。
[0106]
生成器g总损失函数公式如下所示:
[0107]
lg=l
l1
(d(ir,ib),d(g(e(ir),ib),ib))+l
vgg
(ir,g(e(ir),ib))+l
hinge
(d(g(e(ir),ib)),true)
[0108]
式中,d为鉴别器,g为生成器,e为编码器,ir为建筑布局图,ib为建筑边界图,true表示布尔值真。
[0109]
本实施例的多尺度鉴别器包含两个子注意力鉴别器,第一个鉴别器对要判别的图像进行下采样处理后再进行判别,而第二个鉴别器不对判别图像进行处理。两个子鉴别器用于提取不同粒度的特征信息,通过与生成器的对抗训练来不断强化。
[0110]
鉴别器中引入了注意力机制,其中同时使用了空间注意力和通道注意力机制。基于resnet的思想,我们在注意力机制模块中引入了一个残差连接,以保证鉴别器性能的鲁棒性。
[0111]
鉴别器中注意力模块的计算公式如下:
[0112][0113]ac
=σ(mlp(maxc(i))+mlp(avgc(i)))
[0114][0115]
在上式中输入的特征映射i,i∈rc×h×w。输出的特征映射为o,o∈rc×h×w。通道注意力权重ac∈rc×1×1,而空间注意力权重as∈r1×h×w。σ表示sigmoid激活函数。上式中maxc表示最大池化操作,avgc表示平均池化操作,maxs表示通道维度上的最大值计算操作,avgs表示
通道维度上的均值计算操作。mlp为多层线性运算操作,表示按位乘,conv表示卷积操作。
[0116]
鉴别器总损失函数公式如下所示:
[0117]
ld=l
hinge
(d(g(e(ir),ib)),false)+l
hinge
(ir,true)
[0118]
式中,d为鉴别器,g为生成器,e为编码器,ir为建筑布局图,ib为建筑边界图,true表示布尔值真,false表示布尔值假。
[0119]
参见图4,图4是采用本实施例方法进行建筑布局生成的实际效果;其中,图4(a)为输入的建筑边界图,图4(b)为建筑边界对应的真实布局,图4(c)为生成的建筑布局设计图。具体地,图中红色表示走廊、黑色表示阳台、深蓝表示客厅、浅蓝表示饭厅、黄色表示厨房、紫色表示卫生间。
[0120]
综上所述,本实施例相对于现有技术,具有如下优点及有益效果:
[0121]
(1)本发明能广泛应用在各类建筑布局自动设计领域,在给定建筑边界约束的情况下自动生成建筑布局设计图。
[0122]
(2)本发明算法计算速度较快,模型训练参数较少,并且可以推广应用到其他布局自动生成领域,例如文档、网页布局等等。
[0123]
(3)本发明使用基于条件卷积的方法来进行建筑布局生成,将建筑边界约束添加进条件卷积做调制信息,相比与之前的方法生成的建筑布局图质量更好,可以更好地满足建筑布局规范。
[0124]
本实施例还提供一种基于条件卷积的建筑布局生成装置,包括:
[0125]
至少一个处理器;
[0126]
至少一个存储器,用于存储至少一个程序;
[0127]
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如图1所示方法。
[0128]
本实施例的一种基于条件卷积的建筑布局生成装置,可执行本发明方法实施例所提供的一种基于条件卷积的建筑布局生成方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
[0129]
本技术实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1所示的方法。
[0130]
本实施例还提供了一种存储介质,存储有可执行本发明方法实施例所提供的一种基于条件卷积的建筑布局生成方法的指令或程序,当运行该指令或程序时,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
[0131]
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
[0132]
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反
说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
[0133]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0134]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
[0135]
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0136]
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0137]
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
[0138]
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
[0139]
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1