2020-10-18 SRGAN文章翻譯
本文轉自:https://blog.csdn.net/weixin_42113955/article/details/89001989
Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
https://arxiv.org/pdf/1609.04802v1.pdf
摘要:
儘管使用更快更深的卷積神經網路在單影象超解析度的準確性和速度方面取得了突破,但一個核心問題仍然很大程度上未解決:當我們在大的升級因子上超分辨時,我們如何恢復更精細的紋理細節?基於優化的超解析度方法的行為主要由目標函式的選擇驅動。近期工作主要集中在最小化均方重建誤差。由此產生的估計具有高峰值信噪比,但它們通常缺乏高頻細節,並且在感知上它們不能滿足在較高解析度下預期的保真度的感覺上不滿意。在本文中,我們提出了SRGAN,一種用於影象超解析度(SR)的生成對抗網路(GAN)。據我們所知,它是第一個能夠推斷4倍放大因子的照片般逼真的自然影象的框架。為實現這一目標,我們提出了一種感知損失函式,它包括對抗性損失和內容丟失。對抗性損失使用鑑別器網路將我們的解決方案推向自然影象流形,該網路經過訓練以區分超解析度影象和原始照片真實影象。另外,我們使用由感知相似性驅動的內容丟失而不是畫素空間中的相似性。我們的深度殘留網路能夠在公共基準測試中從嚴重下采樣的影象中恢復照片般逼真的紋理。廣泛的平均意見得分(MOS)測試顯示使用SRGAN在感知質量方面獲得了巨大的顯著提升。使用SRGAN獲得的MOS分數比使用任何現有技術方法獲得的MOS分數更接近於原始高解析度影象的MOS分數。
1.引言
從其低解析度(LR)對應物估計高解析度(HR)影象的極具挑戰性的任務被稱為超解析度(SR)。 SR受到計算機視覺研究界的極大關注,具有廣泛的應用[63,71,43]
對於高升尺度因子,欠定SR問題的不適定性質尤其明顯,對於該放大因子,重建SR影象中的紋理細節通常不存在。 監督SR演算法的優化目標通常是恢復的HR影象與地面實況之間的均方誤差(MSE)的最小化。 這很方便,因為最小化MSE還可以最大化峰值信噪比(PSNR),這是用於評估和比較SR演算法的常用度量[61]。 然而,MSE(和PSNR)捕獲感知相關差異(例如高紋理細節)的能力非常有限,因為它們是基於畫素方式的影象差異來定義的[60,58,26]。 這在圖2中示出,其中最高PSNR不一定反映感知上更好的SR結果。 超解析度和原始影象之間的感知差異意味著恢復的影象不是Ferwerda [16]定義的照片級真實感。
在這項工作中,我們提出了一個超解析度的生成對抗網路(SRGAN),我們採用深度剩餘網路(ResNet)與跳過連線,並將MSE作為唯一的優化目標。 與以前的工作不同,我們使用VGG網路的高階特徵圖[49,33,5]與識別器相結合來定義新的感知損失,該識別器鼓勵在感知上難以與HR參考影象區分的解決方案。 圖1顯示了使用4倍放大係數進行超分辨的照片般逼真影象示例。
1.1相關工作
1.1.1 影象超解析度
最近關於影象SR的概述文章包括Nasrollahi和Moeslund [43]或Yang等。[61]。 在這裡,我們將重點關注單影象超解析度(SISR),並且不會進一步討論從多個影象中恢復HR影象的方法[4,15]。
基於預測的方法是解決SISR的首批方法之一。 雖然這些過濾方法,例如, 線性,雙三次或Lanczos [14]濾波,可以非常快,它們過分簡化了SISR問題,並且通常產生具有過於平滑紋理的解決方案。 已經提出了特別關注邊緣儲存的方法[1,39]。
更強大的方法旨在建立低解析度和高解析度影象資訊之間的複雜對映,並且通常依賴於訓練資料。 許多基於示例對的方法依賴於LR訓練補丁,對應的HR對應物是已知的。 Freeman等人提出了早期工作。 [18,17]。 SR問題的相關方法起源於壓縮感知[62,12,69]。 在Glasner等人。 [21]作者利用影象中的尺度上的補丁冗餘來驅動SR。這種自相似的範例也用於Huang等人。 [31],通過進一步允許小變換和形狀變化來擴充套件自我詞典。 顧等人。 [25]提出了一種卷積稀疏編碼方法,通過處理整個影象而不是重疊補丁來提高一致性。
為了重建真實的紋理細節,同時避免邊緣偽影,Tai等人。 [52]將基於先驗[50]的梯度曲線的邊緣定向SR演算法與基於學習的細節合成的益處相結合。 張等人。 [70]提出了一種多尺度字典來捕獲不同尺度的相似影象塊的冗餘。 為了超級解析地標影象,Yue等人。 [67]檢索關聯HR具有來自web的類似內容的影象,並提出用於對齊的結構感知匹配標準。
鄰域嵌入方法通過在低維流形中找到類似的LR訓練補片並將它們相應的HR補片組合用於重建來上取樣LR影象補片[54,55]。 在Kim和Kwon [35]中,作者強調了鄰域方法過度擬合的趨勢,並使用核嶺迴歸來制定更一般的示例對對映。 迴歸問題也可以通過高斯過程迴歸[27],樹[46]或隨機森林[47]來解決。 在戴等人。 [6]學習了大量特定於補丁的迴歸量,並在測試過程中選擇了最合適的迴歸量。
最近基於卷積神經網路(CNN)的SR演算法已經表現出優異的效能。在Wang等人。 [59]作者基於學習的迭代收縮和閾值演算法(LISTA)在其前饋網路架構中編碼稀疏表示[23]。董等人。 [9,10]使用雙三次插值升級輸入影象並對端到端的三層深度完全卷積網路進行訓練,以實現最先進的SR效能。隨後,證明了使網路能夠直接學習升頻濾波器可以進一步提高精度和速度方面的效能[11,48,57]。憑藉其深度遞迴卷積網路(DRCN),Kim等人。 [34]提出了一種高效能的架構,允許遠端畫素依賴,同時保持較小的模型引數數量。與我們的論文特別相關的是Johnson等人的著作。 [33]和布魯納等人。 [5],誰依靠更接近感知相似性的損失函式來恢復視覺上更有說服力的HR影象。
1.1.2卷積神經網路設計
在Krizhevsky等人的工作成功之後,許多計算機視覺問題的現有技術同時由專門設計的CNN架構設定。[37]。
結果表明,更深層次的網路架構可能很難訓練,但有可能大幅提高網路的準確性,因為它們允許建模高度複雜的對映[49,51]。為了有效地訓練這些更深層次的網路架構,在標準化時[32]通常用於抵消內部的協變數變化。更深的網路架構也被證明可以提高SISR的效能,例如: Kim等人。 [34]制定一個遞迴CNN並提出最後的結果。另一個簡化深度CNN訓練的強大設計選擇是最近引入的殘餘塊[29]和跳過連線[30,34]的概念。跳過連線減輕了對身份對映進行建模的網路體系結構,這種體系結構本質上是微不足道的,然而,用卷積核心表示可能是非常重要的。在SISR的背景下,還表明學習升級濾波器在準確性和速度方面是有益的[11,48,57]。這是對Dong等人的改進。 [10]其中採用雙三次插值來在將影象饋送到CNN之前放大LR觀察。
1.1.3損失函式
像MSE這樣的畫素損失函式難以處理恢復丟失的高頻細節(如紋理)所固有的不確定性:最小化MSE鼓勵找到合理解決方案的畫素平均值,這些解決方案通常過於平滑,因此感知質量較差[42 ,33,13,5]。 圖2中的相應PSNR示例了不同感知質量的重建。我們說明了圖3中最小化MSE的問題,其中具有高紋理細節的多個潛在解決方案被平均以建立平滑重建。
在Mathieu等人。 [42]和Denton等人。 [7]作者通過採用生成對抗網路(GAN)[22]來應對影象生成來解決這個問題。 Yu和Porikli [66]通過鑑別器丟失來增加畫素方式的MSE損失,以訓練網路,該網路使用大的放大因子(8×)來超分辨人臉影象。 GAN還用於Radford等人的無監督表示學習。[44]。 Li和Wand [38]描述了使用GAN來學習從一個流形到另一個流形的對映的想法,以及Yeh等人。 [64]用於修復。 布魯納等人。 [5]最小化VGG19 [49]和散射網路的特徵空間中的平方誤差。
Dosovitskiy和Brox [13]使用基於在神經網路的特徵空間中計算的歐幾里德距離的損失函式以及對抗訓練。 結果表明,所提出的損失允許在視覺上優異的影象生成,並且可以用於解決解碼非線性特徵表示的不適定的逆問題。 與此相似,約翰遜等人。 [33]和布魯納等人。 [5]提出使用從預訓練的VGG網路中提取的特徵而不是低階畫素方式的誤差測量。 具體而言,作者根據從VGG19 [49]網路中提取的特徵圖之間的歐氏距離來制定損失函式。 對於超解析度和藝術風格轉移,感知上獲得了更令人信服的結果[19,20]。 最近,Li和Wand [38]也研究了在畫素或VGG特徵空間中比較和混合貼片的效果。
1.2貢獻
GAN提供了一個強大的框架,用於生成具有高感知質量的看似合理的自然影象。 GAN程式鼓勵重建移動到搜尋空間的區域,很可能包含照片般逼真的影象,因此更接近自然影象流形,如圖3所示。
在本文中,我們描述了第一個非常深的ResNet [29,30]架構,它使用GAN的概念來形成照片般逼真的SISR的感知損失函式。 我們的主要貢獻是:
1.我們通過PSNR和結構相似性(SSIM)以及針對MSE優化的16塊deepResNet(SRResNet)測量的具有高升尺度因子(4×)的影象SR設定了新的技術水平。
2.我們提出SRGAN,這是一個基於GAN的網路,針對新的感知損失進行了優化。 在這裡,我們用基於VGG網路[49]的特徵圖計算的損耗替換基於MSE的內容丟失,這對於畫素空間的變化更加不變[38]。
3. 我們對來自三個公共基準資料集的影象進行了廣泛的平均意見評分(MOS)測試,確認SRGAN是一種新的技術水平,用於估算具有高放大係數的照片般逼真的SR影象(4×)。
我們在第2節中描述了網路架構和感知損失。第3節提供了對公共基準資料集的定量評估以及視覺化插圖。本文最後在第4節中進行了討論,並在第5節中作了總結性評論。
2.方法
在SISR中,目標是從低解析度輸入影象ILR估計高解析度,超解析度影象ISR。 ILR是其高解析度對應IHR的低解析度版本。 高解析度影象僅在訓練期間可用。 在訓練中,通過對IHR應用高斯濾波器,隨後使用下采樣因子r的下采樣操作來獲得ILR。 對於具有C顏色通道的影象,我們通過尺寸為W×H×C和IHR的實值張量描述ILR,ISR分別通過rW×rH×C。
我們的最終目標是訓練生成函式G,其估計給定的LR輸入影象其對應的HR對應物。 為實現這一目標,我們將生成器網路作為由θG引數化的前饋CNNGθG進行訓練。 這裡θG= fW1:L; b1:Lg表示L層深網路的權重和偏差,並且通過優化SR特定的損失函式lSR來獲得。 對於訓練影象InHR,n = 1; ::: ;; N與相應的InLR,n = 1; ::: ;; N,我們解決:
在這項工作中,我們將具體設計感知損失lSR作為幾個損失分量的加權組合,其模擬恢復的SR影象的不同期望特徵。 各個損失函式在2.2節中有更詳細的描述。
2.1對抗網路結構
遵循Goodfellow等人。 [22]我們進一步定義了一個鑑別器網路DθD,我們以交替的方式與GθG一起優化,以解決對抗性最小 - 最大問題:
該公式背後的一般思想是,它允許人們訓練生成模型G,其目的是欺騙可區分的鑑別器D,該鑑別器被訓練以區分超分辨影象和真實影象。 通過這種方法,我們的生成器可以學習建立與真實影象高度相似的解決方案,因此難以通過D.進行分類。這可以鼓勵居住在子空間(自然影象的流形)中的感知上優越的解決方案。 這是在與通過最小化畫素方式誤差測量(例如MSE)獲得的SR解決方案形成對比。
在我們非常深的生成器網路G的核心,圖4中示出了具有相同佈局的B個殘餘塊。 靈感來自約翰遜等人。 [33]我們採用Gross和Wilber提出的塊佈局[24]。 具體來說,我們使用兩個卷積層,小的3×3核心和64個特徵對映,然後是批量標準化層[32]和ParametricReLU [28]作為啟用函式。 我們用Shi等人提出的兩個經訓練的子畫素卷積層來增加輸入影象的解析度。[48]。
為了區分真實的HR影象和生成的SR樣本,我們訓練了一個鑑別器網路。 該架構如圖4所示。我們遵循Radford等人總結的架構指南。 [44]並使用LeakyReLU啟用(α= 0:2)並避免整個網路中的最大池化。 訓練鑑別器網路以解決方程2中的最大化問題。它包含8個漸進層,其中3×3濾波器核心數量增加,從VGG網路中的64到512個核心增加2倍[49]。 每次特徵數量加倍時,使用條紋卷積來降低影象解析度。 得到的512個特徵圖之後是兩個密集層和最終的S形啟用函式,以獲得樣本分類的概率。
2.2 感知損失函式
我們的感知損失函式lSR的定義對我們的生成器網路的效能至關重要。 雖然lSR通常基於MSE建模[10,48],但我們對Johnson等人進行了改進。 [33]和布魯納等人。 [5]並設計一個損失函式,評估關於感知相關特徵的解決方案。 我們將感知損失表示為內容損失(lXSR)和對抗性損失成分的加權和:
在下文中,我們描述了內容丟失lSRX和對抗性損失lGen SR的可能選擇。
2.2.1內容損失
畫素方式的MSE損失計算為:
這是影象SR最廣泛使用的優化目標,許多最先進的方法依賴於此[10,48]。 然而,在實現特別高的PSNR的同時,MSE優化問題的解決方案通常缺乏高頻內容,這導致具有過度平滑紋理的感知上不滿意的解決方案(參見圖2)。
我們不再依賴畫素損失,而是建立在Gatys等人的思想基礎之上。 [19],Bruna等。 [5]和約翰遜等人。 [33]並使用更接近感知相似性的損失函式。 我們根據Simonyan和Zisserman [49]中描述的預訓練的19層VGG網路的ReLU啟用層來定義VGG損耗。 用φi; j表示在VGG19網路內的第i個最大化層之前通過第j個卷積(啟用之後)獲得的特徵對映,我們考慮給出。 然後,我們將VGG損失定義為重建影象GθG(ILR)的特徵表示與參考影象IHR之間的歐氏距離:
這裡,Wi; j和Hi; j描述VGG網路內各個特徵圖的尺寸。
2.2.2 對抗損失
除了到目前為止所描述的內容損失,我們還將我們的GAN的生成元件新增到感知損失中。 這鼓勵我們的網路通過嘗試使用鑑別器網路來支援駐留在多種自然影象上的解決方案。 生成損失lGen SR是基於所有訓練樣本上鑑別器DθD(GθG(ILR))的概率定義的:
這裡,DθD(GθG(ILR))是重建影象GθG(ILR)是自然HR影象的概率。 為了更好的梯度行為,我們最小化 - 記錄DθD(GθG(ILR))而不是log [1 - DθD(GθG(ILR))] [22]。
3.實驗
我們在三個廣泛使用的基準標記資料集Set5 [3],Set14 [69]和BSD100(BSD300的測試集[41])上進行實驗。 所有實驗均在低解析度影象和高解析度影象之間以4倍的比例因子進行。 這相當於影象畫素減少了16脳。 為了公平比較,所有報告的PSNR [dB]和SSIM [58]測量都是在中心裁剪的y通道上計算的,使用daala package1從每個邊界去除4畫素寬的條帶。 參考方法的超分辨影象,包括最近鄰,雙三次,SRCNN [9]和SelfExSR [31],均來自黃等人[31]的補充線上材料和Kim等人的DRCN [3]。34。 使用SRResNet(損失:lSRMSE和lSRV GG / 2.2)和SRGAN變體獲得的結果可線上獲得4。 統計測試作為成對的雙側Wilcoxon符號秩檢驗進行,並且在p <0.05時確定顯著性。讀者也可能對GitHub5上獨立開發的基於GAN的解決方案感興趣。 然而,它僅在有限的一組面上提供實驗結果,這是一個更有限且更容易的任務。
訓練細節和引數
我們使用來自ImageNet資料庫的35萬張影象的隨機樣本,在NVIDIA Tesla M40 GPU上訓練所有網路[45]。這些影象與測試影象不同。我們通過使用下采樣HR影象(BGR,C = 3)來獲得LR影象具有下采樣因子r = 4的雙三次核。對於每個小批量,我們裁剪16個不同訓練影象的隨機96×96HR子影象。請注意,我們可以將生成器模型應用於任意大小的影象,因為它是完全卷積的。我們將LR輸入影象的範圍縮放到[0,1],並將HR影象縮放到[-1,1]。 MSE損失因此,在強度範圍[-1,1]的影象上計算。 VGG特徵圖也重新調整了112.75倍,以獲得與MSE損失相當的VGG損失。這相當於將等式5乘以重新縮放因子≈0.006。為了優化,我們使用Adam [36],其中β1= 0.9。對SRResNet網路進行了培訓,學習率為10-4和106更新
迭代。在訓練實際GAN時,我們使用經過訓練的基於MSE的SRResNet網路作為發生器的初始化,以避免不期望的區域性最優。所有SRGAN變體都以105次更新迭代進行訓練,學習率為10-4,另外105次迭代以10-5的較低速率進行訓練。我們對發生器和鑑別器網路進行了交替更新,相當於Goodfellow等人使用的k = 1。 [22]。我們的生成器網路有16個相同的(B = 16)殘餘塊。在測試期間,我們關閉批量標準化更新以獲得確定性地僅取決於輸入的輸出[32]。我們的實施基於Theano [53]和烤寬麵條[8]。
我們已經進行了MOS測試,以量化不同方法重建感知上令人信服的影象的能力。具體來說,我們要求26位評分者為超解析度影象分配從1(質量差)到5(優質)的積分。評分者在Set5,Set14和BSD100上評定了每個影象的12個版本:最近鄰居(NN),雙三次,SRCNN [9],SelfExSR [31],DRCN [34],ESPCN [48],SRResNet-MSE,SRResNet-VGG22鈭 梟梟rated ratedBSD100),SRGAN-MSE鈭 SRGAN-VGG22鈭 SRGAN VGG54和原始HR影象。每個評估者因此以隨機方式評估1128個例項(19個影象的12個版本加上100個影象的9個版本)。評估者在NN(得分1)和來自BSD300的20個影象的HR(5)版本上校準。訓練集。在一項初步研究中,我們通過在較大的測試集中新增兩次影象方法,評估了來自BSD100的10個影象的子集上的26個評估者的校準程式和測試 - 再測試可靠性。我們發現良好的可靠性並且相同影象的評級之間沒有顯著差異。評價者非常一致地將NN內插測試影象評定為1並且將原始HR影象評定為5(參見圖5)。
我們研究了不同內容丟失選擇對基於GAN的網路的感知損失的影響。具體來說,。
:使用標準MSE作為內容丟失來調查對抗性網路。
:對於φ2,2,在表示較低級別特徵的特徵對映上定義的損失。
:對於φ5,4,在更深層網路層的更高層特徵的特徵圖上定義了一個損失,更有可能關注影象的內容[68,65,40]。 我們在下面將此網路稱為SRGAN。
我們還評估了生成器網路的效能,沒有對抗元件的兩個損失lSRMSE(SRResNet-MSE)和lSRV GG / 2.2(SRResNet-VGG22)。我們將SRResNet-MSE稱為SRResNet。注意,在訓練SRResNet-VGG22時,我們增加了額外的總變異損失,重量為2脳10鈭鈭lSRVGG / 2.2 [2,33]。定量結果總結在表1中,視覺示例在圖6中提供。甚至與對抗性結合損失,MSE提供具有最高PSNR值的解決方案,然而,在感知上相當平滑且不如使用對視覺感知更敏感的損失成分所獲得的結果更具說服力。這是由基於MSE的內容丟失與對抗性損失之間的競爭引起的。我們進一步歸因於小重建我們在少數基於SRGAN MSE的重建中觀察到的工件與那些相互競爭的目標。對於Set5上的MOS分數,我們無法確定SRResNet或SRGAN的顯著最佳損失函式。然而,就MOS而言,SRGAN-VGG54在Set14上顯著優於其他SRGAN和SRResNet變體。我們觀察到使用更高的趨勢與蠁2,2相比,水平VGG特徵圖蠁5,4產生更好的紋理細節(參見圖6)。補充材料中提供了通過SRRAN而不是SRResNet進行感知改進的更多示例。
我們將SRResNet和SRGAN的效能與NN,雙三次插值和四種最先進的方法進行了比較。 定量結果總結在表2中,並確認SRResNet(就PSNR / SSIM而言)在三個基準資料集上設定了新的技術水平。請注意,我們使用了一個公開可用的評估框架(參見第3.1節),報告 因此,這些數值可能會略微偏離原始檔案中報道的數值。
我們進一步獲得了SRGAN的MOS評級和BSD100的所有參考方法。 使用SRResNet和SRGAN超級分辨的影象示例在補充材料中描述。 表2中顯示的結果證實SRGAN大大超過所有參考方法,併為照片真實影象SR設定了新的技術水平。 MOS的所有差異(參見表格
2)除了SRCNN vs.SelfExSR之外,在BSD100上具有高度重要性。 所有收集的MOS評級的分佈總結在圖5中。
============================ 概括總結 ================================================
儘管利用CNN做影象超分辨在速度和精度上都有了突破,然後關鍵的問題在於做高倍超分辨的時候恢復精細的紋理很有挑戰。當前的工作基本利用MSE做損失函式,但是產生的結果經常缺失高頻細節,感知效果不好。本文首次提出利用生成對抗網路做高倍率超分辨,提出利用內容損失(perceptual loss) 和對抗損失(adversarial loss).
網路結構:
網路結構如上圖所示:
GAN的生成器:殘差塊+卷積層+BN層+ReLU
GAN的判別器:VGG+LeakyReLU+max-pooling
SRGAN是在SRResnet的基礎上加上一個鑑別器。GAN的作用,是額外增加一個鑑別器網路和2個損失(g_loss和d_loss),用一種交替訓練的方式訓練兩個網路。
模型可以分為3部分:main(生成)模組,adversarial模組,和vgg模組。只在訓練階段會用到adversarial模組進行計算,而在推斷階段,僅僅使用G網路。
對任何一個問題,都可以讓訓練過程“對抗化”。“對抗化”的步驟是:先確定該問題的解決方法,把原始方法當成GAN中的G網路 ,再另外增加一個D網路(二分類網路),在原來更新main模組的loss中,增加“生成對抗損失”(要生成讓判別器無法區分的資料分佈),一起用來更新main模組(也就是GAN中的G網路),用判別損失更新GAN中的D網路。[1]
SRGAN的損失函式
SRGAN損失包括兩部分:內容損失(content loss)和對抗損失(adversarial loss),用一定的權重進行加權和。
content loss
傳統的MSE loss,可以得到很高的信噪比,但是這樣的方式產生的影象存在高頻細節缺失的問題
作者定義了以預訓練19層VGG網路的ReLU啟用層為基礎的VGG loss,求生成影象和參考影象特徵表示的歐氏距離。在已經訓練好的VGG網路上提出某一層的feature map,將生成的影象和真實影象的這次一層輸出的feature map比較。
adversarial loss
生成讓判別器無法區分的資料分佈。
公式背後的數學意義就是MSE+GAN,每個佔一定部分的權重,分別表示空間的相似性、判別器看到的相似性。結合程式碼實現,更便於理解SRGAN的損失函式。
實驗結果:
以下是用不同的content loss做的試驗結果:
其中,
SRGAN-MSE表示對抗網路中content loss只用MSE
SRGAN-VGG22表示(i=2, j=2)表示定義在low-level特徵圖上的loss
SRGAN-VGG54表示(i = 5, j = 4)表示定義在high-level特徵圖上的loss。
SRResNet-MSE表示只用生成器,沒有判別器(即不用adversarial loss),生成器的損失函式為MSE,簡記為SRResNet
SRResNet-VGG22表示只用生成器,沒有判別器(即不用adversarial loss),生成器的損失函式為VGG low-level特徵圖上的loss。
從試驗結果可以看出,SRResNet的PSNR最高,而SRGAN的看著更真實。
參考文件:https://www.cnblogs.com/qinduanyinghua/articles/10654954.html