**Paper:** **[Image2StyleGAN: How to Embed Images Into the StyleGAN Latent Space?](https://arxiv.org/pdf/1904.03189.pdf)**
文中提出一個可將人臉影像embed成latent code的方法,並且可以藉由這個latent code進行編輯,再由StyleGAN產製相對應編輯後的人臉影像。
## Introduction
在近幾年間,影像生成的發展非常迅速,而StyleGAN更是其中的佼佼者之一,但相對於隨機生成一張影像,由現有的影像進行特徵的編輯、控制是更令人興奮的,這個想法就需要探討是否可以由給定的影像embed到latent空間中。
為解決**由給定影像embed成latent code**的問題,文中提出了一個可以由FFHQ資料集embed影像$I$的算法,而其中一項重要的見解是:當使用擴展的$W+$空間時StyleGAN的泛化能力會增強,而這會導致,文中提出的embedding算法不但可以embed人臉影像,意外地也可以embed非人臉影像,因此,作者順著這項結果,分析產製出的影像在語意上是否有意義,文中對於embed後的向量使用了三種操作:線性內插、crossover(給兩個latent code然後相乘)、以及加入向量與乘上不同的向量,這些操作分別會對應:形態變化、風格轉換、表情轉換。
本文的貢獻包含:
* 提出一個可以將影像映射到StyleGAN拓展的latent space $W+$的方法
* 研究了許多問題,以了解StyleGAN latent空間的結構
* 提出了三種對於向量的基本操作,用以研究對於embedding結果的品質
## Related Work
這邊稍微提一下既有的latent code embedding方法
### Latent Space Embedding
普遍來講,embedding方法主要有兩種:
1. 訓練一個Encoder,輸入影像後encode成latent code
2. 選擇一個初始的latent code,並藉由gradient descent的方式迭代優化latent code
以上兩種方法中1的速度較快而2的準確率較高
### Perceptual Loss and Style Transfer
傳統上,衡量兩張影像的相似度會使用L1或L2損失函數,而近期也有提出使用預訓練的VGG模型作為特徵提取器,並分析兩張影像通過VGG模型後的特徵,並以斜方差計算這些高維特徵,而因為是由高維特徵進行分析,因此這樣計算兩張影像相似度的方法稱為Perceptual loss。
## Embedding Algorithm

Image2StyleGAN算法是先初始化一個$w$,$w$經過生成器$G$後與原始影像$I$計算perceptual loss與MSE loss,並利用梯度下降求取最佳的$w*$。
### Initialization

文中分析了兩種不同$w$初始化方式的結果,第一種為隨機初始化,其值在[-1,1]之間均勻分布;第二種為使用平均latent向量$\bar{w}$(在[StyleGAN 論文閱讀](/MZ2z5Gt_S6OE88slu8RUAg)中有提過),而為了評估這兩種方法,文中以loss的值與$||w* - \bar{w}||$來比較,在Table2中可以看到以平均值作為初始值只有在輸入影像為人臉時效果較好。圖5中則是比較這兩種方法得到$w*$再經過$G$的影像。

### Loss Function
計算輸入影像以及經由生成器生成的影像($G(w)$)間的相似度,文中提出的損失函數由perceptual loss與pixel-wise MSE loss組成,而為取得$w*$的最優解,要使得損失函數越小越好:

其中$I$為輸入影像;$G$為生成器(StyleGAN);$N$為$n*n*3$;$n$為影像大小;$λmse=1$,而perceptual loss為:

其中$Fj$為VGG-16的*conv1_1*, *conv1_2*, *conv3_2*, *conv4_2*的特徵圖;$Nj$為第$j$個特徵圖的pixel數;$λj=1$。
文中選擇同時使用MSE loss及perceptual loss的原因在於,單獨使用MSE loss無法找到高品質的$w*$,而perceptual loss的角色相當於正則化的工具在於引導優化過程到正確的latent空間,而在圖9中可以看到單獨使用MSE loss時,其latent的空間始終會再人臉的latent空間中,而加入perceptual loss後即可引導至不同輸入影像的latent空間。此外,文中也發現只單獨使用VGG中一層特徵圖是不夠的(缺乏高維特徵),因此使用了四層特徵圖(不同程度的高維特徵)加上MSE loss(低維特徵)作為損失函數。

### Other Parameters
以下為文中迭代取得$w*$時使用的參數:
* Optimizer: Adam
* lr: 0.01
* β1: 0.9
* β2: 0.999
* ε: 1e-8
* iteration: 5000
## What images can be embedded into the StyleGAN latent space?

### Embedding Results for Various Image Classes
為測試Image2StyleGAN的算法,文中收集了25張影像分別在5個類別中(即臉, 貓, 狗, 車, 畫)(如圖17),為了更加了解latent space的結構、屬性,文中選擇了與人臉有大致結構的貓、狗的臉及畫,此外也選了完全不相似的車子。圖1中顯示Image2StyleGAN的方法可以還原歐巴馬的人臉影像,但是可以看到臉部還是有些平滑且有損失一些細部細節。而除了人臉影像,作者發現雖然StyleGAN本身是由人臉資料集訓練而得的,但是文中提出的方法卻可以還原非人臉的影像。除了使用以人臉資料訓練的StyleGAN,文中也嘗試使用以其他資料集訓練的StyleGAN,但卻發現重建的結果品質較差。
### How Robust is the Embedding of Face Images?


由Table1, Table2及圖2可以看到StyleGAN embedding對於仿射轉換非常敏感,特別是左右橫移,其他的變換也會使重建影像變得較模糊、且損失很多細節,文中也討論可能是GAN學習的表現方法是會依照特定的大小、位置。

對於有遮蓋、瑕疵的影像,文中的方法則是可以很穩定的重建影像,在圖3中可以發現在embedding時特徵都會是各自獨立的,舉例來說若移除臉部的特徵時,重建的影像都可以還原,此外,也可以發現latent space不會強迫重建影像將缺少的部分填滿,這點對於影像編輯的應用會有很大的好處。
### Which Latent Space to Choose?
在StyleGAN中有初始latent space$Z$與中介latent space$W$可以作為embedding的latent space,而因為由$W$或$Z$輸入到sythesis network中都不容易(因為要經過Affine),因此文中使用擴展的空間$W+$即18層的512維向量(就是style),藉由AdaIn輸入,在圖5(c,d)中可以看到若由$W$空間embedding,重建的結果會非常不合理。
## How Meaningful is the Embedding?
文中採用三種方法來探討由Image2StyleGAN算法重建影像後影像的語意是否有意義,而這三種方法都會對latent space進行操縱
### Morphing

Morphing是利用兩個影像對應的latent向量進行內插:$w=λw1+(1-λ)w2$, $λ∈(0,1)$,若embed後的latent向量是具有語意意義的話,則在兩個latent向量間內插,理論上會得到相對應兩張圖間連續性的變化,圖4說明了利用Image2StyleGAN方法得到的結果,而可以看到以非人臉影像進行內插,結果不是很好,且內插後會有人臉的結構出現,然而在人臉方面,其結果都是非常優質的。
### Style Transfer

此處的style transfer作法與[StyleGAN](https://arxiv.org/pdf/1812.04948.pdf)論文中style mixing的做法類似,本篇是將synthesis network中的前9層輸入人臉的embedded code,而後9層則輸入欲更改風格影像的embedded code,最後結果如圖6中所示。
### Expression Transfer and Face Reenactment

表情轉換及臉部影像重演將輸入三個latent向量$w1, w2, w3$,轉換後的latent向量為$w=w1+λ(w3-w2)$,其中$w1$為目標影像,以圖7來說就是2~4行中間的影像;$w2$為中立的來源影像,以圖7來說就是第1行中間的影像;$w3$為有表情或是欲使目標影像為怎樣表情的影像,以圖7來說是第1行右邊的影像,而圖7為表情轉換的結果。
## Conclusion
文中提出了一個可以將輸入影像embed到latent space的方法,並探討怎樣的影像可以被embed、如何embed、重建影像的語意意義等,重點是所有種類的影像都可以使用此算法將影像embed到$W+$空間中,然而,只有人臉具有語意意義。
最後,文中提及此算法仍有以下限制:
1. 無法消除由StyleGAN本身所產生的artifact
2. 花費時間過長
### 補充
文中使用的25張影像:

#### Inherent Circular Artifacts of StyleGAN

由StyleGAN所產生的FFHQ資料集會有一些圓形的artifact,而在經過Image2StyleGAN算法重建的影像,也會保留這些artifact。
#### Limitation of the ImageNet-based Perceptual loss
由ImageNet訓練的VGG通常是使用224x224的解析度,然而FFHQ資料集中的影像大小為1024x1024,因此文中(應該是重新訓練256x256的VGG)再將影像resize成256x256。