StyleGAN: Difference between revisions

Created page with "StyleGAN CVPR 2019<br> [https://arxiv.org/abs/1812.04948 2018 Paper (arxiv)] [http://openaccess.thecvf.com/content_CVPR_2019/html/Karras_A_Style-Based_Generator_Architecture_f..."
 
 
(7 intermediate revisions by the same user not shown)
Line 9: Line 9:
==Architecture==
==Architecture==
[[File:StyleGAN architecture.PNG | thumb | 300px | Architecture of StyleGAN from their paper]]
[[File:StyleGAN architecture.PNG | thumb | 300px | Architecture of StyleGAN from their paper]]
StyleGAN consists of a mapping network <math>f</math> and a synthesis network <math>g</math>.
===Mapping Network===
The goal of the mapping network is to generate a latent vector <math>w</math>.<br>
This latent <math>w</math> is used by the synthesis network as input the each AdaIN block.<br>
Before each AdaIN block, a learned affine transformation converts <math>w</math> into a "style" in the form of mean and standard deviation.<br>
The mapping network <math>f</math> consists of 8 fully connected layers with leaky relu activations at each layer.<br>
The input and output of this vector is an array of size 512.<br>
===Synthesis Network===
The synthesis network is based on progressive growing (ProGAN).
It consists of 9 convolution blocks, one for each resolution from <math>4^2</math> to <math>1024^2</math>.<br>
Each block consists of upsample, 3x3 convolution, AdaIN, 3x3 convolution, AdaIN.
After each convolution layer, a gaussian noise with learned variance (block B in the figure) is added to the feature maps.
====Adaptive Instance Normalization====
Each AdaIN block takes as input the latent style <math>w</math> and the feature map <math>x</math>.<br>
An affine layer (fully connected with no activation, block A in the figure) converts the style to a mean <math>y_{b,i}</math> and standard deviation <math>y_{s,i}</math>.<br>
Then the feature map is shifted and scaled to have this mean and standard deviation.<br>
* <math>\operatorname{AdaIN}(\mathbf{x}_i, \mathbf{y}) = \mathbf{y}_{s,i}\frac{\mathbf{x}_i - \mu(\mathbf{x}_i)}{\sigma(\mathbf{x}_i)} + \mathbf{y}_{b,i}</math>
==Results==
==Results==


Line 16: Line 37:
==Related==
==Related==
* [https://arxiv.org/abs/1904.03189 Image2StyleGAN]
* [https://arxiv.org/abs/1904.03189 Image2StyleGAN]
==Resources==
* [https://machinelearningmastery.com/introduction-to-style-generative-adversarial-network-stylegan/ https://machinelearningmastery.com/introduction-to-style-generative-adversarial-network-stylegan/]
* [https://towardsdatascience.com/explained-a-style-based-generator-architecture-for-gans-generating-and-tuning-realistic-6cb2be0f431 https://towardsdatascience.com/explained-a-style-based-generator-architecture-for-gans-generating-and-tuning-realistic-6cb2be0f431]