• 工作总结
  • 工作计划
  • 读后感
  • 发言稿
  • 心得体会
  • 思想汇报
  • 述职报告
  • 作文大全
  • 教学设计
  • 不忘初心
  • 打黑除恶
  • 党课下载
  • 主题教育
  • 谈话记录
  • 申请书
  • 对照材料
  • 自查报告
  • 整改报告
  • 脱贫攻坚
  • 党建材料
  • 观后感
  • 评语
  • 口号
  • 规章制度
  • 事迹材料
  • 策划方案
  • 工作汇报
  • 讲话稿
  • 公文范文
  • 致辞稿
  • 调查报告
  • 学习强国
  • 疫情防控
  • 振兴乡镇
  • 工作要点
  • 治国理政
  • 十九届五中全会
  • 教育整顿
  • 党史学习
  • 建党100周
  • 当前位置: 蜗牛文摘网 > 实用文档 > 公文范文 > 融合用户需求和边界约束的平面图生成算法

    融合用户需求和边界约束的平面图生成算法

    时间:2023-04-20 11:25:06 来源:千叶帆 本文已影响

    王若莹,吕 凡,赵柳清,胡伏原*

    (1.苏州科技大学 电子与信息工程学院,江苏 苏州 215009;
    2.天津大学 智能与计算学部,天津 300350)

    房屋平面图是房屋设计的重要组成部分,而房屋平面图需要具有一定经验的专业建筑设计师利用专业软件进行设计。通常设计师需要根据用户对房屋布局的要求,在建筑边界限制下设计出合理的房屋布局,这是一个费时费力的工程[1]。随着深度学习的快速发展,利用深度神经网络[2-3]自动地生成房屋平面图[4-6]以协助设计师成为近年来研究的热点问题。

    早期的房屋平面布局生成方法主要集中在仅根据建筑边界条件来排布布局。Michalek 等[7]提出了一种优化模型,基于梯度和进化算法来做离散决策和全局搜索;
    Wu 等[8]提出一种新的数据驱动方法,通过先定位客厅,进而迭代产生其他房间,然后转换为矢量图形格式输出;
    Gupta 等[9]提出LayoutTransformer 模型,利用基于自注意的方法来学习布局元素之间的上下文关系,在给定区域内生成布局;
    Arroyo等[10]利用自注意层的特性来捕捉布局中元素之间的高层次关系,提出的VTN(Variational Transformer Network)能够在没有显式监督的情况下学习边界对齐和其他全局设计规则。

    最近,基于用户需求的布局生成也一直是研究的焦点。Merrell 等[11]构建高级约束列表,利用随机优化和贝叶斯网络学习房间属性,生成住宅建筑布局。Rosser 等[12]在此基础上利用数据驱动方法估计房间的尺寸和大小等特征。Chaillou[6]提出用于生成平面图的三步生成对抗网络ArchiGAN(Architecture Generative Adversarial Network),它可以依次生成建筑占地面积、房间平面图并放置家具;
    但该方法无法完好地保留房间的某些形状(如轴对齐矩形的边角)。体现用户需求最直接的方法是将其用图形的形式描述。Patil 等[13]利用图形匹配网络LayoutGMN(Layout Graph Matching Network)来预测平面布局之间的结构相似性。Nauata 等[14]提出了一种图形条件化生成对抗网络House-GAN,其中生成器和鉴别器建立在关系架构上;
    但由于房间矩形框是生成掩膜的最大外接矩形框,使得房间中心受噪声影响而变动,导致布局不真实,而且生成的布局图只是房间的简单堆叠,并没有考虑平面布局的设计规则(房间之间重叠部分类型的确认、邻接方位关系等)。

    尽管上述方法已经取得了显著效果,但是现有的自动化平面图设计方法缺乏考虑用户需求和建筑边界的共同约束来生成平面图。仅考虑用户需求而没有边界的限制时,生成的房间随机性较大,构成的布局无法和房屋建筑边界兼容,不符合真实场景下的房屋平面布局设计。而仅将建筑边界作为约束输入时,由于边界具有高度不规则性,因而难以明确定义优化目标,无法提供必要的信息生成合理的布局图;
    同时这忽略了用户偏好,无法生成满足用户需求的布局图。因此生成一个平面布局图需要同时考虑用户需求和实际建筑边界。然而将两者共同作为条件输入到现有的网络中时,由于生成的房间是像素的掩膜预测,导致房间形状不规则,出现缺角的情况;
    而且由于用户需求和建筑边界信息融合后没有一个优化的策略,导致生成的房间超越边界的限制或者房间之间遮挡严重,使得平面布局不合理。

    为解决上述问题,本文提出融合用户需求和边界约束的房屋平面图生成对抗网络(Graph Boundary Constrained-Generative Adversarial Network,GBC-GAN)。首先,通过将用户指定的房屋布局需求(包括房间数量和类型以及房屋之间的邻接方位关系)转化为约束关系图结构,加强房间特征之间信息的关联;
    然后,对建筑边界和约束关系图分别进行特征嵌入,拼接融合后输入到边界框预测模块,以准确推理房间在边界中的位置关系,解决房间形状缺角的问题;
    最后,使用几何边界优化损失调整边界框,该损失由3 个针对房间之间以及房间和边界相对位置关系设置的损失函数构成,以解决生成的房间超越边界的限制以及房间之间互相遮挡严重出现的布局不合理问题。

    1.1 方法框架

    融合用户需求和边界约束的房屋平面图生成对抗网络GBC-GAN 旨在给定用户需求以及房屋建筑边界的条件下,自动生成对应的房屋布局平面图。方法主要由两部分组成:1)约束布局生成器,以约束关系图和单通道建筑边界图为输入,生成与建筑边界兼容且符合用户需求的房屋平面图;
    2)房间关系鉴别器,引导布局生成的有效性,以确保生成的各个房间满足用户需求和边界条件,符合全局一致性。

    GBC-GAN 的整体架构如图1 所示。给定约束关系图和建筑边界图,通过约束关系模块进行特征嵌入,对二者特征拼接融合后输入到边界框预测模块,生成各房间对象的边界框,并利用几何边界优化损失调整边界框位置。训练时将预测的房间边界框和真实房间边界框混合,通过房间关系鉴别器进行对抗训练以生成逼真的房屋平面布局。

    图1 GBC-GAN的整体框架Fig.1 Overall framework of GBC-GAN

    1.2 约束关系图预处理

    本文所使用的约束关系图根据RPLAN 数据集预处理,它提供带有像素级语义标注的栅格图像[8]。约束关系图所包含的特征有房间类型和房间邻接方位关系。本文将房间类型作为节点特征,将房间对之间的共享属性邻接方位关系添加到边缘特征中。房间类型主要包括:主卧、次卧、客厅、阳台、厕所、厨房、储藏室、书房以及餐厅九种类型。而房间邻接方位关系则根据以下规则指定:以原始平面图图像的左上角为原点,+y方向指向北方(上方),其他方向被认为是相对的。方法需要一个参考房间来计算其他房间的相对方向。本文选择连接度高的房间作为方向的参考点(如客厅),房间之间的邻接方位关系以连接度高的房间指向连接度低的房间的方向计算。具体而言,如图2 所示,在图2(a)中,绿色(客厅)房间的连接度最高,因此在图2(b)里由它指向其他类型的房间作为方位关系,图2(c)是本文编码的所有的方位关系类型,一共北、南、东、西、西北、西南、东北、东南8 种。

    图2 约束关系图编码的信息Fig.2 Coding information of constraint relation graph

    1.3 约束布局生成器

    如图1 所示,约束布局生成器包括约束关系模块、边界框预测模块和几何边界优化损失。

    1.3.1 约束关系模块

    本文使用约束关系模块来处理约束关系图和建筑边界,它主要由图卷积网络(Graph Convolutional Network,GCN)和卷积神经网络(Convolutional Neural Network,CNN)构成。

    网络的输入是建筑边界B和约束关系图G。对建筑边界B,每个像素编码{0,1}以区分属于建筑内外两部分。一个房屋布局图包含着房间数目i、房间类型C和房间的相对关系R。对用户需求s,将其解析为约束关系图G=(O,E),其中O={ο0,ο1,…,οi}是用户需求里提到的房间对象集合,E⊆O×R×O是约束关系图中房间对之间的关系集。每个对象οi编码房间类型和噪声z,即οi=[ci;
    z],其中“[ ;
    ]”表示拼接操作,z是128 维度的正态分布向量,ci∈C是oi的类,将其映射到128 维的特征空间中,最终每个对象οi由256 维的可学习嵌入向量表示。对于房间对象oi和oj,编码它们之间的边ei=(oi,rij,oj),其中rij∈R是对象oi和oj之间的关系类型。

    对建筑边界B,本文使用卷积神经网络[15]对图像进行处理,得到边界特征嵌入向量b。对约束关系图,使用由5 个图卷积层组成的图卷积网络处理。每个约束关系图经过图卷积网络得到每个房间对象的嵌入向量,该向量聚合图形中所有对象oi和边ei的信息。

    如图3,给定一个约束关系图,边代表房间之间的邻接方位关系,节点融合房间类型和随机噪声信息。每个节点和边都是维度为Din的向量,输出向量是其相应输入的邻域的函数,因此每个图卷积层沿着图形的边缘进行消息传递。经过两次消息传递,图卷积层为每个节点和边计算新的维度为Dout的向量。图卷积层对图形的所有边应用相同的函数,允许单个层对任意形状的图形进行操作。通过对约束关系图中边特征的提取,实现沿着边汇聚邻接节点的方位信息,最终得到的每个房间的特征嵌入向量ni。该模块利用约束关系图中每个节点的周围节点信息来丰富其特征,因为它们的空间结合形状和功能是相互约束影响的。

    图3 针对约束关系图的图卷积层消息传播Fig.3 Graph convolutional layer message propagation for constraint relation graph

    1.3.2 边界框预测模块

    本文通过约束关系模块对约束关系图和建筑边界进行推理之后,得到每个房间的特征嵌入向量和边界特征嵌入向量,将它们拼接融合后得到一组聚合建筑边界信息和房间信息的特征向量Vi。为生成平面布局图,必须将这些向量从图形域转到图像域。本文将房间表示为二维边界框bi=(xi0,yi0,xi1,yi1)。通过这种形式,将平面布局图生成问题转化为由给定空间嵌入向量生成边界框问题。边界框预测模块由双层的感知网络MLP(Multi-Layer Perceptron)构成,记为h(·)。每个房间边界框由计算得到,式中分别表示预测边框的中心点坐标及边框的长宽。最终,集成所有预测的边界框获得相应的房间布局。

    为了训练边界框预测模块,本文使用回归损失Lreg,计算真实的房间边界框bi和预测的房间边界框之间的差异值:

    1.3.3 几何边界优化损失

    本文的目标是生成一个合理有效的布局。而合理的布局需要满足这些条件:所有的房间都在建筑边界内部且铺满边界,不会因为互相遮挡导致房间消失。如图4 所示,针对这些条件,本文设立几何边界优化损失Lop达到优化布局的目的,它由三部分构成:1)内部损失Linside,确保生成的所有房间都在边界内;
    2)覆盖损失Lcover,这确保边界内所有像素都至少属于一个房间类别;
    3)重叠损失Loverlap,确保两个房间之间尽可能地减少遮挡。

    图4 几何边界优化损失示意图Fig.4 Schematic diagram of geometric boundary optimization loss

    本文假定建筑边界为B,其外接矩形框为Bbox,B内的像素点集合为Ωin(B),Bbox内像素点集合为Ωin(Bbox),Bbox边界上4 个角的集合为Ωbd(Bbox)。每个生成的房间边界框内的像素点集合为Ωin(),房间边界框边界的4 个角集合为Ωbd(),房间边界框集合为{}。

    为保证每个房间都被建筑边界B包含在内,即房间边界框内的任意像素点p∈Ωin()在B内部,本文定义距离函数din(p,Bbox)来测量Bbox和像素点p之间的距离。如果房间边界框内的像素点p在Bbox内部,距离为0;
    如果在Bbox外部,则计算Bbox边界上角点q∈Ωbd(Bbox)与点p的最小距离:

    通过计算所有房间边界框的内部点p∈Ωin()和Bbox的距离值的平方和,内部损失函数Linside可定义为:

    同理,建筑边界B应当被所有房间完全覆盖,其内的每个像素点p∈Ωin(B)都应至少由一个房间边界框覆盖。则覆盖损失函数Lcover可定义为:

    其中|Ωin(B)|代表的是建筑边界B内包含的像素总数。

    其中Lorg是House-GAN 中使用的原始对抗损失[16-17]。

    1.4 房间关系鉴别器

    已有方法的鉴别器只针对房间之间邻接与否进行判别,导致生成的房间之间方位关系不合理。为此,如图5 所示,本文基于文献[14]提出房间关系鉴别器,它不仅能判别整体生成的房间布局是否真实,还能判别房间之间的方位关系是否正确。为了关联房间类型信息,本文将房间边界框布局(来自实际数据集或者约束布局生成器)和约束关系图中房间对象oi拼接得到输入向量Ri=[;
    oi],并添加线性层将Ri扩展到8 192 维,并将其改变为特征维度是32×32×8 的特征体。每个房间特征体,经过2 轮Conv-MPN[17]消息传递和下采样更新特征。为了使生成器生成的房间方位更加合理,每次Conv-MPN 将属于相同邻接方位关系的节点特性通过池化操作分别汇集起来,并与当前特征体拼接融合,最后使用CNN 更新特征向量:

    图5 房间关系鉴别器Fig.5 Room relation discriminator

    fi表示房间节点i的特征向量,代表和房间节点i相邻的并且属于r邻接方位关系的房间节点组。之后经过卷积操作后最终得到维度是128 的房间特征向量,并对所有房间向量求和通过线性层输出一个标量d,计算对抗损失Lorg训练生成器生成逼真的房屋平面布局。

    1.5 布局调整

    GBC-GAN 为每个像素分配一个房间类型的平面布局图,但由于生成的是规则矩形状房间,而建筑边界通常不是规则的,所以当需要完全覆盖建筑边界时,总会存在重叠的区域。如可视化结果所示,在训练的真实数据集中,房屋边界框布局本身就会存在房间重叠的现象。但之前的方法没有考虑重叠区域房间的类型的确定,如图6(b)所示,利用随机排布的规则会出现大房间遮挡住小房间的情况,使得房屋平面布局图排布很不合理。

    为了解决这个问题,本文根据平面图设计的准则人为规定了一个规则确定重叠区域的房间类别标签。例如在一个布局图中客厅的占地面积最大,因此其他房间应该在确定客厅的基础上再排布。而厕所相对面积较小,往往在房间排布完成后再考虑。具体而言,如图6(a)虚线区域是重叠部分,需要确定其类型。本文通过计算每个房间边界框的面积,并确定面积较大的先于较小的排布。若两个房间面积一样大,则随机选一个先排布。依照面积从大到小的顺序排布,直至所有房间布局都排布完成。如图6(c),根据布局图内房间面积大小指定客厅、主卧、阳台、厕所、次卧以罗马数字Ⅰ到Ⅴ的顺序排布。排布平面图时,房间两两之间用墙体间隔,并将房间矩形框内的像素赋予对应类别以作为整个房间。

    图6 重叠像素类型确定示意图Fig.6 Schematic diagram of overlapping pixel type determination

    2.1 实验环境及数据集

    本文算法采用深度学习框架PyTorch,实验环境为Ubuntu14.04 操作系统,使用4 块 NVIDIA 1080Ti 图形处理器(GPU)加速运算,所有模型训练采用学习率为0.000 1 的Adam 优化算法作为优化函数,且设置batch-size 为32,最终得到训练完成的模型。

    为了验证本文方法的有效性,本文在真实大型建筑平面图数据集RPLAN 上训练并最终生成256×256 的布局图像。训练数据为40 000 幅,测试数据为2 000 幅。

    2.2 图像质量评价标准

    对于生成图像质量的定量评价,有两个重要方面:图像视觉质量和图像结构相似性。

    1)图像视觉质量。为了评估图像视觉质量,本文采用弗雷歇距离(Frechet Inception Distance,FID)[18]指标衡量,它是用来计算真实图像与生成图像的特征向量间距离的一种度量,这里的特征向量是由Inception v3 Network 得到的。定义为:

    式中:ur代表真实图片的特征的均值,ug代表生成的图片的特征的均值,Σr代表真实图片的特征的协方差矩阵,Σg代表生成图片的特征的协方差矩阵,Tr 代表矩阵的迹。

    2)图像结构相似性。为了评价生成布局与真实布局之间图像结构相似性,使用结构相似性指数(Structural Similarity Index Measure,SSIM)[19]来衡量,进而确定生成的布局图像是否满足用户需求和建筑平面边界轮廓。

    式中l(x,y)是亮度比较,定义为:

    式中c(x,y)是对比度比较,定义为:

    式中s(x,y)是结构比较,定义为:

    其中:ux和uy分别代表x、y的灰度平均值;
    δx和δy分别代表x、y的灰度值方差;
    δxy代表x、y的灰度值协方差;
    c1、c2、c3是接近0 的常数。SSIM 值越小,说明生成的图像与目标之间的差异越大。

    2.3 模型运算效率

    由于在大规模城市建模中总是首选轻量级生成模型,因此本文对于模型运算效率也做评价。对于生成模型,本文使用时间复杂度,即模型的浮点运算量(Floating points operations,FLOPs)衡量模型的运算效率[20]。FLOPs 值越大,模型越复杂,反之模型越简单。针对全连接层,输入神经元个数为I,输出神经元个数为O,则FLOPs 计算公式为:

    针对单个卷积层,输入通道数为Ciuput,输出通道数为Coutput,输出特征图的尺寸为H×W,卷积核边长为K,则FLOPs 可由以下计算公式得到:

    而对于卷积神经网络整体的时间复杂度为所有卷积层的时间复杂度做累加操作。

    2.4 实验结果

    2.4.1 RPLAN测试集实验结果

    由于之前的工作没有与本文相同的设置,因此对比方法做了一些改动。本文对比了修改后的House-GAN[14]和Ashual[21],旨在展示本文方法生成的布局图更加真实合理:1)House-GAN:生成器的输入修改为128 维的噪声和128 维的房间向量拼接为256 维度的向量,同时加入建筑边界信息,边关系修改成与本文形式一致的方位关系,但不改变生成器的输出形式(生成掩膜而不是房间边界框)。2)Ashual:模型的输入和对House-GAN 的修改一样,同时在训练期间使用本文的设计规则确定重叠像素的房间类型。

    表1 给出了RPLAN 测试集中House-GAN、Ashual 和本文方法的FID、SSIM 和FLOPs 评分对比。与House-GAN 相比,本文的FID 值降低了4.39%,SSIM 提高了2.3%。与Ashual相比,本文的FID 降低了49.2%,SSIM 提高了43.4%。可以看出,不管在图像视觉质量还是结构相似性上,本文方法都占据了优势。在FLOPs 对比上,本文方法相较于其他两个对比方法有大幅提升,这是由于本文的生成器设计简单,并且是将平面布局图生成问题转化为边界框生成的问题,因此不需要掩膜预测模块(该模块会降低模型效率)。

    表1 RPLAN数据集上不同方法生成256×256图像的定量评价Tab.1 Quantitative evaluation of 256×256 images generated by different methods on RPLAN dataset

    为了评估生成布局的合理真实性,图7 给出了不同方法在RPLAN 数据集上的比较结果。输入是用户指定的房间类型和建筑边界,为了直观表现,在可视化结果时把房屋建筑边界也一并展现。例如图7(a)结果1 所示,用户指定主卧、客厅、厨房、厕所以及两个其他用途的次卧。所有方法都能产生对应的房间数和房间类型,但是通过对比可以看出:House-GAN 生成的房屋平面布局图无法匹配对应的建筑边界,同时房屋之间的相互重叠问题也较为严重,使得一些小房间隐藏在大房间下面看不到,例如图7(b)结果2 的厨房位置被客厅遮挡了一大半,并且由于House-GAN 没有设计规则规定遮挡部分的像素类型,导致整体上房间布局失真。Ashual 生成的房屋布局不仅也存在上述问题,同时它生成的房间过于零散无法产生令人信服的结果,因为它更侧重于逼真的图像生成,并且需要对象的粗略位置作为输入,这在我们的问题中没有给出。与House-GAN 和Ashual 相比,本文GBC-GAN 方法根据不同的建筑边界能产生对应用户指定约束的合理平面布局图,与真实的平面布局图相比差异更小,对象之间的关系更准确。

    图7 不同方法在RPLAN数据集上生成布局的比较Fig.7 Generated layout comparison by different methods on RPLAN dataset

    2.4.2 消融实验

    为了进一步验证本文方法的有效性,表2 展示了加入几何边界优化损失之后,生成图像的FID 和SSIM 评分对比。与最原始的结果相比,本文添加几何边界优化损失后FID 降低53.75%,SSIM 提高19.4%。

    表2 添加几何边界优化损失生成256×256图像在RPLAN数据集上的评分Tab.2 Scores of 256×256 images generated with adding geometric boundary optimization losses on RPLAN dataset

    图8 定性地展示了加入不同损失函数产生房间边界框的结果,图8(g)和图8(h)为真实的数据集里对应的房间边界框以及对应的房屋布局图。通过对比可以看出:不加几何边界优化损失得到的房间边界框整体上满足了用户的房间需求,但是比较零散,往往超出房屋边界或者未铺满边界内部。加入了内部损失后(图8(c)),可以看到改善了房间延伸到边界外部的情况;
    加入覆盖损失后(图8(d))改善了房间边界内部像素未被分配房间类型的情况;
    加入重叠损失后(图8(e))改善了房间之间相互重叠严重的情况。

    这三个损失本身没有考虑任何真实布局的信息,只是希望房间边界框的分布更加合理,即覆盖得更多和重叠得更少。加入了回归损失后(式(1)),可以在此基础上有一定的改善。可以看到,加入几何边界优化损失后,显著地提高了生成房间边界框的性能。为了进一步说明损失函数的必要性以及展示设定规则的有效性,本文还和真实数据集比较了边界框布局和房屋平面图结果(图8(e)、图8(f))。结果表明了几何边界优化损失加入的有效性,布局调整前后的结果都得到了改进。

    图8 加入几何边界优化损失前后在RPLAN数据集上的可视化比较Fig.8 Visualized comparison before and after adding geometric boundary optimization loss on RPLAN dataset

    在式(2)中包含两个超参数λ1、λ2,从1 开始测试,发现λ2从1 到0.1 时图像视觉质量和结构相似性提升,0.1 到0.01 时图像视觉质量和结构相似性降低;
    λ1从1 到10 和1 到0.1 图像视觉质量和结构相似性都在降低。因此,两个超参分别选取λ1=1,λ2=0.1。

    表3 超参数分析Tab.3 Hyperparameter analysis

    本文针对现有的房屋平面图布局生成模型存在生成房间形状缺角、房间之间遮挡严重以及房间超越边界的布局不合理问题,提出一种针对房屋布局生成的新型生成对抗网络框架GBC-GAN,它能同时在用户需求和建筑边界两种约束下自动生成房屋布局平面图。通过将用户指定的房屋布局(包括房间数量和类型以及房屋之间的邻接方位关系)转化为约束关系图结构,加强房间特征之间信息的关联;
    然后,通过边界框预测模块和几何边界优化损失,提高了生成模型的信息预测能力,也增强了布局图像的真实合理性。最终的定量和定性实验结果表明,GBC-GAN 方法在FID、SSIM 和FLOPs 指标中均表现优异,本文模型生成的布局图像房间之间的关系更符合事实,图像的质量更高。但本文提出的方法存在无法生成不规则的房间边界框、墙体和门的信息没有考虑在内以及房间之间没有很好地进行对齐等不足,在未来的工作将进一步优化与处理,为设计师提供更加强有力的布局方案。

    猜你喜欢平面图布局边界拓展阅读的边界儿童时代·幸福宝宝(2021年11期)2021-12-21意大利边界穿越之家现代装饰(2020年4期)2020-05-20《别墅平面图》鸭绿江·下半月(2020年2期)2020-04-07《别墅平面图》鸭绿江·下半月(2020年1期)2020-03-23《景观平面图》鸭绿江·下半月(2019年12期)2019-10-21论中立的帮助行为之可罚边界证券法律评论(2018年0期)2018-08-31BP的可再生能源布局能源(2017年5期)2017-07-06平面图的3-hued 染色华东师范大学学报(自然科学版)(2017年1期)2017-02-27VR布局中国科技信息(2016年15期)2016-11-042015 我们这样布局在探索中寻找突破中国卫生(2015年2期)2015-11-12
    相关热词搜索:平面图边界算法

    • 名人名言
    • 伤感文章
    • 短文摘抄
    • 散文
    • 亲情
    • 感悟
    • 心灵鸡汤