1. 程式人生 > >文獻閱讀:To learn image super-resolution, use a GAN to learn how to do image degradation first

文獻閱讀:To learn image super-resolution, use a GAN to learn how to do image degradation first

文章地址:https://arxiv.org/abs/1807.11458
作者的專案地址:Pytorch: Face-and-Image-super-resolution

1. 介紹

    這是一篇影象和人臉的超分辨重建的文章,目前超分辨重建一個主要的問題是聚焦在真實世界影象的超分辨重建問題上。傳統的SR的方法獲取LR的手段是人工獲取,比如通過雙線性下采樣或者是先通過一個模糊核然後在進行雙線性下采樣。但是真實世界的影象往往具有複雜的退化模型,比如運動、去焦、壓縮、感測器噪聲等複雜的情況。所以目前一些主流的SR方法可能在人造的LR影象上重建效果很好,但是在真實世界影象上表現不一定很好。關於真實世界影象重建CVPR2018中一篇文章也做了類似的工作,“Zero-Shot” Super-Resolution using Deep Internal Learning

。可以參考我的部落格深度學習應用到影象超解析度重建2, 其中對這篇文章做了簡單的介紹。

    本篇文章創新之處主要有2個。第1個就是提出一種2個階段的處理,分別是High-to-Low GAN和Low-to-High GAN。在第一階段,我們可以使用不同的未配對資料集,比如由Celeb-A、AFLW、LS3D-W和VGGFace2組成的高解析度影象資料集,或者低解析度影象資料集Widerface。第二階段,用上一步的輸出結果,用成對訓練資料從低解析度到高解析度地訓練GAN。相當於是第一個階段我們學習到降級模型然後獲取pair資料集,然後在第二個階段進行SR。作者另外一個創新之處就是之前的文章將L2損失作為主要損失,而GAN損失作為輔導。而這裡作者提出 GAN-centered ,也就是以GAN損失作為主導,pixel損失作為輔導。

2. 網路介紹

    主要的框架如圖所示:
在這裡插入圖片描述

主要就是分為2個階段: High-to-Low和Low-to-High

2.1 High-to-Low

    這個階段主要完成的是HR影象降級的過程。首先我們輸入的是HR影象和一個服從正態分佈的隨機噪聲,然後將其concatenate起來,隨後網路通過一個High-to-low網路,他是由普通的ResNets堆疊而成的,其中ResNets使用的pre-activation而且不使用BatchNorm。如下圖所示:
在這裡插入圖片描述
    另一方面,我們還需要使用LR的dataset,這是真實世界的影象,然後利用GAN網路將這個LR和SR影象輸入判別器進行判別,這個判別器就是普通使用的判別器。在前面也說過了,作者的損失包含兩個方面一個gan損失還有一個就是pixel損失。但是這裡是GAN-centered的,pixel損失只是加速網路的訓練,保證人臉影象的一些細節。還有一個方面需要需要注意:就是這裡輸入的隨機噪聲,因為這是HR->LR的過程,所以也會存在很多解,因此隨機噪聲的存在可以幫助我們模擬很多種現實情況,具有多樣性。如下圖所示:
在這裡插入圖片描述

2.2 Low-to-High

    第一個階段主要的作用就是:將兩個不同的unpair資料集輸入到High-to-Low網路,學習影象降級的過程,得到pair資料集輸入給Low-to-High網路。
然後生成器網路如圖所示,使用三個組。然後判別網路和上面的是一樣的。
在這裡插入圖片描述

2.3 損失函式

   整個損失函式定義如下:

l = α l p i x e l + β l G A N l = \alpha l_{pixel} + \beta l_{GAN}

    一般來說 α l p i x e l < β l G A N \alpha l_{pixel} < \beta l_{GAN} , 這個就表示我們是GAN損失佔主導。這裡的pixel損失就會常規的MSE損失。而對於這裡的GAN損失,作者發現WGAN-GPSN-GAN表現差不多。作者在本篇文章中選擇了後者,也就SN-GAN。這是發表在ICLR2018上的一篇文章,個人感覺還是一篇很好的文章,下面貼一下連結大家可以自己看一下:

  1. Spectral Normalization for Generative Adversarial Networks
  2. 知乎:如何評價Ian Goodfellow由衷讚賞的訓練穩定方法SN-GANs?

3. 實驗

    在測試階段,由於測試集合只有LR影象而沒有HR影象,所以我們不能使用傳統的PSNRSSIM作為評價指標,這裡這裡使用了Fréchet Inception Distance(FID),越小越好。這是發表在NIPS2017的文章,貼一下參考文章:

  1. GANs Trained by a Two Time-Scale Update Rule Converge to a Local Nash Equilibrium
  2. 六種GAN評估指標的綜合評估實驗,邁向定量評估GAN的重要一步

4. 結果

定量上分析:
在這裡插入圖片描述

定性上分析:
在這裡插入圖片描述

5. 感想

個人覺得這是一篇很好的文章,不是簡單的灌水。將注意力集中在真實世界影象的超分辨重建上。提出2個創新:

  1. 傳統的都是使用人造的LR生成方式,而作者這裡將重建分成2個階段。第1個階段就是學習這個降級的過程;第2個階段使用pair資料重建。
  2. 提出GAN-centered的損失函式計算。
  3. 還有一個小小的亮點就是使用FID作為評價指標。