魏海云,鄭茜穎,俞金玲
(福州大學(xué)物理與信息工程學(xué)院,福州 350108)
使用相機(jī)或手機(jī)拍攝照片時(shí),由于技術(shù)限制,得到的不會(huì)是單一時(shí)間的即時(shí)圖像,表現(xiàn)出來的應(yīng)該是一段時(shí)間內(nèi)的場(chǎng)景,所以在相機(jī)曝光的這段時(shí)間里,如果該場(chǎng)景中的人或物體產(chǎn)生了移動(dòng)或者相機(jī)發(fā)生了抖動(dòng)或者景深產(chǎn)生了變化等,都會(huì)導(dǎo)致之前采集到的像素點(diǎn)發(fā)生變化,也就是說在得到的圖片中,任何沿著相機(jī)相對(duì)方向運(yùn)動(dòng)的物體將會(huì)看起來模糊或被晃動(dòng),這就是運(yùn)動(dòng)模糊,也稱為動(dòng)態(tài)模糊。這種情況在生活中經(jīng)常會(huì)碰到,例如跟拍奔跑中的運(yùn)動(dòng)員、在高速運(yùn)行的動(dòng)車上拍攝窗外景物等都很可能獲得運(yùn)動(dòng)模糊的圖像,因此,模糊圖像的復(fù)原被廣泛用于生產(chǎn)生活、工業(yè)制造、天文觀測(cè)、醫(yī)學(xué)影像等領(lǐng)域,對(duì)運(yùn)動(dòng)模糊圖像復(fù)原的研究具有重要價(jià)值。
模糊圖像復(fù)原根據(jù)模糊核是否已知分為盲去模糊和非盲去模糊。非盲去模糊的早期復(fù)原方法[1-8]通過應(yīng)用各種約束條件,引入圖像先驗(yàn)知識(shí)來表征圖像模糊,但是實(shí)際中非均勻運(yùn)動(dòng)模糊情況大都是無法預(yù)估的,因此這些方法在實(shí)際應(yīng)用中的效果并不好。
由于深度學(xué)習(xí)能夠提取圖像特征,被廣泛應(yīng)用到計(jì)算機(jī)視覺領(lǐng)域,并取得很好的結(jié)果。Sun 等[9]利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)估計(jì)模糊核;Schuler等[10]以由粗到細(xì)的方式堆疊多個(gè)CNN 以模擬迭代優(yōu)化來預(yù)測(cè)頻域中的反卷積核。這類方法雖然在實(shí)驗(yàn)中得到恢復(fù)的清晰圖像,但是因?yàn)楹?jiǎn)化了實(shí)際情況中復(fù)雜的模糊情況,且沒有真實(shí)的模糊-清晰圖像對(duì)用于監(jiān)督學(xué)習(xí),因此實(shí)際應(yīng)用效果并不好。通常使用自定義的、由清晰圖像卷積模糊核而生成的圖像來進(jìn)行訓(xùn)練,導(dǎo)致得到的模型僅能處理空間均勻或幾種特定類型的模糊,限制了模型處理真實(shí)模糊圖像的能力。
Nah 等[11]提出一種多尺度卷積網(wǎng)絡(luò)方法用于動(dòng)態(tài)場(chǎng)景去模糊;Kupyn 等[12]使用基于生成對(duì)抗網(wǎng) 絡(luò)(Generative Adversarial Network,GAN)和內(nèi)容損失的方法復(fù)原運(yùn)動(dòng)模糊圖像,可以有效去除單幅圖像運(yùn)動(dòng)模糊。除此之外,很多改進(jìn)的網(wǎng)絡(luò)[13-16]不需要估計(jì)模糊核,采用端到端的結(jié)構(gòu),直接得到清晰圖像,從而簡(jiǎn)化了模糊復(fù)原任務(wù)的工作。雖然這些方法都能在一定程度上對(duì)非均勻運(yùn)動(dòng)模糊圖像進(jìn)行復(fù)原,但是這些方法的網(wǎng)絡(luò)結(jié)構(gòu)比較復(fù)雜、參數(shù)量多,因此計(jì)算量較大、網(wǎng)絡(luò)訓(xùn)練耗時(shí)長(zhǎng),且實(shí)際情況下的復(fù)原圖像在細(xì)節(jié)方面并不理想。
為了解決這些問題,本文提出一種基于殘差注意力模塊[17]和卷積門控循環(huán)模塊(Convolution Gated Recurrent Unit,ConvGRU)的多尺度網(wǎng)絡(luò)模糊圖像復(fù)原算法。本文主要工作如下:
1)使用融合了注意力機(jī)制的殘差塊作為基本單元,編碼端使用引入了注意力機(jī)制的殘差塊,放大了卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)點(diǎn),提高了網(wǎng)絡(luò)收斂速度,產(chǎn)生了很大的感受野。
2)在編碼解碼中間加入ConvGRU 模塊,通過對(duì)編碼部分提取的特征圖進(jìn)行處理,獲取圖像空間信息,把有用的隱藏歷史信息給提取出來,從而利用圖像空間的連續(xù)性來進(jìn)行模糊圖像復(fù)原。
3)感知損失[18]和L2 范數(shù)損失組成的混合損失函數(shù)訓(xùn)練的網(wǎng)絡(luò)讓輸出更接近真實(shí)結(jié)果,可以進(jìn)一步提升網(wǎng)絡(luò)性能。
本文采用的是由粗到細(xì)多尺度網(wǎng)絡(luò)來對(duì)非均勻運(yùn)動(dòng)模糊圖像進(jìn)行復(fù)原,網(wǎng)絡(luò)一共包括3 個(gè)尺度,除了輸入圖片的尺寸大小不同外,每個(gè)尺度的網(wǎng)絡(luò)結(jié)構(gòu)都一樣,如圖1 所示,在每一個(gè)尺度上都使用了相同的非對(duì)稱編解碼網(wǎng)絡(luò),從第一級(jí)輸入開始,編碼端有4 個(gè)卷積模塊,每個(gè)模塊中包含了3 個(gè)步長(zhǎng)為2、卷積核為5 的卷積層。解碼端將得到的輸出再進(jìn)行上采樣作為下一級(jí)網(wǎng)絡(luò)的輸入。因?yàn)槎喑叨染W(wǎng)絡(luò)結(jié)構(gòu)大,會(huì)增加訓(xùn)練難度,使用跨尺度共享權(quán)重來減少參數(shù)量,且在編碼端輸出也增加了空間金字塔池化層(Spatial Pyramid Pooling layer,SPP)[19],使得網(wǎng)絡(luò)的訓(xùn)練速度大幅提高。
圖1 非對(duì)稱編解碼網(wǎng)絡(luò)Fig.1 Asymmetric encoder-decoder network
常規(guī)的編解碼網(wǎng)絡(luò)包括編碼部分和解碼部分,網(wǎng)絡(luò)基本都是對(duì)稱式結(jié)構(gòu),編碼部分的主要任務(wù)是通過下采樣從模糊圖像中提取主要特征,解碼部分再通過上采樣得到輸出的結(jié)果。
為了使提取的特征更加精確,本文采用不完全對(duì)稱的多尺度編解碼網(wǎng)絡(luò)。在編碼部分使用引入了注意力機(jī)制的殘差塊(Residual Attention Block,RAB)[20],如圖2 所示,在RAB模塊中包含了通道注意力和空間注意力模塊,這兩個(gè)模塊的排列有級(jí)聯(lián)或者并行兩種方式,因?yàn)橐呀?jīng)有實(shí)驗(yàn)測(cè)試表明級(jí)聯(lián)排列的網(wǎng)絡(luò)訓(xùn)練得到的結(jié)果會(huì)更好,且通道注意力模塊在前的結(jié)果會(huì)略優(yōu)。對(duì)于RAB 模塊,給定F作為輸入的特征圖,就可以依次計(jì)算得到一維通道注意力圖MC和二維空間注意力圖MS,計(jì)算過程如下所示:
圖2 殘差注意力模塊Fig.2 Residual attention block
其中:?表示矩陣中對(duì)應(yīng)的元素相乘,F(xiàn)″表示最終精細(xì)的輸出特征圖。除了引入注意力機(jī)制來增強(qiáng)對(duì)輸入圖像特征的提取之外,本文對(duì)殘差模塊也進(jìn)行了修剪和優(yōu)化,去除了歸一化層和最后一層激活層,這樣可以讓網(wǎng)絡(luò)在訓(xùn)練過程中提高收斂速度。為了優(yōu)化特征提取,增加感受野,在編碼端特征提取后還增加了SPP 層,這樣不僅能提高任務(wù)精度,還可以加快網(wǎng)絡(luò)收斂。
圖像在空間上具有連續(xù)性,即使是已經(jīng)發(fā)生變形的模糊圖像,其每個(gè)點(diǎn)的像素分布與周圍像素點(diǎn)之間也是有著連續(xù)性的關(guān)系,因此可以通過獲取圖像空間信息來對(duì)模糊圖像進(jìn)行恢復(fù)。門控循環(huán)單元(Gated Recurrent Unit,GRU)是對(duì)循環(huán)神經(jīng)網(wǎng)絡(luò)(Rerrent Neural Network,RNN)的改進(jìn),解決其在反向傳播期間可能會(huì)梯度消失的問題,將卷積神經(jīng)網(wǎng)絡(luò)與GRU 相結(jié)合,希望通過將能夠抽取空間特征的卷積操作加入能夠抽取時(shí)序特征的GRU 網(wǎng)絡(luò)中,在編碼端和解碼端之間插入ConvGRU 模塊,通過該模塊對(duì)編碼部分提取的特征圖進(jìn)行處理,獲取圖像空間信息,把有用的隱藏歷史信息給提取出來。本文采用多尺度架構(gòu),每一層都具有相同的網(wǎng)絡(luò)結(jié)構(gòu),整個(gè)網(wǎng)絡(luò)ConvGRU 之間的連接方式如圖3 所示。
圖3 ConvGRU模塊連接方式Fig.3 Connection mode of ConvGRU modules
圖3 中s1、s2、s3 分別表示由粗到細(xì)3 個(gè)不同尺度的網(wǎng)絡(luò),相鄰兩個(gè)尺度之間差0.5 倍,一個(gè)ConvGRU 塊包括輸入xt、輸出yt,從上一個(gè)ConvGRU 塊得到ht-1和當(dāng)前塊隱藏狀態(tài)ht。該模塊的網(wǎng)絡(luò)狀態(tài)表示為:
其中:↑表示往上一層網(wǎng)絡(luò)輸出;t表示尺度規(guī)模,t=1 代表最粗的尺度,表示從第t到第t+1 級(jí)網(wǎng)絡(luò)的比例調(diào)整;隱藏狀態(tài)ht可能包含有關(guān)中間結(jié)果和模糊模式的有用信息。這些信息被傳遞到下一個(gè)尺度,有利于精細(xì)尺度問題。
為了更好地訓(xùn)練網(wǎng)絡(luò),采用由L2 損失和感知損失共同組成的損失函數(shù),因?yàn)長(zhǎng)2 損失魯棒性更好,L2 損失可以表示為:
感知損失與一般使用的損失函數(shù)不同,是利用從預(yù)訓(xùn)練的深度神經(jīng)網(wǎng)絡(luò)提取多尺度特征來量化估計(jì)圖像和真實(shí)圖像之間的視覺差異。在本文中,使用在ImageNet 上預(yù)先訓(xùn)練的VGG16 作為損失網(wǎng)絡(luò),并從前3 個(gè)階段的最后一層提取特征,感知損失定義為:
總的損失函數(shù)是結(jié)合了L2 損失和感知損失得到的,表示為:
其中:α是為了調(diào)整損失函數(shù)相對(duì)權(quán)重的參數(shù),本文設(shè)置為0.05。
為了更好地驗(yàn)證本文所提算法的效果,使用了兩組數(shù)據(jù)集來進(jìn)行訓(xùn)練,包括在非均勻運(yùn)動(dòng)模糊復(fù)原中最常用的GoPro 模糊數(shù)據(jù)集,以及用各種手持設(shè)備,包括手機(jī)、相機(jī)等拍攝的視頻,并通過積累一些短曝光來綜合創(chuàng)建的Blur 數(shù)據(jù)集[21],在多次訓(xùn)練得到理想的實(shí)驗(yàn)結(jié)果后,還進(jìn)行了一系列對(duì)比測(cè)試,選擇的評(píng)價(jià)指標(biāo)有峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)、結(jié)構(gòu)相似性(Structural SIMilarity,SSIM)和復(fù)原時(shí)間,PSNR 和SSIM 的值越高,表明復(fù)原效果越好。此外為了驗(yàn)證所提算法對(duì)真實(shí)模糊圖像是否也具有很好的復(fù)原效果,還使用手機(jī)拍攝了一系列模糊圖像,用于進(jìn)行定性分析。
實(shí)驗(yàn)是在配有Nvidia GeForce GTX1080Ti GPU,16 GB 內(nèi)存,CPU為Inter Core i5,操作系統(tǒng)為Ubuntu16.04的PC上進(jìn)行的,使用的是基于pytorch的深度學(xué)習(xí)框架來訓(xùn)練和測(cè)試,為了結(jié)果的公平性,所有實(shí)驗(yàn)都是在相同訓(xùn)練配置環(huán)境的同一數(shù)據(jù)集上進(jìn)行。因?yàn)閮?nèi)存限制,訓(xùn)練過程中的批大小設(shè)置為4,學(xué)習(xí)率初始值設(shè)置為1 × 10-4,每200 個(gè)epoch 降低一半,使用Adam優(yōu)化器,總的訓(xùn)練周期為1 000,網(wǎng)絡(luò)收斂結(jié)果較好。
這個(gè)網(wǎng)絡(luò)是端到端可訓(xùn)練的,不需要對(duì)子模塊進(jìn)行預(yù)訓(xùn)練。訓(xùn)練過程中首先將輸入圖像隨機(jī)裁剪為256×256,并且隨機(jī)進(jìn)行90°、180°或270°旋轉(zhuǎn),以防止網(wǎng)絡(luò)會(huì)過擬合。該網(wǎng)絡(luò)包含了3 個(gè)尺度的編解碼網(wǎng)絡(luò),由粗到細(xì)每個(gè)尺度輸入圖像尺寸分別為64×64、128×128、256×256,最終輸出復(fù)原后的圖像尺寸與輸入保持一致,訓(xùn)練和測(cè)試采用的圖片分辨率都是1 280×720。
深度學(xué)習(xí)需要大量數(shù)據(jù)用于訓(xùn)練網(wǎng)絡(luò),在模糊復(fù)原領(lǐng)域,則需要大量模糊-清晰圖像對(duì)來進(jìn)行訓(xùn)練,但是在現(xiàn)實(shí)生活中很難獲取到成對(duì)的模糊和清晰圖像,早期數(shù)據(jù)集獲取方式主要是通過將清晰圖像與模糊核進(jìn)行卷積來合成模糊圖像,這樣雖然可以獲得足夠大的數(shù)據(jù)集,但是因?yàn)槟:藛我?,?xùn)練的網(wǎng)絡(luò)只能對(duì)特定類型的模糊圖像進(jìn)行恢復(fù),不能很好地對(duì)真實(shí)模糊圖像進(jìn)行復(fù)原,因此,數(shù)據(jù)集的選擇非常重要。
為了得到更準(zhǔn)確的結(jié)果,本文使用了兩組數(shù)據(jù)集來對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和測(cè)試:一個(gè)是常用的GoPro 數(shù)據(jù)集,該數(shù)據(jù)集的模糊圖像是通過GoPro 攝像機(jī)從若干張清晰幀圖像中求平均得到的,每一張模糊圖像對(duì)應(yīng)的清晰圖像為中間幀,共包含了3 214 對(duì)模糊-清晰圖像對(duì),其中2 103 對(duì)用作訓(xùn)練集,另外1 111 對(duì)用作測(cè)試集;另外一組Blur數(shù)據(jù)集是利用各種手持設(shè)備,包括手機(jī)、相機(jī)等拍攝的71 個(gè)視頻,并通過積累一些短曝光來綜合創(chuàng)建的,以近似更長(zhǎng)的曝光,共包含6 708 個(gè)圖像對(duì),其中4 472 對(duì)用作訓(xùn)練集,另外2 236 對(duì)用于測(cè)試集。
2.3.1 注意力機(jī)制對(duì)實(shí)驗(yàn)結(jié)果的影響
融合了注意力機(jī)制的殘差塊是所提算法的基本單元,為了驗(yàn)證注意力機(jī)制對(duì)實(shí)驗(yàn)結(jié)果的影響,設(shè)計(jì)了兩組對(duì)比實(shí)驗(yàn)來進(jìn)行驗(yàn)證,一組是本文算法,另外一組是去除了殘差塊中注意力機(jī)制的算法。兩組實(shí)驗(yàn)都在同樣環(huán)境下進(jìn)行訓(xùn)練,實(shí)驗(yàn)參數(shù)設(shè)置都一樣,且使用的數(shù)據(jù)集都是GoPro,實(shí)驗(yàn)結(jié)果對(duì)比采用的指標(biāo)是PSNR 和SSIM,結(jié)果如表1 所示。
表1 注意力機(jī)制對(duì)實(shí)驗(yàn)結(jié)果的影響Tab.1 Influence of attention mechanism on experimental results
從結(jié)果中可以看出,本文算法的PSNR 和SSIM 比無注意力機(jī)制的算法分別高3.24 dB 和0.029 3,這是因?yàn)镽AB 模塊中使用的空間注意力和通道注意力對(duì)于圖片特征提取的效果會(huì)更好,卷積操作在每一層獲得的感受野十分有限,通過引入注意力機(jī)制可以增大感受野。
2.3.2 ConvGRU模塊對(duì)實(shí)驗(yàn)結(jié)果的影響
ConvGRU 位于編碼端和解碼端中間,編碼端輸出的特征進(jìn)入到該模塊中,可以通過獲取特征的隱藏歷史信息來對(duì)模糊圖像進(jìn)行復(fù)原,然后再將結(jié)果輸入到解碼端進(jìn)行處理;而且該模塊優(yōu)化了網(wǎng)絡(luò)結(jié)構(gòu),參數(shù)量更少,加快了訓(xùn)練速度。為了驗(yàn)證ConvGRU 對(duì)實(shí)驗(yàn)結(jié)果的影響,也進(jìn)行了兩組對(duì)比實(shí)驗(yàn):一組是本文算法,另外一組是無ConvGRU 的算法,使用了基本模塊RAB 代替了ConvGRU,兩組實(shí)驗(yàn)都在同樣環(huán)境下進(jìn)行訓(xùn)練,實(shí)驗(yàn)參數(shù)設(shè)置都是一樣的,且使用的數(shù)據(jù)集都是GoPro,實(shí)驗(yàn)結(jié)果對(duì)比采用的指標(biāo)是參數(shù)量、復(fù)原時(shí)間、PSNR 和SSIM,結(jié)果如表2 所示。
表2 ConvGRU模塊對(duì)實(shí)驗(yàn)結(jié)果的影響Tab.2 Influence of ConvGRU module on experimental results
從表2 中可以看出,本文算法參數(shù)量更少,PSNR 和SSIM比無ConvGRU 的算法分別高1.96 dB 和0.013 9,復(fù)原時(shí)間少0.118 1 s,由此可見,該模塊對(duì)于網(wǎng)絡(luò)性能的提升效果較好。
2.3.3 感知損失對(duì)實(shí)驗(yàn)結(jié)果的影響
感知損失是將真實(shí)圖片卷積得到的特征圖與生成圖片卷積得到的特征圖作比較,使得全局結(jié)構(gòu)更接近。感知損失函數(shù)可以增強(qiáng)圖片細(xì)節(jié),因?yàn)楦兄獡p失的權(quán)重會(huì)影響圖片復(fù)原質(zhì)量。
為了驗(yàn)證感知損失函數(shù)對(duì)實(shí)驗(yàn)結(jié)果的影響,本文進(jìn)行了對(duì)比實(shí)驗(yàn),包括只有L2 損失函數(shù),以及L2 損失函數(shù)和感知損失函數(shù)共同組成的混合損失函數(shù),兩組實(shí)驗(yàn)都在相同硬件環(huán)境下進(jìn)行訓(xùn)練,實(shí)驗(yàn)參數(shù)設(shè)置都一樣,且使用的數(shù)據(jù)集都是GoPro,訓(xùn)練輪次都為1 000,圖4、5 分別表示只有L2 損失函數(shù)的訓(xùn)練過程和混合損失函數(shù)的訓(xùn)練過程。
圖4 L2損失函數(shù)的訓(xùn)練過程Fig.4 Training process of L2 loss function
從圖4、5 中可以看出,雖然圖5(a)中的均方誤差(Mean Square Error,MSE)一開始下降速度沒有圖4(a)的快,但最終得到的值更小;PSNR 類似,一開始上升速度稍慢,但最終穩(wěn)定后,得到的值更大。這表明,感知損失的加入使得訓(xùn)練結(jié)果更加精細(xì),得到的圖像也與原圖更加接近。
圖5 混合損失函數(shù)的訓(xùn)練過程Fig.5 Training process of mixed loss function
2.3.4 本文算法與主流算法對(duì)比
為了測(cè)試實(shí)驗(yàn)結(jié)果,對(duì)所提算法進(jìn)行全面的比較和性能評(píng)估。選擇的對(duì)比方法包括:Gupta 等[22]提出的傳統(tǒng)盲去模糊算法[22]、Sun 等[9]提出的非均勻運(yùn)動(dòng)模糊去除卷積神經(jīng)網(wǎng)絡(luò)(CNN)、去模糊效果很好的尺度遞歸網(wǎng)絡(luò)(Scale-Recurrent Network,SRN)[23]和用于圖像去模糊的深度層次化多patch網(wǎng) 絡(luò)(Deep Stacked Hierarchical Multi-patch Network,DMPHN)[24]。圖6 為在GoPro 數(shù)據(jù)集上測(cè)試的結(jié)果。從圖6中可以明顯看出傳統(tǒng)算法盲去模糊效果并不是很好,這是因?yàn)樵诜蔷鶆騽?dòng)態(tài)場(chǎng)景中的模糊核很復(fù)雜,傳統(tǒng)算法在反卷積時(shí)利用的是施加各種約束條件所得到的模糊核,因此這樣并不能得到效果很好的模糊復(fù)原圖像。深度學(xué)習(xí)算法因?yàn)椴捎枚说蕉说木W(wǎng)絡(luò),且經(jīng)過了大量數(shù)據(jù)的訓(xùn)練,所以都在一定程度上達(dá)到了去模糊效果。從圖6 中可以看出,本文算法跟其他幾種算法相比,對(duì)模糊圖像的細(xì)節(jié)復(fù)原效果更好。
圖6 幾種算法在GoPro數(shù)據(jù)集上的測(cè)試結(jié)果對(duì)比Fig.6 Test results comparison of several algorithms on GoPro dataset
圖7 為在Blur 數(shù)據(jù)集上測(cè)試結(jié)果,傳統(tǒng)算法對(duì)于非均勻運(yùn)動(dòng)模糊圖像的復(fù)原效果依舊不好。對(duì)于深度學(xué)習(xí)算法,在第一行的圖片中,可以看出SRN 算法對(duì)于非均勻運(yùn)動(dòng)模糊圖像復(fù)原的高頻部分效果不好,出現(xiàn)了明顯振鈴現(xiàn)象,甚至恢復(fù)出原來并不存在的線條,而本文算法復(fù)原的圖像沒有明顯的模糊邊緣,紋理也很清晰。
圖7 幾種算法在Blur數(shù)據(jù)集的上測(cè)試結(jié)果對(duì)比Fig.7 Test results comparison of several algorithms on Blur dataset
實(shí)驗(yàn)中使用GoPro 數(shù)據(jù)集圖像是將從高速攝像機(jī)獲取的圖像合成得到的,而Blur 數(shù)據(jù)集也是通過積累短曝光手持設(shè)備所拍攝的視頻來綜合創(chuàng)建的,因此都與實(shí)際模糊圖像有一些差別。為了驗(yàn)證本文算法對(duì)于真實(shí)模糊圖像復(fù)原效果,使用手機(jī)拍攝了一組模糊圖像,通過在按動(dòng)快門的同時(shí)把手機(jī)向各個(gè)方向快速移動(dòng)得到;然后對(duì)這組模糊圖像進(jìn)行復(fù)原效果測(cè)試,選擇SRN 算法進(jìn)行對(duì)比,因?yàn)樵撍惴▽?duì)真實(shí)模糊圖像復(fù)原效果很好。
測(cè)試對(duì)比結(jié)果如圖8 所示,在圖8(a)第1 張圖片中,可以發(fā)現(xiàn)帽子上的字母顯示模糊,在圖8(b)SRN 復(fù)原和圖8(c)本文算法復(fù)原的結(jié)果圖中,都能明顯看出字母為“NEAS”,但是對(duì)于鍵盤旁邊的“鉛筆”,第3 張圖中筆的亮度更高,輪廓也更加清晰一些,可以看出本文算法對(duì)于模糊圖像邊緣與細(xì)節(jié)紋理方面的復(fù)原效果更好。
圖8 真實(shí)模糊圖像復(fù)原結(jié)果對(duì)比Fig.8 Restoration results comparison of real blurred image
在GoPro 數(shù)據(jù)集和Blur 數(shù)據(jù)集上對(duì)這幾種方法在相同的硬件環(huán)境下進(jìn)行定量比較,選擇的評(píng)價(jià)指標(biāo)包括PSNR、SSIM 和復(fù)原時(shí)間,測(cè)試結(jié)果如表3 所示。
表3 所提算法與其他算法的對(duì)比結(jié)果Tab.3 Comparison results of the proposed algorithm and other algorithms
定量測(cè)試結(jié)果表明,相較于目前去模糊效果良好的算法,本文方法有一定提升,尤其是在與真實(shí)圖像更接近的GoPro 數(shù)據(jù)集上,與較新的DMPHN 算法相比,PSNR 提升了1.22 dB,SSIM 提升了0.018 6,復(fù)原時(shí)間縮短了0.221 0 s,而在利用模糊核生成的Blur 數(shù)據(jù)集上的表現(xiàn)就沒有那么好,可能是因?yàn)槔镁W(wǎng)絡(luò)模擬生成的模糊圖像丟失了一部分細(xì)節(jié)信息,導(dǎo)致在圖像復(fù)原中無法提取出更精細(xì)的特征。
針對(duì)非均勻運(yùn)動(dòng)模糊的模糊源多樣性,以及邊緣和細(xì)節(jié)方面不足的問題,本文提出一種基于多尺度端到端的運(yùn)動(dòng)模糊圖像復(fù)原算法。首先,在每一尺度采用相同的非對(duì)稱編碼解碼網(wǎng)絡(luò),在編碼端使用引入了注意力機(jī)制的殘差塊,會(huì)放大卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)點(diǎn),增加感受野,加快網(wǎng)絡(luò)收斂;編碼解碼端中間加入ConvGRU 模塊,可以通過對(duì)編碼部分提取的特征圖進(jìn)行處理,獲取圖像空間信息,把有用的隱藏歷史信息給提取出來,從而利用圖像空間的連續(xù)性來進(jìn)行模糊圖像復(fù)原。其次,還采用跨尺度共享網(wǎng)絡(luò)權(quán)重,減少了網(wǎng)絡(luò)中可訓(xùn)練的參數(shù)量,提高了訓(xùn)練速度。
通過一系列實(shí)驗(yàn)可以看出,本文算法能有效復(fù)原非均勻運(yùn)動(dòng)模糊圖像,在PSNR 和SSIM 指標(biāo)對(duì)比中都比對(duì)比算法更優(yōu),復(fù)原時(shí)間也更短。無論是對(duì)于合成的數(shù)據(jù)集,還是實(shí)際模糊圖像,本文算法都有較好的復(fù)原效果,能夠恢復(fù)出清晰的圖像邊緣和一些細(xì)節(jié)的圖像紋理信息。