黃 偉,馮晶晶,黃 遙
(鄭州輕工業(yè)大學(xué) 計(jì)算機(jī)與通信工程學(xué)院,鄭州 450002)
單幅圖像超分辨率重構(gòu)技術(shù)是指將一幅低分辨率圖像通過(guò)相關(guān)算法處理得到與其對(duì)應(yīng)的高分辨率圖像。近年來(lái),高分辨率圖像在遙感、醫(yī)學(xué)、軍事以及天氣預(yù)報(bào)等諸多領(lǐng)域均有廣泛應(yīng)用,但在實(shí)際成像過(guò)程中,由于硬件條件的限制和成像環(huán)境的影響,往往獲取到的圖像分辨率較低,且細(xì)節(jié)信息損失嚴(yán)重,影響人們對(duì)信息的正確判斷。因此,尋找一種合適的方法來(lái)增強(qiáng)圖像分辨率十分必要[1-2]。
目前,圖像超分辨率重構(gòu)方法主要有三大類(lèi),即基于插值的方法[3-4]、基于重構(gòu)的方法[5-7]和基于學(xué)習(xí)的方法[8-10]?;诓逯档姆椒ㄖ饕歉鶕?jù)圖像的已知信息和空間關(guān)系在特定位置插入若干像素來(lái)重構(gòu)高分辨率圖像,該類(lèi)方法計(jì)算簡(jiǎn)單、速度快,但是在重構(gòu)過(guò)程中會(huì)丟失部分高頻信息,造成重構(gòu)后的圖像模糊,難以獲取精細(xì)特征,且視覺(jué)效果較差。基于重構(gòu)的方法主要以圖像退化模型為基礎(chǔ),利用相同場(chǎng)景下圖像之間的互補(bǔ)信息重構(gòu)出相應(yīng)的高分辨率圖像,雖然該方法有效減緩了基于插值方法的圖像模糊現(xiàn)象,但是存在計(jì)算復(fù)雜度較高的問(wèn)題?;趯W(xué)習(xí)的方法主要通過(guò)包含高分辨率和低分辨率圖像塊的數(shù)據(jù)集學(xué)習(xí)高分辨率圖像和對(duì)應(yīng)的低分辨率圖像之間的先驗(yàn)知識(shí),利用學(xué)習(xí)到的映射關(guān)系在給定低分辨率圖像的情況下重構(gòu)其對(duì)應(yīng)的高分辨圖像。
近年來(lái),基于深度學(xué)習(xí)的單幅圖像超分辨率重構(gòu)方法受到了學(xué)者們的廣泛關(guān)注。文獻(xiàn)[11]提出利用堆疊的卷積層構(gòu)建神經(jīng)網(wǎng)絡(luò)模型進(jìn)行圖像重構(gòu),該超分辨率卷積神經(jīng)網(wǎng)絡(luò)(Super-Resolution Convolutional Neural Network,SRCNN)方法將經(jīng)過(guò)雙立方插值的低分辨率圖像塊作為網(wǎng)絡(luò)的輸入數(shù)據(jù),經(jīng)過(guò)堆疊的卷積層進(jìn)行訓(xùn)練,得到相應(yīng)的高分辨率圖像塊,并使得這些圖像塊盡可能與原圖像塊相似。文獻(xiàn)[12]提出基于多通道輸入卷積神經(jīng)網(wǎng)絡(luò)超分辨率重構(gòu)方法,對(duì)原始低分辨率圖像進(jìn)行3種插值、5種銳化的預(yù)處理操作,將經(jīng)過(guò)預(yù)處理操作的18種圖像構(gòu)成一幅低分辨率圖像。該方法更好地保留了圖像特征信息,有利于提取圖像的高頻信息,解決了SRCNN方法中重構(gòu)圖像存在邊緣模糊的問(wèn)題。隨著深度學(xué)習(xí)研究的推進(jìn),CNN開(kāi)始不斷向縱深化方向發(fā)展。利用加深網(wǎng)絡(luò)結(jié)構(gòu)的思路來(lái)提升模型性能,在VGGNet[13]模型中,提出使用更小的卷積核,并將幾個(gè)小的卷積核串聯(lián)起來(lái)代替一個(gè)大的卷積核,該操作在保證具有相同感受野的情況下,不僅加深了網(wǎng)絡(luò)深度,而且在一定程度上也提升了網(wǎng)絡(luò)效果。
本文提出一種基于多通道極深CNN的圖像超分辨率算法。該算法通過(guò)改進(jìn)底層特征層中的輸入圖像,對(duì)降采樣后的原始低分辨率圖像分別進(jìn)行鄰近插值、雙線(xiàn)性插值以及雙三次插值操作,并且在插值前對(duì)原始低分辨率圖像進(jìn)行3種不同強(qiáng)度的圖像銳化,將經(jīng)過(guò)多種預(yù)處理后的圖像組成多通道圖像并作為網(wǎng)絡(luò)輸入。使用更小的卷積核加深網(wǎng)絡(luò)結(jié)構(gòu),利用預(yù)處理的訓(xùn)練集訓(xùn)練改進(jìn)的極深CNN。將待超分辨的圖像經(jīng)過(guò)相同的預(yù)處理輸入到訓(xùn)練好的極深CNN中,從而得到輸出的高分辨率圖像。
本文提出的基于多通道極深CNN單幅圖像超分辨率重構(gòu)算法的流程如圖1所示,主要分為3個(gè)部分:
1)生成多通道圖像訓(xùn)練樣本集。
2)利用生成的樣本集對(duì)本文網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,求解最優(yōu)參數(shù)。
3)利用訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)對(duì)單幅圖像進(jìn)行超分辨率重構(gòu)。
圖1 本文算法流程Fig.1 Procedure of the proposed algorithm
由于人類(lèi)視覺(jué)對(duì)亮度變化更為敏感,本文在特征提取層中仍舊采用只對(duì)亮度通道上的圖像進(jìn)行操作。雙立方插值方法主要是利用鄰域像素的加權(quán)平均來(lái)計(jì)算待求像素點(diǎn)的值,使得其具有低通濾波器的性質(zhì),經(jīng)過(guò)插值后的圖像高頻信息將會(huì)受損,容易引起圖像模糊和邊緣失真,而圖像銳化[14]是補(bǔ)償圖像輪廓、增強(qiáng)邊緣信息,使得圖像變得更加清晰的一種方法。因此,在圖像預(yù)處理時(shí)加入圖像銳化操作,這樣有利于學(xué)習(xí)到高頻信息,不僅解決了邊緣模糊問(wèn)題,還可以增強(qiáng)圖像分辨率。MC-SRCNN方法中對(duì)原始低分辨率圖像進(jìn)行3種插值、5種銳化強(qiáng)度分別為0.4、0.8、1.2、1.6和2.0的預(yù)處理操作,把經(jīng)過(guò)銳化、插值后的18種圖像構(gòu)成一幅多通道圖像,但是過(guò)多的通道數(shù)會(huì)增加計(jì)算的復(fù)雜度。為了增加底層特征信息且減少計(jì)算量,本文采取對(duì)圖像進(jìn)行3種插值、3種銳化強(qiáng)度分別為0.4、1.2和2.0的預(yù)處理操作,將12種圖像構(gòu)成一幅多通道圖像,也能很好地提取圖像的高頻信息,獲取其豐富的圖像內(nèi)容。
圖2 低分辨率多通道圖像的切分示意圖Fig.2 Schematic diagram of segmentation oflow-resolution multi-channel images
文獻(xiàn)[16]線(xiàn)性區(qū)間的數(shù)量來(lái)衡量模型的靈活性,提出一個(gè)更深的網(wǎng)絡(luò)可以將輸入空間分為更多的線(xiàn)性響應(yīng)空間,它的表征能力是淺層網(wǎng)絡(luò)的指數(shù)級(jí)倍。在不改變其他參數(shù)的情況下,增加網(wǎng)絡(luò)的深度就意味著增加網(wǎng)絡(luò)的計(jì)算量,但在CNN中,可以使用更小的卷積核在保證與原模型具有相同感受野的情況下,不僅增加網(wǎng)絡(luò)的深度還能減少網(wǎng)絡(luò)的訓(xùn)練參數(shù)。具體而言,本文提出的基于多通道輸入的極深CNN模型,將MC-SRCNN模型中的第3層具有5×5核的卷積層替換為2層具有3×3核大小的卷積層。同時(shí),在保證與MC-SRCNN模型中第1個(gè)卷積層具有相同感受野的情況下,將MC-SRCNN模型中的第1層具有9×9核的卷積層替換為2層具有5×5核大小的卷積層。
基于多通道極深CNN模型的結(jié)構(gòu)如圖3所示。從圖3中可以看出,該網(wǎng)絡(luò)模型包含輸入層(Input)、4個(gè)卷積層(C1~C4)和輸出層(Output)。
圖3 本文模型的結(jié)構(gòu)Fig.3 Structure of the proposed model
本文極深CNN模型各層結(jié)構(gòu)的詳細(xì)描述如下:
1)Input層為極深CNN的輸入層,輸入大小是一個(gè)n×n的12通道圖像Ymc。
2)C1層是第1個(gè)卷積層,包含64個(gè)卷積特征圖。每個(gè)卷積特征圖的大小均為(n-5+1)×(n-5+1),由一個(gè)5×5的卷積核對(duì)輸入圖像進(jìn)行內(nèi)卷積運(yùn)算,然后對(duì)卷積結(jié)果使用ReLU[17]激活函數(shù)進(jìn)行激活,得到激活結(jié)果。具體操作如式(1)所示:
F1(Ymc)=max(0,W1×Ymc+B1)
(1)
3)C2層是第2個(gè)卷積層,包含64個(gè) (n-8)×(n-8)的卷積特征圖,將C1層作為第2層的輸入數(shù)據(jù),經(jīng)過(guò)64個(gè)5×5的卷積核進(jìn)行內(nèi)卷積,再對(duì)其結(jié)果進(jìn)行ReLU激活,得到最終結(jié)果。使用32個(gè)1×1的卷積核對(duì)C2層進(jìn)行卷積運(yùn)算,對(duì)卷積結(jié)果使用ReLU激活函數(shù)激活,得到的激活結(jié)果為極深CNN的第3個(gè)卷積層C3。C4層是最后一個(gè)卷積層,使用32個(gè)3×3的卷積核對(duì)C3層進(jìn)行卷積運(yùn)算,再使用ReLU激活函數(shù)激活并得到最終結(jié)果。具體操作如式(2)所示:
Fj(Ymc)=max(0,Wj×Fj-1(Ymc)+Bj)
(2)
其中,j=2,3,4。
(3)
為了構(gòu)造超分辨重構(gòu)模型,本文選用均方誤差(MSE)作為損失函數(shù)[18],損失函數(shù)值越小,說(shuō)明模型魯棒性越好,且有利于獲得較高的峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)[20-21]。MSE的計(jì)算方法如式(4)所示:
(4)
其中,最小化函數(shù)的算法本文選用Adam優(yōu)化器[19]。
綜上所述,本文模型的求解算法描述如下:
輸入原始的高分辨率自然圖像X
步驟1將自然彩色圖像X轉(zhuǎn)換為YCbCr圖像,提取其亮度通道圖像XY并進(jìn)行下采樣,得到低分辨率單通道圖像XLR。
步驟2首先,對(duì)圖像XLR分別進(jìn)行鄰近插值、雙線(xiàn)性插值、雙立方插值操作得到3幅圖像;然后,對(duì)圖像XLR依次進(jìn)行強(qiáng)度分別為0.4、1.2和2.0的圖像銳化,再把銳化后的3幅圖像分別依次進(jìn)行鄰近插值、雙線(xiàn)性插值、雙立方插值操作,將這12幅圖像組合構(gòu)成多通道圖像Ymc。
為了與現(xiàn)有的SRCNN、MC-SRCN重構(gòu)方法進(jìn)行比較,本文選擇與其相同的訓(xùn)練集和測(cè)試集。在模擬實(shí)驗(yàn)中,訓(xùn)練集圖像采用Timofte數(shù)據(jù)集(包含91幅圖像)進(jìn)行訓(xùn)練,測(cè)試集采用Set5和Set14數(shù)據(jù)集,部分測(cè)試圖像如圖4所示。
圖4 部分測(cè)試數(shù)據(jù)集圖像Fig.4 Part of the test dataset images
采用本文提出的網(wǎng)絡(luò)模型對(duì)經(jīng)過(guò)預(yù)處理后的多通道圖像進(jìn)行重構(gòu),并使用Tensorflow訓(xùn)練該模型。對(duì)于網(wǎng)絡(luò)優(yōu)化問(wèn)題,采用Adam優(yōu)化算法使損失最小化。在訓(xùn)練階段,參數(shù)Batch Size設(shè)置為128,利用均值為0、標(biāo)準(zhǔn)差為0.001的高斯分布隨機(jī)初始化卷積濾波器,偏置值初始化為常量0.002,前4層的學(xué)習(xí)率均為10-4,最后1層的學(xué)習(xí)率為10-5。
重構(gòu)圖像的評(píng)價(jià)標(biāo)準(zhǔn)主要分為主觀(guān)評(píng)價(jià)標(biāo)準(zhǔn)和客觀(guān)評(píng)價(jià)標(biāo)準(zhǔn)2種。主觀(guān)評(píng)價(jià)具有簡(jiǎn)單直觀(guān)的特點(diǎn),然而重構(gòu)圖像的主觀(guān)評(píng)價(jià)容易受到人們的視覺(jué)特性、心理狀態(tài)等多方面的影響,因此在模擬實(shí)驗(yàn)中應(yīng)用比較困難??陀^(guān)評(píng)價(jià)標(biāo)準(zhǔn)中本文采用PSNR為評(píng)價(jià)指標(biāo)。綜合考慮客觀(guān)評(píng)價(jià)標(biāo)準(zhǔn)和主觀(guān)評(píng)價(jià)標(biāo)準(zhǔn),才能對(duì)重構(gòu)圖像的性能進(jìn)行科學(xué)、客觀(guān)的評(píng)價(jià)。
2.3.1 客觀(guān)評(píng)價(jià)標(biāo)準(zhǔn)分析
實(shí)驗(yàn)將本文算法與Bicubic算法、SRCNN算法、 MC-SRCNN算法和文獻(xiàn)[22]算法進(jìn)行比較。在模擬實(shí)驗(yàn)過(guò)程中,進(jìn)行了2倍、3倍和4倍的重構(gòu),選取Set5和Set14數(shù)據(jù)集中的圖像作為測(cè)試對(duì)比結(jié)果。本文從客觀(guān)角度對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行定量對(duì)比分析,結(jié)果如表1~表4所示,表1、表2和表3分別為標(biāo)準(zhǔn)數(shù)據(jù)集Set5在放大2倍、3倍和4倍下5種算法的PSNR,表4為標(biāo)準(zhǔn)數(shù)據(jù)集Set14在放大3倍下5種算法的PSNR值,其中,表1~表4中加粗字體表示不同算法在Set5和Set14數(shù)據(jù)集上放大不同倍數(shù)條件下的最優(yōu)結(jié)果。
表1 數(shù)據(jù)集Set5在放大2倍條件下5種算法的PSNRTable 1 PSNR of five algorithms under the condition oftwo times magnification in dataset Set5 dB
表2 數(shù)據(jù)集Set5在放大3倍條件下5種算法的PSNRTable 2 PSNR of five algorithms under the condition ofthree times magnification in dataset Set5 dB
表3 數(shù)據(jù)集Set5在放大4倍條件下5種算法的PSNRTable 3 PSNR of five algorithms under the condition offour times magnification in dataset Set5 dB
表4 數(shù)據(jù)集Set14在放大3倍條件下5種算法的PSNRTable 4 PSNR of five algorithms under the condition ofthree times magnification in dataset Set14 dB
從表1~表4中數(shù)據(jù)可以看出,除了在Set14數(shù)據(jù)集上放大3倍條件下,本文算法的PSNR值略低于MC-SRCNN算法以外,在其他條件下,本文算法的PSNR值均高于其他4種算法。
2.3.2 主觀(guān)評(píng)價(jià)標(biāo)準(zhǔn)分析
實(shí)驗(yàn)分別對(duì)Head的頭發(fā)、Butterfly的翅膀和Baby的眼睛部位以局部放大的方式直觀(guān)地對(duì)比了不同重構(gòu)方法的效果圖。將本文算法得到的超分辨率重構(gòu)圖像與Bicubic算法、SRCNN算法、MC-SRCNN算法和文獻(xiàn)[22]算法重構(gòu)的圖像在放大倍數(shù)為3的條件下進(jìn)行主觀(guān)對(duì)比,結(jié)果如圖5~圖7所示。從主觀(guān)角度分析可知,以Bicubic算法重構(gòu)得到的圖像分辨率較低,且圖像較為模糊、細(xì)節(jié)不明顯;SRCNN算法改善了圖像模糊現(xiàn)象,得到較為清晰的圖像,但其中的細(xì)節(jié)信息仍然難以獲取;經(jīng)過(guò)MC-SRCNN算法得到的圖像清晰度雖然相比前2種算法有所提升,但是在邊緣部分產(chǎn)生了嚴(yán)重的偽影現(xiàn)象,重構(gòu)效果還有待進(jìn)一步提升;經(jīng)過(guò)文獻(xiàn)[22]算法得到的圖像雖然減少了不必要的特征丟失,但是在細(xì)節(jié)紋理方面與原圖相比仍有一定的差異;相比以上4種算法而言,利用本文算法得到的圖像分辨率明顯增強(qiáng),且更容易捕獲圖像中的細(xì)節(jié)信息,清晰度更好。
圖5 5種算法在Head圖像上的重構(gòu)效果Fig.5 Reconstruction effect of five algorithms on Head image
圖6 5種算法在Butterfly圖像上的重構(gòu)效果Fig.6 Reconstruction effect of five algorithmson Butterfly image
圖7 5種算法在Baby圖像上的重構(gòu)效果Fig.7 Reconstruction effect of five algorithms on Baby image
對(duì)Bicubic算法、SRCNN算法、MC-SRCNN算法和文獻(xiàn)[22]算法與本文算法在數(shù)據(jù)集Set14上每張圖片重建的平均運(yùn)行時(shí)間以及其恢復(fù)性能進(jìn)行比較,結(jié)果如表5所示。其中,所有算法均在CPU為3.10 GHz、RAM為8 GB的電腦上運(yùn)行,并使用Tensorflow框架實(shí)現(xiàn)算法。
表5 數(shù)據(jù)集Set14在放大3倍條件下5種算法的運(yùn)行時(shí)間和PSNRTable 5 The running time and PSNR of five algorithmsunder the condition of three times magnificationin dataset Set14
從表5可以看出,與結(jié)構(gòu)簡(jiǎn)單的SRCNN算法相比,本文算法采用了極深的CNN結(jié)構(gòu),雖然本文算法重構(gòu)一幅圖像的平均運(yùn)算時(shí)間增加了2.7 s,但是重構(gòu)圖像的客觀(guān)評(píng)價(jià)指標(biāo)PSNR增加了1.44 dB,極大提高了重構(gòu)圖像的質(zhì)量。同時(shí),與MC-SRCNN算法和文獻(xiàn)[22]算法相比,由于本文算法采用了較小的卷積核,其重構(gòu)一幅圖像的平均運(yùn)算時(shí)間均低于上述2種算法。
針對(duì)目前CNN在超分辨率重構(gòu)中存在參數(shù)過(guò)多、網(wǎng)絡(luò)不穩(wěn)定以及重構(gòu)圖像效果不顯著等問(wèn)題,本文提出一種基于多通道極深CNN的圖像超分辨率算法。該算法以多通道圖像作為輸入數(shù)據(jù),使用更小的卷積核來(lái)加深網(wǎng)絡(luò)結(jié)構(gòu),并采用效率更高的Adam優(yōu)化算法對(duì)損失函數(shù)進(jìn)行優(yōu)化求解。實(shí)驗(yàn)結(jié)果表明,相比Bicubic、SRCNN、MC-SRCNN和文獻(xiàn)[22]算法,本文算法不僅在主觀(guān)評(píng)價(jià)中給人以圖像增強(qiáng)的視覺(jué)感受,而且在客觀(guān)評(píng)價(jià)標(biāo)準(zhǔn)中PSNR值也較高。但是該算法在處理含有文字的圖像分辨率問(wèn)題上還有待提高,因此在下一步研究工作中,需要進(jìn)一步改進(jìn)算法以解決卷積中文字模糊的問(wèn)題,使得CNN對(duì)所有自然圖像均具有良好的適應(yīng)性。