发布时间:2024-04-26 18:01
NVIDIA在2017年提出的ProGAN解决了生成高分辨率图像(如1024×1024)的问题。ProGAN的关键创新之处在于渐进式训练——从训练分辨率非常低的图像(如4×4)的生成器和判别器开始,每次都增加一个更高的分辨率层。
存在的问题:与多数GAN一样,ProGAN控制生成图像的特定特征的能力非常有限。这些属性相互纠缠,即使略微调整输入,会同时影响生成图像的多个属性。所以如何将ProGAN改为条件生成模型,或者增强其微调单个属性的能力,是一个可以研究的方向。
解决方法:StyleGAN是NVIDIA继ProGAN之后提出的新的生成网络,其主要通过分别修改每一层级的输入,在不影响其他层级的情况下,来控制该层级所表示的视觉特征。这些特征可以是粗的特征(如姿势、脸型等),也可以是一些细节特征(如瞳色、发色等)
利用stylegan2生成的网红人脸(现实中不存在的假脸)
性别转换
左边是传统生成器,右边为StyleGAN 生成器,由Mapping network和Synthesis network组成
Mapping network用于将Latent code z 转换为w,用来影响图像的style
Synthesis network用于生成图像
输入维度为512x1,由8个全连接层组成,输出维度为512x1
z是符合均匀分布或者高斯分布的随机变量,所以变量之间的耦合性比较大,难以控制视觉特征。比如数据集中长头发的人很常见,那么更多的输入值便会映射到该特征上,那么z中其他变量也会向着该值靠近、无法更好地映射其他特征,因此通过Mapping network,生成一个不必遵循训练数据分布的向量w,减少了特征之间的相关性,完成解耦
latent code转换得到w后,经过仿射变换生成A,分别送入Synthesis network的每一层网络,进行控制特征,因为Synthesis network的网络层有18层,通过w生成得到了18个控制向量,用于控制不同的视觉特征
Synthesis network按照输出维度可以分为4x4,8x8,16x16,32x32,64x64,128x128,256x256,512x512,1024x1024,同时每一个都包含两个卷积层,一个Upsample,一个3x3卷积特征学习,一共包含18层