許來(lái)祥,劉 剛,劉 森,曹冰許,張培根
(河南科技大學(xué)信息工程學(xué)院,河南 洛陽(yáng) 471023)
紅外成像自動(dòng)目標(biāo)識(shí)別[1]基于紅外輻射成像方式能夠使武器系統(tǒng)對(duì)指定目標(biāo)進(jìn)行自動(dòng)追蹤、捕獲和識(shí)別,實(shí)現(xiàn)對(duì)目標(biāo)指向的正確導(dǎo)引和精確打擊,是紅外導(dǎo)引頭精確制導(dǎo)武器的核心技術(shù)之一。
常用的傳統(tǒng)目標(biāo)識(shí)別算法有基于支持向量機(jī)(SVM)算法[2]、基于G-Radon 旋轉(zhuǎn)不變算法[3]、基于尺度不變特征變換[4](Scale-Invariant Feature Transform,SIFT)與極速學(xué)習(xí)機(jī)[5](Extreme Learning Machine,ELM)算法等,這些傳統(tǒng)算法難以適應(yīng)自動(dòng)目標(biāo)識(shí)別系統(tǒng)所面臨戰(zhàn)場(chǎng)環(huán)境的復(fù)雜化和目標(biāo)不確定性問(wèn)題,造成目標(biāo)識(shí)別率低。
近年來(lái)深度學(xué)習(xí)技術(shù)在圖像識(shí)別方面表現(xiàn)出驚人的效果,可以對(duì)目標(biāo)特征進(jìn)行自動(dòng)提取、識(shí)別和分類(lèi)。常用的模型有卷積神經(jīng)網(wǎng)絡(luò)[6]、循環(huán)神經(jīng)網(wǎng)絡(luò)[7]、深度置信網(wǎng)絡(luò)[8]、堆棧自編碼網(wǎng)絡(luò)[9]等,其中卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用最廣泛。在物體識(shí)別賽ImageNet 中,2012 年AlexNet[10]、2013 年ZFNet[11]、2014 年VGG[12]和GoogleNet[13]以及2015 年ResNet,這些取得了冠軍的模型都是在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上改進(jìn)的。
傳統(tǒng)的紅外目標(biāo)識(shí)別系統(tǒng)需要人工設(shè)計(jì)特征,而基于深度學(xué)習(xí)技術(shù)的紅外目標(biāo)識(shí)別方法與傳統(tǒng)方法的差異之處在于可以直接從大量訓(xùn)練數(shù)據(jù)集中自動(dòng)學(xué)習(xí)特征,省去了傳統(tǒng)識(shí)別算法中復(fù)雜的特征構(gòu)建過(guò)程。
目前國(guó)內(nèi)外已有一些將CNN 用于紅外目標(biāo)識(shí)別分類(lèi)的相關(guān)研究中。2016 年Zhan[14]等人設(shè)計(jì)的兩階段CNN 網(wǎng)絡(luò)架構(gòu),在合成孔徑雷達(dá)紅外圖像分類(lèi)任務(wù)中,識(shí)別率達(dá)到92.86%。2017 年Aparna[15]等人提出基于CNN 的深度學(xué)習(xí)紅外圖像中民用目標(biāo)自動(dòng)識(shí)別框架,其分類(lèi)精度達(dá)到98.24%。2018 年Nasrabadi[16]等人提出一種新的基于深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)的框架,用于檢測(cè)和識(shí)別前視場(chǎng)景中的紅外目標(biāo),其準(zhǔn)確率高達(dá)99.85%。
本文利用改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)ZFNet 模型對(duì)紅外目標(biāo)實(shí)現(xiàn)自動(dòng)識(shí)別。首先,介紹卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)組成,接著分析在傳統(tǒng)的ZFNet 模型上識(shí)別率較低的原因,結(jié)合紅外目標(biāo)特性改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu),添加Dropout 層并引入空間變換網(wǎng)絡(luò)。然后,可視化分析丟棄率對(duì)紅外目標(biāo)識(shí)別率的影響,并給出選取原則。在此基礎(chǔ)上,對(duì)改進(jìn)的ZFNet 模型、經(jīng)典ZFNet 模型和SIFT+ELM 算法在紅外目標(biāo)自動(dòng)識(shí)別問(wèn)題上進(jìn)行了試驗(yàn)分析。最后,對(duì)后續(xù)研究工作進(jìn)行了展望。
在卷積層,前一層的特征圖通過(guò)卷積核參與卷積運(yùn)算,將得到的結(jié)果經(jīng)過(guò)激活函數(shù)處理后又形成新的一層輸出特征圖。每一層的輸出特征圖與上一層的輸入特征圖彼此建立卷積關(guān)系。其表達(dá)式為:
式(1)中,l 表示網(wǎng)絡(luò)層序數(shù),k 表示卷積核,m 表示特征圖在初始圖像上感受區(qū)域的大小,b 表示偏移量。
池化層往往配在卷積層之后使用,對(duì)上一層中提取的每一張?zhí)卣鲌D進(jìn)行局部最大值或均值等操作。主要起到了降低特征圖的維度、簡(jiǎn)化卷積層的輸出、加快網(wǎng)絡(luò)計(jì)算速度等作用。特征圖進(jìn)行池化運(yùn)算的表達(dá)式為:
式(2)中,down()表示下采樣函數(shù),ρ 和b 表示特征圖進(jìn)行采樣時(shí)所用的不同常數(shù)。
卷積神經(jīng)網(wǎng)絡(luò)在最后幾層通常會(huì)配上全連接層,為了將原來(lái)的高維特征向量降為低維向量,去除高維特征向量中的冗余和噪聲信息,提高準(zhǔn)確率。
CNN 中采用Dropout 技術(shù),隨機(jī)地將某些單元隱藏,使其不參與CNN 的訓(xùn)練過(guò)程,防止網(wǎng)絡(luò)發(fā)生過(guò)擬合。不帶Dropout 層的卷積層計(jì)算公式為:
式(3)中,b 為偏置,w 為權(quán)重,f 為神經(jīng)元的激活函數(shù)。
帶Dropout 層的丟棄率計(jì)算公式為:
式(5)中,Bernoulli 函數(shù)表示伯努利分布,在Dropout層,它以概率p 隨機(jī)生成一個(gè)0、1 的向量。r 表示由Bernoulli 函數(shù)生成的概率向量。在網(wǎng)絡(luò)的訓(xùn)練過(guò)程中,按照一定的概率將其暫時(shí)從網(wǎng)絡(luò)中丟棄,即讓某個(gè)神經(jīng)元的激活值以一定的概率p 停止工作(激活值以概率p 變?yōu)?)。
將第l 層第i 個(gè)神經(jīng)元的輸入乘以式(5)產(chǎn)生的隨機(jī)數(shù)作為這個(gè)神經(jīng)元新的輸入:
此時(shí),第l 層第i 個(gè)神經(jīng)元的輸出為:
式(8)中,k 為第l 層的神經(jīng)元個(gè)數(shù)。
ZFNet 網(wǎng)絡(luò)于2013 年在ILSVRC 上取得冠軍,它能夠?qū)μ卣鞯倪吘?、物理輪廓、紋理等進(jìn)行深層次的可視化學(xué)習(xí)。但本文用傳統(tǒng)的ZFNet 模型對(duì)紅外目標(biāo)訓(xùn)練后發(fā)現(xiàn)識(shí)別率不高,分析主要有以下3點(diǎn)原因:
1)雖然加深網(wǎng)絡(luò)層數(shù)能夠使含有稀疏噪點(diǎn)和低分辨率圖像之間的復(fù)雜關(guān)系精確地映射,但是嚴(yán)重引發(fā)了回傳誤差極限的問(wèn)題,增加了模型訓(xùn)練和優(yōu)化難度,因此,需要精簡(jiǎn)傳統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)。
2)由于紅外目標(biāo)樣本集缺乏,造成輸入數(shù)據(jù)量不能滿(mǎn)足更深層次的ZFNet 進(jìn)行特征間的提取、學(xué)習(xí)、處理等。通常卷積操作越多,網(wǎng)絡(luò)的適應(yīng)能力越強(qiáng),有利于目標(biāo)特征提取,但是過(guò)多的卷積核會(huì)造成內(nèi)存占用和計(jì)算量增加,且大的步幅影響分類(lèi)精度。此外,如果池化方法采用不當(dāng),多層池化操作會(huì)降低目標(biāo)學(xué)習(xí)特征的效率和目標(biāo)的識(shí)別率,因此,需要精簡(jiǎn)傳統(tǒng)網(wǎng)絡(luò)卷積層和池化層的參數(shù)。
3)經(jīng)典網(wǎng)絡(luò)不能充分學(xué)習(xí)紅外目標(biāo)在不同仿射變換下的特征時(shí),會(huì)影響識(shí)別的準(zhǔn)確率,因此,需要考慮在傳統(tǒng)網(wǎng)絡(luò)中引入能夠適應(yīng)仿射變換的層次。
經(jīng)上述分析后,本文從簡(jiǎn)化經(jīng)典ZFNet 模型和加入空間變換網(wǎng)絡(luò)兩個(gè)方面改進(jìn)。
本文在傳統(tǒng)的ZFNet 基礎(chǔ)上去掉2 個(gè)卷積層和1 個(gè)池化層,改進(jìn)后的模型由3 個(gè)卷積層C1、C2、C4,兩個(gè)池化層P3、P5,兩個(gè)全連接層FC6、FC7 和輸出層組成。另外,在C1 卷積層之后加入仿射變換層,在第二個(gè)全連接層FC7 添加Dropout。改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)設(shè)置如圖1 所示,圖中k、s、p 分別表示卷積核(kernel size)、步幅(stride)、填充(pad)。
圖1 改進(jìn)后的ZFNet 網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)設(shè)置
由于CNN 模型需要統(tǒng)一大小的圖像作為輸入,因此,將所有的紅外目標(biāo)圖像都?xì)w一化為64×64的尺寸作為輸入圖像。本文將紅外目標(biāo)按照不同的飛行姿態(tài)分成n 類(lèi),因此,在第7 層經(jīng)過(guò)Dropout 和激活函數(shù)softmax 計(jì)算后輸出n 個(gè)1×1 的神經(jīng)元,即n 個(gè)結(jié)點(diǎn)所在類(lèi)別中的概率。
為了提高CNN 的特征空間表達(dá)能力和分類(lèi)精度,通常在其網(wǎng)絡(luò)結(jié)構(gòu)中加入空間變換網(wǎng)絡(luò)(Spatial Transformer Networks,STN),它主要由定位網(wǎng)絡(luò)(localisation network)、網(wǎng)格生成器(grid generator)、采樣器(sampler)3 部分組成。
將插入CNN 當(dāng)前層的特征圖U 作為輸入,經(jīng)過(guò)連續(xù)若干層訓(xùn)練(如卷積層、池化層、全連接層等),回歸出空間變換參數(shù)θ,即一個(gè)大小為2×3 的仿射變換矩陣用于下一步計(jì)算。
根據(jù)已知輸入特征圖U 的像素點(diǎn)坐標(biāo)位置以及仿射變換參數(shù)θ,可以求得目標(biāo)特征圖V 中的像素點(diǎn)坐標(biāo)位置,數(shù)學(xué)表達(dá)式為:
經(jīng)過(guò)交換坐標(biāo)位置后,由式(10)可求出U 上的坐標(biāo)點(diǎn)。為了使得到V 中的坐標(biāo)點(diǎn)都是整數(shù),下一步選用雙線(xiàn)性插值求V,數(shù)學(xué)表達(dá)式為:
結(jié)合紅外目標(biāo)特性,考慮到STN 可能產(chǎn)生額外的噪聲和幾何畸變,因此,將定位網(wǎng)絡(luò)設(shè)計(jì)為一個(gè)相對(duì)簡(jiǎn)單的結(jié)構(gòu)。本文設(shè)計(jì)兩層的卷積和兩層的池化運(yùn)算,經(jīng)過(guò)兩個(gè)全連接層得到仿射變換矩陣,輸出一個(gè)(4,1)的一維向量,再轉(zhuǎn)換為2×3 的仿射變換矩陣。其中STN 的結(jié)構(gòu)及參數(shù)設(shè)計(jì)如圖2 所示:
圖2 空間變換網(wǎng)絡(luò)層的結(jié)構(gòu)及參數(shù)設(shè)計(jì)
經(jīng)過(guò)空間變換網(wǎng)絡(luò)后得到200 個(gè)28×28 的特征圖,用于下一步CNN 訓(xùn)練。
試驗(yàn)平臺(tái)CPU 主頻3.7 GHz,內(nèi)存16 GB,一塊GTX1080tiGPU 顯卡,采用Cuda9.2+CuDNN7.0 加速,軟件平臺(tái)為win10 操作系統(tǒng)下的Anaconda3 5.2.0 spyder+Keras2.2.4。
本試驗(yàn)的數(shù)據(jù)集一部分來(lái)自紅外飛機(jī)視頻中截圖,另一部分通過(guò)數(shù)據(jù)增廣技術(shù)得到,經(jīng)整理后,一共有7 131 幀圖像,根據(jù)不同的飛行姿態(tài)分成15類(lèi),用于訓(xùn)練、測(cè)試和驗(yàn)證。列舉其中的4 幀飛行姿態(tài)如圖3 所示:
圖3 紅外目標(biāo)飛行姿態(tài)圖
對(duì)加入STN 的ZFNet 改進(jìn)模型進(jìn)行迭代訓(xùn)練,其準(zhǔn)確率損失函數(shù)變化情況如圖4 所示:
圖4 模型迭代訓(xùn)練變化圖
從圖4 可以看出,訓(xùn)練集和驗(yàn)證集的損失函數(shù)始終保持在0~0.2 之間,沒(méi)有太大的波動(dòng)。accuracy曲線(xiàn)緩慢上升,最終趨于飽和。說(shuō)明迭代次數(shù)越大,模型的變化范圍越小,擬合狀態(tài)就越穩(wěn)定。
本試驗(yàn)用經(jīng)典ZFNet 和SIFT+ELM 及加入STN的ZFNet 方法對(duì)紅外目標(biāo)進(jìn)行測(cè)試迭代100 次,其測(cè)試準(zhǔn)確率結(jié)果如圖5 所示。從圖5 可以看出,傳統(tǒng)的SIFT+ELM 識(shí)別性能明顯低于傳統(tǒng)ZFNet;而加入STN 的ZFNet 模型比傳統(tǒng)的ZFNet 模型識(shí)別率高,說(shuō)明加入空間變換網(wǎng)絡(luò)后,模型能夠有效地縮短特征提取時(shí)間,提高分類(lèi)精度。
圖5 3 種算法模型測(cè)試結(jié)果圖
經(jīng)典ZFNet 網(wǎng)絡(luò)訓(xùn)練時(shí),由于每步的卷積操作不同,則同樣的兩個(gè)神經(jīng)元的狀態(tài)可能就不同。任意降低兩個(gè)神經(jīng)元之間的相關(guān)度,就等同于減少了部分神經(jīng)元之間的依賴(lài)性。如果把這個(gè)依賴(lài)性通過(guò)訓(xùn)練的方式轉(zhuǎn)化成一個(gè)數(shù)值區(qū)間,那么在這個(gè)區(qū)間內(nèi)進(jìn)行自主學(xué)習(xí)就會(huì)擬合住這個(gè)相關(guān)性,進(jìn)而增強(qiáng)整個(gè)網(wǎng)絡(luò)的魯棒性、穩(wěn)健性。而加入Dropout 層將丟棄率預(yù)先設(shè)置為一個(gè)0~1 之間的臨界值,在訓(xùn)練的過(guò)程中,對(duì)丟棄率數(shù)值變化進(jìn)行可視化,最終可得到表現(xiàn)最優(yōu)的丟棄率趨于一個(gè)平穩(wěn)的區(qū)間。在這個(gè)區(qū)間內(nèi)逐次取值后再次對(duì)網(wǎng)絡(luò)模型訓(xùn)練和預(yù)測(cè),將使?fàn)顟B(tài)不同的任意兩個(gè)神經(jīng)元之間具有較高相關(guān)性,提高模型的識(shí)別精度。
在模型訓(xùn)練時(shí)對(duì)Dropout 丟棄率的變化趨勢(shì)進(jìn)行可視化,如圖6 所示。
從圖6 可以看出,丟棄率在(0.5,1)之間上下波動(dòng)較大,容易出現(xiàn)過(guò)擬合現(xiàn)象。在(0.1,0.5)之間,隨著迭代次數(shù)的增加,丟棄率快速地下降,出現(xiàn)欠擬合現(xiàn)象。在(0,0.1)之間,丟棄率逐漸趨于穩(wěn)定收斂狀態(tài),說(shuō)明在此區(qū)間內(nèi)取值比較合適。
圖6 Dropout 變化圖
本文在(0,0.1)內(nèi)取4 個(gè)子區(qū)間,對(duì)其準(zhǔn)確率變化進(jìn)行試驗(yàn)測(cè)試,結(jié)果如圖7 所示:
從圖7 可以看出,丟棄率取值在(0.075,0.090)區(qū)間內(nèi)識(shí)別率最高,效果最好。說(shuō)明在對(duì)Dropout 丟棄率進(jìn)行可視化所得收斂區(qū)間的分析是正確的,試驗(yàn)結(jié)果證實(shí),在此區(qū)間內(nèi)取不同的丟棄率數(shù)值使得紅外目標(biāo)識(shí)別率有了提高。
圖7 不同丟棄率下的準(zhǔn)確率
用加入STN 且Dropout 丟棄率取0.09 和不帶Dropout 層的網(wǎng)絡(luò)迭代100 次測(cè)試,結(jié)果如圖8 所示:
圖8 Dropout 對(duì)識(shí)別率的影響
從圖8 可以看出,加入STN 且Dropout 丟棄率取0.09 時(shí)識(shí)別率高達(dá)93.12 %,明顯高于不帶Dropout 層的識(shí)別結(jié)果。說(shuō)明對(duì)Dropout 層丟棄率進(jìn)行可視化分析確定丟棄率區(qū)間且結(jié)合STN 的改進(jìn)ZFNet 模型是可行性的。
從測(cè)試集中隨機(jī)抽取10 幀進(jìn)行識(shí)別,其結(jié)果如圖9 所示,分類(lèi)結(jié)果全部正確。
圖9 識(shí)別結(jié)果示例圖
本文將Tensorflow 后端的框架keras 運(yùn)用到復(fù)雜環(huán)境下紅外目標(biāo)自動(dòng)識(shí)別的問(wèn)題上,結(jié)合紅外目標(biāo)特性分析改進(jìn)ZFNet 網(wǎng)絡(luò)結(jié)構(gòu)并引入空間變換網(wǎng)絡(luò);在ZFNet 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中加入Dropout 層,并通過(guò)可視化分析得出能夠提高紅外目標(biāo)識(shí)別率的丟棄率取值。試驗(yàn)結(jié)果表明,本文提出的結(jié)合丟棄率選取原則與空間變換網(wǎng)絡(luò)的ZFNet 模型優(yōu)于經(jīng)典ZFNet 模型和SIFT+ELM 算法,能夠?qū)崿F(xiàn)復(fù)雜環(huán)境下的紅外目標(biāo)自動(dòng)識(shí)別。但是,基于深度學(xué)習(xí)理論的紅外目標(biāo)自動(dòng)識(shí)別技術(shù)仍然面臨著紅外圖像數(shù)據(jù)缺乏的問(wèn)題。后續(xù)工作考慮利用生成式對(duì)抗網(wǎng)絡(luò)仿真出更多逼真的實(shí)驗(yàn)圖像來(lái)訓(xùn)練網(wǎng)絡(luò),進(jìn)一步完善ZFNet 模型結(jié)構(gòu),達(dá)到更好的識(shí)別效果,為紅外成像制導(dǎo)自動(dòng)目標(biāo)識(shí)別算法設(shè)計(jì)提供參考。