AgileGAN Stylizing Portraits by Inversion-Consistent Transfer Learning

发布 : 2021-07-11 分类 : 深度学习 浏览 :

本文提出了一种快速、仅需要少样本迁移训练即可生成高质量卡通化人脸的方法。

1 引言

最近一篇较好的风格化人脸的方法是 Toonify [Pinkney and Adler2020],该方法给定一张图像,首先通过基于优化的 inversion 寻找其在 StyleGAN2 中的 latent code,再使用该 latent code 在合适的风格生成模型中生成对应风格的人脸图像。作者认为真实图像最佳的 latent code 未必就是风格化最佳的 latent code。作者发现如果学习 inversion 将 latent code 分布映射到 StyleGAN2 原始的高斯分布,这种方法得到的 latent code 在跨风格映射时效果更好。
为此,本文作者提出了一种新的 inversion-consistent transfer learning 框架,仅需要少量风格样本就可生成高质量肖像风格化。本文所做主要贡献如下:

  • 在短时间内,使用有限未配对样本(100 左右)灵活创建高质量肖像风格化模型。
  • inversion-consistent transfer learning 框架解决了基于迁移学习风格化中的 inversion 差异的问题。
  • 分层 VAE 和与它相关的增强$Z^+$latent code 空间能捕获不同等级的面部特征,用于改善肖像风格化。

image.png

3 方法

给定少量风格化样本,目标是设计一个管道生成保留真实人脸身份信息、姿态和表情且具有相应风格的肖像。
图 3 展示了本文的整个管道,以预训练的 StyleGAN2 为基础开始。对于预训练的 StyleGAN2,给定高斯分布 Z 中的 latent code,将生成原始训练分布中的图像。
该方法在训练时主要分为两个阶段:

  • (A)固定后端 StyleGAN2,训练前端 VAE 将图像映射到 latent space
  • (B)复制一份 StyleGAN2 副本,微调生成器,以高斯分布样本作为输入,生成风格化样本。

注意,两个阶段可以并行独立训练。但是,在结构上这两个阶段共享 latent space(Z+和 W+),并且还由固定的 StyleGAN2 生成器共同锚定。将整个生成问题分解为两个阶段有三个好处。

  • 1.训练不需要配对数据
  • 2.分离训练减小了反向传播时的计算负载,能更有效、高效的实现更高分辨率。
  • 3.合并域仅需要微调生成器而不是整个网络

3.1 Z+ Space

受 Image2StyleGAN [Abdal et al. 2019a]启发,我们通过为每一层使用来自 Z 的不同 latent code 增加模型表达能力,允许单独控制。没有像 Image2StyleGAN 直接增加 W+ space 而是堆叠 Z space 形成新的 Z+ space 有两个理由。(1)本任务涉及跨域,不能假定 W+中的 code 都是的风格化。(2)W+是非高斯分布的,Z+是高斯分布的,它俩直接混用不一定合适。相反,我们风格化任务通过 Z+空间定位,因为这里受更多高斯建模约束会产生更好的跨不同风格的正则化。

3.2 Hierarchical Variational Encoder

混合变分自编码器

典型的 VAE 由编码器和解码器组成,这里我们使用预训练的 StyleGAN2 模型作为解码器,训练时固定 StyleGAN2 权重,使得编码器网络学习后验分布$q(z|x)$。
image.png
虽然更简单的替代方案可能是学习确定性的编码器,但是 VAE 方法提高了鲁棒性和泛化能力,因为高斯采样分支在学习过程中引入了有用的扰动。编码器参数$\theta$使用随机梯度变分贝叶斯算法求解(SGVB)。
image.png

分层特征提取

StyleGAN2 独特的一方面是将 Z+中的 style code 注入不同的层,可以语义地控制图像生成。这些 style code 可以划分为三组:1)lower layer codes 控制粗略的属性例如脸型,2)middle layer codes 控制更局部的面部特征,3)high layer codes 与精细的细节相关,例如反射和纹理。如果直接从 Z+中估计$18\times512$的 latent code,很难训练这样的网络。图 4 展示了该结构,使用金字塔网络分别提取三个等级的特征图(coarse,medium,fine details)。每个等级的特征图通过一个分离的子编码块,映射到$6\times512$。最后将它们合并,得到$18\times512$ code,再送入全连接层,生成均值和方差去表示高斯重要性分布。

损失函数

首先使用 L2 loss 用于重构解码图像:
image.png
使用 LPIPS loss 去学习感知等级的相似度:
image.png
为了保持身份,使用了人脸识别损失:
image.png
KL 散度 loss 定义如下:
image.png
整体 loss 组合如下:
image.png

3.3 Attribute-Aware Generator

生成器基于 StyleGAN2,但增强了多路径结构,以更好地适应与已知属性对应的不同特征,例如性别。图 5 展示了该结构。采用了迁移学习和早停策略去训练生成器。整个网络包括鉴别器的初始化权重,都来自 StyleGAN2。
image.png

风格化

因为艺术肖像画与真实肖像有着明显的感知对应关系,本文使用的 StyleGAN2 在高分辨率真实肖像数据集 FFHQ 上进行预训练,作为初始化权重。网络随后在小的风格化数据集上进行迁移学习。使用 StyleGAN2 做风格化有三个主要益处:1)与从头开始训练相比,微调可以显着减少训练数据和高质量生成所需的时间;2)StyleGAN2 的粗到细生成架构可以支持各种艺术风格,包括几何和外观风格化;3)latent code 来自 StyleGAN2 网络,即使网络参数不同,但这样可以更自然的对应上。

多路径结构

通常,艺术家在设计角色时,经常强调依赖属性的特征来增强外观,图 6 展示了男女气质被不同程度夸大强调的结果。直接使用单路径和单鉴别器也许不能最好的区分属性依赖特征。当训练多个相同的单路径生成器再进行集成将增加时间和内存。为了高效,我们嵌入了多路径结构到生成器中,对应的增加了多个鉴别器。由于网络的较低层引导面部形状等粗级特征,而较高层影响面部反射和纹理,因此多路径结构更适合嵌入较低层。尽管如此,该结构也可以放在合适的地方。
image.png

损失函数

对抗损失,其中$y_k$表示目标风格图像,按属性$k$划分(attribute-dependent):
image.png
VGG16-based LPIPS,前 9 层的特征舍弃:
image.png
提高训练稳定性,阻止伪影生成,对于鉴别器引入 R1 正则项[Mescheder et al. 2018],其中超参数$\gamma=10$:
image.png
对于生成器,使用了来自 StyleGAN2 的 standard perceptual path-length regu-larization $L_{path}$,这有助于生成模型的可靠性和行为一致性。
最后,生成器和鉴别器联合训练优化目标如下:
image.png

早停策略

小数据集一个主要的潜在问题是鉴别器也许会过拟合训练样本,造成不稳定和降质。为了缓解这个问题,我们采用早停策略,一旦达到预期的风格化效果就停止训练。如图 7 所示,进一步增加迭代次数也可能导致与原始输入表情的偏差增加。为了在输入保真度和风格适合之间取得平衡,我们可以提前停止训练,例如经过 1200 次迭代。
image.png

本文作者 : HeoLis
原文链接 : https://ishero.net/AgileGAN%20Stylizing%20Portraits%20by%20Inversion-Consistent%20Transfer%20Learning.html
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

学习、记录、分享、获得

微信扫一扫, 向我投食

微信扫一扫, 向我投食