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解决生成过程黑盒问题,通过重新设计生成器结构。通过控制每一层级的输入,网络中增加噪声,将高层次特征(姿势)与随机变量(发色)分离。
算法原理
传统的生成器如左图,仅在输入层接入隐向量,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
42?10242) 输入每个特征图xi独立进行归一化,与B输出噪声相加,输入到AdaIN进行变换,输出特征; AdaIN结构如式1,
实验结果
横轴表示style w2,纵轴表示style w1; coarse styles,分辨率为(
4
2
?
8
2
4^2-8^2
42?82)层使用w2;姿势、一般发型、脸型和眼镜等高级特性随B,其余眼睛、头发、灯光随A middle style,分辨率为(
1
6
2
?
3
2
2
16^2-32^2
162?322)层使用w2;较小比例的面部特征、发型、睁眼/闭眼来自B;而 A 的姿势、一般脸型和眼镜被保留; fine styles,分辨率为(
6
4
2
?
102
4
2
64^2-1024^2
642?10242)层使用w2;B主要带来配色和微观结构。
StyleGAN v2
|