人脸生成_StyleGAN

摘要

StyleGAN提出了一个新的 generator architecture,能够控制所生成图像的高层级属性(high-level attributes),如 发型、雀斑等;并且生成的图像在一些评价标准上得分更好;同时随论文开源了一个高质量数据集:FFHQ, 包含 7W 张 1024*1024高清人脸照。
论文地址:A Style-Based Generator Architecture for Generative Adversarial Networks

方法

StyleGAN受风格迁移Style transfer启发设计了一种新的生成器网络结构。该网络结构可以通过无监督式的自动学习对图像的高层语义属性做一定的耦合分离,如人脸图像的姿势和身份、所生成图像的随机变化如雀斑和头发等。

Style-based generator

论文提出了style-based generator结构,不同于常见的直接把 latent code 输入给 generator 的输入层的做法,这篇论文摒弃了输入层, 转而添加了一个非线性映射网络: f : Z → W f:Z→W f:ZW,如图1。Alt

图1

图中, Z 和 W 的维度都是512维, A 是一个仿射变换(Affine transform), B 是每个channel的高斯噪声的系数,而AdaIN则是:

图中, y ( s , j ) y(s,j) y(s,j) y ( b , i ) y(b,i) y(b,i)则是w经过A变换之后得到的 y = ( y s , y b ) y=(y_s,y_b) y=(ys,yb) ( y ( s , i ) , y ( b , i ) ) (y(s,i),y(b,i)) (y(s,i),y(b,i))对的个数与每一层feature map的channel数相同。
其实就是把输入z用了8层全连接层做了个非线性变换,得到512维的w,然后再用个仿射变换A得到每一层normalization 所需的scale和shift,也就是 y ( s , i ) y(s,i) y(s,i) y ( b , i ) y(b,i) y(b,i),在这之前还有个高斯噪声输入。如此而已。
然后作者认为,因为每一个卷积层都被归一化,并且经过了 y ( s , i ) y(s,i) y(s,i) y ( b , i ) y(b,i) y(b,i)的scale、shift,所以generator所生成的图片的style就是受 y = ( y s , y b ) y=(y_s,y_b) y=(ys,yb)来控制的,即所谓style-based generator。而且因为每一层都会有归一化,所以这些操作只能影响最终的结果一部分。

Style mixing

为进一步促使这些style来局部化其控制效果,作者又采用了mixing regularization。其实也很简单,作者的style-based generator不是有个 8层卷积的非线性变换么,这下提前计算两个图像的变换结果 w 1 w_1 w1 w 2 w_2 w2 ,然后在生成过程中随机取 w 1 w_1 w1或者 w 2 w_2 w2 的值进行操作。结果如图2。
不同的styles控制了不同的有意义的high-level attributes。
Alt

图2

Stochastic variation

有很多随机属性,例如头发、胡须、雀斑等,所以一个好的generator自然也要能够实现stochastic variation。
而传统的generator的输入就只有输入层,所以generator自身必须寻找一种生成伪随机数的方式,而这会消耗网络的capacity,并且很难隐藏生成的 信号的周期性。
而这时,高斯噪声输入B就派上了用场了。如图3。
Alt

图3

Separation of global effects from stochasticity

如图1,style A 和高斯噪声 B 能够分别控制生成图像的不同level: A 控制全局属性,如姿态、身份等,而 B 控制一些相对次要的 随机变量,如不同的发型、胡须分布等等。
A的作用是对所有的feature map进行scale和shift,影响结果也是全局性的; 而B只是加到了每层的像素上,接着就被AdaIN给归一化了。只能影响很小一部分,而在人脸生成这个task上,这个很小一部分恰巧表现为头发、胡须、雀斑等的分布而已。

实验

使用使用 LSUN BEDROOM 数据集在 2562的尺寸上生成的一组未经处理的图像,如图4。
Alt

图4

使用 LSUN CAR 数据集在 512 × 384 下生成的一组未经处理的图像。如图5。
Alt

图5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值