李尋尋,李旭健
(山東科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,山東 青島 266590)
圖像去模糊按照模糊核分類一般可分為非盲去模糊和盲去模糊。非盲去模糊領(lǐng)域已有很多優(yōu)秀的方法得到非常不錯(cuò)的清晰圖像,本文研究的是模糊核未知的盲去模糊。圖像運(yùn)動(dòng)模糊在生活中經(jīng)常遇到,是指在拍攝的過(guò)程當(dāng)中,拍攝目標(biāo)和成像設(shè)備之間存在相對(duì)運(yùn)動(dòng),這導(dǎo)致獲得的圖像模糊。另外如果鏡頭焦距不準(zhǔn)確或成像區(qū)域內(nèi)有不同深度的目標(biāo)會(huì)導(dǎo)致散焦進(jìn)而使圖像模糊。模糊圖像通常被建模為銳化圖像和模糊核的卷積, 去模糊是指從模糊圖像中恢復(fù)出潛在清晰的圖像。由于場(chǎng)景變化往往是復(fù)雜多樣的,消除圖像中相機(jī)抖動(dòng)引起的模糊一直是計(jì)算機(jī)視覺(jué)領(lǐng)域的一個(gè)難題,因?yàn)楹茈y準(zhǔn)確預(yù)測(cè)模糊核。因此盲去模糊的研究具有重大意義。
現(xiàn)有的圖像去模糊方法包括傳統(tǒng)方法和基于深度學(xué)習(xí)的方法。傳統(tǒng)方法包括基于貝葉斯框架去模糊算法,變分方法和基于稀疏表示的方法?;谪惾~斯框架的去模糊算法提供了后驗(yàn)概率分布對(duì)未觀測(cè)到的變量進(jìn)行統(tǒng)計(jì)并分析屬性。變分法主要是可以很好的恢復(fù)圖像的邊緣信息,但可能會(huì)增加圖像噪聲?;谙∈璞硎镜姆椒ㄊ菑哪:龍D像和清晰圖像中獲得相同的稀疏系數(shù),找到二者之間的聯(lián)系,從而恢復(fù)出清晰圖像。這種方法可以很好地抑制振鈴現(xiàn)象。盡管這些方法在去模糊方面取得了很大的進(jìn)展,在圖像盲去模糊的情況下,由于應(yīng)用場(chǎng)景的復(fù)雜性,模糊核往往很難獲得,并且在空域中不斷變化,因此,很難對(duì)模糊過(guò)程進(jìn)行參數(shù)化。
基于深度學(xué)習(xí)的圖像去模糊方法也有很多。如SUN[1]和SCHULER[2]使用CNN估計(jì)空間不變模糊核,SUN不僅通過(guò)CNN學(xué)習(xí)預(yù)測(cè)運(yùn)動(dòng)模糊內(nèi)核,還利用MRF模型預(yù)測(cè)運(yùn)動(dòng)模糊場(chǎng),從而獲得比較好的結(jié)果。NAH[3]和KUPYN[4]等人提出了無(wú)核端到端的方法,NAH采用多尺度網(wǎng)絡(luò)模擬傳統(tǒng)的由粗到細(xì)的優(yōu)化方法進(jìn)行訓(xùn)練,但仍然存在圖像運(yùn)動(dòng)模糊的問(wèn)題。KUPYN等人的工作是基于生成對(duì)抗網(wǎng)絡(luò)(GAN)的方法,通過(guò)對(duì)抗訓(xùn)練模糊圖像,獲得比NAH等人更高的峰值信噪比(PSNR)。ZHANG等人[5]提出了一種以暗通道差分為損失函數(shù)的圖像去模糊網(wǎng)絡(luò),這個(gè)網(wǎng)絡(luò)和普通的GAN網(wǎng)絡(luò)相比,具有更少的層和權(quán)值,減少了訓(xùn)練和測(cè)試時(shí)間,但是訓(xùn)練結(jié)果不理想。LIU等人[6]提出的網(wǎng)絡(luò)能夠在不依賴于銳利圖像的情況下,從真實(shí)的模糊圖像序列中學(xué)習(xí),產(chǎn)生了令人信服的結(jié)果。但是這種方法受到物體瞬時(shí)速度的影響,當(dāng)物體運(yùn)動(dòng)瞬時(shí)速度過(guò)快時(shí),無(wú)法清晰判斷相鄰幀之間的相關(guān)性,從而導(dǎo)致運(yùn)動(dòng)模糊核估計(jì)產(chǎn)生偏差,去模糊結(jié)果不準(zhǔn)確。SHAO等人[7]研究的是單幅圖像的動(dòng)態(tài)場(chǎng)景去模糊,同樣是基于GAN的去模糊方法,只是用魯棒性更強(qiáng)的自動(dòng)編碼器結(jié)構(gòu)代替GAN網(wǎng)絡(luò)中的生成器,在模糊恢復(fù)和細(xì)節(jié)恢復(fù)方面比KUPYN等人的去模糊方法更有效,但圖像清晰度仍有待改進(jìn)?;谝陨系膯?wèn)題,本文提出了基于GAN的自適應(yīng)殘差密集網(wǎng)絡(luò)的方法,使得圖像恢復(fù)的更清晰,視覺(jué)效果更好邊緣特征更加明顯,減少了細(xì)節(jié)信息的損失。
早期的去模糊方法集中于研究非盲去模糊,這類去模糊根據(jù)模糊核復(fù)原出清晰圖像。但通常情況下,模糊核是未知的,所以這就需要盲去模糊。其模型如式(1)
IB=k(M)*IS+N
(1)
式中IB是輸出的模糊圖像,IS是輸入的清晰圖像,k(M)是運(yùn)動(dòng)模糊核,N是加性噪聲,*代表卷積操作。模糊圖像可看成IS和k(M)進(jìn)行卷積的結(jié)果,模糊類型不同,k也有不同的形式。若k已知,則是非盲去模糊,否則是盲去模糊。
GAN由兩個(gè)網(wǎng)絡(luò)組成,一個(gè)是生成網(wǎng)絡(luò)G,一個(gè)是判別網(wǎng)絡(luò)D。在訓(xùn)練過(guò)程中,生成器的目標(biāo)是縮小生成的圖像與真實(shí)圖像的差距,使判別器無(wú)法區(qū)分生成圖片與真實(shí)圖片。對(duì)抗建??蚣茉贕和D兩個(gè)模型都是多層感知器時(shí)最容易應(yīng)用,框架如圖1所示。
圖1 盲去模糊基本網(wǎng)絡(luò)框架
傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)(CNN)是通過(guò)構(gòu)造IB與IS之間的映射關(guān)系,從而獲得更佳的去模糊效果。但是其中大部分圖像是用CNN恢復(fù)的,未考慮到恢復(fù)IB的細(xì)節(jié)信息,導(dǎo)致處理后的圖像丟失紋理。因此,本文引入了自適應(yīng)卷積[8],自適應(yīng)卷積結(jié)構(gòu)圖如圖2所示。
圖2 自適應(yīng)卷積結(jié)構(gòu)圖
自適應(yīng)卷積將標(biāo)準(zhǔn)卷積輸入變量v通過(guò)修改空間不變?yōu)V波器W與構(gòu)造調(diào)整內(nèi)核k來(lái)實(shí)現(xiàn)。調(diào)整內(nèi)核使用預(yù)定義或?qū)W習(xí)到的特性f。?表示element-wise矩陣的乘法求和。圖2中只顯示了一個(gè)輸出通道。自適應(yīng)卷積盡管是對(duì)標(biāo)準(zhǔn)卷積的一個(gè)簡(jiǎn)單修改,但它是高度靈活的,可以看作是幾個(gè)廣泛使用的過(guò)濾器的一般化。具體來(lái)說(shuō),自適應(yīng)卷積是空間卷積、雙邊濾波和池化操作(平均池化和細(xì)節(jié)保留池化)的泛化。
生成器即利用迭代器,根據(jù)特定的模式在每次迭代中生成數(shù)據(jù)并記錄當(dāng)前迭代到的狀態(tài),以便根據(jù)當(dāng)前狀態(tài)生成下一個(gè)數(shù)據(jù)。本文中的生成器是一個(gè)帶有自適應(yīng)殘差密集塊全卷積網(wǎng)絡(luò)。生成器的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 生成器網(wǎng)絡(luò)結(jié)構(gòu)
圖中⊕表示特征圖以逐像素點(diǎn)方式相加。 與普通生成器不同的是,在卷積后面加入n個(gè)自適應(yīng)殘差密集塊,本文n取9。每個(gè)殘差模塊由自適應(yīng)卷積層、實(shí)例歸一化層和ReLU非線性激活函數(shù)組成。而密集塊被用作主干中的基本單元,可以最大化特征流并實(shí)現(xiàn)快速收斂。此外,先前的具有稀疏跳躍連接的剩余結(jié)構(gòu)具有有限的恢復(fù)能力,尤其是對(duì)于多尺度空間細(xì)節(jié)。所以為了改進(jìn)這一點(diǎn),本文在所有空間尺度上推廣了具有跳躍連接的密集剩余結(jié)構(gòu)。生成器通過(guò)卷積下采樣計(jì)算和卷積上采樣計(jì)算實(shí)現(xiàn)模糊圖像到清晰圖像的轉(zhuǎn)換,并利用自適應(yīng)殘差密集塊和跳躍連接進(jìn)行差分學(xué)習(xí),解決了梯度消失的問(wèn)題,加快網(wǎng)絡(luò)訓(xùn)練速度,模型收斂更好,生成的圖像更清晰。
自適應(yīng)殘差密集網(wǎng)絡(luò)由自適應(yīng)卷積層、密集塊和殘差學(xué)習(xí)組成,如圖4所示。
圖4 自適應(yīng)殘差密集網(wǎng)絡(luò)
與網(wǎng)絡(luò)中常用的殘差密集塊不同,本文將自適應(yīng)卷積[9]與殘差密集網(wǎng)絡(luò)結(jié)合構(gòu)成自適應(yīng)殘差密集網(wǎng)絡(luò)(ARDB)。這樣設(shè)計(jì)是因?yàn)锳RDB具有自適應(yīng)地縮放特征尺寸和改變通道數(shù)量的能力,以捕獲空間特征和通道方向特征。此外ARDB還可以根據(jù)輸入特征屬性動(dòng)態(tài)切換步數(shù)和信道數(shù)。對(duì)于普通網(wǎng)絡(luò),當(dāng)網(wǎng)絡(luò)層數(shù)逐漸增多時(shí),效果不一定更好,甚至?xí)嘶?。一般?lái)說(shuō),網(wǎng)絡(luò)層次越深,圖像中提取到的特征信息越多,但簡(jiǎn)單地增加網(wǎng)絡(luò)層次會(huì)導(dǎo)致梯度離散或梯度爆炸。GOODFELLOW發(fā)現(xiàn)僅僅對(duì)殘差進(jìn)行縮放更為可靠,即使在沒(méi)有嚴(yán)格要求縮放的地方,它似乎也不會(huì)損害最終的準(zhǔn)確性,且有助于模型訓(xùn)練更加穩(wěn)定[10]。
判別器包含一系列步長(zhǎng)為2、核大小為7的卷積層。網(wǎng)絡(luò)結(jié)構(gòu)主要由卷積,實(shí)例歸一化和ReLU非線性激活函數(shù)組成。其中ReLU激活函數(shù)不僅會(huì)增加網(wǎng)絡(luò)的稀疏性,還減少參數(shù)之間的相互依賴關(guān)系,從而緩和了過(guò)擬合問(wèn)題。判別器的輸出是一個(gè)標(biāo)量,使用Sigmoid函數(shù)將得到的標(biāo)量映射到[-1,1]。判別網(wǎng)路結(jié)構(gòu)如圖5所示。
圖5 判別器網(wǎng)絡(luò)結(jié)構(gòu)
本文的損失函數(shù)由生成對(duì)抗損失和內(nèi)容損失組成,如式(2):
L=λLGAN+βLcontent
(2)
其中λ、β為權(quán)重系數(shù),本文所有實(shí)驗(yàn)中λ=0.7,β=0.3。本文沒(méi)有使用條件判別器,因?yàn)椴恍枰獞土P不匹配的輸入和輸出。
在有關(guān)條件GAN的文獻(xiàn)中,大多采用vanilla GAN目標(biāo)函數(shù)作為損失函數(shù)[3][11],也有使用更穩(wěn)定、質(zhì)量更高的最小二乘GAN方法[12][13]。WGAN(Wasserstein generative adversarial network) 算法[14]可以解決生成器梯度消失問(wèn)題, 從而使網(wǎng)絡(luò)訓(xùn)練達(dá)到穩(wěn)定.但WGAN 不能收斂到一個(gè)局部均衡點(diǎn), 并且梯度更新不穩(wěn)定[15],本文使用改進(jìn)的WGAN-GP[9]作為臨界函數(shù),因?yàn)樵摵瘮?shù)對(duì)生成器結(jié)構(gòu)的選擇是有魯棒性的[9],更符合本文需求。生成對(duì)抗目標(biāo)函數(shù)如下生成對(duì)抗損失LGAN計(jì)算如式(3)
=EIS~pdata(IS)[logD(IS)]+
EIB~pIB(IB)[log(1-D(G(IB)))]
(3)
其中,其中E(*)表示函數(shù)的期望值,D(*)表示判別器,G(*)表示生成器,IB表示隨機(jī)噪聲,Pdata(IS)表示真實(shí)樣本的分布,PIB(IB)表示生成模糊圖片的分布。
內(nèi)容損失是為了鼓勵(lì)G生成與真實(shí)圖像具有相似內(nèi)容的清晰圖像,其中內(nèi)容損失計(jì)算公式如式(4)
(4)
本文計(jì)算用的是VGG19網(wǎng)絡(luò)中預(yù)先訓(xùn)練好的第三個(gè)池化層前的第三個(gè)卷積層的特征。φi,j是VGG19網(wǎng)絡(luò)中第i個(gè)最大池化層之前通過(guò)第j次卷積后獲得的特征圖,函數(shù)GθG(*)代表生成器G生成圖像,IS代表清晰圖像,IB代表生成器生成的圖片。在ImageNet上進(jìn)行預(yù)訓(xùn)練,Wi,j和Hi,j分別是特征圖的寬和高。在本文的工作中,本文使用來(lái)自VGG3,3卷積層激活。深層的激活代表了更高抽象的特征[11],[16]。內(nèi)容損失側(cè)重于恢復(fù)內(nèi)容,而對(duì)抗性損失側(cè)重于恢復(fù)圖片的紋理細(xì)節(jié)。
本文使用GOPRO數(shù)據(jù)集[3]進(jìn)行網(wǎng)絡(luò)訓(xùn)練及驗(yàn)證。它包含了2103個(gè)模糊和地面真實(shí)圖像對(duì),1111對(duì)測(cè)試數(shù)據(jù)集。模糊圖像是通過(guò)平均不同數(shù)目的連續(xù)潛在幀產(chǎn)生不同的模糊。為了公平比較,本文遵循[3]中的協(xié)議,使用2103個(gè)圖像對(duì)進(jìn)行訓(xùn)練,剩余的1111個(gè)圖像對(duì)進(jìn)行測(cè)試,分辨率為1280×720。
本實(shí)驗(yàn)在Windows10操作系統(tǒng)下,基于Pytorch深度學(xué)習(xí)框架實(shí)現(xiàn)。計(jì)算機(jī)的配置為Intel(R) Core(TM) i5-6300HQ CPU@2.30GHz,8GBRAM,使用GPU并行加速,GPU為GTX 1050,顯存為4GB,CUDA9.0和Cudnn6.1。
為了訓(xùn)練模型,將圖片像素大小隨機(jī)裁剪成256×256。本文使用了Adam優(yōu)化函數(shù)來(lái)代替隨機(jī)梯度下降(SGD),初始學(xué)習(xí)率設(shè)置為0.0001,衰減速率設(shè)置為0.1。在本文的實(shí)驗(yàn)中,批量大小為4,共迭代了52k次。本文在測(cè)試期間使用實(shí)例歸一化,而不是訓(xùn)練批統(tǒng)計(jì)信息。
為了更好地從主觀方面評(píng)價(jià)圖像去模糊方法的優(yōu)越性,本文采用的三種評(píng)價(jià)指標(biāo)峰值信噪比PSNR、結(jié)構(gòu)相似度SSIM以及運(yùn)行時(shí)間。
PSNR 計(jì)算如式
(6)
其中均方誤差MSE代表生成圖像x與真實(shí)值y的均方誤差,xi,j代表x的像素點(diǎn)和yi,j代表y的像素點(diǎn)[12]。
SSIM計(jì)算如式
(7)
5.5.1 實(shí)驗(yàn)結(jié)果
訓(xùn)練過(guò)程中,記錄每次迭代過(guò)程中生成對(duì)抗損失與內(nèi)容損失函數(shù)值,并將其繪制成曲線如圖6所示。
圖6 損失函數(shù)折線圖
從圖6可以看出,隨著迭代次數(shù)的增加,生成對(duì)抗損失、內(nèi)容損失逐漸下降,在Step∈[0,10000]時(shí)下降明顯,之后下降緩慢并且逐漸趨于平穩(wěn)。
5.5.2 對(duì)比實(shí)驗(yàn)
為了驗(yàn)證本文自適應(yīng)殘差密集網(wǎng)絡(luò)的有效性,在實(shí)驗(yàn)環(huán)境相同的情況下,使用GOPRO數(shù)據(jù)集,將本文提出的方法與SUN等人,NAH等人,KUPYN等人,SHAO等人的圖像去模糊方法作對(duì)比。為了更好的看到去模糊效果,從對(duì)比結(jié)果中選取差異較為明顯的兩處作為參考,并將其放大展示,結(jié)果如圖7所示。
圖7 在GOPRO數(shù)據(jù)集上的去模糊結(jié)果對(duì)比
由圖7可知,與以前的工作相比,本文的方法顯示出更好的輸出,更清晰的結(jié)構(gòu)和紋理細(xì)節(jié)。SUN等人的結(jié)果中注意到,在模糊呈非線性形狀或位于運(yùn)動(dòng)邊界的區(qū)域,去模糊是不成功的。NAH等人的方法處理的圖像總體比較清晰,但細(xì)節(jié)模糊,而且很難通過(guò)許多級(jí)聯(lián)的局部卷積運(yùn)算來(lái)訓(xùn)練長(zhǎng)期依賴模型。KUPYN等人的方法是通過(guò)GAN網(wǎng)絡(luò)和原始?xì)埩魤K的深度堆疊來(lái)進(jìn)行去模糊,在去除自然運(yùn)動(dòng)模糊方面取得了有競(jìng)爭(zhēng)力的結(jié)果。然而,由于剩余塊的感受野有限,該方法不能產(chǎn)生清晰的結(jié)果。SHAO等人同樣采用基于GAN的方法,引入自動(dòng)編碼器結(jié)構(gòu)代替生成器,雖然處理效果比KUPYN更好,但在恢復(fù)清晰圖像方面仍待改進(jìn)。
在數(shù)據(jù)集與實(shí)驗(yàn)環(huán)境相同的環(huán)境下,本文的網(wǎng)絡(luò)仍然可以產(chǎn)生令人滿意的結(jié)果,建筑物、樹(shù)葉、樹(shù)杈以及車子輪框比其它的具有更少的偽影,很明顯,本文的方法也具有更好的視覺(jué)效果。
定量評(píng)價(jià)使用PSNR、SSIM以及運(yùn)行時(shí)間作為評(píng)價(jià)指標(biāo),評(píng)價(jià)結(jié)果如表1所示。
表1 關(guān)于圖像去模糊的PSNR、SSIM、運(yùn)行時(shí)間結(jié)果
根據(jù)表中數(shù)據(jù)可知,本文方法獲得的PSNR和SSIM均高于對(duì)比方法,這是得益于本文方法將自適應(yīng)卷積網(wǎng)絡(luò)引入到GAN網(wǎng)絡(luò)中,由圖7和表1 可知,本文的去模糊方法在視覺(jué)上取得了更好的效果。
本文提出了基于GAN的自適應(yīng)殘差密集網(wǎng)絡(luò)的去模糊方法,將自適應(yīng)卷積和殘差密集網(wǎng)絡(luò)結(jié)合在一起,大大提高了網(wǎng)絡(luò)的訓(xùn)練速度,同時(shí)生成的圖像也更清晰。對(duì)比結(jié)果表明,在細(xì)節(jié)恢復(fù)和模糊恢復(fù)方面,本文方法更有效。同時(shí)大量的實(shí)驗(yàn)評(píng)估表明,該網(wǎng)絡(luò)比現(xiàn)有的自然運(yùn)動(dòng)圖像去模糊方法具有更好的性能,本文的方法在定性和定量?jī)蓚€(gè)方面也都優(yōu)于現(xiàn)有方法,且速度要快得多。