ProGAN
论文:Progressive Growing of GANs for Improved Quality, Stability, and Variation
论文链接:https://arxiv.org/pdf/1710.10196.pdf
代码链接:https://github.com/akanimax/pro_gan_pytorch/tree/master/pro_gan_pytorch
GANs 在做的事情简单说来即在判别器的帮助下,生成器实现了从简单分布到复杂分布的转换。
如果想要让GAN生成高质量的大图像(1024*1024),那么就是让GANs学会在总共存在的图片样本点为256^(1024*1024*3)的庞大的空间中找出真实图片的分布区域,并且建立一个从简单到这一复杂分布的转换,这是一个任务量巨大的事情。
ProGAN(渐进式生成对抗网络)通过由小至大,逐级生成的方法实现了高质量大图像的生成。具体说来,即先使用非常低分辨率的图像(如: 4×4 )开始训练生成器和判别器,并且逐次增加一个更高分辨率的网络层 ,直到最后能产生一个具有丰富细节的高清图片。
pic网络结构
StyleGAN
论文:A Style-Based Generator Architecture for Generative Adversarial Networks
论文链接:https://arxiv.org/abs/1812.04948
代码链接:https://github.com/NVlabs/stylegan
ProGAN是StyleGAN的前身。由于ProGAN 是逐级直接生成图片,我们没有对其增添控制,我们也就无法获知它在每一级上学到的特征是什么,这就导致它控制所生成图像的特定特征的能力非常有限。换句话说,这些特性是互相关联的,因此尝试调整一下输入,即使是一点儿,通常也会同时影响多个特性。我们希望有一种更好的模型,能让我们控制住输出的图片是长什么样的,也就是在生成图片过程中每一级的特征,要能够特定决定生成图片某些方面的表象 ,并且相互间的影响尽可能小 。于是,在ProGAN 的基础上, StyleGAN 作出了进一步的改进与提升。
pic figure1
StyleGAN首先重点关注了 ProGAN 的生成器网络,它发现,渐进层的一个潜在的好处是,如果使用得当,它们能够控制图像的不同视觉特征。层和分辨率越低,它所影响的特征就越粗糙。 简要 将这些特征分为三种类型:
1 、粗糙的 分辨率 不超过 8*8,影响姿势、一般发型、面部形状等
2 、中等的 分辨率为 16*16至 32*32,影响更精细的面部特征、发型、眼睛的睁开或是闭合等;
3 、高质的 分辨率为 64*64到 1024*1024,影响颜色(眼睛、头发和皮肤)和微观特征
于是, StyleGAN在ProGAN的生成器的基础上增添了很多附加模块 以实现样式上更细微和精确的控制 。
StyleGAN的