【生成高清人臉】ProgressiveGAN 筆記
04-07
progressive gan (ICLR 2018 Oral)
論文下載地址:[1710.10196] Progressive Growing of GANs for Improved Quality, Stability, and Variation
官方Code:tkarras/progressive_growing_of_gans
第三方Code:https://github.com/nashory/pggan-pytorch
What:
- 解決的問題是:從隨機高斯分布的512維隨機變數 -> 生成 高解析度的圖像 1024 x 1024。
- 生成高解析度的圖像不穩定的問題。(對抗不起來)
為什麼這個問題有難度呢?
- 我們可以仔細回想,最近高解析度的結果大多數是使用conditional GAN,輸入的一張圖像,或者是有信息量的東西去生成。(如CycleGAN)
- 一些效果好的 conditional GAN中對應的loss上的監督信息往往也多。(比如pixel2pixel的pixel-level的L1 Loss)
- 而對於最早的GAN來說,比如DCGAN 或者WGAN,真的是「無中生有」,監督只有Adversarial Loss (最多加上inception loss,也就是中間層的Adversarial Loss)
- 在實際使用中,DCGAN或WGAN 生成64x64的圖像還是好好的,但是一旦到了128x128 細節丟失就比較明顯了。
- 為什麼高解析度的圖像生成很難呢?因為D可以根據一部分(一點點錯誤)來判斷你生成圖像是假的。或者說高解析度圖像的空間大,容易發現錯誤。
How:
- idea也很簡單,既然 小尺度 不丟細節,也不會diversity差。那麼我們就從小尺度開始,一步步走。(作者是從4x4的生成圖像開始, 直到1024x1024的人臉)
- 採用的是WGAN-WP。
- 逐步加層 alpha慢慢變成1
- 提出 pixel wise feature normalization
- Detail Network Structure
最後,如何評估生成的好壞?(多樣性+真實性)
作者提出要基於圖像的局部(不是整體),局部要和原始訓練圖像接近。
他發現很多自己的trick加在一起效果比較好。
更多相關文章:
- 為什麼混合Loss可以提升圖像檢索效果?
- 用GAN生成的圖像做訓練?Yes!
- 2017 ICCV 對抗生成網路GAN接收論文
- 2017年GAN 計算機視覺相關paper匯總
推薦閱讀:
TAG:生成對抗網路GAN | 深度學習DeepLearning | 計算機視覺 |