陳清江,胡倩楠,李金陽(yáng)
(西安建筑科技大學(xué) 理學(xué)院,陜西 西安 710055)
近年來(lái),隨著手機(jī)等移動(dòng)設(shè)備的普及,拍照成為了記錄生活的主要方式。但不可避免地會(huì)出現(xiàn)相機(jī)抖動(dòng)、物體移動(dòng)等問(wèn)題,獲取的圖像出現(xiàn)模糊現(xiàn)象,嚴(yán)重影響后續(xù)圖像的使用。除了日常生活中的照片,圖像模糊退化還會(huì)發(fā)生在刑事偵察、視頻監(jiān)控、衛(wèi)星成像等[1-2]方面,故圖像去模糊技術(shù)具有重大的研究意義和應(yīng)用價(jià)值。
圖像去模糊通常分為兩類,非盲去模糊[3]和盲去模糊[4]。早期的研究大多致力于非盲去模糊[3],即模糊核已知。但在真實(shí)應(yīng)用場(chǎng)景中模糊圖像的模糊核往往是未知的。傳統(tǒng)方法[5]大多基于統(tǒng)計(jì)先驗(yàn)和正則化技術(shù)去除圖像模糊,常見(jiàn)圖像先驗(yàn)包括梯度稀疏先驗(yàn)[6]、低秩先驗(yàn)[7]等。但傳統(tǒng)基于統(tǒng)計(jì)先驗(yàn)的去模糊方法采用的圖像先驗(yàn)大多是假設(shè)的,存在假設(shè)不正確、細(xì)節(jié)丟失等問(wèn)題。近年來(lái),深度學(xué)習(xí)已廣泛應(yīng)用于解決計(jì)算機(jī)視覺(jué)問(wèn)題,例如圖像識(shí)別[8]、圖像分類[9]等問(wèn)題。Xu等[10]提出基于卷積神經(jīng)網(wǎng)絡(luò)的圖像去模糊方法,但該算法在去模糊過(guò)程中丟失了圖像的細(xì)節(jié)紋理信息。Hradi等[11]提出基于卷積神經(jīng)網(wǎng)絡(luò)的圖像去模糊算法,但該算法只適用于文本圖像。Su等[12]提出基于卷積神經(jīng)網(wǎng)絡(luò)的視頻去模糊方法,但該算法不適用單幅圖像去模糊。Nah等[4]提出一種多尺度卷積網(wǎng)絡(luò),遵循傳統(tǒng)的“從粗到細(xì)”的網(wǎng)絡(luò)框架逐漸恢復(fù)出更高分辨率的清晰圖像,該算法獲得了較好的效果,但計(jì)算量大,運(yùn)行速度較慢。Zhang等[13]提出了一種深度分層多補(bǔ)丁網(wǎng)絡(luò),利用“從細(xì)到粗”的分層方式去除非均勻運(yùn)動(dòng)模糊,該算法降低了模型大小,提高了運(yùn)行速度,但圖像預(yù)處理過(guò)程較復(fù)雜,網(wǎng)絡(luò)性能不穩(wěn)定。以上各種算法均未加區(qū)分地處理空間與通道特征信息,事實(shí)上,模糊圖像中不同通道以及各個(gè)空間位置上包含不同類型的信息,其中一些有助于消除模糊,另一些有助于恢復(fù)細(xì)節(jié)。
針對(duì)目前用于圖像去模糊的單任務(wù)卷積神經(jīng)網(wǎng)絡(luò)高頻細(xì)節(jié)丟失、不加區(qū)分地處理空間和通道特征信息等問(wèn)題,本文提出一種基于雙任務(wù)卷積神經(jīng)網(wǎng)絡(luò)的圖像去模糊方法,網(wǎng)絡(luò)由去模糊子網(wǎng)絡(luò)、高頻細(xì)節(jié)恢復(fù)子網(wǎng)絡(luò)以及特征重建模塊組成。由于不同的空間區(qū)域以及不同通道包含不同類型的特征信息,故在去模糊子網(wǎng)絡(luò)中將殘差注意力模塊放置在編碼器末端引導(dǎo)解碼器重建出更加清晰的圖像,并在去模糊子網(wǎng)絡(luò)中引入八度卷積殘差塊作為整個(gè)編解碼子網(wǎng)絡(luò)的基礎(chǔ)構(gòu)建塊,增強(qiáng)特征提取能力的同時(shí)降低空間冗余,減少參數(shù)量。編解碼網(wǎng)絡(luò)結(jié)構(gòu)可以增加網(wǎng)絡(luò)的感受野以及獲取更多不同層級(jí)的圖像特征信息,但由于編解碼網(wǎng)絡(luò)結(jié)構(gòu)會(huì)丟失特征圖的高頻信息,故提出一種用以恢復(fù)細(xì)節(jié)紋理的基于雙殘差連接的高頻細(xì)節(jié)恢復(fù)子網(wǎng)絡(luò)。本文將去模糊子網(wǎng)絡(luò)與高頻細(xì)節(jié)恢復(fù)子網(wǎng)絡(luò)采用并聯(lián)的方式進(jìn)行組合,可達(dá)到更好的去模糊效果。
注意力機(jī)制可被視為一種自適應(yīng)地將計(jì)算資源分配給輸入特征中最有用部分的方法。近年來(lái),空間注意力機(jī)制和通道注意力機(jī)制被廣泛應(yīng)用于計(jì)算機(jī)視覺(jué)任務(wù)中,例如目標(biāo)識(shí)別[8]、圖像去霧[14]等。空間注意力機(jī)制可突出有用空間位置的特征,通道注意力機(jī)制可以識(shí)別通道特征之間的相互依賴性并找到有用的特征。
通道注意力模塊從通道的角度對(duì)特征進(jìn)行加權(quán),該模塊結(jié)構(gòu)如圖1所示,通道注意主要關(guān)注于輸入圖像中什么是有意義的。計(jì)算過(guò)程如下:
MC(F)=σ(MLP(AvgPool(F))+
MLP(MaxPool(F))),
(1)
其中:σ表示sigmoid激活函數(shù),MLP表示多層感知機(jī)。
與通道注意不同,空間注意側(cè)重于輸入圖像‘何處’信息是有用的,是對(duì)通道注意的補(bǔ)充。該模塊結(jié)構(gòu)如圖2所示,計(jì)算過(guò)程如下:

圖1 通道注意力模塊Fig.1 Channel attention module
(2)
其中:σ表示Sigmoid函數(shù),f7×7表示濾波器大小為7×7的卷積運(yùn)算。

圖2 空間注意力模塊Fig.2 Spatial attention module
自然圖像可以分解為低空間頻率和高空間頻率,卷積層的輸出特征圖以及輸入通道也存在著高、低頻分量。高頻信號(hào)支撐的是豐富細(xì)節(jié),而低頻信號(hào)支撐的是整體結(jié)構(gòu),顯然低頻分量中存在冗余,在編碼過(guò)程中可以節(jié)省。而傳統(tǒng)的卷積并未分解低高頻分量,導(dǎo)致空間冗余。為解決上述問(wèn)題,Chen等人[15]提出了八度卷積(Octave Convolution),其核心原理就是利用空間尺度化理論將圖像高頻低頻部分分開(kāi),下采樣低頻部分,并在其相應(yīng)的頻率上用不同的卷積處理它們,間隔一個(gè)八度,可以大幅降低參數(shù)量。OctConv被定義為一個(gè)單一的、通用的、即插即用的卷積單元,并且可以完美地嵌入到神經(jīng)網(wǎng)絡(luò)中,同時(shí)減少內(nèi)存和計(jì)算成本。該模塊結(jié)構(gòu)如圖3所示。

圖3 八度卷積模塊Fig.3 Octave convolution module
如圖3所示,卷積層的輸入輸出以及卷積核都被分為了兩個(gè)部分,一部分為高頻信息[XH,YH,WH],另一部分為低頻信息[XL,YL,WL],低頻特征圖的分辨率為高頻特征圖的一半,對(duì)于高頻特征圖,它的頻率內(nèi)信息更新過(guò)程就是普通卷積過(guò)程,而頻率間的信息交流過(guò)程,則使用上采樣操作再進(jìn)行卷積。類似地,對(duì)于低頻特征圖,它的頻率內(nèi)信息更新過(guò)程是普通卷積過(guò)程,而頻率間的信息交流過(guò)程,則使用平均池化操作再進(jìn)行卷積。其卷積過(guò)程可以描述如下:
YH=f(XH;WH→H)+
upsample(f(XL;WL→H),2),
(3)
YL=f(XL;WL→L)+
f(pool(XH,2);WH→L).
(4)
針對(duì)現(xiàn)有去模糊算法存在的高頻細(xì)節(jié)丟失、不加區(qū)分地處理所有空間和通道特征信息等問(wèn)題,本文提出一種基于雙任務(wù)卷積神經(jīng)網(wǎng)絡(luò)的圖像去模糊方法,將整個(gè)去模糊任務(wù)分為兩個(gè)子任務(wù)進(jìn)行,首先利用基于殘差注意力模塊和八度卷積殘差塊的編解碼網(wǎng)絡(luò)去除圖像模糊,將殘差注意力模塊添加至編碼器末端來(lái)引導(dǎo)解碼器重建出更加清晰的圖像,并且利用八度卷積殘差塊來(lái)降低空間冗余以及更充分地提取特征信息,去模糊子網(wǎng)絡(luò)保留了整體結(jié)構(gòu)信息,但由于編碼過(guò)程采用下采樣操作,會(huì)丟失高頻細(xì)節(jié),故提出一種基于雙殘差連接模塊的高頻細(xì)節(jié)恢復(fù)子網(wǎng)絡(luò)來(lái)恢復(fù)其高頻細(xì)節(jié),在雙殘差連接模塊中利用成對(duì)操作潛力來(lái)進(jìn)行細(xì)節(jié)恢復(fù),在擴(kuò)大感受野的同時(shí)提高了網(wǎng)絡(luò)性能。本文采用并聯(lián)方式將去模糊子網(wǎng)絡(luò)和高頻細(xì)節(jié)恢復(fù)子網(wǎng)絡(luò)組合起來(lái),從而達(dá)到更好的去模糊效果。整體網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。

圖4 雙任務(wù)卷積神經(jīng)網(wǎng)絡(luò)模型Fig.4 Dual task convolution neural network model
目前,編解碼網(wǎng)絡(luò)結(jié)構(gòu)常被應(yīng)用于計(jì)算機(jī)視覺(jué)任務(wù)中[16],其對(duì)于圖像復(fù)原任務(wù)有較強(qiáng)的適用性和實(shí)用性。本文采用一種新型的自編解碼網(wǎng)絡(luò)結(jié)構(gòu),自編碼結(jié)構(gòu)由卷積層、八度卷積殘差塊以及殘差注意力模塊組成,輸入的模糊圖像經(jīng)過(guò)3次步長(zhǎng)為2的卷積層進(jìn)行下采樣,每經(jīng)過(guò)一次下采樣得到尺寸減少一半的特征圖。自解碼結(jié)構(gòu)由上采樣層、卷積層以及八度卷積殘差塊組成,經(jīng)過(guò)3次上采樣操作將特征圖恢復(fù)到原來(lái)的尺寸大小。由于利用注意力模塊可以使網(wǎng)絡(luò)自適應(yīng)地學(xué)習(xí)不同通道以及空間的重要特征,故將殘差注意力模塊應(yīng)用于編碼器末端來(lái)引導(dǎo)解碼器去除運(yùn)動(dòng)模糊,重建出更加清晰的圖像。圖像去模糊任務(wù)中,具有較大感受野是去除嚴(yán)重模糊的關(guān)鍵,增加網(wǎng)絡(luò)層數(shù)可以增大感受野,但也會(huì)導(dǎo)致梯度消失或梯度爆炸等問(wèn)題,故本文在編碼階段和對(duì)稱的解碼階段添加跳躍連接,可以緩解由于網(wǎng)絡(luò)過(guò)深而導(dǎo)致的梯度消失或爆炸問(wèn)題。編解碼器的參數(shù)配置如表1、表2所示,編解碼結(jié)構(gòu)所有卷積層均使用3×3的卷積核。

表1 編碼結(jié)構(gòu)參數(shù)配置表Tab.1 Parameters configuration table of encoding structure

表2 解碼結(jié)構(gòu)參數(shù)配置表Tab.2 Parameters configuration table of decoding structure
殘差結(jié)構(gòu)的網(wǎng)絡(luò)已被廣泛應(yīng)用于圖像去霧[17]、圖像去噪[18]等領(lǐng)域,其產(chǎn)生的目的是為了解決較深網(wǎng)絡(luò)容易出現(xiàn)梯度消失、梯度爆炸、網(wǎng)絡(luò)性能退化等問(wèn)題。本文將注意力機(jī)制(CBAM)[19]與殘差結(jié)構(gòu)[20]相結(jié)合并應(yīng)用于編碼器末端用于引導(dǎo)解碼器重建出更清晰的圖像,并且能夠保證在整體結(jié)構(gòu)完整的情況下突出更有用的信息。該模塊結(jié)構(gòu)如圖5所示。
輸入特征首先經(jīng)過(guò)一個(gè)3×3的卷積層,得到的特征分別進(jìn)入主干分支M和CBAM分支C。進(jìn)入CBAM分支的特征首先經(jīng)過(guò)通道注意力機(jī)制模塊,得到的特征再與經(jīng)過(guò)卷積層的特征進(jìn)行相應(yīng)元素相乘,得到輸出特征F′,之后F′進(jìn)入空間注意力機(jī)制模塊,再與F′進(jìn)行相應(yīng)元素相乘,得到CBAM分支的最終輸出特征Ci,c(x)。主干分支保留了原始的特征Mi,c(x),與CBAM分支所得到的輸出Ci,c(x)相加得到殘差注意力模塊的最終輸出Hi,c(x)。上述結(jié)構(gòu)可表述為:

圖5 殘差注意力模塊Fig.5 Residual attention module
Hi,c(x)=Ci,c(x)+Mi,c(x),
(5)
其中:i代表空間位置,c代表特征通道的索引。
該模塊中的主干分支M保留了原始輸入特征信息,而CBAM分支生成的注意力機(jī)制特征圖顯著突出了對(duì)結(jié)果有用的區(qū)域,故此模塊有利于提高網(wǎng)絡(luò)的表達(dá)能力。
Chen等人[15]已經(jīng)證明了八度卷積可以有效減少參數(shù)量,降低空間冗余,并且可以使一部分卷積專注提取高頻信息,另一部分卷積提取低頻信息。ResNet是He等[20]在2015年所提出的,它解決了深層網(wǎng)絡(luò)中梯度彌散和精度下降的問(wèn)題,使網(wǎng)絡(luò)能夠越來(lái)越深,既保證了精度,又控制了速度。本文將八度卷積引入殘差塊,將殘差連接單元中普通卷積替換為八度卷積,在解決梯度消失、精度下降等問(wèn)題的同時(shí)降低空間冗余,減少計(jì)算量。本文將八度卷積殘差塊作為編解碼網(wǎng)絡(luò)的基礎(chǔ)構(gòu)建塊。該模塊結(jié)構(gòu)如圖6所示。

圖6 八度卷積殘差模塊Fig.6 Octave convolution residual module
由于編解碼網(wǎng)絡(luò)結(jié)構(gòu)會(huì)丟失部分細(xì)節(jié)特征,故本文設(shè)計(jì)了一個(gè)基于雙殘差連接方式的高頻細(xì)節(jié)恢復(fù)子網(wǎng)絡(luò)。這種連接方式配備了兩個(gè)容器,可以插入任何操作。為擴(kuò)大感受野,本文將第一個(gè)容器里放入一個(gè)3×3,步長(zhǎng)為1的卷積層和膨脹因子為3的擴(kuò)張卷積層;第二個(gè)容器里放入一個(gè)5×5,步長(zhǎng)為1的卷積層,利用這兩個(gè)容器的成對(duì)運(yùn)算潛力來(lái)恢復(fù)出高頻細(xì)節(jié)信息。在此模塊中并未進(jìn)行下采樣操作,整個(gè)過(guò)程特征圖大小與輸入大小保持一致,只進(jìn)行模糊圖像高頻特征的提取和融合,為最終的圖像恢復(fù)過(guò)程提供高頻信息。本文在高頻細(xì)節(jié)恢復(fù)子網(wǎng)絡(luò)中設(shè)計(jì)了5對(duì)成對(duì)操作。該模塊的網(wǎng)絡(luò)結(jié)構(gòu)如圖7所示。

圖7 雙殘差連接模型Fig.7 Double residual connection model
特征x進(jìn)入第i個(gè)成對(duì)操作后,首先經(jīng)過(guò)第一個(gè)容器,也即經(jīng)過(guò)一個(gè)3×3的卷積層和一個(gè)膨脹因子為3的擴(kuò)張卷積層,所得到的特征g1(x)與第i-1個(gè)成對(duì)操作中經(jīng)過(guò)第一個(gè)容器后所得到的特征M進(jìn)行相應(yīng)元素相加,得到輸出特征G,之后G進(jìn)入第i個(gè)成對(duì)操作中的第二個(gè)容器得到特征g2(x),g2(x)再與第i-1個(gè)成對(duì)操作中經(jīng)過(guò)第二個(gè)容器后所得到的特征N進(jìn)行相應(yīng)元素相加,得到最終輸出特征H(x)。上述過(guò)程可以表述為:
G=M+g1(x),
(6)
H(x)=N+g2(x).
(7)
本文總損失函數(shù)由平均絕對(duì)誤差損失(Mean Absolute Error,MAE)、結(jié)構(gòu)損失(Structural Loss,SL)組成。其計(jì)算公式為:
Ltotal=λALA+λSLS,
(8)
其中:LA表示平均絕對(duì)誤差損失(MAE),LS表示結(jié)構(gòu)損失(SL),λA與λS分別為對(duì)應(yīng)的平衡權(quán)重。
平均絕對(duì)誤差(MAE)損失用于測(cè)量清晰圖像和輸出去模糊圖像之間像素方面的差異。其計(jì)算過(guò)程可以表述為:
(9)

平均絕對(duì)誤差損失往往會(huì)丟失細(xì)節(jié)紋理,故在網(wǎng)絡(luò)中引入結(jié)構(gòu)損失作為約束項(xiàng),保持圖像細(xì)節(jié),避免細(xì)節(jié)模糊。其計(jì)算過(guò)程可以表述為:
LS=LSSIM+LMS-SSIM,
(10)
其中,LSSIM可以表示為:
LSSIM=1-SSIM(P),
(11)
多尺度結(jié)構(gòu)相似損失(MS-SSIM)基于多層的SSIM損失函數(shù),考慮了分辨率,LMS-SSIM可以表示為:
LMS-SSIM=1-MS-SSIM(P),
(12)
P為像素塊的中間像素值。
本文實(shí)驗(yàn)訓(xùn)練與測(cè)試數(shù)據(jù)均來(lái)自Nah等[4]在2017年所提出的GoPro數(shù)據(jù)集,隨機(jī)選取2 013張清晰-模糊圖像對(duì),并將2 013張清晰-模糊圖像對(duì)按8∶2的比例劃分為訓(xùn)練集和測(cè)試集,即訓(xùn)練集為1 610張,測(cè)試集為403張。為增加整個(gè)網(wǎng)絡(luò)模型的魯棒性,將訓(xùn)練集中的1 610張圖像進(jìn)行翻轉(zhuǎn)90°與180°,得到4 830張清晰-模糊圖像對(duì)。最終用于實(shí)驗(yàn)的訓(xùn)練集為4 830張,測(cè)試集為403張。
本文所做實(shí)驗(yàn)基于TensorFlow2.0深度學(xué)習(xí)框架與python3.7環(huán)境進(jìn)行訓(xùn)練與測(cè)試,所用計(jì)算機(jī)GPU配置為Nvidia GeForce 1660Ti(6 GB),顯存為6 GB。在整個(gè)實(shí)驗(yàn)過(guò)程中,所有圖像一律裁剪為256×256×3,batch_size=2,epoch=5 000。采用Adam優(yōu)化器來(lái)優(yōu)化損失函數(shù),動(dòng)量參數(shù)分別為0.9、0.999,實(shí)驗(yàn)設(shè)置固定學(xué)習(xí)率為0.000 1。
本文所用總損失函數(shù)為平均絕對(duì)誤差損失與結(jié)構(gòu)損失的加權(quán)和,其中不同的權(quán)重系數(shù)對(duì)實(shí)驗(yàn)結(jié)果有一定的影響,故本文分別驗(yàn)證λA與λS取不同值時(shí)對(duì)實(shí)驗(yàn)結(jié)果的影響。依然使用峰值信噪比(PSNR)和結(jié)構(gòu)相似度(SSIM)這兩項(xiàng)指標(biāo)來(lái)作為性能衡量標(biāo)準(zhǔn)。為了快速驗(yàn)證,λA與λS取不同值的對(duì)比實(shí)驗(yàn)均在只在編碼器末端添加殘差注意力模塊的情況下進(jìn)行。表3為λA與λS取不同值時(shí)網(wǎng)絡(luò)模型在GoPro測(cè)試集上的性能對(duì)比結(jié)果。圖8為λA與λS取不同值時(shí)的網(wǎng)絡(luò)模型在GoPro測(cè)試集上可視化對(duì)比示例圖。表3表明,當(dāng)λA=0.3,λS=0.7時(shí)網(wǎng)絡(luò)性能最好,故本文其他實(shí)驗(yàn)均選擇λA=0.3,λS=0.7。由圖8也可看出當(dāng)λA=0.3,λS=0.7時(shí),圖像紋理細(xì)節(jié)更加豐富,更加接近真實(shí)清晰圖像。

表3 λA與λS取不同值下的實(shí)驗(yàn)指標(biāo)表
殘差注意力模塊可以放置到編解碼網(wǎng)絡(luò)結(jié)構(gòu)中的不同位置,為驗(yàn)證本文將殘差注意力模塊放置為最優(yōu),故先進(jìn)行對(duì)比實(shí)驗(yàn)。殘差注意力模塊可以加入到編解碼網(wǎng)絡(luò)結(jié)構(gòu)的不同位置,分別為:
(1)C0:不添加殘差注意力模塊;
(2)C1:在編碼器末端添加殘差注意力模塊;
(3)C2:在編碼器的第3,4塊添加殘差注意力模塊;
(4)C3:在編碼器的第2,3,4塊添加殘差注意力模塊;
(5)C4:在編碼器后均添加殘差注意力模塊;
(6)C5:在編碼器末端和解碼器第一塊添加殘差注意力模塊;
(7)C6:在解碼器的第1,2塊添加殘差注意力模塊;
(8)C7:在解碼器后均添加殘差注意力模塊。
本文將驗(yàn)證這8種情況,表4展示了殘差注意力模塊所處位置對(duì)網(wǎng)絡(luò)性能的影響。圖9為殘差注意力模塊放置不同位置的網(wǎng)絡(luò)模型在GoPro測(cè)試集上可視化對(duì)比示例圖。
如表4所示,將殘差注意力模塊放置在C1位置時(shí),能夠更好地提升網(wǎng)絡(luò)去模糊性能,獲得了最高的PSNR和SSIM。同時(shí)觀察到,添加多個(gè)殘差注意力模塊在編碼器或解碼器中,網(wǎng)絡(luò)性能有所下降,故本文的其余實(shí)驗(yàn)均將殘差注意力模塊放置在編碼器末端。

表4 殘差注意力模塊不同位置對(duì)性能影響

圖9 殘差注意力模塊放置不同位置的可視化對(duì)比Fig.9 Visual comparison of different positions of residual attention module
針對(duì)不同損失函數(shù)對(duì)實(shí)驗(yàn)結(jié)果的影響,本文測(cè)試了不同情況下的實(shí)驗(yàn)結(jié)果。表5展示了不同損失函數(shù)對(duì)網(wǎng)絡(luò)性能的影響。圖10為應(yīng)用不同損失函數(shù)的情況下在GoPro測(cè)試集上可視化對(duì)比示例圖。
表5表明,LA與LS的加權(quán)和相比于LA和LS在兩項(xiàng)指標(biāo)上有略微的提升,由圖10也可看出單純地使用LA或LS并不能有效去除模糊,細(xì)節(jié)紋理不夠豐富,而利用LA與LS的加權(quán)和可以更好地去除模糊,因此選擇LA與LS的加權(quán)和作為損失函數(shù)。

表5 不同損失函數(shù)對(duì)網(wǎng)絡(luò)性能的影響

圖10 應(yīng)用不同損失函數(shù)的可視化對(duì)比Fig.10 Visual comparison of different loss functions
為了驗(yàn)證本文算法的有效性,選取6種目前先進(jìn)的圖像去模糊卷積神經(jīng)網(wǎng)絡(luò)與本文方法進(jìn)行對(duì)比,使用峰值信噪比(PSNR)、結(jié)構(gòu)相似度(SSIM)、模型大小以及網(wǎng)絡(luò)模型的運(yùn)行時(shí)間作為性能衡量標(biāo)準(zhǔn),表6展示了不同算法在測(cè)試集上的性能對(duì)比結(jié)果。圖11為不同算法在測(cè)試集上可視化對(duì)比示例圖。



圖11 不同算法的可視化對(duì)比Fig.11 Visual comparison of different algorithms

表6 不同算法的性能對(duì)比Tab.6 Performance comparison of different algorithms
由表6可以看出本文所提出的方法較其他4種算法得到了更高的PSRN和SSIM,并且本文的網(wǎng)絡(luò)模型較除Ye算法之外的5種算法達(dá)到最小,雖然本文算法比Ye算法網(wǎng)絡(luò)模型大,但本文算法運(yùn)行時(shí)間較短且能達(dá)到更高的PSNR和SSIM。由圖11也可看出Sun等[21]提出的算法不能夠有效去除模糊,Nah等[4]、Tao等[16]、Zhang等[13]、Ye等[22]以及Zhou等[23]的去模糊效果雖較Sun等[21]的算法有一定的提升,但紋理細(xì)節(jié)恢復(fù)較差,沒(méi)有達(dá)到更好的去模糊效果。本文方法在GoPro數(shù)據(jù)集上有著良好的表現(xiàn),所得到的去模糊圖像更接近清晰圖像。
本文使用同一臺(tái)電腦來(lái)評(píng)估本文算法及目前先進(jìn)的6種算法。如表6所示,Sun等[21]利用CNN算法來(lái)估計(jì)運(yùn)動(dòng)模糊核,但仍需要傳統(tǒng)的非盲去模糊算法來(lái)生成干凈的圖像,這增加了計(jì)算成本;為增大感受野,Nah等[4]和Tao等[16]使用了多尺度CNN算法來(lái)估計(jì)干凈圖像,與傳統(tǒng)的算法相比花費(fèi)了更少的時(shí)間,但多尺度框架不可避免地增加了計(jì)算量,與本文所提方法相比,其效率仍然不高;Zhang等[13]使用了深度分層多補(bǔ)丁CNN算法來(lái)去除模糊,但其圖像預(yù)處理過(guò)程較為復(fù)雜,花費(fèi)時(shí)間更多,并且此模型比本文模型大得多;Ye等[22]使用一種新的尺度循環(huán)網(wǎng)絡(luò),降低了模型大小,但本文方法的運(yùn)行時(shí)間比該方法快約0.73倍。本文提出的雙殘差連接模塊利用不同膨脹率的卷積以較低的計(jì)算成本擴(kuò)大感受域。另外,本文提出的網(wǎng)絡(luò)中使用了八度卷積,進(jìn)一步減小了網(wǎng)絡(luò)的規(guī)模。從表6可以看出,與現(xiàn)有的基于CNN的方法相比,本文提出的網(wǎng)絡(luò)模型小,運(yùn)行速度快,效率更高。
本文為解決現(xiàn)存去模糊卷積神經(jīng)網(wǎng)絡(luò)中存在的細(xì)節(jié)紋理丟失、不加區(qū)分地處理通道以及空間特征信息等問(wèn)題,提出了一種并聯(lián)的雙任務(wù)卷積神經(jīng)網(wǎng)絡(luò)用于圖像去模糊任務(wù)。首先利用基于殘差注意力模塊和八度卷積殘差塊的新型編解碼網(wǎng)絡(luò)結(jié)構(gòu)用來(lái)去除模糊,且在編解碼之間加入跳躍連接來(lái)豐富解碼器的信息,實(shí)驗(yàn)結(jié)果表明,將殘差注意力模塊放置編碼器末端有利于提升去模糊性能。其次提出一種基于雙殘差連接模塊的子網(wǎng)絡(luò)進(jìn)行細(xì)節(jié)恢復(fù),雙殘差連接方式對(duì)于圖像細(xì)節(jié)恢復(fù)任務(wù)具有更強(qiáng)的效果。將這兩個(gè)子網(wǎng)絡(luò)采用并聯(lián)的方式連接起來(lái),最后利用一層卷積來(lái)重建出更加清晰的圖像。實(shí)驗(yàn)結(jié)果表明,本文算法的峰值信噪比為32.427 6 dB,結(jié)構(gòu)相似度為0.947 0,與目前先進(jìn)的圖像去模糊技術(shù)相比均有所提升。