?

基于拉普拉斯金字塔生成對抗網絡的圖像超分辨率重建算法

2021-04-20 14:06段友祥張含笑孫歧峰孫友凱
計算機應用 2021年4期
關鍵詞:殘差金字塔尺度

段友祥,張含笑*,孫歧峰,孫友凱

(1.中國石油大學(華東)計算機科學與技術學院,山東青島 266580;2.中國石化勝利油田分公司物探研究院,山東東營 257000)

0 引言

超分辨(Super-Resolution,SR)技術是指從一幅或多幅低分辨率(Low Resolution,LR)圖像中重建高分辨率(High Resolution,HR)圖像的過程,在現實世界中應用廣泛,如醫學成像[1]、監視與安全[2]等。目前超分辨率算法大致分為三類:基于插值、基于重建和基于學習?;诓逯档乃惴ㄒ子诓僮?,計算快捷,如雙三次插值、最近鄰插值[3-4],但這類算法重建效果較差,鋸齒狀邊緣明顯[5];基于重建的算法利用圖像自相似性特點加以約束,重建效果較好,但無法滿足較大分辨率圖像重建的需求[6];基于學習特別是深度學習[7-9]的算法克服前兩種算法的局限性,通過設計、改進多種網絡結構和訓練策略,極大地提高了超分辨率重建的效率和質量。

Dong 等[10]首次提出了用于超分辨率重建的卷積神經網絡(Super Resolution Convolutional Neural Network,SRCNN),直接學習低分辨率與高分辨率圖像之間的端到端映射,重建效果優于傳統算法;但SRCNN 使用雙三次插值后的圖像作為輸入,增加了計算時間和內存消耗,不利于較大尺度因子圖像的高質量重建[11]。Lai 等[12]設計了深度拉普拉斯金字塔超分辨率重建網絡(fast and accurate image Super-Resolution with deep Laplacian pyramid Network,LapSRN),以漸進上采樣的方式提高網絡重建大尺度因子的能力,在多個尺度的圖像重建工作中取得了突破,也給予我們很大的啟發。但采用CNN模型重建后的HR 圖像大多會產生過于平滑的結果,重建圖像缺少高頻細節,導致較差的視覺質量[13]。近年來,得益于強大的特征學習和表達能力,生成對抗網絡(Generative Adversarial Network,GAN)[14]在超分辨率重建領域中取得了突破性進展。Ledig 等[15]構建了用于超分辨率重建的生成對抗網絡(Super-Resolution Generative Adversarial Network,SRGAN),在恢復更加真實紋理細節的同時很好地避免了邊緣偽影,是追求視覺效果的里程碑之一。Wang 等[16]在SRGAN 框架的基礎上改進了特征提取和對抗損失函數等模塊,提出了增強的超分辨率生成對抗網絡(Enhanced Super-Resolution Generative Adversarial Network,ESRGAN),進一步提高了重建圖像的視覺質量。Wang 等[17]提出了單幅圖像超分辨的全漸進方法(fully Progressive approach to single-image Super-Resolution,ProGANSR),以殘差學習的方式穩定了網絡訓練,再次證明了GAN 應用于超分辨率重建領域中的可行性。

盡管生成對抗網絡在超分辨率重建中表現優秀,但仍未能完全解決重建大尺度因子困難、不同尺度的圖像重建均需要單獨訓練的難題[18]。為解決以上難題,增強超分辨率網絡的靈活性,本文基于GAN 框架,提出了基于拉普拉斯金字塔生成對抗網絡的超分辨率重建算法。該算法的意義在于:將拉普拉斯金字塔結構的生成對抗網絡應用于超分辨率工作中,降低了大尺度因子的學習難度,滿足了單個網絡重建不同尺度圖像的需求;算法利用金字塔結構相似性實現參數共享,通過層與層之間的密集連接改善梯度傳播,結合殘差學習的方法加快了網絡收斂;將馬爾可夫判別器PatchGAN[19]作為網絡判別器,改變傳統判別器單一數值輸出的特點,以輸出矩陣的方式引導更高質量的圖像重建。

1 相關工作

1.1 圖像金字塔

圖像金字塔是一種以多分辨率進行圖像解釋的概念結構,主要有向下采樣的高斯金字塔(Gaussian Pyramid,GP)[20]和向上采樣的拉普拉斯金字塔(Laplacian Pyramid,LP)[21]兩種類型。高斯金字塔是通過對一張圖像逐級下采樣而獲得的圖像集合;拉普拉斯金字塔是一系列殘差圖像的集合,記錄了高斯金字塔相鄰兩層的信息差值(下采樣后再上采樣與下采樣前的差異)。假設I為R×C大小的數字圖像:

高斯金字塔定義為:G(I)=(G0(I),G1(I),…,GN(I)),其中,G0(I)=I,是金字塔的最底層(即原始圖像),第N層是最高層。已知高斯金字塔第l-1 層圖像為Gl-1(I),則第l層的圖像Gl(I)由式(1)生成得到。

其中:(i,j)表示像素值,0 <i≤Rl,0 <j≤Cl,Rl為金字塔第l層圖像的行數,Cl為金字塔第l層圖像的列數;w為高斯低通濾波器;(m,n)為高斯核大小。

拉普拉斯金字塔定義為:L(I)=(L1(I),L2(I),…,LN(I)),其中N是層數。金字塔第l層圖像Ll(I)由式(2)生成:

其中:expand(·)是放大算子;?是卷積操作;?5×5是5× 5大小的高斯內核。拉普拉斯金字塔可用于從金字塔底層圖像中重構上層未采樣圖像,是以多分辨率解釋圖像的有效手段,被廣泛應用于超分辨率、紋理合成[22]、圖像生成[23]等視覺任務中。

1.2 生成對抗網絡

生成對抗網絡是用于訓練生成模型的機器學習框架,由蒙特利爾大學的Ian Goodfellow等學者提出。

如圖1所示,GAN 結構將兩個網絡對立起來:用于捕獲數據分布的生成器網絡(G),用于判斷接受樣本是否“真實自然”的判別器網絡(D)。D與G二者作為互相對抗的目標,利用單獨交替迭代訓練的方式,不斷優化生成器模型,達到以假亂真的效果。GAN 訓練的目標函數V(D,G)定義如式(3)所示。

其中:x為真實數據;z為噪聲數據;G(z)表示生成器生成的圖片;D(x)表示判別器判斷圖片為真的概率;E為真實數據x和噪聲數據z的數學期望。

圖1 生成對抗網絡結構Fig.1 Generative adversarial network structure

2 本文模型結構

本文方法受文獻[12]的啟發,設計生成器為拉普拉斯金字塔結構,由特征提取分支和圖像重建分支兩部分組成,兩者互相配合實現多個尺度圖像的超分辨率重建。為了豐富重建圖像的細節特征,本文設計判別器為全卷積神經網絡,將輸入數據映射為N×N的判定矩陣,并以聯合內容損失與對抗損失的方式引導優化網絡參數。

2.1 生成器網絡

與文獻[12]中使用簡單堆疊卷積層提取特征的方式不同,本文生成器將密集的跳躍連接[24]引入到特征提取模塊,充分利用原始低分辨率圖像的分層信息,避免了深層網絡訓練中的梯度消失問題。生成器使用亞像素卷積[25]作為上采樣層,將低維特征映射到高維空間,與文獻[12]中使用的轉置卷積相比,亞像素卷積增加了感受野大小,有利于梯度的優化,并為高分辨率圖像的重建提供了更多的上下文信息。具體生成器網絡結構如圖2 所示,包括特征提取和圖像重建兩個分支。

圖2 生成器網絡結構Fig.2 Generator network structure

2.1.1 特征提取分支

如圖2 所示,特征提取分支將網絡結構進行分級,逐步預測lbS級的殘差圖像,其中,S為尺度因子。網絡首先使用64個大小為3×3 的卷積核學習低分辨率圖像的淺層特征,并將運算得到的特征圖作為金字塔第一層的輸入。金字塔每一層的結構均保持一致,由密集塊、殘差學習層、亞像素卷積層、殘差圖像提取層組成,具體介紹如下:

1)密集塊:密集塊結構如圖3 所示,由批規范化、LeakyReLU 激活函數、3×3 卷積重復串聯而成,且層與層之間均建立了連接,方便前面層的輸出以特征級聯的方式傳遞給后面每一個層,進而加強特征的復用和傳播。隨著網絡的加深,密集連接的方式難免會造成特征的冗余,為了減輕網絡負擔、降低特征映射的數量,本文在密集塊后端加入過渡層。過渡層由批規范化,LeakyReLU 激活函數、1×1 卷積和2×2 平均池化組合而成,卷積和池化操作可以對數據進行壓縮降維。假設輸入過渡層的特征圖數量為m,則經過渡層后輸出的數量為θm,其中θ為壓縮系數,取值范圍(0,1],為平衡特征數量,本文實驗設定θ=0.5。

圖3 密集塊結構Fig.3 Dense block structure

2)殘差學習層:在對特征圖進行上采樣之前,利用跳躍連接的方式,將淺層卷積學習到的低階特征疊加到經密集塊后學習到的高階特征中,進行殘差判斷,這有利于梯度的保持和網絡模型的收斂。

3)亞像素卷積層:本文選用5×5 大小的亞像素卷積層作為上采樣層,對輸入的低分辨率特征圖FLR進行擴充處理,可以有效縮短圖像重建的時間。上采樣過程如式(4):

其中:ISR為上采樣后得到的高分辨率圖像;PS(·)為周期性混洗算子。該層的結果一方面輸出到金字塔下一層繼續提取特征,另一方面用于該層級殘差圖像的學習。

4)殘差圖像提取層:使用3 個3×3 大小的卷積核對上采樣后的特征圖進行殘差預測,并將殘差圖像用于圖像重建中。

2.1.2 圖像重建分支

圖像重建分支使用亞像素卷積層對輸入的低分辨率圖像進行2 倍上采樣,并與卷積運算后得到的殘差圖像結合生成高分辨率圖像,最后將本層級生成的高分辨率圖像作為金字塔下一層級上采樣的基礎圖像,執行相同的操作。定義目標上采樣因子為s,則金字塔共有P=lbs層,假設第p層輸入的低分辨率圖像為xp,經卷積運算后得到的殘差圖像為rp,重建得到的高分辨率圖像為y′p,則圖像重建過程由式(5)可得。

其中up為上采樣運算。利用這種漸進式重建的特點,在得到放大8 倍后的圖像重建結果時,也可以得到放大2 倍、4 倍后的重建圖像,實現了單個網絡生成多個尺度圖像的超分辨率重建。

2.2 判別器網絡

判別器設計為5 層全卷積神經網絡,選用卷積核大小為4×4、步幅為2的卷積層,用于增加感受野大小,加強模型探索重要信息的能力;同時利用最大池化操作縮減特征規模,提高網絡計算速度,結構如圖4 所示。本文判別器借鑒PatchGAN[20]的思想,將輸入映射為N×N的矩陣M,其中,矩陣上每一個元素Mi,j對應原圖中某個特定圖像塊Patchi,j的判定,判別器網絡取矩陣均值得最終判斷結果。

相比傳統GAN 的判別器,本文判別器允許任意大小的圖像作為輸入,網絡設計更加靈活,且通過對每個Patch進行判定,實現了局部圖像特征的提取,更加注重重建圖像的高頻信息,有利于促進生成器重建更高質量、更多細節的高分辨率圖像。

圖4 判別器網絡結構Fig.4 Discriminator network structure

2.3 損失函數

本文采用聯合對抗損失和內容損失的方式訓練生成器網絡,并針對金字塔的每一層級(即每一個尺度)均計算損失,用以指導多個尺度圖像的超分辨率重建。假設金字塔共p層,網絡整體損失函數LG如式(6)所示:

其中:LCont為內容損失函數;LAdv為對抗損失函數;λ為加權系數權重。

常用于超分辨率重建的內容損失函數有L1 損失[26]和L2損失[27]。為避免引入不必要的訓練技巧,本文選擇L1損失作為內容損失函數,其對于任意大小的異常值均使用固定的懲罰,受離群點影響較小,相比L2 損失可以獲得更加穩定的梯度和更快的收斂速度。內容損失函數如式(7)所示:

其中:s是目標上采樣因子;ILR是大小為R×C的低分辨率圖像。

本文算法參考SRGAN[16]的對抗損失函數,基于生成器和判別器的對抗機制,設計對抗損失LAdv如式(8)所示:

其中:DθD(GθG(ILR))為判別器將生成器生成的圖像判斷為真的概率。

3 實驗與結果分析

3.1 實驗過程

本文實驗在CPU 為Intel Xeon Gold 6126 @ 2.60 GHz,GPU 為NVIDIA Tesla P100,顯存為16 GB 的主機上進行。實驗平臺搭載的操作系統為CentOS 7.0、深度學習框架TensorFlow 1.12、CUDA 10.0。

實驗訓練使用的數據集為NTIRE2017 提供的DIV2K 訓練集,其中包含800 張訓練圖像、100 張驗證圖像和100 張測試圖像,訓練時利用雙三次插值算法得到下采樣8 倍的LR 圖像,作為生成器網絡的輸入。實驗采用基準數據集Set5、Set14、BSD100、Urban100進行測試,以檢驗算法的可行性。為保證高效的計算以及穩定的訓練,實驗選擇Adam 算法作為網絡優化器,批大?。╞atch_size)設置為16,epochs 設置為150,學習率初始值為10-4,并伴隨訓練的過程進行微調。本文出現的超參數分別為:θ=0.5,λ=0.1。

本文使用峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)、結構相似性(Structural SIMilarity,SSIM)作為重建圖像質量的客觀評價指標。峰值信噪比是基于圖像間的均方誤差(Mean Square Error,MSE)[28]進行計算,數值越高則表示圖像失真度越小。結構相似性分別從亮度、對比度、結構三方面度量圖像相似性,更加能反映出人眼的真實視覺感受,且SSIM 的取值越接近1 則表示重建效果越好。PSNR、SSIM 計算公式見式(9)、(10)。

其中:y為原HR圖像;y′為生成器重建后的HR圖像;R、C分別為HR 圖像的行數、列數;fMSE為均方誤差函數。fMSE的表達式為:

其中:μy、μy′代表圖像y與圖像y′的平均灰度值;σy、σy′代表圖像y與圖像y′的方差;σy′y為協方差;A1、A2為常數。

此外,本文在Set5、Set14 等4 個測試集上,以重建全部圖像時間的平均值作為比較對象,對不同超分辨率算法的重建時間效率進行了比較,重點測試了當放大倍數為4 時各算法的時間性能表現。

3.2 結果分析

首先,為驗證本文算法的有效性,將其與Bicubic、SRCNN、LapSRN、SRGAN、ESRGAN、ProGANSR 共6 種算法進行了客觀數據PSNR、SSIM的比較,結果見表1~3。

從表1~3 可看出:基于深度學習的SR 算法性能明顯優于Bicubic 傳統算法,且基于GAN 框架的SR 算法可以獲得較高的PSNR、SSIM 值,本文算法在以上數據集的測試中均優于其他算法。從表2 可以看出,當放大尺度為4 時:相比SRCNN、LapSRN,本文算法的PSNR、SSIM 值均有大幅度提升;相比SRGAN、ProGANSR,本文算法的平均PSNR 值大約提升0.2~1.0 dB,SSIM值大約提升0.01~0.04;相比ESRGAN,本文算法提升并不明顯,僅有略微增加。但當放大尺度為8時,其他SR算法的性能均下降明顯,本文算法仍取得了較高的PSNR、SSIM 值,且相比ESRGAN,PSNR 值也提升了大約0.06~0.15 dB,如表3所示。實驗結果表明,本文算法重建的多尺度HR 圖像擁有更高的PSNR、SSIM 值,在重建較大尺度因子的圖像時更具優勢,滿足了不同尺度的圖像超分辨率重建的需求。

其次,對算法的運行效率進行了測試,表4 給出了當放大尺度為4 時,本文算法與其他SR 算法在4 個測試集上的平均運行時間比較。從表4可看出,Bicubic算法用時最短,這與其簡單的插值方式有關,而基于深度學習的SR 算法,由于包含大量的卷積計算,導致重建圖像的耗時較多。在基于GAN 框架的SR 算法中,本文算法的平均處理速度最高,相比卷積神經網絡中耗時最少的SRCNN僅增加了大約0.02 s,PSNR值卻提高了約1.7 dB;相比生成對抗網絡中耗時最多的ProGANSR,本文算法用時縮短了大約0.07 s,PSNR 值提高了約0.62 dB。實驗結果表明,本文算法在保證重建圖像質量的前提下耗費了較少的運行時間,擁有良好的運行效率。

表1 不同SR算法在重建2倍圖像時的PSNR、SSIM值比較Tab.1 Comparison of PSNR and SSIM of different SR algorithms in 2-times image reconstruction

表2 不同SR算法在重建4倍圖像時的PSNR、SSIM值比較Tab.2 Comparison of PSNR and SSIM of different SR algorithms in 4-times image reconstruction

表3 不同SR算法在重建8倍圖像時的PSNR、SSIM值比較Tab.3 Comparison of PSNR and SSIM of different SR algorithms in 8-times image reconstruction

最后,從主觀視覺效果角度對本文算法與其他SR算法的重建進行了實驗比較。分別從Set5、Set14、Urban100 測試集中選擇一張圖像作為測試對象,并分別下采樣至不同的大小,進行多尺度的超分辨率重建,重建效果如圖5~7。圖5是各算法在Set5測試集上重建放大尺度為2時的HR 效果圖,可以看出:本文算法重建的嬰兒面部細節更加豐富,睫毛根根分明;Bicubic 算法效果最差,重建圖像模糊;ProGANSR 與LapSRN重建效果較好,但圖像過度平滑。圖6 是各算法在Set14 測試集上重建放大尺度為4 時的HR 效果圖,可以看出:本文算法與SRGAN、ESRGAN 主觀效果相當,更加貼合真實的HR 圖像;但SRGAN、ESRGAN 重建的狒狒胡須在放大后會出現非期望的偽影。圖7 是在Urban100 測試集上重建放大尺度為8時各算法的表現,可以看出:其他算法重建質量明顯下降,無法得到更多的細節,盡管ESRGAN、LapSRN 重建的建筑圖像中能夠看到網格形狀,卻十分模糊;而本文算法重建的建筑邊緣清晰且網格明顯,細節更加顯著。

圖5 Set5(Img_001)圖像在放大尺度為2時的超分辨率重建效果Fig.5 Two-times super-resolution reconstruction effect of Set5(Img_001)image

圖6 Set14(Img_001)圖像在放大尺度為4時的超分辨率重建效果Fig.6 Four-times super-resolution reconstruction effect of Set14(Img_001)image

圖7 Urban100(Img_001)圖像在放大尺度為8時的超分辨率重建效果Fig.7 Eight-times super-resolution reconstruction effect of Urban100(Img_001)image

4 結語

為解決超分辨率算法中重建大尺度因子效果較差以及多個尺度的圖像重建均需要單獨訓練等問題,本文提出了基于拉普拉斯金字塔生成對抗網絡的圖像超分辨率重建算法。該算法構建了金字塔結構的生成器實現多個尺度的圖像重建,以漸進上采樣的方式重建大尺度因子圖像,將密集模塊作為提取特征的核心模塊加強特征的傳播;算法采用PatchGAN 判別器以輸出矩陣的方式得到更加精準的判斷,引導生成器更高質量、高細節地重建圖像;此外,算法以聯合L1損失與對抗損失的方式指導優化網絡參數,進一步穩定了網絡訓練,加快網絡收斂。實驗結果表明:與其他SR 算法相比,本文算法降低了大尺度因子的學習難度,在不引入過多空間和時間代價的情況下,解決了多個尺度圖像的重建問題,且重建的圖像具有較高的PSNR、SSIM 值和較少的邊緣偽影。未來研究工作的重點在于進一步優化網絡結構,降低訓練的難度,并將圖像超分辨率重建算法在油氣資源勘探等特定領域中實際應用。

猜你喜歡
殘差金字塔尺度
“金字塔”
多級計分測驗中基于殘差統計量的被試擬合研究*
環境史衰敗論敘事的正誤及其評判尺度
基于殘差-注意力和LSTM的心律失常心拍分類方法研究
用于處理不努力作答的標準化殘差系列方法和混合多層模型法的比較*
融合上下文的殘差門卷積實體抽取
Great Vacation Places
金字塔是用金子造的嗎
以長時間尺度看世界
9
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合