楊飛璠,李曉光,卓 力
(北京工業(yè)大學(xué) 信息學(xué)部,北京 100124)
模糊是圖像退化的主要降質(zhì)因素之一,在圖像采集的過程中,由于受到相機(jī)抖動(dòng)、圖像場(chǎng)景深度變化及物體運(yùn)動(dòng)等因素影響,往往會(huì)出現(xiàn)模糊退化現(xiàn)象。由于動(dòng)態(tài)場(chǎng)景下的模糊圖像復(fù)原通常是模糊核非均勻的病態(tài)逆問題,這使得模糊圖像盲復(fù)原技術(shù)成為一個(gè)極具挑戰(zhàn)性的計(jì)算機(jī)視覺問題。
傳統(tǒng)的模糊圖像盲復(fù)原方法[1-6]往往需要對(duì)模糊核作出假設(shè),利用自然圖像的先驗(yàn)信息復(fù)原清晰圖像。大部分傳統(tǒng)方法的研究主要集中于解決簡(jiǎn)單的目標(biāo)運(yùn)動(dòng)、相機(jī)平移、旋轉(zhuǎn)等因素產(chǎn)生的運(yùn)動(dòng)模糊,對(duì)于解決實(shí)際情況下由復(fù)雜因素引起的模糊仍有較大困難。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)以其強(qiáng)大的特征學(xué)習(xí)能力使計(jì)算機(jī)視覺任務(wù)性能得到極大的提高。近年來,提出了基于CNN 的去模糊算法。早期基于學(xué)習(xí)的算法[7-9]遵循傳統(tǒng)方法的去模糊步驟,使用CNN 代替?zhèn)鹘y(tǒng)方法來估計(jì)未知的模糊核。Schuler 等人[7]采用由粗到精的方式,采用多個(gè)CNN 網(wǎng)絡(luò)迭代優(yōu)化模糊圖像。Sun 等人[8]和Yan 等人[9]將模糊核參數(shù)化,通過分類和回歸分析對(duì)模糊核進(jìn)行估計(jì)。這類算法的圖像復(fù)原質(zhì)量取決于模糊核估計(jì)的準(zhǔn)確性,一旦模糊核估計(jì)錯(cuò)誤往往使復(fù)原效果不佳。現(xiàn)在越來越多的方法開始采用端到端的深度網(wǎng)絡(luò)直接學(xué)習(xí)模糊圖像與清晰圖像之間的映射關(guān)系。Nah 等人[10]設(shè)計(jì)了一個(gè)多尺度網(wǎng)絡(luò),以迭代的方式提取圖像的多尺度信息,逐步復(fù)原清晰圖像。Tao等人[11]提出了共享參數(shù)的尺度遞歸網(wǎng)絡(luò)模型。Kupyn 等人[12-13]將去模糊任務(wù)作為圖像風(fēng)格轉(zhuǎn)換的一種特殊情況,利用CNN 對(duì)模糊圖像到清晰圖像的映射進(jìn)行建模。但是,這類方法大部分采用相同的網(wǎng)絡(luò)權(quán)重,缺乏對(duì)非均勻模糊的自適應(yīng)性,對(duì)于復(fù)雜的動(dòng)態(tài)場(chǎng)景模糊圖像的復(fù)原能力有限,容易造成復(fù)原圖像的平均化。
視覺注意力機(jī)制能夠定位圖像中的目標(biāo)并捕捉感興趣的區(qū)域特征,已經(jīng)成功應(yīng)用于識(shí)別和分類問題[14-16]。模糊圖像復(fù)原的目標(biāo)是將圖像中的模糊部分還原成清晰圖像,因此圖像中的模糊區(qū)域是我們復(fù)原和關(guān)注的主要目標(biāo),注意力機(jī)制的出現(xiàn)有望對(duì)圖像去模糊任務(wù)帶來幫助。目前,注意力機(jī)制在圖像復(fù)原任務(wù)中的應(yīng)用較少。論文[17]將注意力機(jī)制應(yīng)用于多降質(zhì)因素圖像復(fù)原任務(wù)中。Purohit 等人[18]提出了一個(gè)自注意模塊來處理空間變化模糊。實(shí)驗(yàn)結(jié)果表明,在大多數(shù)情況下,結(jié)合模糊圖像空間變化特性設(shè)計(jì)的網(wǎng)絡(luò)在去模糊任務(wù)中往往有更好的效果。盡管如此,結(jié)合注意力機(jī)制的圖像去模糊方法依然有限。
本文針對(duì)現(xiàn)有算法缺乏對(duì)模糊圖像復(fù)原的動(dòng)態(tài)自適應(yīng)性,設(shè)計(jì)了基于注意力殘差編解碼網(wǎng)絡(luò)的動(dòng)態(tài)場(chǎng)景圖像去模糊算法。網(wǎng)絡(luò)通過多個(gè)殘差模塊和模糊空間注意力模塊提取空間變化的模糊特征。進(jìn)一步,將全局-局部殘差連接引入編解碼網(wǎng)絡(luò),減少特征丟失,解決由網(wǎng)絡(luò)深度帶來的訓(xùn)練困難的問題,更好地利用特征。本文提出的方法能夠自適應(yīng)感知模糊的空間變化,動(dòng)態(tài)復(fù)原模糊圖像。
為了提高模糊圖像復(fù)原網(wǎng)絡(luò)對(duì)空間變換模糊特征的感知能力,本文提出了基于空間注意力的殘差編解碼圖像去模糊網(wǎng)絡(luò)。通過利用空間注意力機(jī)制,從網(wǎng)絡(luò)結(jié)構(gòu)上實(shí)現(xiàn)動(dòng)態(tài)捕獲空間變化的模糊特征,以指導(dǎo)復(fù)原網(wǎng)絡(luò)輸出清晰的高質(zhì)量圖像,提高處理復(fù)雜模糊圖像的魯棒性。該方法提出的整體網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。該網(wǎng)絡(luò)以編解碼網(wǎng)絡(luò)為基礎(chǔ),加入4 個(gè)空間注意力模塊(spatial attention module,SAM)。同時(shí),為了更好地利用模型參數(shù),采用全局-局部殘差連接策略融合各階段卷積特征。首先,編碼階段包含3 個(gè)尺度,每個(gè)尺度由1 個(gè)卷積和6 個(gè)殘差模塊[19]組成,每個(gè)尺度第一個(gè)卷積的輸出和最后一個(gè)殘差模塊輸出之間通過局部殘差連接進(jìn)行跨層相連;然后,4 個(gè)SAM 對(duì)編碼階段提取的特征進(jìn)一步細(xì)化,使網(wǎng)絡(luò)獲得更有效的信息;最后,解碼階段由2 個(gè)轉(zhuǎn)置卷積和3 個(gè)卷積層組成,通過融合全局殘差連接特征生成具有清晰邊緣結(jié)構(gòu)的復(fù)原圖像。
圖1 整體網(wǎng)絡(luò)框架Fig.1 Structure diagram of overall network
注意力機(jī)制在人類視覺系統(tǒng)中起著重要作用,視覺注意力機(jī)制能夠定位圖像中的目標(biāo)并捕捉感興趣的區(qū)域特征。模糊圖像復(fù)原的目標(biāo)是將圖像中的模糊部分還原成清晰圖像,因此,在網(wǎng)絡(luò)中引入可捕捉模糊區(qū)域及其周圍結(jié)構(gòu)信息的注意力模型對(duì)解決非均勻模糊問題具有重要意義。本文在編解碼網(wǎng)絡(luò)的中部加入4 個(gè)SAM,以在空間維度感知非均勻模糊圖像的重要特征并進(jìn)行自適應(yīng)特征細(xì)化,同時(shí)抑制冗余信息。如圖2所示,SAM 由兩部分組成:密集連接單元和空間注意力單元。首先,利用密集連接單元進(jìn)行多層特征融合,充分利用各層特征信息,更廣泛地提取模糊圖像中的信息。然后,通過在密集連接單元后添加空間注意力單元提取模糊圖像在空間位置上的重要信息,抑制冗余特征,更有效地利用特征。下文對(duì)密集連接單元和空間注意力單元作詳細(xì)介紹。
圖2 空間注意力模塊網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Structure diagram of spatial attention module network
1)密集連接單元。特征提取是提高復(fù)原效果的重要方式,本文采用密集連接單元提取豐富的圖像特征,減少特征丟失,提高特征利用率。密集連接單元具體的網(wǎng)絡(luò)結(jié)構(gòu)見圖2所示。每個(gè)密集連接單元由6 個(gè)瓶頸層和1 個(gè)過渡層組成。
瓶頸層。每個(gè)瓶頸層包含1 個(gè)3×3 的卷積層,在每個(gè)卷積層后,添加了1 個(gè)IN(instance normalization)操作和1 個(gè)ReLU 線性激活函數(shù)。所有的瓶頸層之間均采用密集連接的方式進(jìn)行連接,即每個(gè)瓶頸層的輸入是前面所有瓶頸層輸出的疊加,每個(gè)瓶頸層的輸出都將作為后面每個(gè)瓶頸層的輸入。這些連接能夠充分融合多層特征,更好提取圖像信息。
過渡層。將多個(gè)瓶頸層疊加后,最終輸出的特征通道數(shù)為所有瓶頸層生成的通道數(shù)之和。為了減少最后特征圖的通道數(shù),本文在堆疊的瓶頸層后添加過渡層。過渡層由1 個(gè)3×3 的卷積層組成,該操作將減少輸出特征圖的通道數(shù),從而減少后續(xù)的計(jì)算量。
2)空間注意力單元。由于動(dòng)態(tài)場(chǎng)景中獲取的模糊圖像不同空間位置的模糊程度存在差異,引入空間注意力機(jī)制能夠幫助網(wǎng)絡(luò)在抑制冗余信息的同時(shí),更有效地從模糊圖像中有選擇地提取重要特征。Woo 等人[16]提出了混合注意力模塊CBAM(convolutional block attention module),該模塊分別在通道和空間2 個(gè)維度上提取有意義的特征,以捕獲重要信息并進(jìn)行自適應(yīng)的特征細(xì)化。該模塊能夠較為方便地嵌入到其他網(wǎng)絡(luò)中,增強(qiáng)了網(wǎng)絡(luò)特征學(xué)習(xí)的能力。因此,我們?cè)诿芗B接單元后添加CBAM 模塊中的空間注意力模塊,來細(xì)化特征并增強(qiáng)網(wǎng)絡(luò)的特征提取能力。與大部分二進(jìn)制掩膜不同,我們的空間注意力單元通過sigmoid 激活函數(shù)得到注意力特征圖,使注意力特征圖中的元素為0~1 之間數(shù)值,元素的數(shù)值越大表示其對(duì)應(yīng)位置獲得了更多關(guān)注。由于模糊的非均勻性,圖像的模糊程度在空間上是變化的。因此,這種注意力的意義在于使模糊圖像不同位置的關(guān)注度存在一定的差異。
空間注意力單元利用多池化特征融合策略幫助網(wǎng)絡(luò)有效提取特征的空間位置信息,具體網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。首先,在通道維度提取輸入特征圖F∈RC×H×W的最大池化(max pooling)特征Fmax∈R1×H×W和平均池化(average pooling)特征Favg∈R1×H×W;然后,將池化操作得到的兩個(gè)特征圖拼接;最后,利用卷積操作得到注意力特征圖A∈R1×H×W。其中,max pooling 和average pooling 能夠分別保留特征的邊緣和背景信息,兩者拼接能為下一步的卷積操作提供豐富的特征信息,保證注意力網(wǎng)絡(luò)準(zhǔn)確提取圖像的空間位置信息。具體步驟如(1)式所示:
式中:A和F分別代表空間注意力單元的輸入及其提取的注意力特征圖;f和σ分別代表卷積操作和sigmoid 激活函數(shù);[]表示拼接操作;Fmax和Favg分別表示提取的最大池化特征圖和平均池化特征圖。
在設(shè)計(jì)的網(wǎng)絡(luò)中,我們將4 個(gè)SAM 串聯(lián)連接,將上一個(gè)SAM 的輸出作為下一個(gè)SAM 的輸入,得到的多層特征傳遞給下一個(gè)SAM。動(dòng)態(tài)場(chǎng)景下的模糊圖像往往包含復(fù)雜的場(chǎng)景和空間非均勻的模糊特征信息。本文設(shè)計(jì)的方法可以使網(wǎng)絡(luò)捕獲動(dòng)態(tài)模糊圖像在每個(gè)卷積層的特征信息,并融合SAM 的局部特征,提高特征傳播效率和特征利用率。也就是說,該方法通過提高網(wǎng)絡(luò)的整體性能,獲得更為詳細(xì)的圖像特征。
CNN 提升了圖像復(fù)原算法的效果,但網(wǎng)絡(luò)深度的增加提高了模型訓(xùn)練的難度。為了進(jìn)一步減少信息丟失,改善網(wǎng)絡(luò)訓(xùn)練過程中出現(xiàn)梯度消失現(xiàn)象,在網(wǎng)絡(luò)中引入全局-局部殘差連接策略,如圖1所示。具體來講,在編碼階段,每個(gè)尺度第一個(gè)卷積的輸出和最后一個(gè)殘差模塊輸出之間通過局部殘差連接進(jìn)行跨層相連。在解碼階段,加入全局殘差連接指導(dǎo)網(wǎng)絡(luò)生成具有清晰邊緣結(jié)構(gòu)的復(fù)原圖像。
本文通過最小化圖像內(nèi)容損失來訓(xùn)練所提出的網(wǎng)絡(luò)模型,從像素層級(jí)對(duì)整體復(fù)原網(wǎng)絡(luò)進(jìn)行約束。內(nèi)容損失函數(shù)用來計(jì)算輸出去模糊圖像與對(duì)應(yīng)清晰圖像之間的均方差損失(MSE,mean square error),如公式(2)所示:
式中:x和Xgt分別代表輸入的模糊圖像及其對(duì)應(yīng)的清晰圖像;?(·)表示提出方法的整體網(wǎng)絡(luò)結(jié)構(gòu)。
在本節(jié)中,我們進(jìn)行了比較全面的實(shí)驗(yàn)結(jié)果分析,2.1 節(jié)介紹了提出方法的實(shí)驗(yàn)設(shè)置,2.2 節(jié)給出了消融實(shí)驗(yàn)結(jié)果,2.3 節(jié)給出了實(shí)驗(yàn)所用數(shù)據(jù)集以及對(duì)比實(shí)驗(yàn)結(jié)果。
實(shí)驗(yàn)使用Ubuntu16.04 系統(tǒng),采用NVIDA GeForce GTX 1080 Ti GPU 進(jìn)行模型的訓(xùn)練和測(cè)試,使用PyTorch 平臺(tái)搭建網(wǎng)絡(luò)框架。本文采用ADAM 優(yōu)化器[20]更新網(wǎng)絡(luò)參數(shù)。實(shí)驗(yàn)中,設(shè)置學(xué)習(xí)率為10-4,β1、β2分別為0.9 和0.99,每次迭代batch size 設(shè)置為4。訓(xùn)練過程中的數(shù)據(jù)增強(qiáng)策略包括:1)隨機(jī)水平或垂直翻轉(zhuǎn);2)隨機(jī)旋轉(zhuǎn)90°或-90°。從原始圖像裁剪256×256 像素大小的圖像作為網(wǎng)絡(luò)輸入。
為了驗(yàn)證本文提出的空間注意力模塊和全局-局部殘差連接策略對(duì)于整體網(wǎng)絡(luò)復(fù)原性能提升的作用,在GoPro 數(shù)據(jù)集上進(jìn)行了兩組消融實(shí)驗(yàn)。以未加入空間注意力模塊和全局-局部殘差連接策略的網(wǎng)絡(luò)作為基礎(chǔ)網(wǎng)絡(luò)(Baseline),在基礎(chǔ)網(wǎng)絡(luò)中依次加入全局-局部殘差連接、空間注意力模塊,來驗(yàn)證對(duì)網(wǎng)絡(luò)性能的提升作用。表1 為消融實(shí)驗(yàn)的客觀結(jié)果。從表中可見,加入全局-局部殘差連接網(wǎng)絡(luò)(GL-Net)的客觀結(jié)果高于基礎(chǔ)網(wǎng)絡(luò),說明采用全局-局部殘差連接策略能充分利用多層卷積提取的特征,提高模糊圖像復(fù)原效果;本文提出的采用全局-局部殘差連接策略的空間注意力編解碼網(wǎng)絡(luò)(GL-AttentionNet)性能達(dá)到了最優(yōu)。實(shí)驗(yàn)結(jié)果表明,空間注意力模塊對(duì)復(fù)原效果有較大影響,通過對(duì)提取的特征賦予不同權(quán)重,可使網(wǎng)絡(luò)關(guān)注于重要部分,而抑制不重要部分。
表1 消融實(shí)驗(yàn)在GoPro 測(cè)試集上的平均PSNR、SSIM 結(jié)果Table 1 Average PSNR and SSIM results of ablation experiments on GoPro test set
早期基于學(xué)習(xí)的方法使用模糊核與清晰圖像卷積合成模糊圖像,由于生成模型較為簡(jiǎn)單,使合成數(shù)據(jù)不適用于解決真實(shí)情況下的圖像去模糊。文獻(xiàn)[10]采用對(duì)高速相機(jī)拍攝視頻中的連續(xù)幀取平均的方法合成真實(shí)模糊圖像得到了GoPro 數(shù)據(jù)集。該數(shù)據(jù)集包含3 214 幅成對(duì)的模糊/清晰圖像,每幅圖像大小為720×1 280 像素,涵蓋多種場(chǎng)景,模擬復(fù)雜動(dòng)態(tài)場(chǎng)景下的非均勻模糊。圖3 展示了部分GoPro 數(shù)據(jù)集的示例圖像,每幅圖像都有各自場(chǎng)景特點(diǎn),且圖像模糊程度各異,具有模糊空間分布不均勻的特點(diǎn)。本文采用GoPro 數(shù)據(jù)集訓(xùn)練整體網(wǎng)絡(luò),按照與文獻(xiàn)[10]相同的設(shè)置,劃分為2 103幅訓(xùn)練集和其余1 111 幅測(cè)試集。本文采用峰值信噪比(peak signal-to-noise ratio,PSNR)和結(jié)構(gòu)相似性(structural similarity index,SSIM)指標(biāo)對(duì)算法進(jìn)行定量評(píng)價(jià)。
圖3 GoPro 數(shù)據(jù)集Fig.3 GoPro data set
我們?cè)贕oPro 測(cè)試集上與現(xiàn)有5 種動(dòng)態(tài)場(chǎng)景去模糊方法進(jìn)行了對(duì)比實(shí)驗(yàn)。這些方法包括:Nah 等人提出的方法DMSCNN[10],DeblurGAN[12]、DeblurGAN-v2[13]、SRN[11]以及Gao 等人提出的方法DSDeblur[21]。其中:Nah 等人[10]的方法采用端到端的網(wǎng)絡(luò)結(jié)構(gòu)復(fù)原圖像,取得了不錯(cuò)的去模糊效果;DeblurGAN[12]將生成對(duì)抗網(wǎng)絡(luò)應(yīng)用于圖像去模糊任務(wù),該方法能夠較好地復(fù)原圖像細(xì)節(jié);Deblur-GAN-v2[13]能夠復(fù)原出包含豐富的邊緣輪廓信息;Gao 等人提出的算法[21]在GoPro 數(shù)據(jù)集上實(shí)現(xiàn)了較好的主客觀結(jié)果;SRN 算法[11]將遞歸網(wǎng)絡(luò)應(yīng)用于圖像去模糊任務(wù)。表2 列出了不同方法的客觀實(shí)驗(yàn)結(jié)果。從實(shí)驗(yàn)結(jié)果可見,本文方法PSNR 指標(biāo)最高,SSIM 指標(biāo)與其他方法相當(dāng)、與最高指標(biāo)相差較小,相差為0.03。從運(yùn)行時(shí)間看,本文方法復(fù)原一幅圖像的平均時(shí)間為0.53 s,在對(duì)比方法中運(yùn)行速度最快,說明本文提出的方法時(shí)間復(fù)雜度低。
表2 不同方法在GoPro 測(cè)試集上的平均PSNR、SSIM 結(jié)果以及復(fù)原1 幅圖像的平均時(shí)間Table 2 Average PSNR,SSIM results on GoPro test set with different methods and average time of restoring an image
圖4 為對(duì)比實(shí)驗(yàn)的主觀結(jié)果。我們選了3 幅具有代表性圖像,第1 幅圖像為遠(yuǎn)距離場(chǎng)景下車輛快速運(yùn)動(dòng)引起的局部模糊;第2 幅圖像為由相機(jī)抖動(dòng)引起的全局模糊;第3 幅圖像為近距離場(chǎng)景中行人快速運(yùn)動(dòng)帶來的模糊。從圖4 中可以看到,DeblurGAN 算法對(duì)于復(fù)雜模糊的復(fù)原能力有限。DeblurGAN-v2 算法生成的復(fù)原圖像仍然存在模糊平均現(xiàn)象。DMSCNN 算法能夠較好地復(fù)原圖像細(xì)節(jié),但仍然有模糊存在。本文提出的方法可以在高動(dòng)態(tài)場(chǎng)景下對(duì)模糊圖像進(jìn)行復(fù)原,得到了邊緣清晰的復(fù)原圖像。從圖中可以看出,本文的方法對(duì)于場(chǎng)景中快速運(yùn)動(dòng)的汽車、車牌上的文字以及模糊的人臉都有較好的復(fù)原效果,證明了本文算法的有性。
圖4 GoPro 測(cè)試集的主觀結(jié)果Fig.4 Subjective results of GoPro test set
本文提出了基于注意力殘差編解碼網(wǎng)絡(luò)的去模糊方法。該方法以編解碼網(wǎng)絡(luò)為基礎(chǔ),加入空間注意力模塊自適應(yīng)地選擇提取特征的權(quán)重,使網(wǎng)絡(luò)獲得更有效的信息。為了更好地利用特征,采用全局-局部殘差連接策略融合各階段卷積特征,生成具有清晰邊緣結(jié)構(gòu)的復(fù)原圖像。實(shí)驗(yàn)結(jié)果表明,本文提出的去模糊網(wǎng)絡(luò)在公開數(shù)據(jù)集上取得了較好的峰值信噪比值和結(jié)構(gòu)相似性值,并且主觀結(jié)果上也能復(fù)原出包含清晰紋理邊緣特征的圖像,證明了提出的算法對(duì)于動(dòng)態(tài)場(chǎng)景下的模糊圖像有較好的復(fù)原能力。