StyleGAN详解,Nvidia在PGGAN后的继续贡献2021-03-09

1.摘要

 作者提出,在当前生成对抗网络发展如此迅猛的情况下,生成器仍然属于一个黑盒子的性质。我们对于其图像生成的变化因素的控制和理解不够,对于latent\,code的作用仍不能更多的理解。并且,对于各种生成器进行定量的评估仍然没有很好的方法。
文章中的style更多的指的生成图像的属性,只是类似的结构经常被用在style transfer上面,所以取名StyleGAN
该文章主要有三个贡献:

  1. 从风格转换的文献中受到启发,提出了一种用于生成对抗网络的生成器结构,这种新的结构可以在无监督的情况下自动学习高等属性的分割(例如在人脸数据集上的pose和身份一致性)和生成图像中随机的变化(例如人脸数据集中的头发,毛孔等)。并且支持直觉的,指定尺度的图像合成的控制。新的生成器表现良好并且更容易进行disentangle。
  2. 为了更好的评估插值质量和解耦性质,提吃醋了两种全新的自动的方式可以适用于所有的生成网络。
  3. 推出了一个新的,图像丰富并且高质量的人脸数据库。

2.

Style生成的图像

2.Style-based generator

 传统的生成器和基于风格的生成器的结构的比较如下:

图(a):Traditional Generator和图(b)Style-based Generator

 自顶向下我们可以看到两者的如下区别:
1). latent\,code的输入地点不同,传统的generator往往是直接送入网络,但是style-based首先经过一个mapping\,network之后再送入网络进行合成。该网络是一个八层的全连接层组成的网络。其经过如下变换:
f(z)=w\quad \\其中z是随机采样的变量,一般服从Gaussian,w是经过变换后的变量,因为z的缘故也具有一定的随机性。
2). latent\, code的送入地点不一样,style-based generator 将生成的w=f(z)经过每一层的一个单独的Affine变换成为style后送入生成其中的每一个子层,同时还多了随即采样的噪声,每一个经过单独的Affine变换后也会送入每一层进行运算。公式:
w=f(z) \\ style_i=A_i(w)=(y_{s,i},y_b)\\ B_i(noise_i)\rightarrow AdaIN(Adapative\,Instance\, Btach\, Normolization)
3). 每一层的结构不一样,style-based generator 的每层会将生成的分辨率上升两倍(像素数量上升两倍,即第一层的分辨率为44第三层就上升为88)。如图所示,第一层的输入为一个可以学习的Const其维度为44512。然后加上随机输入并变换后的噪声noise_i,接着进行AdaIN操作并在操作中融入style_i,接着进行33卷积操作,然后再次加上随即输入并变换的噪声noise_{i+1},融入style_{i+1}进行AdaIN变换,最后进行上采样使分辨率在H和W的维度各扩大两倍,实现分辨率的逐渐上升,通过重复此步骤最终实现10241024的超高分辨率。
(y_{s,i},y_b)=A_i(w)\\ AdIN(x_i,y)=y_{s,i} {{x_i-\mu (x_i)} \over {\sigma(x_i)}}+y_{b,i} \tag{1}\\

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容