王凡超,丁世飛,2
(1.中國礦業(yè)大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 徐州 221116;2.礦山數(shù)字化教育部工程研究中心,江蘇 徐州 221116)
如今,圖像處理技術(shù)和信息交互快速發(fā)展,圖像作為極其重要的信息載體,在公共安防、醫(yī)學(xué)診療、衛(wèi)星遙感等應(yīng)用領(lǐng)域中愈發(fā)重要,但環(huán)境和噪聲等因素的干擾,導(dǎo)致圖像出現(xiàn)質(zhì)量低或者細(xì)節(jié)的紋理信息缺乏等問題[1]。圖像超分辨率(super resolution,SR),特別單圖像超分辨率(single image super-resolution,SISR),幾十年來受到廣泛關(guān)注。單圖像超分辨率為了通過技術(shù)手段將低分辨率(low-resolution,LR)圖像重新構(gòu)建為高分辨率(high-resolution,HR)圖像,使其具有良好的高頻、紋理和邊緣信息。經(jīng)過幾十年發(fā)展,圖像超分辨率逐漸被分為基于插值[2-3]、基于重建[4]和基于學(xué)習(xí)[5]三大類。
基于插值和重建超分辨率算法屬于傳統(tǒng)算法,都運(yùn)用經(jīng)典的數(shù)學(xué)模型算法,但隨著放大因子的增大,這兩種算法提供的用于重新構(gòu)建高分辨率圖像的細(xì)節(jié)信息資源不足的弊端逐漸顯露,使得這些傳統(tǒng)算法很難達(dá)到重建高頻信息的目的。
深度學(xué)習(xí)高速發(fā)展以來,圖像重建領(lǐng)域也開始使用深度學(xué)習(xí)模型來完成特定任務(wù)。2014 年,Dong 等[6]最先將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到圖像超分辨率任務(wù)上,提出了超分辨率卷積神經(jīng)網(wǎng)絡(luò)(super-resolution convolutional neural network,SRCNN)模型,該模型進(jìn)行端到端的圖像對訓(xùn)練,在當(dāng)時大大提高了重建效果,同時也開辟了超分辨率技術(shù)的新時代。2016 年,Kim 等[7]將超分辨率任務(wù)與殘差思想進(jìn)行結(jié)合,提出了使用非常深的卷積網(wǎng)絡(luò)超分辨率(super-resolution using very deep convolution network,VDSR)模型,同時將網(wǎng)絡(luò)的深度增加到了20 層,證明了深層網(wǎng)絡(luò)能提取出更多的特征,取得更好的重建效果。Lim 等[8]通過對殘差結(jié)構(gòu)的改進(jìn),提出增強(qiáng)型深度超分辨率網(wǎng)絡(luò) (enhanced deep super-resolution network,EDSR)模型,通過移除批規(guī)范化處理[9](batch normalization,BN)操作,增加層數(shù),提取更多特征,從而獲得更滿意的結(jié)果。
針對上述模型中存在的對不同層的圖像信息使用率不足等問題,本文提出了融合感知損失的廣泛激活的深度殘差網(wǎng)絡(luò)的超分辨率模型(widely-activated deep residual network for super-resolution combining perceptual loss,PWDSR),通過已訓(xùn)練的VGG 模型[10]提取激活前的特征,使用激活前的特征會克服兩個缺點(diǎn):第一,深層網(wǎng)絡(luò)中,激活后得到的稀疏特征能夠提供的監(jiān)督效果非常弱,影響性能;第二,激活后的特征會使得重建后的圖像與真實(shí)圖像在亮度上有所差異。融合感知損失更著眼于紋理而不是目標(biāo)物體。
本文的主要貢獻(xiàn)包括以下方面:
1)使用權(quán)重歸一化代替批量歸一化,提高了學(xué)習(xí)率和訓(xùn)練、測試準(zhǔn)確率;
2)使用預(yù)訓(xùn)練的深度模型提取激活前的特征得到感知損失,通過構(gòu)建的圖像與真實(shí)圖像計算對抗損失,并結(jié)合圖像的像素?fù)p失,構(gòu)建了新?lián)p失函數(shù);
3)使用全局跳躍連接避免梯度消失的問題,促進(jìn)梯度的反向傳播,從而加快訓(xùn)練過程;
4)實(shí)驗(yàn)證明了本文提出的損失函數(shù)改進(jìn)在不同數(shù)據(jù)集上可以取得更好的評價指標(biāo),在主觀視覺效果也有所提高;
5)本文提供了高倍重建任務(wù)中優(yōu)化損失函數(shù)、調(diào)整殘差塊等新的研究方向。
從超分辨率卷積神經(jīng)網(wǎng)絡(luò)[6](SRCNN)首次提出端到端卷積神經(jīng)網(wǎng)絡(luò)作為新的映射方式開始,超分辨率與卷積神經(jīng)網(wǎng)絡(luò)模型越來越密切。
1.1.1 上采樣
超分辨率卷積神經(jīng)網(wǎng)絡(luò)[6](SRCNN)對圖像進(jìn)行上采樣,在高分辨率特征空間上計算卷積導(dǎo)致其效率是低分辨率空間的S2倍(S為放大因子),因此效率低下。另一個有效的替代方案是子像素卷積[11](sub-pixel convolution),該卷積比反卷積層引入更少的偽像誤差。
1.1.2 標(biāo)準(zhǔn)化
從3 層的超分辨率卷積神經(jīng)網(wǎng)絡(luò)[6](SRCNN)到160 層的多尺度超分辨率網(wǎng)絡(luò)[8](multi-scale deep super-resolution,MDSR),圖像超分辨率網(wǎng)絡(luò)越來越深入,訓(xùn)練變得更加困難。批量歸一化[9](batch normalization,BN)在許多任務(wù)中能解決訓(xùn)練困難的問題,例如SRResNet[12](super-resolution residual network)中使用了批量歸一化。
BN 通過再次校準(zhǔn)中間特征的均值和方差來解決訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)時內(nèi)部協(xié)變量偏移的問題。簡單來說,如果忽略BN 中可學(xué)習(xí)參數(shù)的重新縮放,那么訓(xùn)練期間可用訓(xùn)練小批量的均值和方差對每一層的特征進(jìn)行歸一化:
式中:xB是當(dāng)前訓(xùn)練批次的特征,它是一個較小的值用來避免零除。然后將一階和二階統(tǒng)計信息更新為全局統(tǒng)計信息:
其中←表示分配移動線。這些全局統(tǒng)計信息將用于標(biāo)準(zhǔn)化:
但BN 用于超分辨率任務(wù)時存在以下問題:1)圖像SR 通常僅使用較小的圖像塊(48×48)來加快訓(xùn)練速度,小圖像塊的均值和方差相差很大,影響統(tǒng)計數(shù)據(jù);2)圖像SR 網(wǎng)絡(luò)中沒有使用正則化器會過度擬合訓(xùn)練數(shù)據(jù)集;3)圖像SR 網(wǎng)絡(luò)的訓(xùn)練和測試時使用不同公式會降低密集像素值預(yù)測的準(zhǔn)確性。
1.1.3 跳躍連接
跳躍連接在深層神經(jīng)網(wǎng)絡(luò)中具有優(yōu)良表現(xiàn),其可以兼顧低級特征和高級特征。非常深的卷積網(wǎng)絡(luò)超分辨率[7](super-resolution using very deep convolution network,VDSR)模型使用全局跳躍連接。殘差密集網(wǎng)絡(luò)[13](RDN)使用所有卷積層的分層特征。
1.1.4 分組卷積和深度可分離卷積
分組卷積將特征按通道劃分為多個組,并分別在組內(nèi)執(zhí)行卷積,然后進(jìn)行串聯(lián)以形成最終輸出。在組卷積中,參數(shù)的數(shù)量可以減少g倍,其中g(shù)是組數(shù)。
深度可分離卷積是深度非線性卷積(即在輸入的每個通道上獨(dú)立執(zhí)行的空間卷積),然后是點(diǎn)卷積(即1×1 卷積)。也可以將其視為特定類型的組卷積,其中組數(shù)g是通道數(shù)。
廣泛激活的深度殘差網(wǎng)絡(luò)[14](widely-activated deep residual network for super-resolution,WDSR)在ReLU 激活層之前擴(kuò)展特征,同時追求不會額外增加運(yùn)算量。該模型壓縮殘差等價映射路徑的特征,同時擴(kuò)展激活前的特征,如圖1 所示,并與增強(qiáng)型深度超分辨率網(wǎng)絡(luò)[8](EDSR)中的基礎(chǔ)殘差塊(圖1(a))進(jìn)行對比。WDSR-A 中的(圖1(b))具有細(xì)長的映射路徑,在每個殘差塊中激活之前都具有較寬的(2~4 倍)通道。WDSR-B(圖1(c))具有線性低秩卷積堆棧,同時在不額外增加運(yùn)算量的情況下加寬激活范圍(6~9 倍)。首先使用1×1 卷積核增加通道數(shù),在ReLU 激活層之后使用有效的線性低秩卷積,用兩個低秩的卷積核替換一個大的卷積核(1×1 卷積核降低通道數(shù),3×3 卷積核執(zhí)行空間特征提取)。在WDSR-A 和WDSRB 中,所有ReLU 激活層僅應(yīng)用于兩個較寬的功能部件(具有較大通道的功能部件)之間。
圖1 廣泛激活的殘差塊與基礎(chǔ)殘差塊的對比Fig.1 Comparison of the residual block with wide activation and the original residual block
受增強(qiáng)型超分辨率生成對抗網(wǎng)絡(luò)[15](enhanced super-resolution generative adversarial networks,ESRGAN)中使用感知域損失的啟發(fā),本文針對廣泛激活的深度殘差網(wǎng)絡(luò)存在對不同層級圖像信息使用不足的問題,引入感知域損失,通過調(diào)整損失權(quán)重進(jìn)行優(yōu)化。本文網(wǎng)絡(luò)模型如圖2 所示。
圖2 融合感知損失的廣泛激活的深度殘差網(wǎng)絡(luò)的超分辨率模型Fig.2 Widely-activated deep residual network for superresolution combining perceptual loss
本文調(diào)用已訓(xùn)練的VGG19 模型作為特征提取器。VGG 網(wǎng)絡(luò)模型[10]如圖3 所示。
圖3 VGG 結(jié)構(gòu)模型Fig.3 VGG structure model
由于批量歸一化干擾圖像超分辨率的準(zhǔn)確性,故本文使用權(quán)重歸一化(weigh normalization,WN)來代替批量歸一化。權(quán)重歸一化是神經(jīng)網(wǎng)絡(luò)中權(quán)重向量的重新參數(shù)化,將這些權(quán)重向量的長度與其方向解耦,使其不會在小批量中引入示例之間的依賴關(guān)系,并且在訓(xùn)練和測試中具有相同的表示形式。輸出y的形式為
式中:w是k維權(quán)重向量;b是標(biāo)量偏差項(xiàng);x是輸入的k維向量。WN 使用以下參數(shù)重新參數(shù)化權(quán)重向量:
其中,v是一個k維矢量,g是一個標(biāo)量,||v||表示v的歐幾里得范數(shù)。通過這種形式化,得到||w||=g,而與參數(shù)v無關(guān)。對于圖像超分辨率,WN 只是一種重新參數(shù)化技術(shù),并且具有完全相同的表示能力,因此不會影響準(zhǔn)確性。同時,WN 可以提高學(xué)習(xí)率,并提高訓(xùn)練和測試準(zhǔn)確性。
模型重新構(gòu)建圖像的結(jié)果很大程度上取決于損失函數(shù)的選擇,一般超分辨率模型選擇平均絕對誤差(mean absolute error,MAE)或者均方誤差(mean-square error,MSE)作為優(yōu)化的目標(biāo),原因是在測試時可以獲得較高的評價指標(biāo),但是在進(jìn)行8 倍等大尺度的超分辨率重建任務(wù)中,重新構(gòu)建的圖像缺失大量高頻信息,導(dǎo)致構(gòu)建的圖像不能達(dá)到視覺要求。本文模型使用感知損失函數(shù)lp,像素?fù)p失函數(shù)l1和對抗損失函數(shù)lg,通過配置3 種損失函數(shù)不同權(quán)重使其更好地對高頻信息進(jìn)行重新構(gòu)建,總損失函數(shù)可表示為
其中,λi代表調(diào)節(jié)各個損失項(xiàng)權(quán)重的正則因子,i=1,2,3。
為了在重建時保證重建圖像與對應(yīng)低分辨率圖像在低頻部分保持圖像結(jié)構(gòu)的一致性,像素?fù)p失使用平均絕對誤差,公式為
式中:S代表生成圖像;H代表真實(shí)高分辨率圖像;n代表網(wǎng)絡(luò)超參數(shù)batch 的大小。
根據(jù)生成對抗網(wǎng)絡(luò)的思想,在網(wǎng)絡(luò)重建出一幅高分辨率圖像之后,與其對應(yīng)真實(shí)高分辨率圖像進(jìn)行比較計算,假設(shè)N個batch,生成n個標(biāo)簽,公式為
其中,σ(xn)為sigmoid 函數(shù),可以把x映射到(0,1)之間:
本文使用的特征是預(yù)訓(xùn)練的深度網(wǎng)絡(luò)激活層前的特征。公式為
式中:p、q分別代表真實(shí)高分辨率圖像和生成圖像;φ表示預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò);j表示該網(wǎng)絡(luò)的第j層;Cj×Hj×Wj為第j層特征圖的形狀,使用的是每個卷積模塊的激活值。
為確定損失函數(shù)中不同分量的權(quán)重值,本文進(jìn)行了參數(shù)實(shí)驗(yàn),根據(jù)收斂情況確定權(quán)重值,圖4~6 分別為感知損失、像素?fù)p失、對抗損失隨權(quán)重的變化曲線,損失函數(shù)收斂到最小值時對應(yīng)值即為正則因子λi權(quán)重值,i= 1,2,3。
圖4 感知損失收斂曲線Fig.4 Perceptual loss convergence curve
PWDSR 算法描述如下:
圖5 像素?fù)p失收斂曲線Fig.5 Pixel loss convergence curve
圖6 對抗損失收斂曲線Fig.6 Adversarial loss convergence curve
本實(shí)驗(yàn)在Windows 10 操作系統(tǒng)中使用PyTorch 深度學(xué)習(xí)框架,Python 版本為3.7.6,硬件配置為Intel(R)Core(TM)i5-7300HQ CPU @ 2.50 GHz,24 GB 內(nèi)存,顯卡為NIDIA GeForce GTX 1 050 Ti,使用CUDA 10.2 + cudnn 7.4.1 進(jìn)行GPU 加速,在訓(xùn)練過程中,采用Adam 梯度下降算法,設(shè)置初始學(xué)習(xí)率為0.001,模型的epoch 設(shè)置為200,每10 次保存一次網(wǎng)絡(luò)模型。
DIV2K 數(shù)據(jù)集是用于NTIRE 大賽的標(biāo)準(zhǔn)數(shù)據(jù)集,該數(shù)據(jù)集包含1 000 張2K 分辨率的高清圖像,其中800 張作為訓(xùn)練數(shù)據(jù)集,100 張用于驗(yàn)證,100 張用于測試。該數(shù)據(jù)集還包含高清分辨率圖像對應(yīng)的低分辨率圖像(使用插值法獲得)便于訓(xùn)練。本文中,將DIV2K 數(shù)據(jù)集中編號1~800 的圖像作為訓(xùn)練集,編號801~900 的圖像作為驗(yàn)證集,編號901~1 000 的圖像作為測試集,另選Set5、Set14 為測試集進(jìn)行對比。Set5 為5 張動植物的圖像,Set14 數(shù)據(jù)集包含14 張自然景象的圖像。
圖像超分辨率效果的客觀評價指標(biāo)為峰值信噪比(peak signal-to-noise ratio,PSNR)和結(jié)構(gòu)相似性(structural similarity,SSIM)。
3.2.1 峰值信噪比
峰值信噪比是圖像超分辨率評價指標(biāo)中使用最多的一種標(biāo)準(zhǔn),其使用均方誤差來對圖片質(zhì)量作判斷。對于單色m×n的高清原圖I與超分辨率得到的圖片K,兩者之間的均方誤差公式為
峰值信噪比的公式為
式中:MAXI表示像素最大值,如果采樣點(diǎn)用8 位表示,則為255??梢?,MSE 與PSNR 成反比,PSNR 越大代表重新構(gòu)建的圖像效果越好。
3.2.2 結(jié)構(gòu)相似度
結(jié)構(gòu)相似度是圖像超分辨率重建的另一個應(yīng)用較為廣泛的測量指標(biāo),其輸入是兩張圖像,其中一張是未經(jīng)壓縮的無失真圖像y,另一張是重新構(gòu)建出的圖像x,那么SSIM 公式為
式中:α>0,β>0,γ>0,l是亮度(luminance)比較,c是對比度(contrast)比較,s是結(jié)構(gòu)(structure)比較:
一般c3=c2/2,其中μx、μy表示均值。表示方差,σxy表示x與y的協(xié)方差。在實(shí)際應(yīng)用中通常設(shè)α=β=γ=1,故可將式(15)簡化為
可以看出,SSIM 具有對稱性,即SSIM(x,y)=SSIM(y,x),SSIM∈[0,1],SSIM 與輸出圖像和無失真圖像的差距成反比,SSIM 越大圖像質(zhì)量越好。當(dāng)兩幅圖像一模一樣時,SSIM=1。
本實(shí)驗(yàn)從客觀評價結(jié)果和主觀評價結(jié)果兩方面來表現(xiàn)改進(jìn)模型的超分辨率能力,通過不同方式證明了本文提出的模型改進(jìn)能優(yōu)于其他模型。
3.3.1 客觀評價結(jié)果
本文在3個公開數(shù)據(jù)集上測試了WDSR-A、WDSR-B 以及本文模型,分別計算在不同數(shù)據(jù)集上采用不同算法進(jìn)行上采樣2、3、4 倍時的PSNR和SSIM,對比結(jié)果如表1 所示。
表1 在不同數(shù)據(jù)集上對比放大倍數(shù)為2、3、4 的重構(gòu)圖像的PSNR 和SSIMTable1 Comparison of PSNR and SSIM of 2,3,and 4 times reconstructed images on different datasets
從實(shí)驗(yàn)結(jié)果不難發(fā)現(xiàn),更換不同數(shù)據(jù)集,本文提出的方法在2、3、4 倍重建任務(wù)中,都能夠取得較好的PSNR 和SSIM 值,相較于其他模型,在客觀指標(biāo)上有所提升。
3.3.2 主觀評價結(jié)果
本文分別選取了DIV2K、Set5、Set14 數(shù)據(jù)集中的3 張高分辨率圖像進(jìn)行放大倍數(shù)為2、3、4 的重構(gòu)對比,為了更好地體現(xiàn)對比結(jié)果,本文將選取不同圖片的不同細(xì)節(jié)進(jìn)行放大對比:圖7 選取DIV2K 數(shù)據(jù)集中圖像綠葉的右端枝葉部分進(jìn)行4 倍重建對比,圖8 選取Set5 數(shù)據(jù)集中圖像嬰兒的左眼及上方部分進(jìn)行3 倍重建對比,圖9 選取Set14 數(shù)據(jù)集中圖像女孩的左眼及下方部分進(jìn)行4 倍重建對比。
圖7 編號0803(DIV2K)4 倍重建視覺比較Fig.7 Visual comparison of SR results of “0803” (DIV2K)with scale factor 4
圖8 baby(Set5)3 倍重建視覺比較Fig.8 Visual comparison of SR results of “baby” (Set5)with scale factor 3
圖9 comic(Set14)4 倍重建視覺比較Fig.9 Visual comparison of SR results of “comic” (Set14)with scale factor 4
從視覺對比結(jié)果可以看出,3 種模型在2、3、4 倍的重建任務(wù)中都可以完成重建高分辨率圖像,但本文提出模型在不同倍數(shù)重建任務(wù)中,能夠重建出更好的紋理細(xì)節(jié),達(dá)到更好的視覺效果,說明重新構(gòu)建出的圖像更接近原始高分辨率圖像。
本文在廣泛激活的深度殘差網(wǎng)絡(luò)的基礎(chǔ)上,融合感知損失、對抗損失、像素?fù)p失,對整體損失函數(shù)進(jìn)行優(yōu)化,使用已訓(xùn)練好的VGG19 模型提取激活前的特征得到感知損失,避免了使用激活后的稀疏特征導(dǎo)致的性能不良等問題。本文使用權(quán)重歸一化代替批量歸一化,提高了學(xué)習(xí)率和訓(xùn)練、測試準(zhǔn)確率。使用全局跳躍連接,避免梯度消失的問題,同時有助于梯度的反向傳播,加快訓(xùn)練過程。從實(shí)驗(yàn)結(jié)果可以看出,本文提出的損失函數(shù)改進(jìn)在不同數(shù)據(jù)集上可以取得更好的評價指標(biāo),在主觀視覺效果也有所提高。在高倍重建任務(wù)上還有提升空間,后續(xù)工作以調(diào)整殘差塊和優(yōu)化損失函數(shù)等方向進(jìn)行展開。