郭俊東 馮 輝 徐海祥
(武漢理工大學(xué)高性能船舶技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室1) 武漢 430063)(武漢理工大學(xué)航海與能源動(dòng)力工程學(xué)院2) 武漢 430063)
智能船舶通常配備多種傳感器設(shè)備對(duì)自身運(yùn)動(dòng)狀態(tài)及周邊環(huán)境進(jìn)行感知,其中基于可見光的視覺感知是智能船舶感知技術(shù)的核心所在.但由于船舶在水面航行的過程中會(huì)不可避免地發(fā)生搖蕩,使得視覺傳感器所采集到的圖像較為模糊,這對(duì)障礙物的目標(biāo)檢測(cè)會(huì)產(chǎn)生極大的影響,從而降低了為后續(xù)決策系統(tǒng)所提供的信息質(zhì)量及智能船舶航行的安全性能.
傳統(tǒng)的圖像去模糊方法主要基于模糊核理論來對(duì)模糊圖像進(jìn)行復(fù)原,利用估計(jì)得到的模糊核對(duì)模糊圖像進(jìn)行反卷積操作以獲得復(fù)原圖像.文獻(xiàn)[1]以分段函數(shù)來擬合多個(gè)自然圖像的梯度分布,然后利用交替迭代的方法對(duì)復(fù)原圖像和模糊核進(jìn)行估計(jì);文獻(xiàn)[2]對(duì)模糊核函數(shù)采用標(biāo)準(zhǔn)化稀疏度量方法進(jìn)行估計(jì),并且方法中基于圖像梯度的正則化項(xiàng)的應(yīng)用大幅度提升了模糊圖像的復(fù)原效果;Xu等[3]利用基于非自然L0范數(shù)的方法來估計(jì)模糊圖像的模糊核,相比于文獻(xiàn)[1-2]取得了更好的去模糊效果;Liu等[4]利用一階和二階圖像梯度的L0范數(shù)來估計(jì)模糊核,有效提升了模糊核估計(jì)的精確度.上述方法雖然對(duì)模糊圖像具有一定的復(fù)原效果,但對(duì)噪聲較為敏感,復(fù)原圖像的清晰度不夠理想,并且易產(chǎn)生振鈴效應(yīng).
隨著近年來深度學(xué)習(xí)的高速發(fā)展,越來越多的學(xué)者將深度學(xué)習(xí)應(yīng)用于圖像去模糊的研究領(lǐng)域.Nah等[5]利用多尺度的卷積神經(jīng)網(wǎng)絡(luò)以“端到端”的訓(xùn)練方式直接對(duì)圖像進(jìn)行去模糊處理,該方法具有很強(qiáng)的泛化能力,并且運(yùn)算效率較高.Kupyn等[6]利用條件生成對(duì)抗網(wǎng)絡(luò)來對(duì)圖像去運(yùn)動(dòng)模糊,網(wǎng)絡(luò)模型的判別器采用了Patch-GAN的網(wǎng)絡(luò)結(jié)構(gòu),利用由對(duì)抗損失和基于VGG19網(wǎng)絡(luò)的感知損失所組成的多元損失函數(shù)對(duì)網(wǎng)絡(luò)進(jìn)行優(yōu)化,相比于文獻(xiàn)[5]的方法在復(fù)原圖像清晰度和復(fù)原效率上均取得了更為理想的效果.但該方法的判別器Patch-GAN只能對(duì)單一尺寸的圖像塊進(jìn)行鑒別,缺乏對(duì)不同尺度圖像的適應(yīng)性.
為增強(qiáng)網(wǎng)絡(luò)模型對(duì)不同尺度圖像的適應(yīng)性,本文基于生成對(duì)抗網(wǎng)絡(luò)(GAN)[7]提出了一種端到端的圖像去運(yùn)動(dòng)模糊模型,構(gòu)建了一種新的具有多重感受野的判別器,以完善普通Patch-GAN只能對(duì)單一尺寸圖像塊進(jìn)行鑒別的缺陷.為提高復(fù)原圖像與清晰圖像的結(jié)構(gòu)相似性,文中在網(wǎng)絡(luò)模型的損失函數(shù)中加入了基于SSIM圖像質(zhì)量評(píng)價(jià)指標(biāo)的結(jié)構(gòu)相似性損失,并進(jìn)行了實(shí)驗(yàn)驗(yàn)證.
生成對(duì)抗網(wǎng)絡(luò)應(yīng)用于去模糊的網(wǎng)絡(luò)模型見圖1,主要包括生成器G和判別器D兩個(gè)模塊.首先將運(yùn)動(dòng)模糊圖像B輸入至生成器G來生成復(fù)原圖像G(B),再將清晰圖像S和復(fù)原圖像G(B)輸入判別器D,判別器D對(duì)二者進(jìn)行鑒別并將鑒別結(jié)果反饋給生成器G.若鑒別為清晰圖像,則給出高分,若鑒別為復(fù)原圖像,則給出低分.在網(wǎng)絡(luò)模型的訓(xùn)練過程中,生成器G期望利用判別器D的鑒別結(jié)果不斷生成更加真實(shí)的圖片來欺騙判別器D,而判別器D也在鑒別過程中不斷地提升自己的鑒別能力,通過利用二者間的博弈關(guān)系來提升網(wǎng)絡(luò)的去模糊性能.當(dāng)判別器D已經(jīng)無法分辨出復(fù)原圖像G(B)和清晰圖像S時(shí),表明網(wǎng)絡(luò)模型已經(jīng)達(dá)到了最優(yōu)的去模糊性能[7].
圖1 網(wǎng)絡(luò)模型整體架構(gòu)
在生成對(duì)抗網(wǎng)絡(luò)中,損失函數(shù)給定了網(wǎng)絡(luò)的優(yōu)化方向,所以選擇合理的損失函數(shù)對(duì)網(wǎng)絡(luò)的性能有著重要影響.文中的損失函數(shù)主要包括對(duì)抗損失、感知損失及結(jié)構(gòu)相似性(SSIM)損失.
1.2.1對(duì)抗損失函數(shù)
判別器采用WGAN-GP[8],以Wasserstein距離[9]來表示網(wǎng)絡(luò)的對(duì)抗損失,其優(yōu)勢(shì)在于可以避免經(jīng)典GAN訓(xùn)練過程中的梯度消失和模式崩潰問題,使訓(xùn)練更加穩(wěn)定,具體表達(dá)形式為
λGP·Ex~penalty[‖xD(x)‖-1]2
(1)
式中:N為圖像數(shù)量;D為判別器;G為生成器;IS為清晰圖像;IB為模糊圖像;G(IB)為生成器對(duì)模糊圖像的復(fù)原圖像,式中第二項(xiàng)為WGAN-GP為滿足Wasserstein距離中的1-Lipschitz連續(xù)性條件而設(shè)置的梯度懲罰項(xiàng),λGP為梯度懲罰項(xiàng)的正則化系數(shù),x~penalty為多維空間中在真實(shí)樣本與生成樣本間進(jìn)行隨機(jī)取樣而得到的樣本.
訓(xùn)練時(shí)判別器D期望最大化對(duì)抗損失,而生成器G期望最小化對(duì)抗損失,二者在訓(xùn)練過程中相互對(duì)抗, 共同進(jìn)步.
1.2.2感知損失函數(shù)
為使復(fù)原圖像與清晰圖像具有更加相似的圖像特征,在網(wǎng)絡(luò)模型整體的損失函數(shù)中加入了基于VGG19[10]網(wǎng)絡(luò)conv_3-3層的感知損失函數(shù).感知損失的表達(dá)形式為
(2)
式中:φi,j為預(yù)訓(xùn)練的VGG19網(wǎng)絡(luò)中第i個(gè)最大池化層之前的第j個(gè)卷積層激活后輸出的特征圖.Wi,j,Hi,j為特征圖的寬度和高度.通過計(jì)算復(fù)原圖像與清晰圖像在VGG19網(wǎng)絡(luò)conv_3-3層的特征圖差值來表示復(fù)原圖像與清晰圖像的特征差異大小.
1.2.3結(jié)構(gòu)相似性損失函數(shù)
為提升網(wǎng)絡(luò)模型的復(fù)原圖像與清晰圖像在亮度、對(duì)比度和結(jié)構(gòu)等方面的相似性,在網(wǎng)絡(luò)模型整體的損失函數(shù)中加入了基于SSIM圖像質(zhì)量評(píng)價(jià)指標(biāo)的結(jié)構(gòu)相似性損失,具體表達(dá)形式為
LSSIM=SSIM(IS,G(IB))
(3)
相應(yīng)的SSIM計(jì)算表達(dá)式為
(4)
式中:C1,C2為避免分母為0而設(shè)定的常數(shù);μX,μY為圖像X和圖像Y的均值;σX和σY為圖像X和圖像Y的方差;σXY為圖像X和圖像Y的協(xié)方差.
SSIM圖像質(zhì)量評(píng)價(jià)指標(biāo)可以有效地反應(yīng)兩幅圖像間的結(jié)構(gòu)相似性,數(shù)值范圍為0~1,其值越大表示圖像間的相似度越高.
1.2.4總損失函數(shù)
綜合對(duì)抗損失、感知損失及結(jié)構(gòu)相似性損失可得本文提出的網(wǎng)絡(luò)模型的總損失.
(5)
式中:λ1為感知損失的正則化系數(shù);λ2為結(jié)構(gòu)相似性損失的正則化系數(shù).
生成器網(wǎng)絡(luò)的整體結(jié)構(gòu)參考文獻(xiàn)[11]在風(fēng)格遷移任務(wù)中所采用的網(wǎng)絡(luò)結(jié)構(gòu),詳細(xì)結(jié)構(gòu)見圖2.風(fēng)格遷移任務(wù)是指將圖像由源風(fēng)格域轉(zhuǎn)換至目標(biāo)風(fēng)格域的過程,而圖像去模糊任務(wù)是將圖像由模糊域轉(zhuǎn)換至清晰域的過程,兩種任務(wù)的本質(zhì)均為圖像在不同域間的轉(zhuǎn)換,故有著很大的相似性.
圖2 生成器網(wǎng)絡(luò)結(jié)構(gòu)
生成器網(wǎng)絡(luò)共有9個(gè)ResNet模塊[12]、4個(gè)卷積塊和2個(gè)反卷積塊.所有卷積層后均利用實(shí)例歸一化(instance normalization)對(duì)卷積結(jié)果進(jìn)行歸一化處理,以加速網(wǎng)絡(luò)的訓(xùn)練過程.除網(wǎng)絡(luò)最后一個(gè)卷積塊使用tanh作為激活函數(shù)外,所有卷積塊均使用Relu作為激活函數(shù).此外,生成器中采用了全局跳躍連接(ResOut),將網(wǎng)絡(luò)的輸入內(nèi)容直接加入到網(wǎng)絡(luò)的輸出內(nèi)容之中,生成器學(xué)習(xí)的內(nèi)容為清晰圖像IS與模糊圖像IB之間的殘差I(lǐng)R,即IS=IB+IR.由于模糊圖像與清晰圖像在顏色和風(fēng)格等方面具有較多相似的圖像特征,相比于讓網(wǎng)絡(luò)學(xué)習(xí)模糊圖像到清晰圖像的映射,只讓網(wǎng)絡(luò)學(xué)習(xí)模糊圖像與清晰圖像間的殘差可以大大減少網(wǎng)絡(luò)的學(xué)習(xí)量,使其在訓(xùn)練過程中更快地收斂.
在基于生成對(duì)抗網(wǎng)絡(luò)的圖像處理任務(wù)中,Patch-GAN[13]為目前使用最為廣泛的判別器網(wǎng)絡(luò)結(jié)構(gòu).不同于普通判別器對(duì)整張圖像進(jìn)行鑒別真?zhèn)?,Patch-GAN將整張圖像分為若干個(gè)N×N的圖像塊,將這些圖像塊的鑒別結(jié)果輸出為一個(gè)二維矩陣,以矩陣中所有元素的平均值作為整張圖像的評(píng)價(jià)結(jié)果,具體鑒別過程見圖3.
圖3 Patch-GAN的鑒別過程
相比于普通判別器,Patch-GAN可以指引生成器復(fù)原出更加細(xì)致的圖像特征.但在不同的圖像中,主體內(nèi)容所占的面積比例不盡相同,普通Patch-GAN的網(wǎng)絡(luò)結(jié)構(gòu)一經(jīng)確定后便只能針對(duì)某一特定大小的圖像塊進(jìn)行鑒別.因此為增強(qiáng)網(wǎng)絡(luò)模型對(duì)不同尺度圖像的適應(yīng)性,在Patch-GAN的基礎(chǔ)上構(gòu)建了一個(gè)具有多重感受野的判別器,其網(wǎng)絡(luò)結(jié)構(gòu)見圖4.
圖4 判別器網(wǎng)絡(luò)結(jié)構(gòu)
判別器的主干部分由6個(gè)卷積塊組成,從第4個(gè)卷積塊開始引出分支結(jié)構(gòu),每個(gè)分支末端利用1×1的卷積核或4×4的卷積核將主干網(wǎng)絡(luò)的輸出壓縮為單通道的特征圖,不同分支特征圖中的每一個(gè)元素有著不同的感受野,即對(duì)應(yīng)不同大小的圖像塊.隨著主干網(wǎng)絡(luò)卷積塊的增加,分支特征圖中各元素的感受野從46×46逐漸增加到286×286.
綜合來看,相比于普通的判別器本文構(gòu)建的判別器的優(yōu)勢(shì)在于:
1) 在不需要構(gòu)建多個(gè)判別器的前提下獲得了多重的感受野,使得網(wǎng)絡(luò)模型能夠適應(yīng)不同尺度的圖像特征,同時(shí)避免了網(wǎng)絡(luò)參數(shù)的大量增加;
2) 通過主干結(jié)合分支結(jié)構(gòu),使得網(wǎng)絡(luò)模型從小尺寸圖像塊的鑒別中學(xué)習(xí)到的信息可以共享至網(wǎng)絡(luò)模型對(duì)更大尺寸圖像塊的鑒別過程,即小尺寸的圖像塊的鑒別知識(shí)對(duì)大尺寸圖像塊的鑒別具有一定的指引作用.
此外,為了避免經(jīng)典GAN的梯度消失與模式崩潰問題,本文利用Wasserstein距離來表示每個(gè)訓(xùn)練過程的對(duì)抗損失大小,損失函數(shù)中不需要對(duì)判別器的輸出值取對(duì)數(shù),所以判別器最后一層不使用sigmoid激活函數(shù).
利用武漢理工大學(xué)智能船舶與動(dòng)力定位研究團(tuán)隊(duì)的船舶圖像數(shù)據(jù)集中的1 476張?jiān)记逦皥D像來構(gòu)建訓(xùn)練集和測(cè)試集,其中訓(xùn)練集共1 364張,測(cè)試集共112張,數(shù)據(jù)集中部分船舶圖像樣本見圖5.
圖5 數(shù)據(jù)集中部分船舶圖像樣本
利用OpenCV并基于Python語言對(duì)清晰的船舶圖像添加運(yùn)動(dòng)模糊,訓(xùn)練集中的模糊距離從5個(gè)像素值至個(gè)20個(gè)像素值隨機(jī)取樣,為全面地評(píng)估網(wǎng)絡(luò)模型對(duì)于不同模糊距離的去模糊效果,在測(cè)試集中的為每個(gè)模糊距離分配7張圖像,訓(xùn)練集和測(cè)試集的模糊角度均從0°~360°的均勻分布中隨機(jī)取樣.網(wǎng)絡(luò)模型訓(xùn)練集和測(cè)試集的具體圖像數(shù)量信息見表1.
表1 訓(xùn)練集與測(cè)試集圖像數(shù)量
當(dāng)模糊距離為16個(gè)像素值、模糊角度為45°時(shí)的模糊效果見圖6,其中左側(cè)為清晰圖像,右側(cè)為生成的模糊圖像.
圖6 模糊效果展示
此外,為防止發(fā)生網(wǎng)絡(luò)模型對(duì)訓(xùn)練集的過擬合,在訓(xùn)練過程中隨機(jī)對(duì)圖像進(jìn)行鏡像和幾何翻轉(zhuǎn)處理.
實(shí)驗(yàn)環(huán)境基于64位Windows10操作系統(tǒng),GPU為NVIDIA GeForce GTX 1050Ti ;CPU為英特爾i7;編程語言Python版本為3.6.4;深度學(xué)習(xí)框架為TensorFlow1.10.0、 Pytorch1.1.0.
考慮到本文各損失函數(shù)數(shù)量級(jí)的不同,為平衡其在訓(xùn)練過程中的比重,將感知損失正則化參數(shù)λ1設(shè)為1,結(jié)構(gòu)相似性損失正則化參數(shù)λ2設(shè)為10 000,梯度懲罰項(xiàng)正則化系數(shù)λGP設(shè)為10.網(wǎng)絡(luò)訓(xùn)練的batch size為1,采用Adam優(yōu)化器,訓(xùn)練周期共300個(gè)epoch.
2.3.1去模糊實(shí)驗(yàn)結(jié)果
為更加清晰地反應(yīng)本文創(chuàng)新點(diǎn)對(duì)網(wǎng)絡(luò)模型性能的提升,將結(jié)構(gòu)相似性損失、具有多重感受野的判別器依次加入至網(wǎng)絡(luò)模型中并對(duì)其進(jìn)行訓(xùn)練.此外,為了綜合對(duì)比和分析本文提出的去模糊方法的性能,選擇目前在圖像去運(yùn)動(dòng)模糊領(lǐng)域表現(xiàn)良好的文獻(xiàn)[6]的深度學(xué)習(xí)去模糊方法進(jìn)行對(duì)比,各模型的具體信息見表2,各模型去模糊的主觀視覺效果見圖7.
表2 各模型的具體信息
圖7 不同方法的去模糊效果
由圖7可知,相比于采用對(duì)抗損失和感知損失對(duì)網(wǎng)絡(luò)進(jìn)行優(yōu)化的文獻(xiàn)[6],本文采用由對(duì)抗損失、感知損失和結(jié)構(gòu)相似性損失組成的三元損失函數(shù)組對(duì)網(wǎng)絡(luò)進(jìn)行優(yōu)化的模型1的復(fù)原效果有著明顯的優(yōu)勢(shì);模型2將模型1的判別器改為了具有多重感受野的判別器,比模型1的去模糊效果有了一定的提升,其復(fù)原圖像更加接近原始清晰圖像.
此外,為更加客觀地評(píng)價(jià)本文提出方法的去模糊性能,采用目前圖像去模糊領(lǐng)域使用最為普遍、認(rèn)可度最高的SSIM和PSNR指標(biāo)作為網(wǎng)絡(luò)模型去模糊效果的客觀評(píng)價(jià)標(biāo)準(zhǔn),兩項(xiàng)指標(biāo)越高表示模型的去模糊效果越好.各方法基于測(cè)試集的SSIM和PSNR結(jié)果見表3.
表3 不同方法的SSIM、PSNR結(jié)果
由表3可知,采用三元損失函數(shù)組的模型1的兩項(xiàng)指標(biāo)均比文獻(xiàn)[6]的方法要高,通過引入具有多重感受野的判別器,模型2的兩項(xiàng)指標(biāo)比模型1有了進(jìn)一步地提升.相比于文獻(xiàn)[6]的方法,模型2的SSIM指標(biāo)提升了13.2%,PSNR指標(biāo)提升了6.3%,驗(yàn)證了本文提出方法良好的去模糊性能.
2.3.2去模糊后的目標(biāo)檢測(cè)結(jié)果
為了驗(yàn)證文中提出的圖像去模糊方法對(duì)模糊船舶圖像目標(biāo)檢測(cè)效果的提升,利用武漢理工大學(xué)智能船舶與動(dòng)力定位研究團(tuán)隊(duì)的船舶圖像數(shù)據(jù)集中的1 000張船舶圖像訓(xùn)練了基于SSD算法的船舶目標(biāo)檢測(cè)模型,并利用訓(xùn)練好的目標(biāo)檢測(cè)模型對(duì)本文測(cè)試集的清晰圖像、模糊圖像及其對(duì)應(yīng)的復(fù)原圖像進(jìn)行了目標(biāo)檢測(cè),部分圖像的檢測(cè)結(jié)果見圖8[14-15].實(shí)驗(yàn)結(jié)果表明,模糊圖像經(jīng)本文的網(wǎng)絡(luò)模型處理后,其在預(yù)訓(xùn)練的船舶目標(biāo)檢測(cè)模型上的準(zhǔn)確度得到了大幅提升,并且可以達(dá)到或非常貼近清晰圖像的目標(biāo)檢測(cè)結(jié)果.
圖8 模糊圖像、復(fù)原圖像和清晰圖像的目標(biāo)檢測(cè)結(jié)果
文中基于生成對(duì)抗網(wǎng)絡(luò)結(jié)合結(jié)構(gòu)相似性損失和具有多重感受野的判別器提出了一種新的船舶圖像去運(yùn)動(dòng)模糊方法,該方法相比于現(xiàn)有的圖像去模糊方法具有更好的去模糊效果,能夠顯著提高模糊圖像的清晰度和目標(biāo)檢測(cè)準(zhǔn)確度.在今后的研究工作中將致力于在減小模型參數(shù)量的同時(shí)提升模糊圖像的復(fù)原清晰度和復(fù)原效率.