您當前的位置:首頁 > 文化

論文閱讀-人臉生成_StyleGAN

作者:由 璇珠官人 發表于 文化時間:2019-04-11

本文優先發布在我的個人部落格:oukohou。wang。

部落格同時提供大量非技術類博文,敬請訪問。

Paper : A Style-Based Generator Architecture for Generative Adversarial Networks

Code : StyleGAN — Official TensorFlow Implementation

Data : The FFHQ dataset

StyleGAN,提出了一個新的 generator architecture,號稱能夠控制所生成影象的高層級屬性(high-level attributes),如 髮型、雀斑等;並且生成的影象在一些評價標準上得分更好;同時隨論文開源了一個高質量資料集:FFHQ, 包含 7W 張

1024*1024

高畫質人臉照。7W 張啊朋友們,簡直就是寶藏啊~

1。 Style-based generator

開門見山,直說論文所提出的 style-based generator。不同於常見的直接把 latent code 輸入給 generator 的輸入層的做法,這篇論文摒棄了輸入層, 轉而添加了一個非線性對映網路:

f:Z \to W

,如下圖:

論文閱讀-人臉生成_StyleGAN

圖中,

Z

W

的維度都是512維,

A

是一個仿射變換(Affine transform),

B

是每個channel的高斯噪聲的係數,而

AdaIN

則是:

論文閱讀-人臉生成_StyleGAN

圖中,

y_(s,i)和y_(b,i)

則是

w

經過

A

變換之後得到的

y=(y_s, y_b),(y_(s,i),y_(b,i))

對的個數與每一層feature map的channel數相同。

好了,總結一下,說的這麼玄乎,其實就是把輸入

z

用了8層全連線層做了個非線性變換,得到512維的

w

,然後再用個仿射變換

A

得到每一層normalization 所需的

scale

shift

,也就是

y_(s,i)和y_(b,i)

,在這之前還有個高斯噪聲輸入。如此而已。

然後作者認為,因為每一個卷積層都被歸一化,並且經過了

y_(s,i)和y_(b,i)

scale

shift

,所以generator所生成的圖片的style就是受

y=(y_s, y_b)

來控制的,即所謂

style-based generator

。而且因為每一層都會有歸一化,所以這些操作只能影響最終的結果一部分。

2。 Style mixing

為進一步促使這些

style

來區域性化其控制效果,作者又採用了

mixing regularization

。其實也很簡單,作者的style-based generator不是有個 8層卷積的非線性變換麼,這下提前計算兩個影象的變換結果

w_1、w_2

,然後在生成過程中隨機取

w_1

或者

w_2

的值進行操作。結果如下圖:

論文閱讀-人臉生成_StyleGAN

然後作者說這些不同的styles控制了不同的有意義的high-level attributes。

個人感覺,這些styles確實對結果有影響,但要說不同的style控制不同的屬性,未免有點牽強。不過是從結果強推結論罷了。

3。 Stochastic variation

作者說,人有很多隨機屬性,例如頭髮、鬍鬚、雀斑等,所以一個好的generator自然也要能夠實現stochastic variation。

而作者認為,傳統的generator的輸入就只有輸入層,所以generator自身必須尋找一種生成偽隨機數的方式,而這會消耗網路的

capacity

,並且很難隱藏生成的 訊號的週期性。

而這時,作者的高斯噪聲輸入

B

就派上了用場了。如下圖:

論文閱讀-人臉生成_StyleGAN

4。 Separation of global effects from stochasticity

然後就是作者聲稱的,其style

A

和高斯噪聲

B

能夠分別控制生成影象的不同level:

A

控制全域性屬性,如姿態、身份等,而

B

控制一些相對次要的 隨機變數,如不同的髮型、鬍鬚分佈等等。

其實這也不難理解,觀察generator結構中,如圖,再放一次:

論文閱讀-人臉生成_StyleGAN

A

的作用是對所有的feature map進行scale和shift,自然影響結果也是全域性性的; 而

只是加到了每層的畫素上,緊接著就被

AdaIN

給歸一化了……自然只能影響很小一部分,而在人臉生成這個task上,這個很小一部分恰巧表現為頭髮、鬍鬚、雀斑等的分佈而已。

5。 Experiments

然後就是一些對比試驗了,大同小異,乏善可陳,直接放大家喜聞樂見的圖片吧:

論文閱讀-人臉生成_StyleGAN

論文閱讀-人臉生成_StyleGAN

論文閱讀-人臉生成_StyleGAN

6。 End

時隔將近一個月,終於又更新了一篇啦~~

開心~~

完結撒花~~

微信公眾號:璇珠雜俎(也可搜尋oukohou),提供本站優質非技術博文~~

regards。

oukohou|璇珠雜俎。

標簽: generator  Style  輸入  生成  based