王繼霄,李 陽(yáng),王家寶,苗 壯,張洋碩
(陸軍工程大學(xué)指揮控制工程學(xué)院,南京210007)
(*通信作者電子郵箱emiao_beyond@163.com)
復(fù)雜場(chǎng)景下計(jì)算機(jī)視覺任務(wù)對(duì)于計(jì)算機(jī)而言十分困難,往往需要利用多種信息才能實(shí)現(xiàn)。隨著傳感技術(shù)的飛速發(fā)展,綜合利用多源信息成為了可能。但多種傳感器的部署,同時(shí)也帶來(lái)了信息的冗余與分析困難。隨著深度學(xué)習(xí)技術(shù)的興起,從2016 年開始,基于深度學(xué)習(xí)特別是卷積神經(jīng)網(wǎng)絡(luò)的圖像融合方法開始出現(xiàn)。例如VGG_ML 方法[1]、ConvSR 方法[2]、DeepFuse 方法[3]和ResNet50 方法[4]在紅外與可見光圖像融合上都取得了較好的效果。但在實(shí)際應(yīng)用中,由于圖像融合需要在前端邊緣設(shè)備上進(jìn)行實(shí)時(shí)計(jì)算,傳統(tǒng)的深度模型很難達(dá)到邊緣設(shè)備計(jì)算資源有限的要求。例如,經(jīng)典的ResNet50 網(wǎng)絡(luò)包含2 556 萬(wàn)參數(shù),需要占用98 MB 內(nèi)存,計(jì)算一個(gè)圖像前傳過(guò)程需要完成28 億次高精度計(jì)算,這對(duì)于資源有限的前端設(shè)備來(lái)說(shuō)負(fù)載過(guò)重。因此,如何高效地在嵌入式設(shè)備上進(jìn)行實(shí)時(shí)圖像融合成為研究的重大挑戰(zhàn)。
最近,在目標(biāo)檢測(cè)和目標(biāo)識(shí)別等領(lǐng)域,越來(lái)越多的研究人員開始關(guān)注輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)在移動(dòng)設(shè)備上的應(yīng)用。例如:MobileNetV1[5]和MobileNetV2[6]采用深度可分卷積來(lái)構(gòu)建輕量級(jí)深度神經(jīng)網(wǎng)絡(luò);ShuffleNet[7]采用分組卷積和深度可分卷積來(lái)構(gòu)建輕量級(jí)神經(jīng)網(wǎng)絡(luò);SqueezeNet[8]開創(chuàng)性地提出了Fire 模塊來(lái)壓縮模型參數(shù),減少了網(wǎng)絡(luò)的深度,降低了模型的大小。這些網(wǎng)絡(luò)在移動(dòng)和嵌入式設(shè)備上,可高效完成目標(biāo)檢測(cè)和目標(biāo)識(shí)別任務(wù)。然而,在紅外與可見光圖像融合領(lǐng)域,仍缺少輕量級(jí)深度神經(jīng)網(wǎng)絡(luò)支持移動(dòng)和嵌入式設(shè)備上的圖像融合任務(wù)。
因此,本文提出一種基于SqueezeNet 的輕量級(jí)圖像融合方法。該方法通過(guò)遷移SqueezeNet網(wǎng)絡(luò)的部分模型參數(shù)構(gòu)建輕量級(jí)圖像融合模型,實(shí)現(xiàn)了模型的精簡(jiǎn)、壓縮和輕量化,可有效降低當(dāng)前深度融合模型的大小。同時(shí),本文的輕量級(jí)圖像融合模型可以高效地提取紅外與可見光圖像特征,進(jìn)而獲得高質(zhì)量的融合結(jié)果。本文在公開融合圖像數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),并和其他10 種方法進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果表明本文方法可以有效提高圖像融合的質(zhì)量和效率。
紅外與可見光圖像融合技術(shù)在軍事偵察、遙感探測(cè)、安全導(dǎo)航、醫(yī)學(xué)圖像分析、反恐檢查、環(huán)境保護(hù)、交通監(jiān)測(cè)、清晰圖像重建、災(zāi)情檢測(cè)與預(yù)報(bào)等領(lǐng)域都有著重大的應(yīng)用價(jià)值。經(jīng)過(guò)多年的發(fā)展,傳統(tǒng)的圖像融合方法主要有:基于交叉雙邊濾波器(Cross Bilateral Filter,CBF)的方法[9]、基于離散余弦諧小波變換(Discrete Cosine Harmonic Wavelet Transform,DCHWT)[10]的方法、基于聯(lián)合稀疏表示(Joint Sparse Representation,JSR)的方法[11]、基于顯著性檢測(cè)的聯(lián)合稀疏表示(JSR with Saliency Detection,JSRSD)的方法[12]、加權(quán)最小平方法(Weighted Least Square,WLS)方法[13]以及最小梯度下降法(Gradient TransFer and total variation minimization,GTF)[14]等。這些融合方法只能針對(duì)特定的圖像類型進(jìn)行融合,同時(shí)融合策略為人工設(shè)定,缺乏一定的泛化能力,融合的效果欠佳。
隨著深度學(xué)習(xí)技術(shù)的興起,尤其是深度卷積神經(jīng)網(wǎng)絡(luò)的廣泛運(yùn)用,基于深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺任務(wù)中發(fā)揮出強(qiáng)大的作用。在圖像融合方面,研究人員開始利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像融合。
在文獻(xiàn)[15]中,Liu 等利用深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)針對(duì)不同焦距的輸入圖像構(gòu)建融合權(quán)重圖,進(jìn)而實(shí)現(xiàn)圖像融合。這種方法在多焦距圖像融合上獲得了較好的效果,但并不適用于其他類型圖像的融合。Li等[1]利用VGG-ML方法強(qiáng)大的圖像特征提取能力,將紅外與可見光圖像分別拆分為基礎(chǔ)部分(base parts)和細(xì)節(jié)內(nèi)容(detail content)。針對(duì)基礎(chǔ)部分,采用加權(quán)平均的方式對(duì)兩類圖像的基礎(chǔ)部分進(jìn)行融合;針對(duì)細(xì)節(jié)內(nèi)容,通過(guò)該網(wǎng)絡(luò)的多個(gè)卷積層提取深度特征,然后將提取的深度特征采用softmax 的方式融合在一起。最后,將融合后的基礎(chǔ)部分和細(xì)節(jié)內(nèi)容進(jìn)行重構(gòu)。VGG-ML方法在圖像融合任務(wù)上表現(xiàn)出了較好的性能,但VGG-ML方法的弊端也比較明顯[15]:該網(wǎng)絡(luò)結(jié)構(gòu)過(guò)深且包含3 個(gè)全連接層,融合過(guò)程中需要消耗過(guò)多的計(jì)算資源。因此VGG-ML方法并不適合部署在移動(dòng)和嵌入式設(shè)備上。
此后,Li等[4]又提出使用ResNet50網(wǎng)絡(luò)進(jìn)行圖像融合,在融合過(guò)程中該方法將ResNet50網(wǎng)絡(luò)某幾層輸出的特征圖按照設(shè)定的策略進(jìn)行加權(quán)組合,用來(lái)保留更多的圖像細(xì)節(jié)信息,并獲得了較好的融合效果。ResNet50模型比VGG-ML模型小了近10倍,但是模型過(guò)大的問(wèn)題仍然沒(méi)有得到根本性的解決。
由此可見,以上的這些深度學(xué)習(xí)方法雖然在圖像融合上都取得了較好的效果,但是模型結(jié)構(gòu)大、參數(shù)多、耗時(shí)長(zhǎng)的問(wèn)題并沒(méi)有解決,無(wú)法直接部署到前端移動(dòng)和嵌入式設(shè)備上進(jìn)行圖像融合。
在目標(biāo)檢測(cè)領(lǐng)域,移動(dòng)端部署的輕量級(jí)深度模型已經(jīng)開始應(yīng)用。這些網(wǎng)絡(luò)主要采取了可分離卷積和分組卷積等策略進(jìn)行模型壓縮,取得了較好的應(yīng)用效果。其中,Iandola 等[8]提出SqueezeNet[8]網(wǎng)絡(luò)首次引入了Fire[8]模塊,減少了卷積神經(jīng)網(wǎng)的參數(shù)量,實(shí)現(xiàn)了卷積神經(jīng)網(wǎng)絡(luò)的輕量化。Fire 模塊的作用是先對(duì)特征圖進(jìn)行維度壓縮,然后對(duì)這些特征圖做多尺度學(xué)習(xí)并進(jìn)行拼接。Fire 模塊這種結(jié)構(gòu)可大量壓縮模型參數(shù),同時(shí)保持模型的魯棒性。因此,在檢測(cè)精度相近的情況下,SqueezeNet 模型的參數(shù)量比AlexNet[16]模型縮小了近50倍,且模型小于0.5 MB。SqueezeNet 網(wǎng)絡(luò)精度高、體積小的特性在圖像處理方面?zhèn)涫荜P(guān)注。受此啟發(fā),本文基于SqueezeNet 設(shè)計(jì)了一種紅外與可見光圖像融合方法,該方法首先通過(guò)Fire模塊提取兩類圖像特征,然后求解提取特征的l1范數(shù)獲得融合的權(quán)重圖,最后按照設(shè)定的融合策略進(jìn)行加權(quán)融合,進(jìn)而獲得高質(zhì)量的融合結(jié)果。
SqueezeNet輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)由Berkeley和Stanford的研究人員提出,其主要設(shè)計(jì)理念是通過(guò)減少卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù),來(lái)降低模型的大小。SqueezeNet 中的Fire 模塊主要分為兩個(gè)部分:squeeze層和expand層(各自連接一個(gè)ReLU 激活層)。squeeze 層中的卷積核全都是1×1 的卷積核,數(shù)量為S1,expand 層中包含E1 個(gè)1×1 的卷積核和E2 個(gè)3×3 的卷積核,并且滿足S1<E1+E2,如圖1所示。
圖1 SqueezeNet中Fire模塊的示意圖Fig. 1 Schematic diagram of Fire module in SqueezeNet
SqueezeNet 模型共包含8 個(gè)Fire 模塊,中間插入了3 個(gè)max pooling 層,最后一層為average pooling 層,這樣的設(shè)計(jì)大大減少了參數(shù)的數(shù)量。除了Fire 模塊以外,SqueezeNet 在開始輸入和結(jié)束輸出時(shí)各加入了一個(gè)卷積層,如圖2所示。
圖2 SqueezeNet網(wǎng)絡(luò)的結(jié)構(gòu)Fig. 2 Network architecture of SqueezeNet
本章主要介紹運(yùn)用卷積神經(jīng)網(wǎng)絡(luò)SqueezeNet 進(jìn)行紅外與可見光圖像融合的過(guò)程,如圖3所示。
在圖3 中,紅外和可見光圖像分別輸入到SqueezeNet 網(wǎng)絡(luò)中,經(jīng)過(guò)提取特征、融合策略和加權(quán)融合3 個(gè)步驟進(jìn)行圖像融合。
圖3 圖像融合的具體過(guò)程Fig. 3 Process of images fusion in detail
首先將需要融合的成對(duì)紅外圖像Source1(x,y)和可見光圖像Source2(x,y)輸入到SqueezeNet 的前半部分網(wǎng)絡(luò)中。紅外和可見光圖像輸入的網(wǎng)絡(luò)參數(shù)和結(jié)構(gòu)相同,它包含1 個(gè)卷積層conv1、1個(gè)max pooling 層和2個(gè)Fire模塊。Fire模塊用于提取的圖像特征,本文選取fire3-relu_squeeze1×1層輸出的特征圖作為融合圖像特征。設(shè)F1∈(K×W×H)和F2∈(K×W×H)分別表示該網(wǎng)絡(luò)提取的紅外和可見光圖像特征圖,其中W×H表示特征圖的寬度和長(zhǎng)度,K表示特征圖的通道數(shù)。
得到特征圖F1∈(K×W×H)和F2∈(K×W×H)之后,在通道維運(yùn)用l1-norm 正則化方法[17]求解特征范數(shù),分別獲得紅外與可見光圖像的權(quán)值圖和。和的求解方式如式(1):
其中:K表示特征圖的通道數(shù),t表示滑動(dòng)窗口的大小,p表示滑動(dòng)窗口的長(zhǎng)度,q表示滑動(dòng)窗口的寬。
通過(guò)式(1)的計(jì)算,厚度為K的特征圖被壓縮成二維矩陣。通過(guò)這樣的方式,實(shí)現(xiàn)了特征圖的降維。
最后用softmax 的方式(如式(2))得出紅外和可見光圖在融合時(shí)的權(quán)值圖,由于權(quán)值圖的大小與原始圖像尺度不同,采用雙線性插值方法將權(quán)重圖調(diào)整到原始圖像大小。具體流程如圖4所示。
圖4 獲得權(quán)重圖的過(guò)程Fig. 4 Process of obtaining weight map
其中:Sourcek(x,y)表示源圖像(紅外和可見光圖均為灰度圖像),F(xiàn)used(x,y)表示融合結(jié)果圖像。
為了對(duì)各種融合方法進(jìn)行有效的評(píng)估和對(duì)比,本文利用文獻(xiàn)[18]中使用的21 對(duì)圖像數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。該數(shù)據(jù)集作為評(píng)價(jià)各種融合方法的經(jīng)典數(shù)據(jù)集,得到了廣泛使用。圖5給出了21對(duì)圖像中的4對(duì)圖像示例。
圖5 圖像融合數(shù)據(jù)集中的4對(duì)源圖像Fig. 5 Four pairs of source images in image fusion dataset
本文使用的評(píng)價(jià)融合圖像質(zhì)量的指標(biāo)為:FMIpixel[19]、Nabf[10]和SSIMa[1]。FMIpixel表示像素級(jí)特征互信息,用于表征從原圖像傳輸?shù)饺诤蠄D像的特征信息量,F(xiàn)MIpixel越高,融合圖像質(zhì)量越好;Nabf表示通過(guò)融合過(guò)程添加到融合結(jié)果中噪聲和人工干擾的數(shù)量,該指標(biāo)越低,融合結(jié)果越好;SSIMa表示結(jié)構(gòu)相似度指標(biāo),該指標(biāo)越高,說(shuō)明融合圖像的結(jié)果與源圖像結(jié)構(gòu)越相近。
本文進(jìn)行實(shí)驗(yàn)的硬件環(huán)境:CPU為Intel Core i5-7200U、內(nèi)存為8 GB。軟件環(huán)境:計(jì)算機(jī)操作系統(tǒng)為Windows 10 pro、模型運(yùn)行平臺(tái)為Matlab 2018b。
本文所使用的SqueezeNet 網(wǎng)絡(luò)模型為預(yù)訓(xùn)練的模型,在進(jìn)行紅外與可見光圖像融合時(shí),通過(guò)調(diào)用Matlab 2018b 版本中自帶的deep learning 工具箱模型SqueezeNet 網(wǎng)絡(luò),將紅外和可見光圖像輸入到網(wǎng)絡(luò)中,選取Fire3 模塊的fire3-relu_squeeze1×1層輸出作為紅外和可見光圖像的特征圖,進(jìn)行加權(quán)融合。
SqueezeNet 網(wǎng)絡(luò)包含了8 個(gè)Fire 模塊以及部分卷積層和池化層。但在圖像融合過(guò)程中,只需要其中某一層的輸出作為選取的特征層。因此選擇合適的輸出層作為提取特征的輸出至關(guān)重要。將Fire2 到Fire9 這8 個(gè)輸出層的每個(gè)輸出特征圖分別進(jìn)行圖像融合,得到了表1 中不同層21 對(duì)圖像的平均融合結(jié)果。
在表1 中,可以看到Fire2 作為輸出層的特征輸出所得到的融合圖像效果最好(將最好的數(shù)值進(jìn)行了加粗)。因此在下面的實(shí)驗(yàn)中選擇Fire2作為特征輸出層。
表1 不同層輸出的融合質(zhì)量對(duì)比Tab. 1 Fusion quality comparison of different layer outputs
在21 張紅外和可見光圖像數(shù)據(jù)集上,將本文方法與近期10 種圖像融合方法:DCHWT[10]、CBF[9]、JSR[11]、JSRSD[12]、GTF[14] 、WLS[13] 、ConvSR[2] 、VggML[1] 、DeepFuse[20] 和ResNet50[4]進(jìn)行對(duì)比實(shí)驗(yàn)并評(píng)估融合性能。對(duì)比的10種融合方法中,DCHWT[10]、CBF[9]、JSR[11]、JSRSD[12]、GTF[14]、WLS[13]是 傳 統(tǒng) 圖 像 融 合 方 法;ConvSR[2]、VggML[1]、DeepFuse[20]、ResNet50[4]是基于深度學(xué)習(xí)的方法。
表2 中各數(shù)值均是每種方法采用21 對(duì)圖融合后的平均值,將圖像融合質(zhì)量指標(biāo)排名第一的數(shù)值用黑體突出,排名第二的數(shù)值用下劃線突出。從表2可以看出,SqueezeNet方法的融合效果比較良好,在11種方法中Nabf和SSIMa兩個(gè)指標(biāo)均排名第一,F(xiàn)MIpixel指標(biāo)雖然排名第三,但與第一、二差距較小。在所有深度學(xué)習(xí)的方法中:本文方法FMIpixel指標(biāo)僅比第一名的ConvSR 和第二名的VggML 分別低0.007 98 和0.001 77;Nabf指標(biāo)(指標(biāo)越低越好)比第二名的ResNet50 方法提升0.000 16;SSIMa比ResNet50方法高0.000 24。
在圖像融合過(guò)程中,除了要考慮圖像融合的質(zhì)量,還要考慮融合效率。本文在表3中對(duì)比ResNet50方法和本文方法的融合效率。
表2 不同方法下的融合質(zhì)量對(duì)比Tab. 2 Fusion quality comparison of different fusion methods
表3 ResNet50和SqueezeNet性能參數(shù)比較Tab. 3 Comparison of performance parameters between ResNet50 and SqueezeNet
如表3 所示,本文方法網(wǎng)絡(luò)的參數(shù)量是ResNet50 網(wǎng)絡(luò)的1/21,模式大小是ResNet50 的1/204,運(yùn)行速度加快了約4 倍。由此可以看出,本文方法較ResNet50 方法在融合效率上有較大的提升,在融合效果近似的情況下實(shí)現(xiàn)了高效的圖像融合。SqueezeNet 網(wǎng)絡(luò)在參數(shù)量設(shè)置、模型尺寸、運(yùn)行時(shí)間都具備了輕量級(jí)的神經(jīng)網(wǎng)絡(luò)的特性,運(yùn)行時(shí)間滿足移動(dòng)和嵌入式設(shè)備上的基礎(chǔ)要求。
如圖6(c)~(h)所示,可以看到本文所用的方法(m)將紅外與可見光圖像融合后得到的圖像在紅框的位置人工噪聲較少且展示出了更多的細(xì)節(jié)內(nèi)容,例如目標(biāo)的紋理。
圖6 不同圖像融合方法的融合結(jié)果Fig. 6 Fusion results of different image fusion methods
從圖6 中可以直觀地看到,CBF 方法獲得的圖像中很多的人工噪聲而且顯著特征也不清晰;JSR、JSRSD 和WLS 方法獲得的圖像的顯著特征位置包含了許多人工噪聲,并且其細(xì)節(jié)信息也不清晰;運(yùn)用神經(jīng)網(wǎng)絡(luò)融合架構(gòu)的ConvSR、VGGML、DeepFuse 以及SqueezeNet 方法獲得的圖像在顯著特征的數(shù)量比較多,并且圖像信息的細(xì)節(jié)上要更加清晰完整。
從圖6 中傳統(tǒng)方法融合所得到的圖像不清晰且噪點(diǎn)較多,可以分析出,這主要是因?yàn)檫@些方法提取的特征的理論所致。傳統(tǒng)方法主要是基于域變換的方式將圖像矩陣轉(zhuǎn)化為另一個(gè)子空間的方式進(jìn)行,這樣的方式更多地關(guān)注圖像的細(xì)節(jié)信息,而缺乏語(yǔ)義信息的提取。而神經(jīng)網(wǎng)絡(luò)的方法在細(xì)節(jié)信息和語(yǔ)義信息方法都進(jìn)行了較好的兼顧,因此可以看到基于神經(jīng)網(wǎng)絡(luò)的融合方法其融合效果更好。
圖像特征的提取和融合策略的設(shè)計(jì)是紅外與可見圖像融合的關(guān)鍵所在,現(xiàn)有的深度卷積特征提取網(wǎng)絡(luò)參數(shù)較多、結(jié)構(gòu)較深、計(jì)算耗時(shí),不適用于移動(dòng)和嵌入式設(shè)備。本文提出采用基于輕量級(jí)SqueezeNet 的圖像融合方法,運(yùn)用SqueezeNet 作為圖像特征提取的網(wǎng)絡(luò),改善現(xiàn)有網(wǎng)絡(luò)的不足。實(shí)驗(yàn)表明,本文方法不僅能夠壓縮網(wǎng)絡(luò)規(guī)模,同時(shí)在取得與其他融合方法相近的融合效果下,提高了融合的速度和效率,能夠較好地適應(yīng)移動(dòng)和嵌入式設(shè)備。
但是,融合策略的設(shè)計(jì)仍是圖像融合領(lǐng)域富有挑戰(zhàn)的任務(wù),需要針對(duì)不同類型網(wǎng)絡(luò)和圖像進(jìn)行具體分析,它對(duì)融合質(zhì)量的提升具有重要的意義,需要進(jìn)一步研究。