崔浩翔
(深圳大學(xué)信息工程學(xué)院,廣東 深圳 518060)
在圖像的應(yīng)用當(dāng)中,超分辨率是一個重要的研究方向,其主要思想是使用圖像處理的方法由一幅低分辨率圖像或圖像序列恢復(fù)出高分辨率圖像。這一思想于20世紀(jì)60年代產(chǎn)生,經(jīng)過多年的發(fā)展,已經(jīng)廣泛應(yīng)用于衛(wèi)星遙感成像、醫(yī)學(xué)影響、安防監(jiān)控、數(shù)字媒體等諸多領(lǐng)域,成為這些領(lǐng)域中的關(guān)鍵技術(shù)。[1]
圖像超分辨率按照重建信息獲取的方式大致可以分為三類:(1)從低分辨圖像自身獲取信息的基于插值的方法;(2)從連續(xù)多幀圖像中獲取信息的基于重建的方法;(3)從外部樣本庫中獲取信息的基于學(xué)習(xí)的方法。尤其在近些年來的研究當(dāng)中,深度學(xué)習(xí)方法是一種重要的研究手段,它屬于第三類研究方法,相比于傳統(tǒng)的算法取得了更好的效果。[2]在這一類超分辨方法中,傳統(tǒng)的CNN方法大都集中在單尺度層面進行研究,很難利用圖像的多尺度信息,并且隨著網(wǎng)絡(luò)的加深,會由于梯度消失等問題產(chǎn)生網(wǎng)絡(luò)收斂性變差的問題。[3]
針對以上問題,本文提出了一種多尺度方形DenseNet(MSRD)的圖像超分辨算法。通過多尺度網(wǎng)絡(luò)可以有效提取不同尺度的特征信息用于超分辨算法中的細(xì)節(jié)還原,通過稠密連接的方法可以有效地避免梯度消失的問題,并且可以提高網(wǎng)絡(luò)中產(chǎn)生的特征圖的利用率。實驗表明,使用MSRD算法,可以帶來比傳統(tǒng)圖像超分辨算法更好的效果。[4]
在使用光學(xué)成像儀器獲取圖像時,由于種種原因,會產(chǎn)生變形(平移、旋轉(zhuǎn))、模糊(如運動模糊、光學(xué)模糊、散焦模糊)等問題,并且由于存儲等原因的影響,高分辨率的圖像會經(jīng)過下采樣,并且在傳播過程中也不可避免地會受到噪聲的影響,最終成為低分辨率圖像。整個過程可以表示為:
其中,x為高分辨率圖像,y為低分辨率圖像,M為幾何運動矩陣,B為模糊矩陣,D為亞采樣矩陣,n為噪聲。如圖1所示為圖像的一般降質(zhì)退化過程。
圖1 圖像的降質(zhì)退化過程
SRCNN是一種經(jīng)典的圖像超分辨算法,其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 SRCNN的網(wǎng)絡(luò)結(jié)構(gòu)圖
SRCNN的輸入圖片為低分辨率圖片,在輸入之后會使用雙三次插值將低分辨率圖片放大到目標(biāo)尺寸,之后輸入網(wǎng)絡(luò)進行卷積操作,最終得到與高分辨率圖片同尺寸的輸出圖片。SRCNN中包含了3個卷積層,其卷積核大小分別為9×9,1×1和5×5,分別進行特征提取、特征非線性映射和圖像重建。
SRCNN是深度學(xué)習(xí)算法應(yīng)用于圖像超分辨領(lǐng)域的經(jīng)典算法,使用這種算法可以取得不錯的性能。但是SRCNN網(wǎng)絡(luò)較為簡單,只能提取單尺度特征,并且在加深網(wǎng)絡(luò)深度后會出現(xiàn)梯度消失的問題。
圖像質(zhì)量客觀評價指標(biāo)是通過數(shù)學(xué)計算方法得到的,通常使用峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)和結(jié)構(gòu)相似性(structural similarity index,SSIM),結(jié)構(gòu)相似性來度量圖像的客觀質(zhì)量。
PSNR的定義如下:
式中,w和h分別為圖像的寬和高;fc (i,j)和f(i,j)分別為處理后的圖像和原圖像在對應(yīng)點的像素的值。一般來說,PSNR越大則圖像質(zhì)量越高。但是PSNR并不與圖像質(zhì)量一一對應(yīng),即使是同樣的PSNR所對應(yīng)的圖像可能視覺觀感完全不同。比如說,在很亮或細(xì)節(jié)很多的區(qū)域的加性噪聲非常不明顯,但是同樣的噪聲如果出現(xiàn)在暗或平滑的區(qū)域就易于被察覺。這主要是由于人的視覺系統(tǒng)對于不同情況下的亮度或者細(xì)節(jié)的敏感度不同,但是PSNR與圖像本身的亮度和細(xì)節(jié)無關(guān),而只與亮度變化的程度有關(guān)。另外,同樣的PSNR,如果噪聲是均勻分布于圖像之中,人們并不易于察覺這些噪聲,但是如果集中分布,則非常的顯眼。
SSIM的定義如下:
常用的獲取多尺度信息的方法主要有兩種:(1)使用下采樣等手段獲取不同尺度的輸入圖片,再縮放到同一尺寸用于圖像處理;(2)將不同尺度的特征圖縮放到同一尺寸用于圖像處理[5]。MSRD采用第一種方法提取多尺度信息,其網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 MSRD的網(wǎng)絡(luò)結(jié)構(gòu)圖
MSRD中使用下采樣的方法獲取不同尺度的圖片,通過多次的卷積操作可以逐步提取不同尺度的圖片中的特征信息,低層網(wǎng)絡(luò)中包含更多的細(xì)節(jié)性能,而高層網(wǎng)絡(luò)中則包含更多的環(huán)境信息。
在MSRD中不同尺度的圖像會包含不同層級的特征信息,在每一層中需要通過多次的卷積操作提取不同層次的特征信息,為了避免隨著深度的增加而產(chǎn)生的梯度消失問題,我們采取了稠密連接的方式,從結(jié)構(gòu)圖中可以看到,每層網(wǎng)絡(luò)都是一個DenseNet,這樣做可以有效地提高特征的利用率,有效緩解梯度消失的問題。
MSRD中的卷積單元RD-Block如圖4所示。
圖4 MSRD中的卷積單元
RD-Block中包含2個卷積層、2個BN層和2個ReLU層,卷積層中的卷積核大小為3×3,在每次卷積之后都加入了BN層和ReLU。使用BN層可以改善流經(jīng)網(wǎng)絡(luò)的梯度,其次在訓(xùn)練過程中還允許更大的學(xué)習(xí)率進而大幅提高訓(xùn)練時的收斂速度,再次使用BN層可以減少網(wǎng)絡(luò)對于初始化的強烈依賴,并且減少了對于dropout的需求。
MSRD的網(wǎng)絡(luò)結(jié)構(gòu)較為復(fù)雜,運算量較大。針對這一問題,我們可以使用MSRD的“剪枝”特性來自適應(yīng)地降低計算復(fù)雜度,如圖5所示[6]。
圖5 MSRD的“剪枝”特性示意圖
MSRD具備“剪枝”特性,在較為簡單的應(yīng)用當(dāng)中可以使用低級的網(wǎng)絡(luò),而在較為復(fù)雜的應(yīng)用當(dāng)中,則可以使用較為高級的網(wǎng)絡(luò),基于這一特性可以在保證網(wǎng)絡(luò)性能的情況下降低運算量。
本實驗所用數(shù)據(jù)庫為BSDS-300數(shù)據(jù)庫,其中包含訓(xùn)練集和測試集,如表1所示。
表1 圖像超分辨實驗數(shù)據(jù)
為便于實驗的進行,在訓(xùn)練時我們將圖像進行中心裁剪,在圖片的縮小比例為2x和4x的實驗當(dāng)中,我們將patch size取為256×256,在縮小比例為3x的實驗中,我們將patch size取為192×192。
我們的實驗環(huán)境為一臺Linux服務(wù)器,系統(tǒng)版本為ubantu 16.04,我們所使用的深度學(xué)習(xí)框架為Pytorch,其版本為0.3.0.past4,使用nVidia Tesla K80進行GPU加速。
本實驗使用的損失函數(shù)為基于均方誤差的損失函數(shù),其公式為:
在訓(xùn)練時,我們將數(shù)據(jù)集中的圖片經(jīng)過下采樣取得縮放比例為2x、3x、4x的圖片,將其作為輸入圖片,將原圖片所謂目標(biāo)圖片,網(wǎng)絡(luò)的輸出結(jié)果為4、9、16通道的輸出圖片,最終將輸出結(jié)果還原為原分辨率的圖片進而計算其損失進行反向傳播。
實驗中所使用的MSRD的深度為6層,層數(shù)為3層,同時我們使用SRCNN、U型多尺度CNN(U-Net)作為平行對照網(wǎng)絡(luò),實驗中使用的U-Net為3層。實驗中所使用的學(xué)習(xí)速率為并在迭代80次后將學(xué)習(xí)速率調(diào)整為實驗使Adam優(yōu)化器,迭代次數(shù)設(shè)定為100代,batch size設(shè)定為16。使用訓(xùn)練集進行訓(xùn)練,并在每代之后將測試集數(shù)據(jù)輸入網(wǎng)絡(luò),通過PSNR和SSIM來反映網(wǎng)絡(luò)性能。
我們訓(xùn)練的迭代次數(shù)設(shè)定為100,訓(xùn)練結(jié)束后,我們比較了雙線性插值、SRCNN、U-Net和MSRD算法的PSNR、SSIM和測試時間等指標(biāo),我們在測試集中取出了Tiger、Talking、Airplane、Elephant等圖片進行測試分析,所得結(jié)果如表2所示。
表2 圖像超分辨實驗結(jié)果
從表2中可以看出,相比于傳統(tǒng)算法中的雙線性插值方法,深度學(xué)習(xí)方法的性能非常突出。在2x、3x、4x比例的實驗中,SRCNN在PSNR指標(biāo)上比雙線性插值高出1.29dB、0.11dB、0.34dB。而U型多尺度CNN網(wǎng)絡(luò)U-Net相比于SRCNN分別在2x、3x、4x中PSNR指標(biāo)高出0.96dB、0.81dB、0.71dB,說明在使用多尺度網(wǎng)絡(luò)提取多尺度特征進行圖像超分辨重建任務(wù)可以帶來更高的性能提升,多尺度特征對于指導(dǎo)圖像的修復(fù)起著至關(guān)重要的作用。MSRD相比于U-Net分別在2x、3x、4x中PSNR指標(biāo)高出0.2dB、0.07dB、0.09dB,說明稠密連接方法對于圖像超分辨研究確實有性能的提升。另外,圖像超分辨任務(wù)中,SSIM指標(biāo)的提升并不明顯,因為圖像超分辨任務(wù)中,下采樣獲取的低分辨率圖片依舊可以很好地保留圖像的結(jié)構(gòu)信息,另外使用MSE作為損失函數(shù)會得到更好的PSNR指標(biāo),而對于SSIM指標(biāo)的提升也并不突出。
由于MSRD的網(wǎng)絡(luò)結(jié)構(gòu)較為復(fù)雜,會提高網(wǎng)絡(luò)的計算量,因此MSRD可以利用其“剪枝”特性自適應(yīng)的調(diào)整網(wǎng)絡(luò)的深度,在保證網(wǎng)絡(luò)性能的前提下降低網(wǎng)絡(luò)的計算量。我們在訓(xùn)練時,定義了多尺度損失函數(shù),在網(wǎng)絡(luò)中的輸出端使用多個損失函數(shù)進行監(jiān)督,提取出不同級別的輸出結(jié)果,我們將2x圖像超分辨任務(wù)的結(jié)果表示在圖6中。
圖6 超分辨率實驗結(jié)果圖 (a)雙線性插值 (b)SRCNN實驗結(jié)果 (c)U-Net實驗結(jié)果 (d)MSRD depth=2實驗結(jié)果 (e)MSRD depth=3實驗結(jié)果 (f)MSRD depth=4 實驗結(jié)果 (g)MSRD depth=5實驗結(jié)果 (h) MSRD depth=6實驗結(jié)果
根據(jù)上圖可以明顯看出,在增加多尺度損失函數(shù)后,各級MSRD的輸出結(jié)果均表現(xiàn)良好,深度為2、3、4、5、6層的MSRD相比于SRCNN網(wǎng)絡(luò)在PSNR上分別高出1.46dB、1.59dB、1.56dB、1.64dB、1.68dB,說明MSRD相比于SRCNN性能提升非常明顯。而MSRD中PSNR指標(biāo)最低的深度為2的網(wǎng)絡(luò)模型依舊比U-Net網(wǎng)絡(luò)高出0.07Db,而深度為6的網(wǎng)絡(luò)模型則高出U-Net0.29dB,說明稠密連接的思路對于超分辨率算法的提升非常明顯。由于低層網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)較少,計算復(fù)雜度遠低于高級網(wǎng)絡(luò),因此在較為簡單的應(yīng)用場景中可以使用較為低級的MSRD網(wǎng)絡(luò),其性能依舊高于傳統(tǒng)的圖像超分辨算法。
本文提出的基于多尺度方形DenseNet的圖像超分辨率算法相比于傳統(tǒng)算法具有很好的性能,這種網(wǎng)絡(luò)是在多尺度CNN網(wǎng)絡(luò)模型的基礎(chǔ)上加入了稠密連接的思想,相比于傳統(tǒng)的圖像超分辨算法在不同的縮小比例中可以在PSNR上有超過0.8dB的提升,另外MSRD可以在不同場景中根據(jù)其“剪枝”特性來降低其計算量,保證運算速度。
深圳信息職業(yè)技術(shù)學(xué)院學(xué)報2019年3期