【Super Resolution】超分辨率——ESRGAN

在上一篇文章【Super Resolution】超分辨率——SRGAN中,我們詳細的介紹了SRGAN,那麼是否SRGAN可以再進行改進呢?這就是ESRGAN,這篇論文主要探討的問題就是如何在SRGAN上做改進,是網絡在超分問題上有更好的表現。這篇論文在PIRM 2018-SR Challenge1中拿了第一名,然後論文發表於CVPR。
Paper:ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks
Code:xinntao/BasicSR


1、ESRGAN的簡單瞭解

SRGAN是第一個將GAN應用在SR問題上的,在單張圖像超分辨率的問題上可以生成具有真實感紋理。SRGAN主要的三個關鍵組成部分是:SRGAN的網絡結構(RB,殘差模塊)、對抗網絡(判別器)和感知損失(Perceptual Loss)。
ESRGAN對於SRGAN的每個關鍵組成部分都進行了深刻的討論,發現SRGAN的每個部分都可以再進行適當的改進。SRGAN發現SR圖像與HR圖像相比缺少的是高頻信息,而ESRGAN發現不僅缺少的是高頻信息,而且在細節信息上存在僞影, 主要的工作:

  • 將SRGAN的RB網絡結構替換成了密集殘差塊RRDB的結構,並且不進行BN;
  • 對抗網絡的判別器由標準二分類的分類器改爲相對分類器(RaGAN),讓判別器預測相對真實性而不是絕對值;
  • 感知損失改用激活前的特徵,爲亮度一致性和紋理恢復提供有效的更強的約束;

2、ESRGAN的網絡結構

在這裏插入圖片描述
我們來看一下生成器從LR圖像生成SR圖像的網絡結構,這種網絡結構作者是參照SRResNet提出的,Basic Block是可以選不同的模塊,比如說RB、DB和RRDB等等,已獲得網絡更好的性能。其中,RB模塊指的是殘差模塊(Residual Block),DB模塊指的是密集模塊(Dense Block),RRDB指的是Residual-in-Residual Dense Block(這個實在不知道怎麼翻譯了,哭QAQ)。

在ESRGAN中,對網絡結構最大的改動是將原來的RB模塊換成了RRDB的模塊。 可以從下圖中看出在大的殘差結構中套入了殘差結構的module,並且將殘差結構中換成Dense block,block中有Conv層和LRelu層。

在這裏插入圖片描述
其中,還比較值得一提的是,在模塊中移除了BN層。 對於不同的基於PSNR的任務中(包括超分辨率和去模糊)來說,去掉BN層已經被證明會提高模型的效果和減小計算的複雜度,因爲BN 層在訓練時,使用一個 batch 的數據的均值和方差對該 batch 特徵進行歸一化,在測試時,使用在整個測試集上的數據預測的均值和方差。當訓練集和測試集的統計量有很大不同的時候,BN 層就會傾向於生成不好的僞影,並且限制模型的泛化能力。 所以爲了模型的穩定性、一致性和泛化性,作者在模型中去掉了BN層,以減少計算複雜度和內存佔用。

在這網絡結構這一部分中,作者也使用了一些技巧去訓練深層網絡:
1)Residual scaling,殘差信息的scaling,將殘差乘以一個(0,1)中的數值,防止不穩定;
2)更小的初始化,作者發現如果初始參數的方差變小的話殘差結構將會更容易訓練;

3、ESRGAN中的判別器

普通的或者說是標準的GAN網絡的判別器是判別是真還是假(即Real or Fake?),而在ESRGAN中判別的是誰更像真的,誰更像假的,也就是說RaGAN的判別器判別的是嘗試估計real圖像相對於fake圖像更逼真的概率。

在這裏插入圖片描述
具體來說,對應的判別器的損失函數和生成器的對抗損失可以定義爲:

在這裏插入圖片描述

4、ESRGAN中的感知損失

在SRGAN中,使用的是激活後的特徵(即在VGG16網絡輸出的Feature Map),在ESRGAN中將激活後的特徵改爲激活前的特徵。使用激活前的特徵,可以克服兩個缺點:第一,激活後的特徵是非常稀疏的,特別是在很深的網絡中。這種稀疏的激活提供的監督效果是很弱的,會造成性能低下;第二,使用激活後的特徵會導致重建圖像與 GT 的亮度不一致。
對於生成器,它的損失函數爲:
在這裏插入圖片描述
在PIRM-SR挑戰中,文章中使用了感知損失的一種變體,提出了之中可變的感知損失,爲SR-MINC的損失,有一定的增益。所以作者認爲在超分領域上關注紋理 問題比關注物體更加具有效果。

5、ESRGAN中的網絡插值

爲了移除在GAN-based methods帶來的令人不愉快的噪聲,並且同時獲得一個很好的感知質量,作者在穩重提出了一種靈活有效的方法——網絡插值。先用PSNR的方法訓練網絡GPSNRG_{PSNR},在GAN網絡上進行微調。對這兩個網絡參數進行插值得到網絡GINTERPG_{INTERP},可以通過α\alpha來調整超分的效果。
在這裏插入圖片描述

6、最後的Conclusion

在這裏插入圖片描述
以消融實驗的部分圖像來對比不同網絡的超分效果,那來總結一下ESRGAN:

  • 去掉BN: 沒有降低網絡的性能,而且節省了計算資源的內存佔用;
  • RRDB: 提高超分的效果,更加有利於恢復紋理,去除噪聲;
  • RaGAN: 更改了GAN的判別器,改爲相對判別器,判別哪張圖像更像真的;
  • 使用激活前的特徵: 在圖像亮度上更加準確,可以產生更加尖銳的邊緣和細節;

其實對於一個比較具有意義的網絡被提出後,我們應該去關注一些更加本質的問題,從SRGAN到ESRGAN,我們可以發現創新的點大多來源於生成圖像和真實圖像的對比得出來的,在SRGAN中發現生成圖像中缺少的是高頻信息,所以加入了感知損失;在ESRGAN中發現生成圖像中有僞影,所以對於SRGAN中的每個部分都做了改進。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章