標題&作者團隊
【Happy導語】這是今年CVPR2020中關於圖像超分的文章,不同於其他方法在網絡架構或者數據增廣方面進行改進,該文另辟蹊徑從“損失函數”入手,針對已有GAN系列的損失函數展開並未並提出了改進點。所提方法取得了NTIRE2020感知極限超分競賽LPIPS指標亞軍、PI指標冠軍。所以Happy非常建議各位圖像復原領域的小伙們仔細研究一下這篇文章。另,文末附論文與code下載方式。
Abstract
深度學習技術極大的提升圖像超分的性能(無論是主觀指標還是客觀指標)。然而,已有方法最多進行x4超分問題,鮮少有進行x16超分問題研究。已有的x4超分往往采用GAN+VGG感知損失進行模型訓練,然而,作者發現:這種訓練機制在x16超分中會導致細節不對齊問題。
為解決上述問題,作者對損失函數問題進行了系統的分析並提出采用GAN+LPIPS進行感知極限超分訓練。此外,作者還提出采用UNet架構的判別器同時考慮圖像的全局與局部上下文信息。
最后,作者通過實驗驗證了所提方法的有效性,並取得了NTIRE2020感知極限超分LPIPS指標第二,PI指標第一的好成績。
Method
對於x16超分而言,采用MSE幾乎難以恢復圖像的高頻信息。因此,大多采用GAN框架進行高倍率圖像超分模型訓練,它包含一個生成器與一個判別器。而這篇文章則關注於模型訓練過程中的損失函數設計問題。下面將從生成器、判別器以及損失函數三個方面對這篇論文進行簡單的介紹。
Generator
其實對圖像超分領域有所了解的朋友都應該知道:高倍率(x8,x16)超分的研究非常少,大多聚焦於(x2,x3,x4)低倍率超分研究。那么如何進行高倍率超分網絡架構設計呢?
目前常用的方法是低倍率超分級聯,比如要進行x16超分的話,那么采用兩個x4超分級聯達到x16超分的目的。而之前最知名的x4超分當屬ESRGAN了,所以最近兩年的超分競賽中很多方法是在ESRGAN的基礎上進行調整,比如AIM2019的幾種超分方案,NTIRE2020的多種超分方案(可參考文末的推薦閱讀中的其他冠軍方案)。
生成器網絡架構
所以,這篇論文的網絡架構則是采用了相同的思路:級聯x4超分ESRGAN。如上圖所示,先采用ESRGAN進行4倍超分,然后進行4倍超分,從而達到16倍超分的目的。關於ESRGAN的詳細描述建議感興趣的小伙伴去看一下ESRGAN原文,因其並非本文重點,故而略過。
Discriminator
之前大多基於GAN的超分方法中的判別器往往采用編碼架構,這種源自判別器的緊致表達方式用來判別圖像的真假(圖像級的信息反饋)。
判別器網絡架構
近來,GAN領域有學者提出采用UNet的判別器架構用於提升生成器的性能。它在常規的編碼架構的基礎上添加解碼架構,它有助於提供像素級的信息反饋,同時保持全局上下文信息。新的判別器架構如上圖所示,作者發現:這種編解碼判別器架構可以使得最終的生成器生成更好的紋理細節。
在實際訓練過程中,判別器的損失包含兩個部分:編碼器部分損失於解碼器部分損失。它們分別定義如下:
那么,對於生成器而言,其損失函數定義如下:
於此同時,為確保判別器聚焦於語義與結構信息,作者還額外添加了一種一致性正則項。因此,總體判別器損失定義如下:
Loss Functions
感知超分模型中損失函數的常見選擇為:對抗損失與基於VGG的感知損失。這種損失組合對於x4超分表現較好,但是,作者發現:對於x16超分而言,它不能輸出令人滿意的結果(高頻紋理細節信息較少,同時存在假性噪聲)。可能這與VGG是在圖像分類任務上訓練的,對於超分任務並非最佳選擇有關。
為解決上述問題,作者提出采用LPIPS作為感知損失,定義如下:
其中,表示特征提取函數,用於將特征差異變換到LPIPS得分。該損失的計算過程如下圖所示。
image-20200626163601881
除此之外,作者還采用判別器特征匹配損失消除對抗損失引入的假性噪聲問題,該損失定義如下:
其中表示判別器D的第l層激活輸出,表示Huber損失(即SmoothL1損失)。與此同時,作者還是會用與像素損失以避免色彩異常:
最終,得到了生成器的整體損失函數:
Experiments
訓練數據采用了DIV8K(包含1500張8K分辨率訓練數據,場景內容豐富)。隨機裁剪了大小的圖像塊,並采用雙三次下采樣為。訓練過程中選擇了隨機鏡像、隨機旋轉等增廣策略。驗證數據則是從訓練數據集中均勻選擇10張。
訓練細節:生成器中的leaky-relu參數為0.2,判別器的為0.1。首先采用訓練50K迭代,batch=3,大概花費12小時(此時所得模型稱之為Pretrained)。然后再采用前述整體損失()進行微調60K迭代,batch=2,大概花費15小時(此時所得模型稱之為Ours)。優化器選擇Adam,初始學習率0.00001。生成器與判別器的參數量分別為33M和13M。
首先,來對比一下Bicubic、Pretrained、常規ESRGAN尋來呢結果以及本文所提方法效果,指標對比與視覺效果對比。可以看到:(1) 更高的PSNR與SSIM並不意味着更好的視覺感知效果;而LPIPS則更好的符合人類視覺感知系統,所提方法具有最佳的LPIPS指標。(2) Adv+VGG方式訓練的模型明顯優於Pretrained的視覺效果,但會存在顏色失真與假性噪聲問題;而本文所提方法可以很大程度上緩解上述問題,具有更自然的視覺效果。
image-20200626165355244
image-20200626165442119
然后,給出常規驗證集(Set5, Set14, BSD100, Urban100等)上的性能與效果對比。所提方法具有更好的銳利度、細節一致性,同時具有更低的LPIPS指標。
image-20200626174407827
image-20200626174434462
最后,給出了所提方法在DI8K驗證集上的性能與效果對比。
image-20200626174714532
image-20200626174740184
Conclusion
總而言之,該文從損失函數角度對x16超分問題進行了研究與分析,並針對性的提出了損失函數改進方案(LPIPS損失比VGG感知損失更適合感知極限超分)。所提方法取得了NTIRE2020感知極限超分競賽的亞軍,作者通過調整損失函數的權值取得了更進一步的性能提升。作者最后還提到:所提損失函數組合方案配合更好的生成器架構可能會得到更好的性能。
推薦閱讀
- CVPR2020 | 高低頻分離超分方案
- NTIRE2020真實世界超分競賽冠軍方案
- 超越RCAN,圖像超分又一峰:RFANet
- NTIRE2020冠軍方案RFB-ESRGAN:帶感受野模塊的超分網絡
- NTIRE2020圖像去模糊冠軍方案分享,首次解決跨設備部署問題
論文與代碼下載方式
AIWalker公眾號后台留言“CIPLab”,即可獲得下載鏈接。

