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