王 娟, 柯 聰, 劉 敏*, 蔡霖康, 石 豪, 袁旭亮
(1.湖北工業(yè)大學(xué)太陽(yáng)能高效利用及儲(chǔ)能運(yùn)行控制湖北省重點(diǎn)實(shí)驗(yàn)室, 武漢 430068;2.武漢大學(xué)-武漢華安科技公司博士后工作站, 武漢 430068)
由于光學(xué)透鏡的焦距設(shè)置在一定范圍里,所以只有在景深內(nèi)的物體在照片中才會(huì)有清晰的顯示,其他物體可能會(huì)呈現(xiàn)出較模糊的狀態(tài),而獲取全聚焦圖像的一種常用技術(shù)是將不同焦距設(shè)置下拍攝的同一場(chǎng)景的多幅圖像進(jìn)行融合,即多聚焦圖像融合技術(shù)。多聚焦圖像融合技術(shù)能夠?qū)Σ煌咕嘞碌木劢箞D像進(jìn)行融合,融合后的圖像能夠最大程度地保留源圖像的細(xì)節(jié)特征,為軍事探測(cè)、醫(yī)療診斷和目標(biāo)識(shí)別等實(shí)際應(yīng)用領(lǐng)域提供更加豐富的信息[1]。
近年來(lái),研究人員提出很多種圖像融合的方法。這些方法大致歸為以下兩類(lèi)[2]:變換域方法和空間域方法。變換域方法是基于傳統(tǒng)的多尺度變換理論的圖像融合方法,如基于拉普拉斯金字塔(laplacian pyramid,LP)方法[3]、基于離散小波變換(discrete wavelet transform,DWT)法[4]、基于非下采樣剪切波變換(non-subsampled shear transform,NSST)法[5]、基于非下采樣輪廓波(non-subsampled contourlet transform,NSCT)[6]等。基于多尺度變換的圖像融合方法是先對(duì)源圖像進(jìn)行分解,再選用合適的融合規(guī)則對(duì)分解后的子圖像進(jìn)行融合,最后將子圖像重新構(gòu)建,從而獲得最終的融合圖像。空間域方法是空間域算法將圖像整體或是其中一部分看作是圖像自身的特征,使用某種規(guī)則進(jìn)行合并,再重構(gòu)出融合圖像。
隨著深度學(xué)習(xí)技術(shù)的興起,一些基于神經(jīng)網(wǎng)絡(luò)的方法應(yīng)用于多聚焦圖像融合上,與傳統(tǒng)方法相比,其更具有優(yōu)越性。文獻(xiàn)[7]首次將卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)應(yīng)用于多聚焦圖像融合,使用包含不同清晰程度的源圖像塊來(lái)訓(xùn)練模型并獲得決策圖,通過(guò)學(xué)習(xí)CNN模型可以共同生成權(quán)重分配和融合規(guī)則,克服了現(xiàn)有融合方法所面臨的困難。但此方法僅使用網(wǎng)絡(luò)模型最后層的結(jié)果,忽略中間層可能會(huì)導(dǎo)致信息的丟失。
針對(duì)以上問(wèn)題,本文提出一種基于改進(jìn)生成對(duì)抗網(wǎng)絡(luò)(generative adversarial network,GAN)的多聚焦圖像融合方法,通過(guò)網(wǎng)絡(luò)模型進(jìn)行特征提取及融合,規(guī)避人為設(shè)計(jì)權(quán)重分配和融合規(guī)則所引起的弊端。由卷積層構(gòu)成的生成器和判別器的網(wǎng)絡(luò)結(jié)構(gòu)克服了CNN模型在網(wǎng)絡(luò)加深時(shí)造成的圖像部分信息丟失,使得生成圖像在最大程度上保留了源圖像的細(xì)節(jié)信息,提高融合效果。
Goodfellow等[8]首次提出了GAN的概念,在深度學(xué)習(xí)領(lǐng)域引起大量的關(guān)注。GAN網(wǎng)絡(luò)主要包括兩個(gè)對(duì)抗模型:生成器模型(generative,G)和判別器模型(discriminative,D)。G用來(lái)捕捉分布的數(shù)據(jù),刻畫(huà)數(shù)據(jù)是如何生成的;D不關(guān)心數(shù)據(jù)是如何生成,而是用來(lái)區(qū)分生成器生成的數(shù)據(jù)和真實(shí)數(shù)據(jù)。G和D進(jìn)行博弈,通過(guò)互相競(jìng)爭(zhēng)讓兩個(gè)模型同時(shí)得到增強(qiáng)。在優(yōu)化過(guò)程中,其模型優(yōu)化函數(shù)如下:
Ez~Pz(z)(lg{1-D[G(z)]})
(1)
式(1)中:x表示真實(shí)的輸入樣本;z表示輸入G的噪聲;pdata(x)表示數(shù)據(jù)真實(shí)分布;pz(z)表示輸入噪聲分布;D(X)表示判別器判斷真實(shí)圖像是否真實(shí)的概率;D[G(z)]表示判別器判斷G生成的圖片是否真實(shí)的概率。
原始GAN的目的主要在于擬合出相應(yīng)的生成器和判別器用來(lái)生成圖像,并沒(méi)有對(duì)生成器和判別器的具體結(jié)構(gòu)做出限制。所設(shè)計(jì)的生成器和判別器模型均使用卷積神經(jīng)網(wǎng)絡(luò),為了防止圖像在傳遞過(guò)程中造成細(xì)節(jié)信息的丟失,所以在網(wǎng)絡(luò)模型設(shè)計(jì)時(shí)未使用池化層以此來(lái)保證多聚焦圖像融合的效果。
多聚焦圖像融合的關(guān)鍵在于融合圖像能同時(shí)保留輸入源圖像的所有細(xì)節(jié)信息,通過(guò)GAN中的生成器G生成融合圖像,將融合圖像送入判別器,并且同時(shí)將兩幅源圖像分別送進(jìn)判別器,通過(guò)判別器區(qū)分生成圖像和真實(shí)圖像,直到判別器無(wú)法區(qū)分出生成圖像和真實(shí)圖像,則可以獲得高質(zhì)量的融合圖像。本文方法框架圖如圖1所示。
圖1 本文方法框架圖Fig.1 The method frame diagram of this paper
改進(jìn)GAN的網(wǎng)絡(luò)結(jié)構(gòu)包括兩部分:生成器網(wǎng)絡(luò)和判別器網(wǎng)絡(luò)。為了保證圖像的特征信息在網(wǎng)絡(luò)傳播中不受到大量的損失,因此生成器和判別器均采用卷積神經(jīng)網(wǎng)絡(luò)。
生成器的目的在于提取源圖像中更多的細(xì)節(jié)信息,生成具有豐富細(xì)節(jié)的融合圖像,生成器的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。從圖2中可以看出生成器G是一個(gè)5層卷積神經(jīng)網(wǎng)絡(luò),第一層和第二層都是使用5×5的卷積核,第三層和第四層使用3×3的卷積核,最后一層使用1×1的卷積核。每一層卷積核的步長(zhǎng)都設(shè)為1,并且生成器的輸入是由兩張多聚焦圖像連接而成,即輸入通道為2。同時(shí)為了避免梯度消失等問(wèn)題,在生成器每層都使用BatchNorm[9]給數(shù)據(jù)歸一化,之后再使用LeakyRelu[10]激活函數(shù)來(lái)提升網(wǎng)絡(luò)的非線性程度。
圖2 生成器網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Generator network structure
圖3 判別器網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Discriminator network structure
判別器的目的在于區(qū)分目標(biāo)圖像是生成器生成的圖像還是真實(shí)圖像,通過(guò)對(duì)目標(biāo)圖像的特征提取再進(jìn)行分類(lèi)。判別器的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。從圖3中可以看出判別器D是一個(gè)8層的卷積神經(jīng)網(wǎng)絡(luò),每一層都是使用3×3的卷積核,第2~4層的卷積核步長(zhǎng)設(shè)為2,其余層卷積核步長(zhǎng)均為1。為了不引入噪聲,所以以步長(zhǎng)為2的卷積層代替池化層,使得判別器的分類(lèi)效果更好。與生成器相似的是前7層都使用BatchNorm給數(shù)據(jù)歸一化,再使用LeakyRelu作為激活函數(shù),最后一層則是線性層用于分類(lèi)。
本文算法中的損失函數(shù)由兩部分組成,即生成器G的損失函數(shù)和判別器D的損失函數(shù),目的在于使損失函數(shù)最小化以得到最佳的訓(xùn)練模型。用LG表示生成器G的損失函數(shù),LD表示判別器D的損失函數(shù),LGAN表示總損失函數(shù),則有:
LGAN={min(LG),min(LD)}
(2)
生成器損失函數(shù)包括兩部分:一部分是生成器與判別器的對(duì)抗損失,用V表示,如式(3)所示;另一部分則是圖像細(xì)節(jié)信息在生成過(guò)程中的內(nèi)容損失,用Lc表示,如式(4)所示。
(3)
(4)
則LG表示如式(5)所示:
LG=V+αLc
(5)
一般情況下,在沒(méi)有判別器的情況下,通過(guò)本文算法也是能夠得到融合圖像,但這樣的圖像往往不能很好地保留源圖像的細(xì)節(jié)信息。因此為了生成器所生成的融合圖像效果更好,所以引入判別器。判別器的損失函數(shù)為
(6)
式(6)中:b、c分別表示兩幅可見(jiàn)光圖像的真值標(biāo)簽;d表示融合圖像的真值標(biāo)簽;D(I1)、D(I2)、D(If)分別表示各自圖像的分類(lèi)結(jié)果。
實(shí)驗(yàn)使用的是Samet Aymaz提供的數(shù)據(jù)集,從其中選擇50對(duì)多聚焦圖像作為實(shí)驗(yàn)的訓(xùn)練集。為了能夠得到更好的訓(xùn)練模型,用步長(zhǎng)為14,大小為64×64的滑動(dòng)窗口將每對(duì)多聚焦圖像分成子塊, 再將這些子塊以填充的方式將大小擴(kuò)展為76×76,將其作為生成器的輸入。通過(guò)生成器輸出的融合圖像大小仍為64×64。生成的融合圖像作為判別器的輸入,并使用Adam[12]優(yōu)化算法,直到達(dá)到最大訓(xùn)練次數(shù)為止。
實(shí)驗(yàn)基于DELLEMC PowerEdge R840四路機(jī)架服務(wù)器,采用Intel Xeon(R) Gold 5120 CPU, Nvidia Tesla P100 GPU的硬件環(huán)境,軟件環(huán)境為64位 Ubnutu 18.04的操作系統(tǒng),Tensorflow V1.2,Python3.5。
選擇兩組多聚焦圖像作為本文算法融合效果的展示。為了驗(yàn)證本文算法對(duì)于多聚焦圖像的融合效果,選取在多聚焦圖像融合領(lǐng)域表現(xiàn)較好的基于LP算法[3]、基于NSCT算法[13]、基于SR(sparse representation)算法[14]、基于CNN算法[7]等四種算法與本文算法進(jìn)行對(duì)比。不同算法的融合效果圖如圖4所示。從視覺(jué)效果上看,上述幾種算法均較好地保持了源圖像的細(xì)節(jié)信息,并對(duì)多聚焦圖像進(jìn)行了較好的融合。從圖4可以看出本文算法的對(duì)比度較高,圖像亮度提升,邊緣信息保存程度較高,可以得到更好的視覺(jué)效應(yīng)。
圖4 多聚焦圖像融合結(jié)果Fig.4 Fused results of the multi-focus images
為了對(duì)融合結(jié)果進(jìn)行更加全面的評(píng)價(jià),選擇了5組客觀評(píng)價(jià)指標(biāo):平均梯度(average gradient,AG)、邊緣強(qiáng)度(edge intensity,EDI)、信息熵(information entropy,IE)、標(biāo)準(zhǔn)差(standard deviation,STD)、空間頻率(spatial frequency,SF),對(duì)融合圖像進(jìn)行計(jì)算得到評(píng)價(jià)數(shù)據(jù),如表1所示。
由表1第一組數(shù)據(jù)可知,本文算法在大部分客觀評(píng)價(jià)指標(biāo)上達(dá)到了最佳值,在IE和STD這兩項(xiàng)指標(biāo)上也取得了比較好的效果。在AG上比性能較好的NSCT算法上提高了20.7%,在EDI上比性能較好的NSCT算法上提高了21.1%,表明本算法提取的邊緣信息豐富,在進(jìn)行圖像融合時(shí)可以更好地保留邊緣的信息,表現(xiàn)出更好的綜合性能。
由表1第二組可知,本文算法在AG、EDI、IE、STD上的性能均優(yōu)于其他算法。在AG上比性能較好的LP算法上提高了19.7%,在EDI上比性能較好的LP算法提高了20.2%,本文算法雖然沒(méi)能在每個(gè)指標(biāo)上達(dá)到最優(yōu),但均有著較好的效果。綜上所述,本文算法效果最好,在保持源圖像的細(xì)節(jié)信息上表現(xiàn)良好,融合后的圖像包含的內(nèi)容更加豐富。
表1 融合圖像性能比較
提出了一種基于改進(jìn)生成對(duì)抗網(wǎng)絡(luò)的多聚焦圖像融合方法,實(shí)現(xiàn)了端到端的自適應(yīng)融合,避免了設(shè)計(jì)復(fù)雜的融合規(guī)則。實(shí)驗(yàn)研究表明,本文算法可以較好地提取兩幅源圖像的細(xì)節(jié)信息和邊緣特征,達(dá)到了比較好的融合效果。需要指出的是,GAN的網(wǎng)絡(luò)結(jié)構(gòu)以及參數(shù)設(shè)置對(duì)融合的效果有著巨大的影響,所以在后續(xù)的工作里需要對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行進(jìn)一步的改進(jìn),尋找更優(yōu)的參數(shù)值,以求獲取效果更好的融合圖像。