宋昭漾,趙小強(qiáng),惠永永,蔣紅梅
(1.蘭州理工大學(xué) 電氣工程與信息工程學(xué)院,甘肅 蘭州 730050;2.甘肅省工業(yè)過程先進(jìn)控制重點(diǎn)實(shí)驗(yàn)室,甘肅 蘭州730050;3.蘭州理工大學(xué) 國家級電氣與控制工程實(shí)驗(yàn)教學(xué)中心,甘肅 蘭州 730050)
圖像超分辨率重建旨在從低分辨率(lowresolution, LR)圖像中重建出一副對應(yīng)的高分辨率(high-resolution, HR)圖像, 是計算機(jī)視覺的重要分支[1-2], 在生活中具有廣泛的應(yīng)用場景[3-5].許多深度學(xué)習(xí)[6-8]的算法致力于通過構(gòu)建更深或更寬的神經(jīng)網(wǎng)絡(luò)模型來學(xué)習(xí)LR圖像和HR圖像之間復(fù)雜的映射關(guān)系[9-12].
基于卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨率重建算法(super-resolution convolutional neural network,SRCNN)[13]率先通過建立卷積神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)LR圖像到HR圖像的映射關(guān)系.雖然該算法較傳統(tǒng)算法的性能有較大提升, 但是算法建立的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)比較簡單(僅有3個卷積層), 導(dǎo)致該網(wǎng)絡(luò)模型的學(xué)習(xí)性能有限.有研究者在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上提出一系列基于神經(jīng)網(wǎng)絡(luò)的圖像超分辨率重建算法, 如基于快速的卷積神經(jīng)網(wǎng)絡(luò)圖像超分辨率重建算法(fast super-resolution convolutional neural network, FSRCNN)[14]和基于高效的亞像素卷積網(wǎng)絡(luò)圖像超分辨率重建算法(Efficient sub-pixel convolutional neural network,ESPCN)[15].雖然這些算法擁有較強(qiáng)的學(xué)習(xí)復(fù)雜映射關(guān)系的能力, 但是在訓(xùn)練過程中容易造成梯度爆炸.基于深度卷積網(wǎng)絡(luò)的圖像超分辨率重建算法(very deep convolution network super-resolution,VDSR)[16]在加深網(wǎng)絡(luò)深度和擴(kuò)大網(wǎng)絡(luò)感受野的同時引入殘差學(xué)習(xí).基于遞歸神經(jīng)網(wǎng)絡(luò)的圖像超分辨率重建算法(deeply-recursive convolutional network, DRCN)[17]在殘差學(xué)習(xí)的基礎(chǔ)上引入全局殘差網(wǎng)絡(luò).基于增強(qiáng)的深度殘差網(wǎng)絡(luò)圖像超分辨率重建算法(enhanced deep residual network for single image super-resolution, EDSR)[18]引入局部殘差并去除了殘差塊中的批歸一化層,能夠構(gòu)建更深的神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)復(fù)雜映射關(guān)系.基于密集跳線連接的圖像超分辨率重建算法(super-resolution using dense network, SRDenseNet)[19]將密集連接網(wǎng)絡(luò)應(yīng)用于圖像超分辨率重建, 有效抑制了梯度消失問題.基于殘差密集網(wǎng)絡(luò)的圖像超分辨率重建算法(residual dense network, RDN)[20]在密集塊的開頭和結(jié)尾增加殘差連接和卷積運(yùn)算進(jìn)行特征降維, 使模型具有更強(qiáng)的學(xué)習(xí)能力.這些算法同等對待圖像的低、高頻特征, 耗費(fèi)了大量的計算量卻未獲得圖像的深層特征.受深度神經(jīng)網(wǎng)絡(luò)蓬勃發(fā)展的影響, 有研究者提出用各種網(wǎng)絡(luò)結(jié)構(gòu)和學(xué)習(xí)機(jī)制來實(shí)現(xiàn)更好的圖像重建性能.如1)基于深度殘差通道注意力網(wǎng)絡(luò)的圖像超分辨率重建算法(residual channel attention network, RCAN)[21]引入通道注意機(jī)制來重點(diǎn)關(guān)注圖像的高頻特征并獲得更好的性能, 2)基于注意力網(wǎng)絡(luò)的注意力圖像超分辨率圖像算法(attention in attention network,A2N)[22]引入注意力丟失機(jī)制來動態(tài)調(diào)整注意力的權(quán)重.這些算法難以獲取LR內(nèi)部的多層次信息.
如圖1所示為多級連續(xù)編碼與解碼的圖像超分辨率重建算法模型框架示意圖.該模型框架主要由3個部分組成, 分別為初始特征提取操作、深度特征提取操作、上采樣和重建操作.當(dāng)LR圖像輸入該算法模型時, 1)由卷積核為3×3的卷積層進(jìn)行初始特征提?。?/p>
圖1 多級連續(xù)編碼與解碼的圖像超分辨率重建算法的模型框架Fig.1 Model framework of image super-resolution reconstruction algorithm based on multi-level continuous encoding and decoding
式中:ILR為低分辨率圖像,F0為獲得的LR圖像初始特征,C3為卷積核為3×3的卷積層運(yùn)算.該卷積層的輸入通道數(shù)為3, 輸出通道為64.2)淺層特征由K個端對端連接的多級連續(xù)編碼與解碼的注意力殘差模塊進(jìn)行深度特征提取, 提取的深度特征由卷積核為3×3的中間卷積層進(jìn)行融合:
式中:H1、HK分別為第1個和第K個多級連續(xù)編碼與解碼的注意力殘差模塊運(yùn)算,Ff為提取到的深度特征.中間卷積層的輸入通道和輸出通道都為64.3)LR圖像的初始特征和深度特征通過全局殘差連接結(jié)合在一起, 由上采樣模塊和重建卷積層組合模塊進(jìn)行上采樣和重建:
式中:Hup為上采樣模塊的運(yùn)算,ISR為重建的SR圖像,Fup為上采樣的特征.重建卷積層的輸入通道數(shù)為64, 輸出通道數(shù)為3.本研究使用的上采樣模塊為亞像素卷積層.
圖像內(nèi)部特征信息比較復(fù)雜且有連續(xù)相關(guān)性, 為此在編碼與解碼模型的基礎(chǔ)上構(gòu)建連續(xù)編碼與解碼模型, 對比示意圖如圖2所示.
圖2 2種編碼與解碼模型的對比示意圖Fig.2 Comparison diagram of two encoding and decoding models
假設(shè)基于編碼與解碼模型的輸入為x, 輸出為y, 運(yùn)算式為
式中:HEn為編碼器的運(yùn)算,HDe為解碼器的運(yùn)算.式(5)表示大小為H×W×C的輸入特征x經(jīng)過編碼器的運(yùn)算變成大小為H×W×C/r的特征, 該特征經(jīng)過解碼器的運(yùn)算恢復(fù)成大小為H×W×C的圖像特征,其中r為壓縮系數(shù).
原題:The 2011 MW9.0Tohoku earthquake:Comparison of GPS and strong-motion data
連續(xù)編碼與解碼模型不僅通過多個編碼器對大小為H×W×C/r的特征進(jìn)行連續(xù)編碼和解碼,還在相鄰的編碼器之間增加殘差塊來避免在連續(xù)編碼過程中信息丟失;同樣地, 該模型在相鄰的解碼器之間增加殘差塊來避免在連續(xù)解碼過程中信息恢復(fù)不充分.連續(xù)編碼與解碼模型的運(yùn)算式為
式中:HE1n、HEnn分別為連續(xù)編碼器中第1個編碼器和第n個編碼器的運(yùn)算,HD1e、HDne表示連續(xù)解碼器中第1個解碼器和第n個解碼器的運(yùn)算,HRes為殘差塊的運(yùn)算.式(6)表示大小為H×W×C的輸入特征x經(jīng)過多個連續(xù)的編碼器和殘差塊的組合模塊運(yùn)算得到大小為H×W×C/rk的特征, 該特征經(jīng)過多個連續(xù)的編碼器和殘差塊的組合模塊運(yùn)算得到大小為H×W×C/r的最終的編碼特征;對稱地,得到的編碼特征經(jīng)過多個解碼器和殘差塊的組合模塊運(yùn)算恢復(fù)成大小為H×W×C/rk的特征, 該特征經(jīng)過多個連續(xù)的解碼器和殘差塊的組合運(yùn)算恢復(fù)成大小為H×W×C的圖像特征.
圖像的像素級信息分為多個層次, 有容易重建的特征信息(如圖像輪廓), 有難以重建的特征信息(如圖像內(nèi)部紋理和邊緣),為此在連續(xù)編碼與解碼模型的基礎(chǔ)上設(shè)計如圖3所示的多級連續(xù)編碼與解碼模型.該模型由3個不同層級的編碼與解碼塊組成, 能夠分別獲取不同層級的圖像特征信息, 該模型中第1層級的編碼與解碼塊進(jìn)行圖像淺層的、容易提取的特征提取, 第2層級的連續(xù)編碼與解碼塊進(jìn)行復(fù)雜的圖像特征提取, 第3層級的連續(xù)編碼與解碼塊進(jìn)行深層的、難以提取的圖像特征提取.具體來說, 第1層級的編碼與解碼塊通過編碼器先對特征進(jìn)行編碼, 再用解碼器對編碼的特征進(jìn)行解碼來獲得特征:
圖3 多級連續(xù)編碼與解碼模型示意圖Fig.3 Schematic diagram of multi-level continuous encoding and decoding model
多級連續(xù)編碼與解碼模型的輸出包括圖像內(nèi)部的淺層特征、復(fù)雜特征和深層特征, 其中淺層特征容易提取且需要的計算量較小, 深層特征難以提取并需要的計算量較大.如果在提取圖像內(nèi)部的特征時平等地對待這些特征, 則會消耗很大的計算量.在有限的計算量情況下, 為了合理分配計算量并盡可能地提取到圖像內(nèi)部的豐富特征, 設(shè)計如圖4所示的多級連續(xù)編碼與解碼的注意力殘差模塊.該模塊在多級連續(xù)編碼與解碼模型的基礎(chǔ)上, 對3個層級的解碼特征進(jìn)行注意力運(yùn)算.具體來說, 該模塊1)對3個層級的解碼特征進(jìn)行級聯(lián)運(yùn)算, 并用1×1卷積層進(jìn)行融合:
圖4 多級連續(xù)編碼與解碼的注意力殘差模塊結(jié)構(gòu)示意圖Fig.4 Schematic diagram of attention residual module structure of multi-level continuous encoding and decoding
式中:Concat(·)為級聯(lián)運(yùn)算,C1為卷積核為1×1的卷積層運(yùn)算,FDe為融合后的解碼特征.2)對融合后的解碼特征進(jìn)行注意力運(yùn)算,包括擠壓、激勵和重新校準(zhǔn)操作3個過程.擠壓操作是通過全局平均池化層將融合后的解碼特征壓縮到通道描述符zc中 :
式中:W11、W12分別為2個1×1卷積層的不同權(quán)重,δ為ReLU激活函數(shù)的運(yùn)算,σ為Sigmoid激活函數(shù)的運(yùn)算.重新校準(zhǔn)操作是通過乘法重新校準(zhǔn)解碼特征中包含的淺層特征、復(fù)雜特征和深層特征的權(quán)重:
式中:為校準(zhǔn)后的解碼特征.3)通過局部殘差連接將輸入的圖像特征與校準(zhǔn)后的解碼特征結(jié)合, 更新后的圖像特征為
深度學(xué)習(xí)框架為Pytorch0.4, 編程語言為Python3.6, 訓(xùn)練和測試使用的平臺為Ubuntu18.04,CPU為Inter i9-9900 K, 內(nèi)存為64 G, 使用的GPU為RTX 2080 Ti, 顯存為11 G.
訓(xùn)練集為DIV2K[23]數(shù)據(jù)集, 該數(shù)據(jù)集包含800張高清的HR圖像, 100張驗(yàn)證圖像和100張測試圖像.使用Bicubic算法處理HR圖像, 生成對應(yīng)的放大倍數(shù)分別為2、3、4的LR圖像.為了擴(kuò)展數(shù)據(jù)集, 先對HR圖像和不同放大倍數(shù)下的LR圖像按照旋轉(zhuǎn)角度分別為90°、180°、270°進(jìn)行旋轉(zhuǎn), 再按照比例系數(shù)分別為0.6、0.7、0.8、0.9進(jìn)行縮放, 最后對這些圖像進(jìn)行裁剪.
測試集為Set5[24]、Set14[25]、BSD100[26]和Urban100[27]數(shù)據(jù)集, 分別包含5、14、100、100張不同風(fēng)格的圖像(如人像、動物、風(fēng)景、建筑物等).使用Bicubic算法生成和HR圖像對應(yīng)的放大倍數(shù)分別為2、3、4的LR圖像.
所提算法在深度特征提取中使用64個多級連續(xù)編碼與解碼的注意力殘差模塊.本研究使用的損失函數(shù)為L1損失函數(shù),使用Adam[28]優(yōu)化算法對損失函數(shù)進(jìn)行優(yōu)化.網(wǎng)絡(luò)訓(xùn)練過程中設(shè)置的批次大小為16, 迭代輪次epoch=1 000, 學(xué)習(xí)率初始為0.000 1;epoch每隔200,學(xué)習(xí)率降為原來的一半.所提算法在測試過程中使用的性能評價指標(biāo)為峰值信噪比(peak signal to noise ratio, PSNR)和結(jié)構(gòu)相似度[29](structural similarity index, SSIM), 在YCbCr通道中的Y通道進(jìn)行測試圖像性能測試.
將主流的7種算法(Bicubic、SRCNN[13]、FSRCNN[14]、VDSR[16]、DBPN[30]、RFDN[31]和A2N[22])與所提算法進(jìn)行算法性能的對比測試.分別在放大倍數(shù)為2、3和4的情況下,使用不同算法測試Set5、Set14、BSD100和Urban100數(shù)據(jù)集, 測試結(jié)果如表1~3所示.相比主流算法, 在放大倍數(shù)為2、3的情況下,所提算法測試4個數(shù)據(jù)集的性能評價指標(biāo)均為最優(yōu), 實(shí)現(xiàn)了PSNR、SSIM的較大提升.相比主流算法, 在放大倍數(shù)為4的情況下,所提算法測試Urban100數(shù)據(jù)集的性能評價指標(biāo)最優(yōu).具體來說, 對于測試集Set5、Set14、BSD100、Urban100,當(dāng)放大倍數(shù)為2時, 所提算法獲得的PSNR比DBPN算法獲得的次優(yōu)PSNR分別提升0.08、0.09、0.01、0.19 dB;當(dāng)放大倍數(shù)為3時, 所提算法獲得的PSNR比A2N算法獲得的次優(yōu)PSNR分別提升0.11、0.07、0.06、0.25 dB.當(dāng)放大倍數(shù)為4時,對于Urban100測試集, 所提算法獲得的PSNR比DBPN算法獲得的次優(yōu)PSNR值提升0.03 dB;當(dāng)放大倍數(shù)為2、4時, 所提算法獲得的SSIM比DBPN算法獲得的次優(yōu)SSIM分別提升0.001 8、0.002 8;當(dāng)放大倍數(shù)為3時, 所提算法獲得的SSIM比A2N算法獲得的次優(yōu)SSIM提升0.006 4.所提算法在特征提取過程中通過多級連續(xù)編碼與解碼的注意力殘差塊,獲取不同層級的圖像特征信息, 為不同層級的圖像特征信息分配不同計算量的權(quán)重, 能夠盡可能多地獲得圖像內(nèi)部豐富的細(xì)節(jié)特征, 因此相比7種主流算法, 所提算法具有較好的超分辨率重建性能, 能夠?qū)崿F(xiàn)PSNR、SSIM的較大提升.
表1 不同圖像重建算法在4個測試集上的性能評價指標(biāo)(放大倍數(shù)為2)Tab.1 Performance evaluation indicators of different image resolution algorithms on four test sets (magnification is 2)
表2 不同圖像重建算法在4個測試集上的性能評價指標(biāo)(放大倍數(shù)為3)Tab.2 Performance evaluation indicators of different image resolution algorithms on four test sets (magnification is 3)
表3 不同圖像重建算法在4個測試集上的性能評價指標(biāo)(放大倍數(shù)為4)Tab.3 Performance evaluation indicators of different image resolution algorithms on four test sets (magnification is 4)
為了測試所提算法的重建圖像的視覺效果,在放大倍數(shù)為4的情況下對Urban100測試集中的3張圖像(img004、img061和img096)進(jìn)行不同算法的對比測試, 對比測試的視覺效果圖如圖5~7所示.圖5中, Bicubic、SRCNN、FSRCNN和VDSR算法圖像重建的小孔存在模糊問題, DBPN、RFDN和A2N算法圖像重建的小孔存在嚴(yán)重的變形問題(如DBPN算法圖像重建的小孔存在變小和變圓問題, RFDN、A2N算法圖像重建的小孔存在變彎問題), 所提算法圖像重建的小孔基本保持了原形狀.圖6中, Bicubic、SRCNN、和FSRCNN算法圖像重建的樓層存在嚴(yán)重的模糊問題,VDSR算法圖像重建的高樓層存在嚴(yán)重的變形問題, DBPN、RFDN和A2N算法圖像重建的樓層存在嚴(yán)重的銳化問題, 所提算法圖像重建的樓層存在輕微的銳化問題, 不存在變形問題.圖7中,Bicubic、SRCNN、FSRCNN和VDSR算法圖像重建的大樓外側(cè)豎條出現(xiàn)嚴(yán)重的模糊不清問題,DBPN、RFDN和A2N算法圖像重建的大樓外右側(cè)豎條存在較嚴(yán)重的模糊問題, 重建的大樓外左側(cè)豎條存在輕微的扭曲問題, 所提算法圖像重建的大樓外側(cè)基本沒有模糊問題和扭曲問題.綜上所述, 所提算法相比主流算法不僅在性能測試指標(biāo)方面實(shí)現(xiàn)較大提升, 而且在重建圖像的細(xì)節(jié)方面也具體較好的視覺效果.
圖5 不同圖像重建算法重建的img004對比圖像(放大倍數(shù)為4)Fig.5 Comparison images of img004 reconstructed by different image resolution algorithms (magnification is 4)
圖6 不同圖像重建算法重建的img061對比圖像(放大倍數(shù)為4)Fig.6 Comparison images of img061 reconstructed by different image resolution algorithms (magnification is 4)
圖7 不同圖像重建算法重建的img096對比圖像(放大倍數(shù)為4)Fig.7 Comparison images of img096 reconstructed by different image resolution algorithms (magnification is 4)
假設(shè)ED1、ED2、ED3分別為第1、2、3層級的連續(xù)編碼與解碼塊,Attention為注意力殘差塊.在放大倍數(shù)為4的情況下,使用DIV2K數(shù)據(jù)集分別訓(xùn)練由上述4個模塊排列組合成的網(wǎng)絡(luò), 并在Set5測試集上進(jìn)行測試, PSNR 如表4所示.可以看出, 多級連續(xù)編碼與解碼的注意力殘差模塊能夠獲得最高的PSNR.原因是只使用ED1、ED2、ED3模塊的網(wǎng)絡(luò)模型只能夠獲取到圖像局部單一的特征, 組合使用3個模塊的網(wǎng)絡(luò)模型能夠獲得多層級的淺層特征、復(fù)雜特征和深層特征.在此基礎(chǔ)上, 結(jié)合Attention模塊, 為獲得圖像內(nèi)部多層級的淺層特征、復(fù)雜特征和深層特征分配不同的計算量權(quán)重, 能夠盡可能地提取到圖像內(nèi)部豐富的細(xì)節(jié)特征.
表4 多級連續(xù)編碼與解碼的注意力殘差模塊消融研究結(jié)果(放大倍數(shù)為4)Tab.4 Ablation study results of attention residual module based on multi-level continuous encoding and decoding(magnification is 4)
使用所提算法與SRCNN、FSRCNN、VDSR、DBPN、RFDN和A2N算法在放大倍數(shù)為4的Urban100測試集中分別進(jìn)行參數(shù)量n與運(yùn)行時間t對比, 結(jié)果如圖8所示.相比DBPN算法,所提算法不僅參數(shù)量少, 還實(shí)現(xiàn)了PSNR的提升;相比A2N、RFDN、VDSR、FSRCNN和SRCNN算法, 所提算法雖然參數(shù)量較多, 但是實(shí)現(xiàn)了PSNR的大提升.所提算法的運(yùn)行時間比DBPN算法的運(yùn)行時間少, 且近似于A2N算法的運(yùn)行時間.綜上所述, 所提算法的網(wǎng)絡(luò)模型在實(shí)現(xiàn)PSNR提升的同時參數(shù)量和運(yùn)行時間均較少.
本研究提出多級連續(xù)編碼與解碼的圖像超分辨率重建算法.所提算法通過多級連續(xù)編碼與解碼的注意力殘差模塊從低分辨率圖像中提取不同層級的特征信息, 并對這些不同層級的特征信息生成不同的權(quán)重(給淺層特征分布較小的權(quán)重,給深度特征分布較大的權(quán)重), 盡可能地提取到圖像內(nèi)部的豐富特征.實(shí)驗(yàn)結(jié)果表明, 在放大倍數(shù)為2、3、4的測試集(Set5、Set14、BSD100和Urban100)上, 相比主流算法, 所提算法能夠?qū)崿F(xiàn)峰值信噪比值和結(jié)構(gòu)相似度值的較大提升, 同時使用所提算法重建的高分辨率圖像更清晰且包含更多的細(xì)節(jié)信息.實(shí)際應(yīng)用中往往需要進(jìn)行任意倍數(shù)的圖像超分辨率重建,因此,在未來的研究工作中,計劃在所提算法的基礎(chǔ)上進(jìn)行任意倍數(shù)的圖像超分辨率重建算法研究.