張賀舒,李 濤,宋公飛,2,3
1.南京信息工程大學 自動化學院,南京210044
2.化工過程先進控制和優化技術教育部重點實驗室,上海200237
3.南京信息工程大學 江蘇省大氣環境與裝備技術協同創新中心,南京210044
超分辨率(Super-Resolution,SR)[1]技術是指從觀測到的低分辨率圖像重建出相應的高分辨率圖像。高分辨率圖像具有更高的像素密度,能提供更多的色調、形狀、紋理等細節信息,帶來更好的視覺體驗。現有SR根據輸入信息不同可分為兩類:從多張低分辨率圖像重建出高分辨率圖像(多幀圖像超分辨)和從單張低分辨率圖像重建出高分辨率圖像(單幀圖像超分辨)。單幀圖像超分辨(Single Image Super-Resolution,SISR)利用單幅圖像進行超分辨重建,克服了圖像序列難以獲得和時序性不夠的問題。單幀圖像由于缺乏多幀圖像間的關聯信息,難以獲取圖像降質的先驗信息而成為圖像超分辨重建的難點。SISR 是一個逆問題,對于一張低分辨率圖像可能存在許多不同的高分辨率圖像與之對應,為了讓逆向圖片的結果更接近真實圖片,需要讓模型在現有的低分辨率像素的色度信息和位置信息約束條件下,在指定領域中來進行可逆訓練。傳統方法如頻域、插值、最大后驗概率法等用于SISR時,往往只能提高圖像中局部區域的清晰度,對圖像整體則會產生鈍化、模糊的效果?;谏疃葘W習的SR主要是SISR,為了讓模型能夠更好地學習和利用約束條件,神經網絡直接優化低分辨率圖像到高分辨率圖像的損失函數進行端到端訓練。文獻[2]最先提出使用卷積神經網絡實現圖像超分辨(Super-Resolution Convolutional Neural Network,SRCNN),SRCNN包含特征提取層、非線性映射層和重建層,實驗效果明顯優于傳統算法,但該方法使得網絡計算量大、運算周期長。文獻[3]提出快速超分辨率卷積神經網絡(Fast Super-Resolution Convolutional Neural Network,FSRCNN),增加了網絡的深度,以低分辨率圖像作為網絡的輸入,使用反卷積運算將低尺寸的高維特征圖轉換為高分辨率圖像,效果和速度較SRCNN 均有提升。
在圖像放大四倍及以上時,上述網絡所得到的結果會顯得有些平滑,缺少一些細節上的真實感。原因是這些網絡使用的代價函數是基于像素點的最小均方差(Mean Square Error,MSE),使得重建結果有較高的信噪比,但缺少高頻信息,出現過度平滑的紋理。2016年Ledig等人提出了基于生成對抗網絡(Generative Adversarial Network,GAN)的圖像超分辨重建算法(Super Resolution Generative Adversarial Network,SRGAN)[4],利用生成對抗網絡和感知損失函數使得重建的高分辨率圖像與真實的高分辨率圖像無論是在低層次的像素值還是高層次的抽象特征及整體概念和風格上都很接近。文獻[5]提出了一種可以無監督學習聯合分布的耦合生成對抗網絡(Coupled Generative Adversarial Networks,CoGAN)。Berthelot等人針對GAN在訓練中難以收斂、容易出現模式坍塌[6]等缺點,提出一種邊界平衡生成對抗網絡(Boundary Equilibrium Generative Adversarial Networks,BEGAN)[7]。
受以上工作啟發,本文提出一種改進的單幀圖像超分辨率重建算法,主要工作和創新點為:(1)將CoGAN經調整改進后應用于圖像超分辨重建;(2)引入自注意力增強卷積,兼顧圖像中每個位置及其遠端的細節,提升圖像的重建效果;(3)對生成器和判別器的學習能力做出平衡,在圖像的多樣性和生成質量間做出平衡;(4)使用相對判別損失函數作為來自對抗神經網絡的目標函數,使得網絡結構更加穩定,生成更高質量的圖片;(5)與傳統對抗神經網絡使用隨機向量作為網絡輸入不同,將低分辨率圖像作為輸入,實現四倍上采樣的圖像超分辨率。
生成對抗網絡由Goodfellow 等[8]在2014 年第一次提出,是生成式模型最新也是目前最為成功的一項技術。
GAN的主要思想是自由博弈論[9]中的零和博弈,通過兩個玩家的對抗實現學習。博弈雙方為生成器網絡和判別器網絡,生成器的主要工作是學習訓練樣本的數據分布,生成樣本,盡可能使其看上去與訓練樣本一致。判別器是一個二分類模型,目的是準確判斷輸入樣本是否屬于真實的訓練樣本。假設網絡輸入為z,則生成器的輸出為G(z),判別器的輸出根據輸入不同可分為D(x)和D(G(z)),理想情況下D(x)=1,D(G(z))=0。上述博弈過程可表示為如下目標函數:

式(1)中V(D,G) 是生成對抗網絡整體的目標函數,V(D,G)是生成器的目標函數,V(D,G)是判別器的目標函數。生成器和判別器的訓練過程交替進行,更新一方參數時,另一方參數固定住不更新。固定住生成器,對判別器進行更新:優化判別器D網絡,使其對真實輸入判別結果D(x)盡可能大,對生成器輸出判別結果D(G(z))盡可能小,即求目標函數V(D,G)的最大值;固定住判別器,對生成器進行更新:優化生成器G網絡,盡可能欺騙判別器,讓判別器判斷生成器生成結果為真的概率D(G(z))趨于1,即求目標函數V(D,G)的最小值。具體實現流程如圖1所示。

圖1 生成對抗網絡
通常情況下,判別器的學習能力優于生成器[10],且生成器和判別器的學習能力并不固定,會隨著學習程度而變化,本文在訓練網絡時使用了動態學習率來改善這一問題,盡可能保持生成器和判別器訓練同步。
耦合生成對抗網絡將兩個GAN 組合在一起,每個GAN 針對一個圖像域(image domain),本質上GAN 學習的圖像分布p(x′)要足夠逼近訓練樣本分布p(x),則任意輸入噪聲到訓練好的生成器中,都能生成足夠像訓練樣本的圖像。在CoGAN 中,因為涉及到域自適應(domain adaption)問題,將單個分布p(x)拓展到聯合分布p(x,y)上。在傳統domain adaption 中,需要學習或訓練一個域適配器(domain adaptor),而domain adaptor需要用源域(source domain)和對應的目標域(target domain)的訓練圖片來訓練。如果直接訓練這兩個GAN,那么CoGAN得到的是這兩個邊際分布的內積而不是聯合分布即p(x,y)!=p(x)p(y)。因此CoGAN 通過對網絡加上無監督的權值共享約束同時求解邊界分布的內積分布解使得其可以在兩個domain不存在對應圖像(corresponding images)的情況下實現無監督的學習一個聯合分布,如可以學習圖片的顏色和深度兩個不同屬性的聯合分布。

圖2 生成網絡結構圖
受以上文獻所做工作的啟發,本文設計了耦合生成式對抗超分辨率重建算法來完成單幀圖像超分辨重建任務。通過構建兩個生成器和兩個判別器,共享輸入進行同步訓練,訓練方法與經典GAN 網絡類似。為了實現更好的圖像超分辨重建效果通過“耦合”的方式對生成器2進行指導,“耦合”穿插在正常訓練中。D1(Gen_1)和D2(Gen_2)分別為生成器1和生成器2的生成數據是否為真的判別結果,定義:

當e≤0 時認為生成器1重建后圖像更為真實,此時拉近生成器2 到生成器1 的距離,將生成器1 網絡層前幾層的權值共享給生成器2,使得生成器2 獲得更優的高頻細節特征。當e >0 時認為生成器2 重建后的圖像更加真實,則不進行權值共享。
本文中設計每單獨訓練生成器兩次(無權值共享),根據e的大小判斷是否“耦合”訓練(e≤0 權值共享,e >0 不發生改變)一次。經典的對抗式訓練能夠拉近生成器生成的分布和真實的數據分布之間的距離,而本文中穿插“耦合”訓練的方式不僅能夠拉近生成器1 和生成器2分布之間的距離,指導生成器2的數據生成,提高生成器2 的學習能力,而且降低了網絡的參數量,提高模型的收斂速度。
由于本文設計的生成網絡中生成器間共享輸入且會發生“耦合”即權值共享的情況,很可能會發生兩個生成器間生成的分布重合,因此,設計網絡時進行了隨機權值初始化,對于不會發生權值共享的生成網絡卷積層使用不同尺寸的卷積核,訓練過程中兩個生成器始終保持生成結果的差異,沒有發生重合的情況。判別器的輸出很大程度上影響了網絡訓練過程中是否會出現“耦合”訓練的情況,設計兩判別器具有完全相同的網絡結構。
以下從網絡結構和損失函數設置兩個部分進行詳細介紹。
使用深度殘差網絡作為生成網絡,深度卷積網絡作為判別網絡。網絡框架結構如圖2、圖3所示。
如圖2所示,生成網絡由淺層特征提取[11]模塊、基于殘差塊[12]的特征提取模塊、基于自注意力增強卷積[13]的深層特征提取模塊、圖像上采樣模塊和圖像重建模塊五部分組成。當生成器間發生“耦合”時,生成網絡中高層語義信息進行權值共享,一方面保證GAN 的生成器能夠解碼出高層的語義信息,另一方面使得生成器中解碼底層細節的層可以將共性的表達轉換成各自domain中不同的內容,進而混淆判別器。由此生成網絡學習低分辨輸入圖像ILR到高分辨圖像IHR之間的映射關系,進而重建出與ILR對應的超分辨圖像ISR,具體操作如下。
(1)淺層特征提?。簭牡头直鎴D像ILR中提取小塊,將每個小塊表示為相應的高維向量,這些向量即為提取的淺層特征。通過一組卷積核對圖像進行卷積操作,激活函數為PReLU。
(2)深層特征提取:將上一步驟中的高維向量非線性映射到另一高維向量,得到的每個映射向量為重建的高分辨率圖像小塊的表示。通過16組殘差塊(Residual Block)、一組自注意力增強卷積(Augmentedconv)、批歸一化實現。傳統卷積操作通過低分辨率圖像中的空間局部點來生成高分辨率細節特征,僅在局部鄰域上工作,可能會錯失全局信息。自注意力機制則可以在不增加參數的前提下獲取長范圍多層次的依賴交互關系,生成圖像時能夠協調好每個位置的細節和遠端的細節。自注意力增強卷積使用自注意力機制來增強卷積,將卷積特征圖(強制局部性)連接到自注意特征圖(能夠建模更長程的依賴),聯合注意空間子空間和特征子空間,引入額外的特征圖而不是進行精細化處理,納入相對位置信息的同時維持平移等效性。
(3)圖像上采樣:聚集高分辨小塊,利用兩個上采樣塊將圖像放大四倍。上采樣塊為“卷積+BN+PixelShuffle+PRELU 激活函數”操作,其中,PixelShuffle 算法[14]將大小為H×W的低分辨率輸入圖像經過Sub-Pixel操作轉變為rH×rW的高分辨率圖像,參數r為上采樣因子(upscaling factor)即圖像的擴大倍率,本文中r設置為2。
(4)圖像重建:經上采樣操作后的特征圖通過一層卷積層進行重建,生成高分辨率圖像ISR。
如圖3 所示,判別網絡由七層卷積層構成,前六層卷積層中每兩層的卷積核由64×64 遞增至512,提取圖像特征,最后將提取的512維特征輸入到一個卷積核為1的卷積層。判別網絡的輸入是生成器的輸出IHR或真實的高分辨圖像ISR,與以往GAN中判別器作為分類器輸出真或假的結果不同,本文中判別器的輸出仍是與輸入同樣尺寸的圖像形式。

圖3 判別網絡結構圖
生成對抗網絡的性能的發揮很大程度上取決于損失函數的定義和使用。針對本文設計的網絡模型,最終的損失值由輸入圖片自身內容方面的損失值和來自對抗神經網絡的損失值共同組成。自身內容方面的損失值包括基于像素點的損失值和基于特征空間的損失值。
3.2.1 生成器損失函數
設計生成器損失函數如式(3)所示,各項具體含義如下:

IHR(x,y)為真實高分辨率圖像,ILR(x,y)為低分辨率圖像,h、w、r為圖像的長、寬、通道數,G(ILR(x,y))為生成器重建后的圖像。
(2)基于特征空間[15]的感知損失函數,利用訓練好的VGG19 網絡[16]計算網絡生成的圖像IHR和真實高分辨率圖像ISR的相應特征值,然后通過特征圖歐式距離來計算相應的損失函數:

φ(i,j)為第i個池化層之前第j個卷積所得到的特征映射,W(i,j)、H(i,j)為φ的維度。
(3)來自對抗神經網絡的損失值能夠評價生成器生成的圖片IHR和真實圖片ISR之間的相似性。本文采用相對損失函數,評估給定的實際數據比隨機抽樣的假數據更真實的概率,融合兩層特征更好地明確了損失函數改進的方向,GAN的結構更加穩定。
假設傳統GAN 中生成器的損失函數為如式(6)所示,結合相對判別本文改進為式(7)形式:

g1、g2為標量函數,ISR為重建后的高分辨率圖像,D(ISR)為判別器判斷重建后的圖像是真實圖像的。
3.2.2 判別器損失函數
在對抗網絡訓練中,判別器的學習能力遠遠強于生成器,針對這一問題,本文除了在訓練過程中使用動態學習率以外,在設置判別器損失函數時對生成器和判別器的能力做出平衡。具體損失函數lD設計如式(8)~(12):

f1、f2為標量函數。L(.)為L1 范數損失函數。pi+1為pi的更新,參數p平衡生成器和判別器的學習能力。γ是生成樣本損失的期望和真實樣本損失的期望的比值,能夠在生成圖像的多樣性和生成質量間做出平衡。
實驗中使用數據集為針對本文提出的網絡結構,使用DIV2K數據集中的800張訓練圖片作為訓練集,分別在Set5 數據集、Set14 數據集、BSD100 數據集上進行測試。將訓練集中的圖片使用雙三次插值方法進行4 倍下采樣操作得到的低分辨率圖片作為網絡輸入。使用Adam 優化器,每迭代2 000 次,學習率衰減為1/10。對重建結果使用評價指標圖像峰值信噪比(Peak Signalto-Noise Ratio,PSNR)和圖像結構相似度(Structural Similarity,SSIM)進行量化評估。與代表方法如雙三次線性插值(Bicubic)方法、SRCNN方法、FSRCNN方法以及SRGAN重建效果進行對比。運行環境為Pytorch1.0,16 GB RAM,顯卡為NVIDIA GeForce 2080。
本文算法中生成器生成結果分別用Gen_1和Gen_2表示,Gen_2為網絡中接收權值共享的對抗網絡生成器的輸出。
4.2.1 自注意力增強對模型性能的影響
為了驗證生成網絡中自注意力增強的使用對模型最終重建能力的影響,在保證其他條件相同的情況下,使用卷積代替本文中的自注意力增強卷積的模型attent在Set5數據集上進行測試,如圖4所示。計算得到重建4倍后的圖像與真實圖像的PSNR和SSIM值,結果如表1。
由表1可知,使用自注意力增強模塊使得生成圖像的PSNR和SSIM值都有一定提高。
4.2.2 相對損失對模型性能的影響
損失函數設置的好壞很大程度上影響了模型的最終重建效果,為此在Set14 數據集上訓練了本文模型和未使用相對判別器的輸出為損失的模型relat 進行損失函數選擇的對比實驗。實驗對比圖如圖5所示,量化指標對比如表2所示。

圖4 自注意力增強模塊使用的重建效果對比圖

表1 自注意力增強模塊在Set5數據集上的測試結果

圖5 相對損失使用的重建效果對比圖

表2 相對損失在Set14數據集上的測試結果
由圖5可知,模型使用相對損失重建出的花朵圖像高頻信息更加豐富,邊緣銳化效果較好。由表2 中可知,模型使用相對損失重建出的圖像取得更高的PSNR、SSIM值。從視覺效果和量化指標均證明相對損失更加適合超分辨重建任務。
4.2.3 平衡學習能力對模型性能的影響
生成器和判別器訓練程度的差異直接影響模型最終重建效果,將平衡了生成器和判別器學習能力的本文模型和未平衡的模型balan進行對比,如圖6所示,定性對比如表3所示。

圖6 平衡學習能力方法使用的重建效果對比圖

表果
圖6 中,紅色方框標出為感興趣部分,本文方法中在重建花瓣等高頻細節中做得更好。由表3 可知本文方法重建的圖像在PSNR 和SSIM 指標上較模型balan都有提高。以上均證明了平衡生成器和判別器學習能力這一方法在實現圖像超分辨重建上的有效性。
網絡訓練共進行了20 萬次左右迭代,經過16 萬次迭代后,各項參數逐步收斂。本文方法較雙線性插值(Bicubic)方法在PSNR 和SSIM 值上提升約2.8 dB、0.08,和SRGAN相比提升約0.75 dB、0.04。實驗說明了本文提出的耦合生成式對抗超分辨率重建算法在單幀圖像超分辨重建上的有效性。
超分辨重建視覺結果對比如圖7~9,對圖像細節部分進行了局部放大,被紅色矩形框標注的是感興趣區域。從圖中可以看出,本文方法重建后的圖像和Bicubic、SRCNN、FSRCNN 方法重建的圖像相比,輪廓更加清晰;和SRGAN方法相比,Set5數據集中選取示例圖像baby(圖7),本文算法中圖像眼部的睫毛以及帽子上的線條更加清晰;Set14 數據集中選取圖像baboon(圖8),本文生成圖像面部的毛發和嘴部的胡須細節更加明顯;BSD100 數據集中選取1 號石像(圖9),本文算法生成的石像的眼部上方和底部鋸齒花紋的紋理細節信息更加豐富,且SRGAN 生成的石像眼部上方類似于牙齒的形狀處出現了明顯的模糊和缺陷,這也是GAN網絡在生成圖像結果方面的一個顯著缺陷,本文算法在一定程度上改善了這一問題。結合在Set5、Set14 和Set100數據集上的實驗結果,本文算法生成的圖像更接近真實的高分辨圖片。
使用Inception Score(IS)評估標準針對本文提出的方法和SRGAN生成的圖像做平均評估,評估結果如表4所示,與SRGAN 相比本文算法中IS 值提升約0.4,這說明了本文算法模型具有優良性質,生成圖片的清晰度和多樣性更好,能夠增強生成圖像的質量。

圖7 Set5數據集超分辨重建效果對比圖

圖8 Set14數據集超分辨重建效果對比圖

圖9 BSD100數據集超分辨重建效果對比圖

表4 IS值對比圖
本文使用評價指標圖像峰值信噪比PSNR 和圖像結構相似度SSIM對重建結果進行量化評估。PSNR反映兩幅圖像間像素點的誤差,值越高,誤差越小,則重建圖像質量越高。
SSIM 代表重建圖像和真實圖像間的結構相似性,其值越接近于1,兩者結構越相似,重建效果越好。

l(x,y)、c(x,y)、s(x,y)表示圖像的亮度、對比度、結構相似性。
在放大因子為4的情況下,將本文算法重建后的圖像與bicubic、SRCNN、FSRCNN方法重建圖像的PSNR、SSIM值進行對比,如表5、表6所示??梢?,本文方法在數據集Set5、Set14、BSD100上均取得了優異的結果,本文方法較結果最好的SRGAN 在PSNR 和SSIM 值上提高約0.75 dB、0.04。由此可證明本文算法結果優異。在Set14 和BSD100 數據集上,Gen_2 較Gen_1 結果更好,證明了本文方法在實現圖像超分辨重建上的有效性。

表5 各數據集上超分辨重建結果PSNR值對比 dB

表6 各數據集上超分辨重建結果SSIM值對比
本文提出了一種耦合生成式對抗超分辨率重建算法對單幀圖像進行超分辨重建。生成器中使用了自注意力增強卷積,判別器中使用相對損失函數,提高生成樣本的多樣性和生成質量。對生成器和判別器的能力做出平衡,使得網絡訓練更加穩定快速。在Set5 數據集、Set14數據集、BSD100數據集上進行實驗,相較于其他超分辨方法,本文提出的方法在重建細節和圖像邊緣銳化方面做得更好,在PSNR 值和SSIM 值上都有一定的提升。使用IS 值作為GAN 生成圖像評估標準,將本文方法與SRGAN生成圖像做對比,在IS值上提升超過0.4,提高了生成圖像的多樣性。以上均證明了本文提出的方法在圖像超分辨率重建方面的有效性。在大多數情況下本文方法中生成器2 表現優于生成器1,但在數據集Set5上生成器1表現較好,后期工作將探究這一現象的原因。