生成对抗网络(GAN)可以用来变化字体风格吗?

Arphetian

左图:已有的一张电影海报;右图:使用*MC-GAN*生成的新电影标题


文本是二维设计中的一个显著视觉元素。艺术家们投入了大把的时间来设计在视觉上与其他元素的形状和纹理相兼容的字形。这个过程是劳动密集型的,艺术家们通常只设计标题或注释所必需的字形子集,这使得在创造了设计之后很难改变文本,或者很难把看到的字体转移到您自己的项目中。


早期关于字形合成的研究集中在轮廓建模上,这被限制在了具体的字形拓扑上(例如,不能应用到装饰字体或者手写体),并且不能与图像输入一起使用。随着深度神经网络的兴起,研究者们研究了从图像进行字形建模的问题。另一方面,合成与局部观察相一致的数据在计算机视觉和图形学中是一个有趣的问题,例如,多视角图像生成、补全图像中的缺失区域,以及三位形状的生成。字体数据是一个人典型的例子,它提供了字体和内容的清晰分解。


条件生成对抗网络(cGANS)[1] 的最新进展在许多生成应用中取得了成功。然而,它们只有在相当特定的领域中才能发挥最佳效果,而且无法在普通领域或者多领域转移中发挥最佳作用。类似地,当被直接用来生成字体时,cGAN 模型会生成严重的伪影。例如,给定下面五个字母:


条件生活曾对抗网络模型无法以同一种风格生成这 26 个字母:



用于少镜头字体风格转换的多内容生成对抗网络


我们设计了多内容 GAN 架构 [ 2 ] 来为每个观察到的字符集重新训练定制的魔法网络,而不是为所有可能的字体装饰训练单个网络。该模型考虑沿着信道的内容 (即,A - Z 字母字形) 和沿着网络层的样式 (即,字形装饰),以将给定字形的样式转换为模型没见过的字形的内容。


多内容 GAN 模型包括用于预测粗略字形形状的堆叠 cGAN 架构和用于预测最终字形的颜色和纹理的装饰网络。第一个网络称为 GlyphNet,它预测字形掩码,而第二个网络称为 OrnaNet,它微调从第一个网络生成的字形的颜色和装饰。每个子网络遵循条件生成对抗网络 ( cGAN ) 的体系结构,这种结构被修改以用于使字形或装饰预测风格化的特定目的。


网络结构


下面是从一组训练字体中学习字体流形的一般形状的 GlyphNet 示意图。字形的输入和输出是字形的堆栈,其中为每个字母分配通道。在每个训练迭代中,x1 包含一个由 y1 字形组成的随机子集,剩余输入通道被清零。


通过这种新颖的字形堆栈设计,跨网络信道学习不同字形之间的相关性,以便自动变换它们的风格。下图通过结构类似性(SSIM)指标在包含 1500 个字体样例的随机集合上展示了这种相关性。计算每个生成的字形与其真实字形之间的结构相似性,当一次观察到一个字母时,共发现了 25 种分布。这些曲线图显示了当观察到字母β(蓝色) 时生成字母α的分布α|β与当给出除β以外的任何其它字母 (红色) 时生成字母α的分布α|β。在生成 26 个字母中的每一个字母时,两个信息量最大的给定字母和两个信息量最少的给定字母的分布如图所示。例如,从图的第五行来看,与其他字母相比,字母 F 和 B 在生成字母 E 方面是最有信息贡献的,而 I 和 W 是信息最少的。而其他例子,O 和 C 是构造 G 的最具指导性的字母,R 和 B 是生成 P 的最具指导性的字母


因此,对于仅有几个观察字母的任何期望字体,预训练的 GlyphNet 要生成全部的 26 个 A--Z 字形。但是我们应该如何转换纹饰呢?第二网络 OrnaNet 采用这些生成的字形,并且在简单的整形变换和灰度信道重复之后 (在下图中用 T 表示),使用条件 GAN 架构生成具有期望颜色和纹饰的丰富输出。OrnaNet 的输入和输出是批量的 RGB 图像,而不是堆栈(其中每个字母的 RGB 图像通道是其对应的灰度字形的重复)。OrnaNet 中的多个正则化器会惩罚风格化字母掩膜与其对应字形形状的偏差。



结果


下面,我们将使用单个单词中给出的字体样式演示例句。



此外,以下是 OrnaNet 预测的逐步改进:



机器之心

生成对抗网络可以用来变化字体风格的,你可以到站长那下载字体,要啥样有啥样还免费!然后。。。算了我都不知道啥玩意编不下去了哈哈哈