StyleGAN及StyleGANv2论文解读

文章目录

  • StyleGAN
    • 贡献
    • 解决问题
    • 算法原理
    • 实验结果
  • StyleGAN v2
    • 解决问题
    • 算法原理
  • 结论

StyleGAN论文: 《A Style-Based Generator Architecture for Generative Adversarial Networks》
代码: https://github.com/NVlabs/stylegan
StyleGANv2论文: 《Analyzing and Improving the Image Quality of StyleGAN》
代码: https://github.com/NVlabs/stylegan2

StyleGAN

贡献

1、借鉴风格迁移,提出style-based生成器;
2、解耦高级属性(例如,在人脸训练时的姿势和特性)和生成的图像中的随机变量(例如雀斑、头发);
3、提出高质量人脸数据集(FFHQ);

解决问题

StyleGAN解决生成过程黑盒问题,通过重新设计生成器结构。通过控制每一层级的输入,网络中增加噪声,将高层次特征(姿势)与随机变量(发色)分离。

算法原理

StyleGAN及StyleGANv2论文解读_第1张图片
传统的生成器如左图,仅在输入层接入隐向量,Style-based生成器如右图;
StyleGAN移除传统输入,引入Mapping network f进行映射,其由8个全连接层构成,映射网络的目标是将输入向量编码为中间向量,中间向量W的不同元素控制不同的视觉特征。从而减少特征之间相关性(解耦,特征分离),该模块将z映射为w,因此Synthesis network中最开始的输入变成了常数张量,见上图b中的Const 4x4x512;
仿射变换A将w转化为y=(ys,yb),AdaIN所需要的平移和缩放因子;
人脸有很多可以看作是随机的特性,比如头发位置,通过在每个尺度增加噪声实现,该噪声为高斯组成的单通道图像,通过B将可学习的缩放参数对输入的高斯噪声进行变换;
生成网络g有18层,每个尺度有两个卷积层,共9个尺度( 4 2 − 102 4 2 4^2-1024^2 4210242
输入每个特征图xi独立进行归一化,与B输出噪声相加,输入到AdaIN进行变换,输出特征;
AdaIN结构如式1,
在这里插入图片描述

实验结果


横轴表示style w2,纵轴表示style w1;
coarse styles,分辨率为( 4 2 − 8 2 4^2-8^2 4282)层使用w2;姿势、一般发型、脸型和眼镜等高级特性随B,其余眼睛、头发、灯光随A
middle style,分辨率为( 1 6 2 − 3 2 2 16^2-32^2 162322)层使用w2;较小比例的面部特征、发型、睁眼/闭眼来自B;而 A 的姿势、一般脸型和眼镜被保留;
fine styles,分辨率为( 6 4 2 − 102 4 2 64^2-1024^2 64210242)层使用w2;B主要带来配色和微观结构。

StyleGAN v2

解决问题

StyleGAN中出现水滴问题,如下图所示,
StyleGAN及StyleGANv2论文解读_第2张图片

算法原理

作者通过实验发现,水滴主要由于AdaIN层导致,但是出去AdaIN层,缺少style mixing模块,StyleGAN结构如下图a、b,
StyleGAN及StyleGANv2论文解读_第3张图片
作者对StyleGAN结构进行修改得到StyleGAN v2,如图2-c、d所示,
图2-c中网络改进如下:

  1. 删除了最开始输入的噪声B和偏置b1
  2. 仅调整方差不调整均值
  3. 将b和B的添加移动到style的活动区域之外,即灰框之外;

另外增加调节反调节机制,细节如图2-d,
式1为图2-d中Mod模块,调整卷积权重;
式3为图中Demod模块,得到新的卷积权重,与输入特征进行卷积计算。
该机制将训练效率由37img/s提升到61img/s;
式1中 s i s_i si表示输入的第i个特征图,j表示第j个输出层,k为卷积核;
在这里插入图片描述
StyleGAN及StyleGANv2论文解读_第4张图片

结论

StyleGAN引入风格设计,超越了传统GAN性能;
StyleGAN v2解决StyleGAN生成图片中水滴问题,引入权重调节反调节机制,同时优化训练耗时;
作者最后指出考虑到GAN部署,后续如何在训练集数据量少及多样的情况下拟合,变得比较重要。

你可能感兴趣的:(数据生成,论文详解,深度学习,深度学习,计算机视觉,人工智能,GAN)