[PDF]LayoutGAN: Generating graphic layouts with wireframe discriminatiors(2019)
布局对图像设计和场景生成非常重要。我们提出了一种新的生成对抗网络,称为Layout GAN,它通过建模不同类型的2D元素的几何关系来综合布局。Layout GAN的生成器将一组随机放置的2D图形元素作为输入,并使用自我注意力模块来细化它们的标签和几何参数,生成逼真的布局。精确布局对于良好布局至关重要。因此我们提出了一种新的可微线框渲染层,该层将生成的布局映射到线框图像,在此基础上,使用基于CNN的鉴别器来优化图像空间的布局。在MNIST数字生成、文档布局生成、剪贴画抽象场景生成、七巧板图形设计等实验中验证了Layout GAN的有效性。
平面设计是现代世界中一种重要的视觉传达工具,涵盖了书籍封面、杂志布局、网页设计的一切。尽管生成逼真自然图像的方法最近取得了重大进展,特别是生成性对抗网络(GAN)(Karras等人,2018),但用于创建设计的方法要原始的多。这部分是由于难以找到适合学习的数据表示。图形设计通常由基本对象(如多边形、曲线和椭圆)的矢量表示组成,而不是放置在规则网格上的像素。设计的质量和内容取决于元素的存在、它们的属性以及它们与其它元素的关系。设计的视觉感受取决于这些元素的排列;只有几毫米的两个原件的错位会破坏设计。使用传统GAN从设计图像中进行训练,会合成像素空间中的布局,从而混淆布局及其渲染,因此不太可能很好的捕捉布局样式。使用神经网络对这种高度结构化的数据进行建模非常有趣,因为它们通常表示人类关于视觉世界的抽象知识(Zitnick&Parikh,2013;Song等人,2017),以及这些知识如何通过文档和设计表达(Deka等人,2017;Yang等人,2018)。
本文介绍了LayoutGAN,一种新颖的GAN,它直接在设计中合成一组图形元素。在给定的设计问题中,预先指定了一组固定的元素类(例如,“title”、“figure”)。在我们的网络中,每个元素由其类概率和几何参数表示,即边界框关键点。生成器将具有随机采样的类概率和几何参数的图形元素作为输入,并将它们排列在设计中;输出是设计元素的细化类概率和几何参数。生成器具有置换不变的理想特性:如果我们对输入元素重新排序,它将生成相同的布局。
我们针对这种结构化数据提出了两种鉴别器网络。第一个在结构上类似于生成器:它直接根据元素的类概率和几何参数进行操作。虽然有效,但它对元素之间的错位和遮挡不够敏感。第二鉴别器在视觉域中工作。就像人类观察者通过观察光栅化的图像来判断设计一样,通过将不同元素映射到2D布局,可以很好地评估它们之间的关系。然后卷积神经网络(CNN)可以用于布局优化,因为它们专门用于区分视觉模式,包括但不限于未对准和遮挡。然而,关键的挑战是如何将几何参数差异化地映射到像素级布局。一种方法是使用空间变换器网络将图形元素渲染为位图掩码(Jaderberg等人,2015)。但我们发现,设计元素中填充的像素会导致遮挡,并且对反向传播无效,例如,当一个小多边形隐藏在一个大多边形后面时。我们尝试了位图蒙版渲染,但没有成功。在本文中,我们提出了一种新的可微分线框渲染层,该层将图形元素的合成和真实结构数据光栅化为线框图像,在此基础上,可以使用标准CNN来优化视觉和图形领域的布局。线框渲染鉴别器有几个优点。首先,卷积层非常擅长提取图像的空间模式,因此它们对对齐更敏感。第二,渲染的线框使元素即使在重叠时也可见,因此网络可以从推断其他渲染(如遮罩)中可能出现的遮挡中得到缓解。
我们为几个不同的任务评估LayoutGAN,包括对MNIST数字的健全性测试、从标记的边界框生成页面布局、生成剪贴画抽象场景、七巧板图形设计和移动应用程序设计布局。在每种情况下,我们的方法都成功地生成了关于问题域的元素类型及其关系的布局。
总之,LayoutGAN包括以下贡献:1.直接合成结构化数据的生成器,表示为设计中独立于分辨率的标记图形元素集。2.可微分线框渲染层,其允许鉴别器根据离散元素排列判断对齐。
结构化数据生成。结构化数据生成。卷积网络已被证明成功地在规则格子中生成数据,如图像(Radford 等,2015) ,视频(Vondrick 等,2016)和3D 卷(Yan 等,2016; Wu 等,2016)。当生成高度结构化的数据(如文本(Donahue 等,2015)和程序(Reed & De Freitas,2015))时,循环网络通常是首选(Sutskever 等,2014) ,特别是配备了注意力(Bahdanau 等,2014)和记忆模块(Graves 等,2014)。最近,研究人员表明,卷积网络也可以用来合成序列(Oord 等,2016; van den Oord 等,2016)使用自回归模型。然而,在许多情况下,一个对象没有顺序(Vinyals et al。 ,2015) ,而是一组元素,例如点云。Fan 等人(2017)提出了一种从单幅图像合成物体形状的三维点云的点集生成网络。它进一步与自动编码3D 点云的点集分类网络(Charles et al。 ,2017)配对(Achlioptas et al。 ,2017)。我们的工作将集合表示扩展到更一般的原始对象,即标记多边形。同时,研究人员还使用图卷积对连接元素的结构化数据进行建模(Kipf & Welling,2017)。
数据驱动图形设计。自动布局是平面设计中的一个经典问题(Hurst等人,2009)。ODonovan等人(2014)通过组合各种启发式视觉线索和设计原则来制定能量函数,以优化单页布局,并将其扩展到交互式工具(O’Donovan等人,2015)。模型参数是从少量示例设计中学习的。Pang等人(2016)针对期望的注视方向优化布局。Deka等人(2017)收集了一个用于利用数据驱动应用程序的移动应用程序设计数据库,并给出了用于设计搜索的像素级纹理/非文本掩码相似性学习的初步结果,但没有从该数据中学习模型。Swearngin等人(2018)提出了一种交互式系统,将示例设计截图转换为矢量图形,供设计师重复使用和编辑。Bylinskii等人(2017)分析了图形设计的视觉重要性,并使用显著性地图作为驱动力来辅助重定目标和缩略图。以前的方法已经学习了其他图形设计元素的模型,例如字体(O’Donovan等人,2014)和颜色(O’Donovan et al.,2011)。这些与布局问题正交,可以在未来的工作中结合起来。以前的方法还没有学会从大型数据集创建设计或布局,以前的工作也没有将GAN应用于布局。
3D场景合成。室内场景合成和家具布局生成引起了图形社区的极大兴趣。由于数据有限,早期方法侧重于优化手工设计原则(Merrell等人,2011)和学习成对对象关系的统计先验(Fisher等人,2012)。Wang等人(2018a)最近提出了一种室内场景合成的顺序决策方法。在每个步骤中,训练CNN通过查看渲染的自上而下视图来预测一个对象的位置或类别。这类似于我们的线框渲染鉴别器,在使用卷积来捕获布局的空间模式的意义上。
这部分描述我们的数据和模型表示。
设计表示
在我们的模型中,平面设计由一组个原始设计元素组成。每个元素都有一组几何参数θ和一个类概率向量p。这些变量的条目与问题有关。例如,文档布局包括6个类,例如“标题”和“图片”,而剪贴画布局包括6类,例如,“男孩”和“帽子”。对于二维点集生成(MNIST数字),,表示每个点的坐标;对于文档布局中的边界框生成,,表示每个边界框的左上和右下坐标;对于具有缩放和翻转的布局(剪贴抽象场景),,表示每个元素的中心坐标、比例和翻转。
结构生成器
其中和是两个线性嵌入。我们在实验中堆叠了4个用于特征细化的关系模块。最后,由另一个多层感知器网络组成的解码器,随后是具有形激活函数的完全连接层的两个分支,用于将每个元素的细化特征分别映射回类概率和几何参数。可选地,可以应用非最大抑制(NMS)来删除重复的元素。
鉴别器网络架构
鉴别器旨在区分合成布局和真实布局。 我们提出了两种类型的鉴别器,一种基于直接基于布局参数构建的关系模块,另一种基于通过渲染的布局外观。
基于关系的鉴别器
基于关系的鉴别器将一组由类概率和几何参数表示的图形元素作为输入,并将它们馈送到由多层感知器网络组成的编码器,用于特征嵌入 。 然后提取它们的全局图形关系 其中 通过删除快捷连接表示等式 1 中的简化关系模块,并且 是 (Charles et al., 2017) 中使用的最大池化函数。 因此,可以对所有图形元素之间的全局关系进行建模,并在此基础上应用由多层感知网络组成的分类器进行真假预测。
线框渲染鉴别器
Wireframe Rendering Discriminator 利用 CNN 对布局进行分类,以便学习对布局的视觉属性进行分类。 鉴别器由一个线框渲染层组成,它产生一个输出图像 ,然后将其输入 CNN 进行分类。
一个由 3 个卷积层组成的 CNN,然后是一个带有 sigmoid 激活的全连接层,应用于光栅化层 以预测真假图形布局。
该实现基于 TensorFlow (Abadi et al., 2016)。 网络参数从零均值高斯初始化,标准差为 0.02。 所有网络都使用 Adam (Kingma & Ba, 2014) 进行优化,固定学习率为 0.00002。 详细的架构可以在附录中找到。
MNIST数字生成
作为一个玩具问题,我们生成 MNIST 布局。 MNIST 是一个手写数字数据库,由 60,000 个训练图像和 10,000 个测试图像组成。 对于每个图像,我们提取 128 个随机选择的前景像素的位置作为图形表示,以便数字生成可以表述为 2D 点布局的生成。 在图 3a 中,每个图像显示了从点布局呈现的 8 × 8 数字。 左图和中图是 LayoutGAN 生成的样本,分别具有基于关系的鉴别器和线框渲染鉴别器。 右图显示了从真实点布局呈现的数字。 可以看到具有任一鉴别器的 LayoutGAN 都可以捕获各种模式。 线框渲染鉴别器生成更紧凑、更好对齐的点布局。 对于定量评估,我们首先训练一个多层感知器网络进行数字分类,在 MNIST 测试集上达到 98.91% 的准确率,然后使用分类器计算 10,000 个生成样本的初始分数(Salimans 等人,2016)。 如表 1 所示,与基于关系的鉴别器相比,带有线框渲染鉴别器的 LayoutGAN 获得了更高的初始分数。 为了阐明 LayoutGAN 的关系细化过程,我们用特定于位置的颜色标记每个输入随机点,并在生成的布局中跟踪它们的细化位置,如图 3b 所示。 可以看到颜色沿着笔划逐渐变化,表明网络学习了一些点的上下文一致的局部位移。
文档布局生成
一个文档页面由许多具有不同元素类型的区域组成,例如标题、段落、表格、图表、标题和列表。 每个区域由一个边界框表示。 区域的建模布局对于文档分析、重定向和合成至关重要。 在真实的文档数据中,这些边界框通常沿着规范轴仔细对齐,并且它们的位置遵循一些特定的模式,例如标题总是出现在段落或表格的上方。 附录中显示了一些示例布局。
剪贴画抽象场景生成
七巧板图形设计
在本文中,我们提出了一种新颖的 LayoutGAN,用于生成关系图形元素的布局。 与传统的生成像素级图像的 GAN 不同,LayoutGAN 可以直接输出一组关系图形元素。 提出了一种新颖的可微分线框渲染层,以将生成的图形元素光栅化为线框图像,从而可以利用 CNN 作为判别器,从视觉域进行更好的布局优化。 未来的工作包括为每个图形元素添加内容表示,例如文本、图标和图片。
LayoutGAN是一种利用数据学习布局排版的新方法。即输入一组参数,Layout GAN会输出一组微调后的参数以及一张线框图,然后与真实数据的参数与线框图构成GAN的对抗训练,最后经过训练,实现输出的参数与线框图接近真实数据。
数据驱动的布局排版学习主要有两种方式,一种使用CNN结构学习已标注的线框图,输入输出都是线框图。另一种是使用多层全连接结构,学习元素的集合参数(位置、大小),输入输出都是一组几何参数。Layout GAN将两种方式结合,通过一个可微分的几何参数到线框图的渲染公式,实现输入式一组几何参数,输出是一组新几何参数与对应的线框图,这样GAN的判别器可以对新几何参数与线框图都做真假识别,进一步提高布局的真实性。
-
输入随机元素类别+ 几何参数
传统GAN输入是一段随机数组Z,而LayoutGAN输入也是一段随机数组,只不过数组的形式以的形式输入。表示第个元素属于某种类别的概率,例如上图拼贴画中,第三个元素是[男孩,女孩,太阳,树,墨镜,帽子]的概率就写为 表示几何参数,以最常见的线框为例, 就代表线框左上角与右下角的坐标。 -
带注意力层的多层全连接网络
把上一步的随机数,输入到一个深度神经网络中,这个网络基本由全连接层构成,中间带了多个self-attention(自注意力层),以捕捉各元素之间的全局关系。 -
输出调整后的元素类别+几何参数,计算对抗损失
经过上一步的网络模型后,输入的元素类别+几何参数就发生了变化,从随机变得更真实。指导其变化方向的就是在此处加了一个判别网络,计算了一个几何参数的对抗损失。 -
用CNN判别器判断线框图真假
GAN的基本用法,真假线框图做对抗训练。