【字体风格迁移】Multi-Content GAN for Few-Shot Font Style Transfer

      • 00、写在McGAN开始之前
      • 01、McGAN的整体框架
      • 02、McGAN的结构详解
        • 02-1、Glyph Network
        • 02-2、Ornamentation Network
      • 03、McGAN的实验结果

00、写在McGAN开始之前

这篇论文发表于2018年的CVPR,是美国伯克利大学BAIR实验室和Adobe研究院一起合作的论文,都是大佬们啊。我们来瞻仰一下这两个实验室和作者大佬们。

  • UC Berkeley BAIR实验室

    美国伯克利大学的BAIR实验室,全称是The Berkeley Artificial Intelligence Research Lab,主要致力于研究计算机视觉、机器学习、自然语言处理、策略和机器人。现有30多名教师和200多名研究生和博士,现在主要的方向涵盖了多模态的深度学习,人体竞争AI和连接学习等等。
  • 第一作者是Samaneh Azadi,这篇论文也是在他在Adobe Research实习期间发表的,果然大佬还是会去高端的公司实习,羡慕ing。虽然Samaneh Azadi从2015年才开始发表论文,但是看他的论文质量都很高,2016年ICLR、2017年CVPR、2018年CVPR和2019年ICLR,可以说是每年都有新的论文发表,主要方向(从论文中估计的)是CNNs,GANs等等,可以看他的论文合集arXiv。

实话实说,Adobe能有今天在设计软件领域的垄断地位,是有一群人在不断的更新和迭代设计师们创作和生产的方式,节省了大量的设计师的重复工作,所以才会受到全世界设计师们的追捧。在深度学习和艺术结合的领域中,Adobe也是走在前列的,推荐伙伴们看2018年Adobe Max的全球创意大会, 里面有很多有创意的设计工具,比如说图片变视频、字体设计、动画设计、视频抠图等等,真的是amazing。
我们先回到这篇论文的本身,这篇论文的想法或者说目的就是:如何根据已有的几个带有风格的字母,生成未知的带有此种风格的其他字母(论文给定的场景是26个大写的英文字母)。

具体的论文地址和代码地址如下:
Paper:Multi-Content GAN for Few-Shot Font Style Transfer
GitHub:MC-GAN

01、McGAN的整体框架

对于文本的图形设计是二维设计中的一个显著的视觉元素,设计者们通常在设计文本图形的时候花费大量的时间和精力,那么能不能实现从几个已经设计好了的字母中演变出其他具有相同风格的文本呢?这就是McGAN所研究的内容。 论文的Related Work中也提到了有好多大佬们在前期也做了很多的工作,比如说早起的字形合成研究,画风迁移等前期的工作。我们这篇论文的基础:文字图像是比较典型的例子,可以提供文字风格和内容的清晰分解,这也是我们能将网络拆分出两部分的基础。
论文中也提出了一种普遍认同的观点,对于内容图像风格的迁移是image-to-image的问题,利用GAN中的cGAN来解决这个问题并不能有很好的效果,图像中会存在明显的图像伪影,这是因为cGAN在较为专业的领域内才能有好的效果,而不能做到通用领域或多领域的迁移。

敲黑板,划重点来了!!!! 在本篇论文中,将生成从A到Z的所有的同种风格的字母图像的过程分为了两个部分:一个是字形生成的过程,一个是图像风格纹理迁移的过程。相对应的,我们也将网络分成两个部分,字形生成的部分用GlyphNet,用来预测字形的masks;纹理迁移的部分用OrnaNet,用于在颜色和装饰上做fine-tune。

我们先来放上McGAN的整体框架,如下图:
【字体风格迁移】Multi-Content GAN for Few-Shot Font Style Transfer_第1张图片
上图的左半部分表示的字形生成的GlyphNet网络,右半部分表示的风格迁移的OrnaNet网络。从图中可以明显的知道,GlyphNet网络主要由一个Generator生成器和加入的生成条件构成,OrnaNet网络主要由一个Generator生成器和Discriminator判别器。

02、McGAN的结构详解

02-1、Glyph Network

【字体风格迁移】Multi-Content GAN for Few-Shot Font Style Transfer_第2张图片
在GlyphNet中,只考虑字形的生成,为了使用和计算方便,论文使用的灰度图,所以输入是B x 26 x 64 x 64,输出是1 x 26 x 64 x 64。这里采用了leave-one-out的方法,即每次都让一个字母不出现。如上图,假设我们采集到的带有风格的单词是 “TOWER” ,那么它的输入是6 x 26 x 64 x 64,输出是1 x 26 x 64 x 64。具体步骤如下:

  • 采用leave-one-out的方法,字母的组合会出现如下六种情况,分别是“TOWER”、“OWER”、“TWER”、“TOER”、“TOWR”和“TOWE”;
  • 每种组合扩充为26个通道,将已有的字母放置在对应通道上,其余通道上填0,得到 6 x (1 x 26 x 64 x 64) 的Input Tensor;
  • 利用生成器生成 6 x (1 x 26 x 64 x 64) 的Tensor,但我们最终的目标是要得到1 x 26 x 64 x 64 的Output Tensor,所以就要做一些特殊的处理——对应不同的字母组合取不同的字母输出:“TOWER”组合取其余的21个字母、“OWER”取“T”字母、“TWER”取“O”字母、“TOER”取“W”字母、“TOWR”取“E”字母、“TOWE”取“R”字母,这样组成1 x 26 x 64 x 64 的Output Tensor。

可能有伙伴就问了,从5个字母为什么会生成其余的26个字母?网络也没有见过其余21个字母长什么样为什么就会生成呢?这个问题的解决方式就是cGAN啦。 简单来介绍一下cGAN,具体的内容伙伴们可以去看论文
Conditional Generative Adversarial Nets。cGAN从名字上就可以看出是给GAN加了一个条件,比如说我想生成汽车的图片,我需要给GAN一个约束(即分类的类别是汽车),让它生成带有汽车或者像汽车的图片。在论文里,同样也给定了这样的约束,网络中给定了标准字体的26个字母的图像,就是下图作为BASE。
在这里插入图片描述

02-2、Ornamentation Network

【字体风格迁移】Multi-Content GAN for Few-Shot Font Style Transfer_第3张图片
在OrnaNet中,要考虑色彩和装饰的生成,所以用的是RGB的彩色图,有3个通道,所以输入是26 x 3 x 64 x 64,输出是26 x 3 x 64 x 64。因为GlyphNet的输出是1 x 26 x 64 x 64,所以要做一次通道的叠加,扩宽成3个通道,即RGB的三个通道都为相同的数值,将灰度图转化成伪彩色图。

03、McGAN的实验结果

【字体风格迁移】Multi-Content GAN for Few-Shot Font Style Transfer_第4张图片
从上图可以看出,论文对于字形、颜色和装饰的生成效果还是很明显的,并且在视觉上也有了一个很良好的效果。

【字体风格迁移】Multi-Content GAN for Few-Shot Font Style Transfer_第5张图片
论文也在字母数量上做了一定的研究,发现生成26个字母,在已知5个以上的字母的情况下就已经效果趋于稳定,为了达到较好的生成效果且使用最少的字母,论文中推荐5个或者6个。


【推荐的论文阅读】

[1] M. Mirza and S. Osindero. Conditional generative adversarial nets. arXiv preprint arXiv:1411.1784, 2014
这一篇论文讲的是cGAN,可以了解在GAN中是如何加条件约束的,让GAN生成带有我们想要的语义或者内容的图像。

[2]P. Isola, J.-Y. Zhu, T. Zhou, and A. A. Efros. Image-to-image translation with conditional adversarial networks. arXiv preprint arXiv:1611.07004, 2016.
这一篇讲的是pix2pix,是image-to-image问题中比较经典的论文,可以看一下在image-to-image问题中需要考虑的数据、模型、损失函数等问题。

[3]P. Upchurch, N. Snavely, and K. Bala. From A to Z: supervised transfer of style and content using deep neural network
generators. arXiv preprint arXiv:1603.02003, 2016

这篇论文解决的问题也是从单个输入图像生成一整套风格相似的图像,在这篇论文中也提到了解决这类的问题需要将字形和风格分隔开来,但是这篇论文使用的是变分自动编码器VAE。这篇论文包含了英文字母的大小写和10个数字,共62个字母。

你可能感兴趣的:(深度学习与艺术,对抗生成GAN,McGAN,字体风格迁移,对抗生成网络)