■看GAN如何一步步控制图像生成风格?详解StyleGAN进化过程( 三 )


■看GAN如何一步步控制图像生成风格?详解StyleGAN进化过程
本文插图

如下图所示 , 我们使用生成图像「source B」的潜在因子得到粗糙空间分辨率(4×4 到 8×8)的风格 , 使用「source A」的潜在因子得到精细空间分辨率的风格 。 因此 , 生成的图像具备 source B 的高级风格 , 如姿势、发型、脸型和眼镜 , 而生成图像中的所有颜色(眼睛、头发、光线)和更精细的人脸特征则来自 source A 。
■看GAN如何一步步控制图像生成风格?详解StyleGAN进化过程
本文插图

如下图所示 , 如果我们使用 source B 的中分辨率(16×16 到 32×32)风格 , 则生成图像从 source B 处继承到较小规模的人脸特征、发型和眼睛状态(睁开/闭上) , 而来自 source A 的姿势、脸型和眼镜则被保留 。 最后一列中 , 模型从 source B 中复制了高分辨率风格(64×64 到 1024×1024 分辨率) , 这主要影响图像的色调和微结构 。
■看GAN如何一步步控制图像生成风格?详解StyleGAN进化过程
本文插图

在训练过程中 , 一定比例的图像是使用两个随机潜码(latent code)生成的 , 而不是仅使用一个 。
训练
与 CelebA-HQ 数据集相比 , FFHQ(Flickr-Faces-HQ , 高清人脸数据集)质量更高 , 覆盖范围更大 , 如年龄、种族、图像背景以及眼镜、帽子等配饰 。 在 StyleGAN 中 , CelebA-HQ 数据集训练过程中使用 WGAN-GP 作为损失函数 , 而 FFHQ 数据集则使用非饱和 GAN 损失函数和 R?正则化项 , 如下所示:
■看GAN如何一步步控制图像生成风格?详解StyleGAN进化过程
本文插图

w 中的截断技巧
z 或 w 中的低概率密度区域可能不具备足以准确学习模型的训练数据 。
■看GAN如何一步步控制图像生成风格?详解StyleGAN进化过程
本文插图

因此 , 在生成图像时 , 我们可以避开这些区域 , 以变化为代价来换取图像质量的改进 。 这可以通过截断 z 或 w 来实现 。 在 StyleGAN 中 , 截断 w 即可实现此目标:
■看GAN如何一步步控制图像生成风格?详解StyleGAN进化过程
本文插图

其中 ψ 表示风格缩放(style scale) 。
但截断仅在低分辨率层上执行(比如 4×4 至 32×32 空间层 , ψ = 0.7) 。 这可以确保不影响高分辨率细节 。
当 ψ 为 0 时 , 它生成的平均人脸如下图所示 。 随着 ψ 值的调整 , 我们可以看到人物视线、眼镜、年龄、肤色、头发长度和性别等属性的变化 , 如从戴眼镜到不戴眼镜 。
■看GAN如何一步步控制图像生成风格?详解StyleGAN进化过程
本文插图

感知路径长度
StyleGAN 论文还提出一种度量 GAN 性能的新型指标——感知路径长度(perceptual path length) 。 GAN 逐步改变潜在因子 z 中的某个特定维度 , 进而可视化其语义 。
■看GAN如何一步步控制图像生成风格?详解StyleGAN进化过程
本文插图

此类潜在空间插值可以得到令人震惊的非线性视觉变化 。 例如 , 两端图像中均未出现的特征可能出现在中间图像中 。 这标志着潜在空间和变化因子具备高度相关性 。 因此 , 我们可以通过度量执行插值时的累积变化 , 来量化这些变化 。
首先 , 我们使用 VGG16 嵌入来度量两个图像之间的感知差异 。 如果我们将潜在空间插值路径分割为线性片段 , 则可以对每个片段添加所有感知差异 。 差异值越低 , 则 GAN 图像的质量越高 。 详细数学定义参见 StyleGAN 论文 。
StyleGAN 中存在的问题


推荐阅读