黃振華
(江蘇科技大學(xué) 鎮(zhèn)江 212001)
多聚焦圖像融合是多源信息融合領(lǐng)域的重要分支,通過(guò)將同一場(chǎng)景多焦點(diǎn)圖像的深度融合,使得場(chǎng)景中景深差異較大的目標(biāo)均能清晰成像。被攝物體在光學(xué)焦點(diǎn)和合適景深的條件下會(huì)顯現(xiàn)完整的邊緣和結(jié)構(gòu)信息,但是考慮到物體距離、景深的變化,在同一張圖像上完整呈現(xiàn)所有關(guān)注目標(biāo)的視覺(jué)信息具有極大的挑戰(zhàn)性。
早期的多聚合圖像融合方法可分為變換域和空間域法。變化域法基于多尺度變換理論,將圖像通過(guò)投影操作映射至低維空間即利用低維系數(shù)的相關(guān)性來(lái)描述目標(biāo)的幾何結(jié)構(gòu)關(guān)系。
通過(guò)一系列的融合準(zhǔn)則、逆變換重構(gòu),最終獲得所有目標(biāo)的準(zhǔn)確表達(dá)。代表性的變換包括離散小波變換(DWT)[1]、雙樹(shù)復(fù)小波變換(DTCWT)[2]、非子采樣輪廓波變換(NSCT)與剪切波(Shearlet)[3]的方法等。圖像經(jīng)過(guò)離散變換后,具有能量聚集性的變換系統(tǒng)在獲得較高壓縮比的同時(shí),降低了原圖像高低頻細(xì)節(jié)的對(duì)比度,影響了融合后的目標(biāo)邊緣細(xì)節(jié)。空間域方法基于圖像分割思想,按照不同區(qū)域(邊緣能量、輪廓、內(nèi)容等)、不同準(zhǔn)則(加權(quán)平均、取最大值等)對(duì)多源圖像進(jìn)行分組融合。然而固定或自適應(yīng)尺寸的分塊方式無(wú)法完全覆蓋目標(biāo)的邊緣像素,因此融合結(jié)果很大程度上依賴分割的效果,難以避免目標(biāo)邊緣的“振鈴效應(yīng)”。
以上方法應(yīng)用了相對(duì)傳統(tǒng)的方案提高融合質(zhì)量,將圖像融合中最關(guān)鍵的兩個(gè)因素即目標(biāo)活躍程度和融合策略分開(kāi)設(shè)計(jì),無(wú)法充分發(fā)揮兩者的有效性。針對(duì)變換域和空間域的各類改進(jìn)方法,顯示出了優(yōu)良的融合性能。文獻(xiàn)[4]提出了基于自適應(yīng)塊的方法,使用差分進(jìn)化算法獲得固定的最優(yōu)塊大小。文獻(xiàn)[5~6]提出了基于四叉樹(shù)的算法,根據(jù)圖像內(nèi)容獲取最優(yōu)塊大小,以及文獻(xiàn)[7]采用了最小生成樹(shù)的方法得到了圖像的分割區(qū)。這些方法充分考慮了目標(biāo)細(xì)節(jié)的能量分布,在目標(biāo)邊緣細(xì)節(jié)的融合方面取得了較好效果,但是受限于變換域系數(shù)對(duì)高頻細(xì)節(jié)的壓縮損失,融合效果還有較大的提升空間。近年來(lái),深度神經(jīng)網(wǎng)絡(luò)在圖像處理具有廣闊的應(yīng)用。深度神經(jīng)網(wǎng)絡(luò)具有良好的特征提取能力,通過(guò)對(duì)多源圖像的清晰及模糊細(xì)節(jié)進(jìn)行分類學(xué)習(xí),并基于網(wǎng)絡(luò)自身的泛化學(xué)習(xí)能力,得到互補(bǔ)的多聚焦圖像。
本文提出一種基于Siamese卷積神經(jīng)網(wǎng)絡(luò)的多聚焦圖像融合算法。該方法對(duì)Siamese網(wǎng)絡(luò)模型進(jìn)行較大改進(jìn),將優(yōu)化的模型成功運(yùn)用在多聚焦圖像的分類融合上。一方面通過(guò)對(duì)網(wǎng)絡(luò)的訓(xùn)練,建立清晰/散焦目標(biāo)活躍程度與融合規(guī)則的一致性映射關(guān)系;另一方面采用優(yōu)化后的梯度優(yōu)化算法Adadelta提升Siamese 模型的訓(xùn)練速度,使得融合后目標(biāo)的邊緣細(xì)節(jié)更符合“人眼視覺(jué)”。最后通過(guò)對(duì)清晰/散焦目標(biāo)的自適應(yīng)分類,獲得較好的融合決策圖,再對(duì)決策圖進(jìn)行多級(jí)優(yōu)化,提高融合圖像的質(zhì)量。
經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)模型包括AlexNet網(wǎng)絡(luò)模型[8]、VGGNet 網(wǎng)絡(luò)模型[9]、GoogleInceptionNet 網(wǎng)絡(luò)模型[10]、ResNet網(wǎng)絡(luò)模型[11]等。本文卷積神經(jīng)網(wǎng)絡(luò)的作用是對(duì)多聚焦圖像的清晰區(qū)域與模糊區(qū)域進(jìn)行區(qū)分。由于在圖像融合中,輸入的圖像一般是兩幅甚至是多幅,對(duì)網(wǎng)絡(luò)模型的結(jié)構(gòu)要求是多支路,并且為了降低網(wǎng)絡(luò)模型的參數(shù)冗余度,各支路間訓(xùn)練的參數(shù)需保持共享,因此選用的網(wǎng)絡(luò)模型是Sia?mese網(wǎng)絡(luò)[12]。
Siamese 網(wǎng)絡(luò)是一種計(jì)算樣本匹配程度的神經(jīng)網(wǎng)絡(luò),可視為卷積神經(jīng)網(wǎng)絡(luò)(CNN)的變異結(jié)構(gòu)體。一個(gè)簡(jiǎn)單的Siamese 網(wǎng)絡(luò)結(jié)構(gòu)包括雙分支網(wǎng)絡(luò),各網(wǎng)絡(luò)層之間保持權(quán)值共享,其中卷積層用來(lái)提取圖像特征,池化層用來(lái)數(shù)據(jù)降維,全連層將兩個(gè)網(wǎng)絡(luò)支路訓(xùn)練的結(jié)果融合[13]。兩幅大小為m×m 的圖片轉(zhuǎn)換為一個(gè)大小為1×m2的一維矩陣,將n 張圖片拼接起來(lái)組成一個(gè)n×m2大小的矩陣傳入網(wǎng)絡(luò),方便網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)的投喂以及批次處理;卷積層和池化層是網(wǎng)絡(luò)中訓(xùn)練的核心模塊,輸入的圖片在卷積運(yùn)算下會(huì)將圖像中信息的高維特征突出,提取出多個(gè)高維特征。若將一次提取的特征全部輸出到下一層的卷積那么運(yùn)算維度的基數(shù)會(huì)越來(lái)越大,導(dǎo)致網(wǎng)絡(luò)模型的冗余和訓(xùn)練效率的下降,因此,需要池化層降低網(wǎng)絡(luò)訓(xùn)練中產(chǎn)生矩陣的維度;最后一層計(jì)算兩條支路結(jié)果的歐式距離。網(wǎng)絡(luò)模型的訓(xùn)練算法一般采用反向傳播算法,其中包含了正向傳播和誤差反向傳播。正向傳播時(shí),訓(xùn)練樣本從輸入層輸入,經(jīng)過(guò)網(wǎng)絡(luò)各層,最后將輸入結(jié)果于標(biāo)簽值比較算得差值,通過(guò)誤差函數(shù)獲得誤差;反向傳播時(shí),誤差從輸出層輸入,經(jīng)過(guò)網(wǎng)絡(luò)各層,通過(guò)學(xué)習(xí)率以及優(yōu)化函數(shù)對(duì)每一層神經(jīng)元參數(shù)和權(quán)值進(jìn)行修改。循環(huán)往復(fù)以上兩個(gè)過(guò)程,直到網(wǎng)絡(luò)達(dá)到一定精度為止。
在網(wǎng)絡(luò)訓(xùn)練正向過(guò)程中,網(wǎng)絡(luò)每一層的權(quán)值作用實(shí)則是對(duì)上一層結(jié)果進(jìn)行非線性變換來(lái)實(shí)現(xiàn)復(fù)雜函數(shù)的逼近性能,其反向過(guò)程實(shí)則是優(yōu)化權(quán)值,使函數(shù)的逼近效果更好。深度學(xué)習(xí)的反向傳播過(guò)程擁有多種梯度優(yōu)化算法,此次訓(xùn)練采用的是Ad?adelta算法。
Adadelta 算法對(duì)學(xué)習(xí)率的設(shè)置不再使用固定的值,為了避免發(fā)生梯度彌散的情況,將把歷史反向傳播梯度的累計(jì)窗口限制在一個(gè)固定的尺寸ω,即記住當(dāng)前訓(xùn)練批次前后個(gè)范圍內(nèi)的梯度值,而不是累加所有的梯度求平方和。
首先,假設(shè)某次迭代時(shí)刻t,gt,i=?wL(Wi)是損失函數(shù)L(Wi)對(duì)參數(shù)的梯度,則當(dāng)學(xué)習(xí)率為η 時(shí),那么對(duì)網(wǎng)絡(luò)中某參數(shù)Wi修改為
在Adadelta 算法中,將當(dāng)前學(xué)習(xí)率與上一個(gè)訓(xùn)練批次的學(xué)習(xí)率聯(lián)系起來(lái)的是用梯度和來(lái)實(shí)現(xiàn)的。梯度和是遞歸的,其實(shí)質(zhì)是歷史梯度平方的衰減平均值,若設(shè)動(dòng)態(tài)平均值為E[g2]t,則:

式(2)中ρ 類似于一個(gè)沖量項(xiàng),值一般設(shè)置為0.9 左右,將式(1)中的學(xué)習(xí)率 η 更換為從而更新學(xué)習(xí)率η,分母項(xiàng)中的? 是為了防止分母為0 的情況出現(xiàn),一般取10-8。因此,式(1)則變?yōu)?/p>

通過(guò)該算法更新網(wǎng)絡(luò)中的參數(shù)不僅避免了網(wǎng)絡(luò)訓(xùn)練中最繁瑣的超參數(shù)調(diào)節(jié)步驟,而且使前后訓(xùn)練的關(guān)聯(lián)度大大提升,符合神經(jīng)網(wǎng)絡(luò)的參數(shù)共享原則。
本文中的訓(xùn)練模型由多個(gè)基本單元堆疊而成,其中包括輸入層、三個(gè)卷積層、一個(gè)池化層、一個(gè)全連接層。
1)首先對(duì)訓(xùn)練數(shù)據(jù)做預(yù)處理,受2-channel 網(wǎng)絡(luò)結(jié)構(gòu)的啟發(fā),減少圖像通道數(shù),能提高網(wǎng)絡(luò)計(jì)算能力以及融合效率,所以將圖片全部灰度化,并且將所有圖片分別進(jìn)行模糊化處理,來(lái)模擬真實(shí)的模糊情況。
2)選擇一個(gè)清晰圖像和該圖像的模糊版本作為一對(duì)輸入,對(duì)應(yīng)的標(biāo)簽為(1,0),“1”表示清晰圖像,“0”表示模糊圖像。經(jīng)過(guò)C1支路第一層卷積獲得特征圖,其公式如下:

式子中,f 為激活函數(shù),x 為輸入圖像,ωi為第i個(gè)卷積核,?表示卷積,bi表示偏置,同理可得到C2支路的特征圖
3)將上一層的輸出作為輸入,池化層的作用是將局部區(qū)域的總體統(tǒng)計(jì)特征代替網(wǎng)絡(luò)在該位置的輸出,以實(shí)現(xiàn)數(shù)據(jù)降維。由于特征圖像的一部分?jǐn)?shù)據(jù)被丟棄,必然會(huì)導(dǎo)致圖像中特征位置的平移,但所有特征的平移都是相對(duì)的,可看成近似不變。
4)下兩層重復(fù)2)的步驟。
5)Siamese 網(wǎng)絡(luò)在全連接層實(shí)現(xiàn)的是計(jì)算輸入的歐氏距離,如下:

式(5)中,GW( X1) 值表示C1支路對(duì)圖片提取的特征,GW( X2)值表示C2支路對(duì)圖片提取的特征。
網(wǎng)絡(luò)模型采用有監(jiān)督方式訓(xùn)練,需要損失函數(shù)在每一次訓(xùn)練結(jié)束后去優(yōu)化網(wǎng)絡(luò)節(jié)點(diǎn)上的每個(gè)參數(shù),于是根據(jù)式(5),定義損失函數(shù)的具體計(jì)算為

式(6)中(Y ,X1,X2)i表示第i 個(gè)樣本,由一對(duì)圖片X1,X2和一個(gè)標(biāo)簽Y 組成。 LG表示標(biāo)簽為(1,0)對(duì)應(yīng)輸入圖片的損失函數(shù),LI表示標(biāo)簽為(0,1)對(duì)應(yīng)輸入圖片的損失函數(shù)。
為了防止過(guò)擬合以及提高模型的泛化性,在損失函數(shù)式(6)中加入正則項(xiàng):

其中λ 的大小為權(quán)重衰減大小,一般設(shè)置為0.0005,W 為權(quán)值向量,優(yōu)化目標(biāo)設(shè)為最小化式(8)的結(jié)果,通過(guò)反向傳播算法對(duì)網(wǎng)絡(luò)進(jìn)行優(yōu)化。
網(wǎng)絡(luò)完成以上訓(xùn)練之后可以將圖像中的高維信息提取,圖1 分別輸出經(jīng)過(guò)卷積第二層和卷積第三層的圖片,其中卷積核大小為5×5,為便于觀察,對(duì)輸出特征圖像進(jìn)行了重構(gòu)放大。

圖1 卷積2層與卷積3層的輸出結(jié)果圖
通過(guò)標(biāo)簽作為目標(biāo)的網(wǎng)絡(luò)訓(xùn)練完成后,網(wǎng)絡(luò)模型已經(jīng)可以識(shí)別圖片的清晰區(qū)域和模糊區(qū)域,之后的具體過(guò)程如下。
1)在調(diào)用Siamase 模型時(shí),為了能將聚焦圖像模糊區(qū)與清晰區(qū)完全識(shí)別并生成決策圖,對(duì)訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行修改,將最后生成標(biāo)簽的全連接層修改成擁有大小為1×1卷積核的全卷積層,如圖3所示。

圖3 網(wǎng)絡(luò)模型調(diào)用修改圖
2)通過(guò)網(wǎng)絡(luò)模型各卷積層輸出的圖片來(lái)看,圖片越清晰的區(qū)域被提取出來(lái)的細(xì)節(jié)就會(huì)越明顯。從圖1(c)和(f)中可以看出,細(xì)節(jié)越豐富的區(qū)域值趨向于白色,反之趨向于黑色。但是,從圖1(a)中可以看出,由于模糊的區(qū)域存在多個(gè)亮斑,在第三層卷積結(jié)果中存在一些不連續(xù)的“雜點(diǎn)”,同時(shí),清晰區(qū)域的暗處也會(huì)出現(xiàn)“雜點(diǎn)”,這些“雜點(diǎn)”會(huì)影響最終融合圖像的清晰度。
為了最大限度保留住源圖像的細(xì)節(jié)信息,將從神經(jīng)網(wǎng)絡(luò)中輸出的圖片先利用像素插值還原到輸出圖像的大小圖4(a),用來(lái)生成最終的決策圖M 。采用二值化的方法對(duì)含有“雜點(diǎn)”的決策圖M 進(jìn)行預(yù)處理,閾值設(shè)置為0.5,結(jié)果如圖4(b)所示。

圖4 決策圖優(yōu)化
3)經(jīng)過(guò)預(yù)處理之后的決策圖M 中只存在一些明顯的小孔和斑點(diǎn),采用圖像形態(tài)學(xué)處理中的開(kāi)運(yùn)算與閉運(yùn)算將決策圖M 進(jìn)一步完善,如圖4(c)所示。
4)根據(jù)最終生成的決策圖M ,以式(9)的方法將源圖片A 和B 進(jìn)行像素級(jí)的加權(quán)融合得到最終的融合圖像F 。

式中,M 為優(yōu)化之后的決策圖,A 和B 分別是輸入的兩幅圖像,F(xiàn) 為融合后的圖像。
1)數(shù)據(jù)集的影響與選擇
本文采用的數(shù)據(jù)集來(lái)源于ImageNet 上的人物照和自然風(fēng)景照片,將獲得的源圖片進(jìn)行三個(gè)等級(jí)的模糊,表1 是在構(gòu)建數(shù)據(jù)集時(shí)對(duì)圖片模糊度三個(gè)等級(jí)的描述,采用評(píng)價(jià)標(biāo)準(zhǔn)是拉普拉斯方差算法[16],數(shù)據(jù)集在三個(gè)模糊等級(jí)上是平均分布的。將一張清晰圖片與該圖片的模糊版組成一對(duì),作為網(wǎng)絡(luò)訓(xùn)練的實(shí)驗(yàn)圖像。在處理數(shù)據(jù)集的時(shí)候,利用數(shù)據(jù)增強(qiáng)的技術(shù)擴(kuò)充了數(shù)據(jù)集,使訓(xùn)練集為25000 對(duì),測(cè)試集為5000對(duì)。

圖5 融合圖像F

表1 數(shù)據(jù)集模糊級(jí)別對(duì)照表
2)網(wǎng)絡(luò)參數(shù)優(yōu)化算法的影響與選擇
采用Adadelta 算法進(jìn)行網(wǎng)絡(luò)參數(shù)的優(yōu)化能提高網(wǎng)絡(luò)擬合的速度以及提高模型的準(zhǔn)確性。該算法設(shè)置了衰減系數(shù),控制了學(xué)習(xí)率的變化,從而避免了學(xué)習(xí)率后期會(huì)變得很小的問(wèn)題。為了體現(xiàn)Adadelta 算法訓(xùn)練結(jié)果的優(yōu)越性,實(shí)驗(yàn)將三個(gè)優(yōu)化算法從收斂速度和結(jié)果精確度進(jìn)行比較,Adadelta算法的表現(xiàn)都優(yōu)于其它兩種算法。
圖6~圖7 給出了兩組實(shí)驗(yàn)圖像的融合結(jié)果。為了便于比較,將提出的融合方法與三種代表性的多聚焦圖像融合方法進(jìn)行了比較,這些方法分別是基于非下采樣輪廓變換(NSCT),基于梯度金字塔(GF)以及基于DSIFT的融合方法。

圖6 Clock

圖7 Golf
兩組圖像中各個(gè)融合算法都能綜合原圖像的主要信息,由圖(f)和(l)所示的結(jié)果來(lái)看,表的細(xì)節(jié)信息包括邊緣的數(shù)字都十分清晰,近遠(yuǎn)焦的邊界處沒(méi)有出現(xiàn)扭曲以及斷層的現(xiàn)象。
由于人主觀觀察的差異性,表2 以兩幅圖像作為評(píng)比標(biāo)準(zhǔn),從多個(gè)圖像融合的客觀評(píng)價(jià)進(jìn)行打分。對(duì)多聚焦圖像融合的客觀評(píng)價(jià)大致分為融合圖像與源圖像的差異以及融合圖像的清晰度和信息完整度,與源圖像差異性的判別標(biāo)準(zhǔn)包括信息熵(Entropy,E)、互信息(Mutual Information,QMI);融合結(jié)果的清晰度和信息完整度的判別標(biāo)準(zhǔn)包括邊緣信息保持度(Edge Retention,QER)、清晰程度的對(duì)比度(Contrast,QC)、平均梯度(Average Gradi?ent,QAG)。這些指標(biāo)大多是值越大則效果越好,從表中可以看出本文方法在后三項(xiàng)的判別標(biāo)準(zhǔn)上都有極大的改善。

表2 不同算法對(duì)5種評(píng)價(jià)指標(biāo)結(jié)果分析
實(shí)驗(yàn)中用來(lái)訓(xùn)練的仿真環(huán)境為L(zhǎng)inux-64 位操作系統(tǒng),CPU i7 7700 8 核3.6G HZ,16G 內(nèi)存,顯卡為GTX 1060,Tensorflow版本為1.2。
本文將深度學(xué)習(xí)引入到圖像融合的領(lǐng)域還只是一個(gè)初步的嘗試,將神經(jīng)網(wǎng)絡(luò)代替了以往圖像融合中活躍度測(cè)量和融合規(guī)則設(shè)計(jì)這兩大步驟,并將兩個(gè)步驟融合在了一個(gè)網(wǎng)絡(luò)結(jié)構(gòu)上,這使作為生成決策圖的網(wǎng)絡(luò)變得更加合理。為了體現(xiàn)出該方法的可擴(kuò)展性,今后會(huì)在多模態(tài)圖像以及醫(yī)學(xué)圖像融合上做更多的實(shí)驗(yàn)。