【论文阅读】CartoonGAN: Generative Adversarial Networks for Photo Cartoonization

Abstract

在本文中,我们提出了一种将现实世界中的照片转换为卡通风格的图像的解决方案,这对计算机视觉和计算机图形学来说是有价值且具有挑战性的。我们的解决方案属于基于学习的方法,最近已流行为以绘画等艺术形式对图像进行样式化。但是,由于以下问题,现有的方法无法获得令人满意的卡通化效果:

  1. 卡通风格具有独特的特征,具有高度的简化和抽象;
  2. 卡通图像倾向于具有清晰的边缘,平滑的阴影和相对简单的特征。这对现有方法中使用的基于纹理描述符的损失函数提出了重大挑战。

在本文中,我们提出了CartoonGAN,这是一种用于卡通化的生成对抗网络(GAN)框架。我们的方法可以利用不成对的照片和卡通图像进行训练,这很容易得到。提出了两种适合卡通化的新颖损失:

  1. 语义内容损失,这表示为VGG网络的高级特征图中的稀疏正则化,以应对照片和卡通之间的大量样式变化;
  2. 保留清晰边缘的边缘增强对抗性损失。

我们进一步引入了初始化阶段,以改善网络与目标流形的融合。实验结果表明,我们的方法能够从真实照片中生成高质量的卡通图像(即遵循特定艺术家的风格,并具有清晰的边缘和平滑的阴影),并且其性能优于最新方法。

Introduction

【论文阅读】CartoonGAN: Generative Adversarial Networks for Photo Cartoonization
像其他形式的艺术品一样,许多著名的卡通图像都是根据现实世界的场景创建的。上图显示了一个真实的场景,其相应的卡通图像出现在动画电影“你的名字”中。但是,以卡通样式手动重新创建现实世界的场景非常费力,并且需要大量的艺术技巧。为了获得高质量的卡通漫画,艺术家必须画出每条线,并对目标场景的每个颜色区域进行阴影处理。同时,现有的具有标准功能的图像编辑软件/算法无法产生令人满意的卡通化结果。因此,可以将现实世界中的照片自动转换为高质量卡通风格图像的特殊设计技术非常有用,对于艺术家而言,可以节省大量时间,使他们可以专注于更具创造性的工作。这些工具还为照片编辑软件(例如Instagram和Photoshop)提供了有用的补充。

在非照片级真实感渲染领域,以艺术方式对图像进行风格化已得到广泛研究。传统方法为特定样式开发专用算法。但是,需要付出巨大的努力才能产生模仿个体艺术家的细腻风格。近来,基于学习的样式转移方法已经引起了相当大的关注,其中可以基于所提供的示例来对图像进行样式化。尤其是,探索了以循环方式制定的生成对抗网络(GAN)的功能,以实现高质量的样式转换,其独特之处在于该模型使用未配对的照片和风格化的图像进行训练(CycleGAN)。

尽管通过基于学习的样式化已取得了巨大的成功,但最新的方法无法生成具有可接受质量的卡通化图像。主要有两点原因:

  1. 首先,这些方法没有添加诸如笔画之类的纹理,生成的卡通图像是从真实图像高度简化和抽象出来的;
  2. 其次,尽管艺术家之间的风格有所不同,卡通图像仍具有明显的共同外观-清晰的边缘,平滑的阴影和相对简单的纹理,这与其他形式的艺术品有很大不同。言外之意就是生成的图像效果比较相似。

我们的方法需要一组照片和一组卡通图像进行训练。为了在使训练数据易于获得的同时产生高质量的结果,我们不需要成对的训练图像。从计算机视觉算法的角度来看,卡通样式化的目标是将真实图像映射到卡通图像,同时保持内容不变。为了实现此目标,我们使用了基于GAN的专用架构以及两个简单而有效的损失函数。

本文的主要贡献是:

  1. 我们提出了一种基于GAN的专用方法,该方法使用未配对的图像集进行训练,可以有效地学习从真实照片到卡通图像的映射;我们的方法能够生成高质量的卡通化图像,这比最新技术要好得多。当使用来自单个艺术家的卡通图像进行训练时,我们的方法能够再现其样式;
  2. 我们在基于GAN的体系结构中提出了两个简单而有效的损失函数。 在生成网络中,为了应对照片和卡通之间的大量样式变化,我们在VGG网络的高级特征图中引入了语义损失,定义为l1稀疏正则化。 在判别器网络中,我们提出了一种边缘增强的对抗性损失,用于保留清晰的边缘;
  3. 我们进一步引入了初始化阶段,以改善网络与目标流形的融合。 我们的方法比现有方法更有效地进行训练。

RelatedWork

Nonphotorealistic rendering (NPR)

已经开发了许多NPR算法(自动或半自动)来模仿特定的艺术风格,包括卡通。

Stylization with neural networks

与需要样式/非样式图像成对的传统样式转移方法不同,最近的研究表明,训练用于对象识别的VGG网络具有良好的提取对象语义特征的能力,这在样式化中非常重要。结果,已经开发了更强大的样式转移方法,该方法不需要成对的训练图像。Gatys et al.NST

Image synthesis with GANs

Pix2Pix,CycleGAN

Network architectures

许多工作表明,尽管深度神经网络可以潜在地提高表示复杂函数的能力,但由于梯度消失的问题,它们也可能难以训练。 最近引入的残差块概念是简化训练过程的有力选择。 它设计了一个“identity shortcut connection”,可缓解训练过程中逐渐消失的梯度问题。 基于残差块的模型在生成网络中显示了令人印象深刻的性能。

减轻深度CNN训练的另一种常用方法是批量归一化,该方法旨在抵消内部协变量偏移并减少接近最小点时的振荡。另外,Leaky ReLu(LReLU)是深层CNN中广泛使用的**函数,用于有效的梯度传播,当单元不活动时,它允许较小的非零梯度,从而提高了网络性能。 我们将这些技术集成到我们的卡通化深度架构中。

CartoonGAN

GAN框架由两个CNN组成。 一种是生成器G,经过训练可以产生骗过判别器的输出。另一个是判别器D,它对图像是来自真实图像还是生成图像进行区分。

我们制定了学习过程,将现实世界的照片转换为卡通图像,作为映射功能,将照片流形PP映射到卡通流形CC。使用训练数据学习映射函数。
【论文阅读】CartoonGAN: Generative Adversarial Networks for Photo Cartoonization
像其他GAN框架一样,判别器D被训练为通过将卡通流形中的图像与其他图像区分开并为G提供对抗损失来推动G达到其目标。
【论文阅读】CartoonGAN: Generative Adversarial Networks for Photo Cartoonization

CartoonGAN architecture

【论文阅读】CartoonGAN: Generative Adversarial Networks for Photo Cartoonization
在CartoonGAN中,生成器网络G用于将输入图像映射到卡通图像。 一旦训练了模型,就会产生卡通造型。G从平坦的卷积阶段开始,然后是两个向下卷积块,以对图像进行空间压缩和编码。在此阶段提取的有用的局部特征以进行后续的转换。然后,使用八个具有相同布局的残差块来构造内容和流形特征。最后经过两个上采样层。

与生成器网络互补的是,判别器网络D用于判断输入图像是否为真实卡通图像。由于判断图像是否为卡通是一项要求较低的任务,而不是常规的全图像判别器,因此我们在D中使用带有较少参数的简单patch级别的判别器。与对象分类不同,卡通风格判别依赖于图像的局部特征。因此,网络D被设计为较浅。在具有平坦层的阶段之后,该网络使用了两个跨步卷积块以降低分辨率并编码分类的基本局部特征。

Loss function

【论文阅读】CartoonGAN: Generative Adversarial Networks for Photo Cartoonization
损失函数包含两个部分:第一个部分是对抗损失,第二个部分是内容损失。其中w是权衡两个给定损失的权重。 w越大,保留来自输入照片的更多内容信息,并因此导致具有更详细纹理的样式化图像。 在我们所有的实验中,我们将w设置为10,这在样式和内容保留之间实现了很好的平衡。

Adversarial loss Ladv(G;D)L_{adv}(G;D)

【论文阅读】CartoonGAN: Generative Adversarial Networks for Photo Cartoonization
在以前的GAN框架中,判别器D的任务是弄清楚输入图像是从生成器生成还是从真实图像得到。但是,我们观察到,仅训练判别器D来区分生成的图像和真实的卡通图像不足以将照片转换为卡通图像。这是因为清晰边缘的呈现是卡通图像的重要特征,但是这些边缘在整个图像中所占的比例通常很小。因此,没有清晰再现的边缘但阴影正确的输出图像可能会骗过判别器。

所以要使判别器十分注重边缘。因此将进行了边缘平滑的卡通图像也送入判别器D中,具体见上图。

Content loss Lcon(G;D)L_{con}(G;D)

除了正确的流形之间的转换外,卡通样式化中的另一个重要目标是确保生成的卡通图像保留输入照片的语义内容。在CartoonGAN中,我们在预先训练的VGG网络中提取了高级特征图
【论文阅读】CartoonGAN: Generative Adversarial Networks for Photo Cartoonization
与其他图像生成方法不同[6,19],我们使用输入照片和生成的卡通图像之间的VGG特征图的稀疏正则化来定义语义内容丢失。这是由于卡通图像具有与照片完全不同的特征(即清晰的边缘和平滑的阴影)的事实。我们观察到,即使使用适合捕获图像内容的VGG图层,特征图也可能仍然受到巨大样式差异的影响。后面有不同对比实验的结果。

Initialization phase

【论文阅读】CartoonGAN: Generative Adversarial Networks for Photo Cartoonization
由于GAN模型是高度非线性的,具有随机初始化功能,因此可以很容易地陷入局部极小值。为了帮助提高其收敛性,我们提出了一个新的初始化阶段。注意,生成器网络G的目标是在保留语义内容的同时以卡通风格重建输入照片。我们从生成器开始对抗性学习框架,该生成器仅重建输入图像的内容。为此,在初始化阶段,我们仅用语义内容损失Lcon(G;D)L_{con}(G;D)来预训练生成器网络G。上图显示了此初始化训练阶段的10个周期后的重构图像示例,该示例已经产生了合理的重构。实验结果表明,此简单的初始化阶段可帮助CartoonGAN快速收敛到良好的配置,而不会过早收敛。

Experiments

【论文阅读】CartoonGAN: Generative Adversarial Networks for Photo Cartoonization
由于我们的方法不需要成对的图像,因此CartoonGAN可以使用不同单个艺术家的数据来生成高质量的卡通风格,这些数据可以从卡通视频轻松获得。不同的艺术家有其独特的卡通风格,可以通过CartoonGAN有效地学习。 上图显示了CartoonGAN产生的不同艺术风格的一些结果。

Data

训练数据包含真实照片和卡通图像,而测试数据仅包含真实照片。 调整所有训练图像的大小并裁剪为256×256。

在创建真实场景的卡通图像时,不同的艺术家具有不同的风格。 为了获得一组具有相同样式的卡通图像,我们使用由同一位艺术家绘制和导演的卡通电影的关键帧作为训练数据。

Comparison with state of the art

我们首先将CartoonGAN与基于CNN的样式化中最近提出的两种方法进行比较,即NST和CycleGAN。
【论文阅读】CartoonGAN: Generative Adversarial Networks for Photo Cartoonization

Roles of components in loss function

【论文阅读】CartoonGAN: Generative Adversarial Networks for Photo Cartoonization
我们进行消融实验以研究每个部分在CartoonGAN中的作用。上图显示了实验结果,其中所有结果都由Makoto Shinkai风格的数据进行训练。以上结果表明,每个部分在CartoonGAN中都起着重要作用。

Conclusion and Future Work

在本文中,我们提出了CartoonGAN,这是一种生成对抗网络,可以将真实世界的照片转换为高质量的卡通风格图像。为了重现卡通图像的特征,我们提出了:

  1. 边缘清晰的新型边缘增强对抗性损失;
  2. VGG网络中针对内容丢失的高级特征图的稀疏正则化,这为再现平滑阴影提供了足够的灵活性;
  3. 我们还提出了一个简单而有效的初始化阶段,以帮助提高收敛性;

在未来的工作中,由于肖像的重要性,我们想研究如何利用局部面部特征来改善人脸的卡通风格。尽管我们设计了损失函数来解决卡通风格的特定性质,但类似的想法对于 其他图像合成任务,我们将进一步调查。 我们还计划在培训过程中添加顺序约束,以将我们的方法扩展到处理视频。

论文地址

CartoonGAN: Generative Adversarial Networks for Photo Cartoonization

代码

pytorch
tensorflow