孫振華 李新德
(東南大學(xué)自動化學(xué)院 江蘇 南京 210000)
目標(biāo)識別是計算機視覺、模式識別和圖像處理領(lǐng)域的研究熱點之一,而飛機識別作為目標(biāo)識別的重要部分,在現(xiàn)代戰(zhàn)爭中的空中偵察和敵我身份識別等方面都有著重要的應(yīng)用。尤其隨著圖像處理和人工智能的迅速發(fā)展,飛機識別系統(tǒng)會成為未來武器的主要組成部分,而飛機識別的準(zhǔn)確率一直是影響該技術(shù)應(yīng)用的重要因素。因此,如何充分利用已有信息設(shè)計出更為準(zhǔn)確的飛機識別系統(tǒng),是當(dāng)前該領(lǐng)域的重點研究方向。
多標(biāo)簽飛機識別問題目前主要是分成單個標(biāo)簽分開處理。一種是基于傳統(tǒng)圖像處理的方法,如:朱旭鋒等[1]提出基于多不變量和多分類器融合的識別方法;李新德等[2]提出基于Hu矩、PNN和DSmT融合的方法;Hussein等[3]提出轉(zhuǎn)換特征和模糊聚類的飛機識別方法;Zhu等[4]提出基于優(yōu)化的BoW模型識別方法;Molchanov等[5]提出融合多普勒相干特征進(jìn)行飛機識別的方法。另一種是基于深度學(xué)習(xí)的方法,主要采用的基礎(chǔ)網(wǎng)絡(luò)模型是CNN,如:Chevalier等[6]提出基于深度學(xué)習(xí)的LR-CNN方法;Li等[7]提出PCNN模型用于飛機識別;Malekzadeh等[8]提出采用DNN模型提取飛機特征的方法;Xu等[9]提出“端到端”的FCN用于飛機的快速識別方法。
傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)在處理多標(biāo)簽識別問題時,是根據(jù)每個標(biāo)簽分別訓(xùn)練獨立的網(wǎng)絡(luò),然后通過每個獨立的網(wǎng)絡(luò),分別對每個標(biāo)簽進(jìn)行分類預(yù)測。經(jīng)分析得知,該方法主要有兩個問題:(1) 由于采用的網(wǎng)絡(luò)數(shù)目過多,且相互無關(guān)聯(lián),從而增加了網(wǎng)絡(luò)訓(xùn)練的成本,造成信息冗余,以致時間效率低下;(2) 忽略了不同標(biāo)簽之間固有的關(guān)系,丟棄了一部分有用的先驗知識,限制了識別效果的提升。
鑒于此,本文提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的多標(biāo)簽飛機識別算法,并在多標(biāo)簽飛機圖像數(shù)據(jù)集上進(jìn)行訓(xùn)練與測試。
多標(biāo)簽飛機識別問題和單個標(biāo)簽的飛機識別問題實質(zhì)上是相同的,都是要對飛機圖像進(jìn)行圖像預(yù)處理,再輸入到特征提取器中提取適當(dāng)?shù)奶卣?。然后將提取到的特征輸入到特定的分類器中,以獲取標(biāo)簽的預(yù)測值。
本文將飛機識別問題建模為一個可以用卷積神經(jīng)網(wǎng)絡(luò)求解的一個多標(biāo)簽分類問題,并基于Softmax回歸構(gòu)建分類概率模型。借助于卷積神經(jīng)網(wǎng)絡(luò)強大的特征提取能力和對非線性關(guān)系的回歸能力,獲得更準(zhǔn)確的識別效果。
Softmax回歸是邏輯斯蒂回歸在多類別分類問題上的推廣,其分類目標(biāo)損失函數(shù)為:
(1)
式中:ω為網(wǎng)絡(luò)結(jié)構(gòu)參數(shù),xl為第l個樣本的輸入,N為訓(xùn)練樣本數(shù)目,C為單個標(biāo)簽所包含的類別數(shù),1{yl=i}在滿足yl=i時為1,否則為0。
由于直接代數(shù)求得目標(biāo)函數(shù)顯式的解析解是難以實現(xiàn)的,因此采用梯度下降法逼近代價函數(shù)的極小值點,并將所求極小值點對應(yīng)的參數(shù)作為網(wǎng)絡(luò)的系統(tǒng)參數(shù)估計值,其梯度公式如下:
(2)
將式(2)代入梯度下降算法中,在每一次迭代時進(jìn)行如下的權(quán)重更新,直到目標(biāo)損失或訓(xùn)練步數(shù)達(dá)到要求為止。
(3)
卷積神經(jīng)網(wǎng)絡(luò)是一種前饋人工神經(jīng)網(wǎng)絡(luò),區(qū)別于其他人工神經(jīng)網(wǎng)絡(luò)模型,其最主要的特點為卷積運算操作。因此,相比傳統(tǒng)方法甚至其他深度網(wǎng)絡(luò)模型,卷積神經(jīng)網(wǎng)絡(luò)在圖像識別任務(wù)上具有更為優(yōu)異的表現(xiàn)。
對多標(biāo)簽飛機識別任務(wù)而言,由于不同型號飛機在結(jié)構(gòu)和紋理上具有較高的相似性,尤其是同一廠商的不同型號飛機之間(如圖1中Boeing 737-600與Boeing 737-300,Airbus 320與Airbus 321),除了結(jié)構(gòu)設(shè)計上的微小差異,其他方面基本相同,具有極大的類間相似度,因此相比一般物體識別具有更大難度。
圖1 不同型號飛機對比圖
針對傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)在處理多標(biāo)簽識別時存在的問題,采用如圖2所示的MLCNN網(wǎng)絡(luò)結(jié)構(gòu),利用各標(biāo)簽之間的關(guān)系,將多個標(biāo)簽的特征提取和分類融合到一個完整的網(wǎng)絡(luò)。
圖2 MLCNN網(wǎng)絡(luò)結(jié)構(gòu)示意圖
如圖2所示,MLCNN網(wǎng)絡(luò)主要包括三大部分:數(shù)據(jù)輸入部分、CNN特征提取部分Ci(i=1,2,…,n)和分類器部分Li(i=1,2,…,n)。每個標(biāo)簽Li的分類器都有與之相對應(yīng)的特征提取器Ci。其中n為采用該網(wǎng)絡(luò)的分類問題所具有的標(biāo)簽數(shù)目,且各標(biāo)簽之間具有如下的包含關(guān)系:
L1?L2?…?Li…?Ln
(4)
式中:Li?Lj表明標(biāo)簽Li中的任意一個類包含標(biāo)簽Lj中的一個或多個類,也就是說標(biāo)簽Lj具有比標(biāo)簽Li更多、更細(xì)分的類別。可以看出,從屬于標(biāo)簽Lj的不同類之間的相似性更大,具有更高的識別難度,因此需要比標(biāo)簽Li更加抽象的特征,也就需要構(gòu)建更深層的卷積網(wǎng)絡(luò)來進(jìn)一步進(jìn)行特征提取。
因此,在網(wǎng)絡(luò)MLCNN中位于最低層的特征提取部分C1,主要負(fù)責(zé)對圖像的特征進(jìn)行初步提取,所得特征被用作L1標(biāo)簽分類器和更深層網(wǎng)絡(luò)C2的輸入。然后,特征提取部分C2對特征圖進(jìn)行更高層的語義抽象,所得特征被用作L2標(biāo)簽分類器和更深層網(wǎng)絡(luò)C3的輸入。依次向下直到最細(xì)分的標(biāo)簽Ln和最高語義的特征提取部分Cn。
就多標(biāo)簽飛機識別問題而言,所采用的數(shù)據(jù)集具有多個標(biāo)簽,且每個標(biāo)簽之間又具有一定的邏輯關(guān)系。每一級標(biāo)簽都具有一定的先驗信息,在下一層次的標(biāo)簽分類中,可以利用這些先驗知識,減少冗余的干擾信息,引導(dǎo)特征提取向更深層的標(biāo)簽靠攏,提高最高層次標(biāo)簽的識別準(zhǔn)確率。
同時,將n層標(biāo)簽的識別放到一個網(wǎng)絡(luò)當(dāng)中,比起傳統(tǒng)上每個標(biāo)簽設(shè)計一個網(wǎng)絡(luò),極大地減少了網(wǎng)絡(luò)的復(fù)雜程度。使用一個網(wǎng)絡(luò)就可以完成原本多個網(wǎng)絡(luò)的分類任務(wù),提高了卷積神經(jīng)網(wǎng)絡(luò)的特征提取效率,整體上減少了卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時間,也避免了特征重復(fù)提取和抽象。
數(shù)據(jù)輸入層主要負(fù)責(zé)對初始數(shù)據(jù)集進(jìn)行擴充和數(shù)據(jù)預(yù)處理,從而增強數(shù)據(jù)的多樣性,防止模型過擬合。該層實現(xiàn)數(shù)據(jù)擴充的方法,主要包括水平翻轉(zhuǎn)、尺度變換、旋轉(zhuǎn)變換和Fancy PCA[10]等。
在對數(shù)據(jù)集進(jìn)行擴充以后,需要對輸入圖像進(jìn)行中心式歸一化操作,即對每個特征減去訓(xùn)練集圖像的平均值,以凸顯圖像個體差異。
如圖3所示,“CNN特征提取”部分主要采用CNN的核心算法思想——卷積對輸入特征圖進(jìn)行局部特征提取。為了能夠更高效地控制網(wǎng)絡(luò)的深度和調(diào)整參數(shù),卷積核大小固定為3×3。由于該多標(biāo)簽網(wǎng)絡(luò)整體結(jié)構(gòu)較深,為減少梯度彌散的發(fā)生,同時避免ReLU函數(shù)常見的“死區(qū)”問題,故該部分采用指數(shù)化線性單元ELU(Exponential Linear Unit)函數(shù)[11]作為卷積后特征值的激活函數(shù),其函數(shù)公式如下所示:
(5)
圖3 CNN特征提取部分結(jié)構(gòu)
在多次卷積之后,采用最大值池化的方式對卷積后的特征圖進(jìn)行降采樣,以減小特征圖的大小,并保證一定程度的特征不變性和防止過擬合。
MLCNN網(wǎng)絡(luò)的分類器部分共包含n個結(jié)構(gòu)相似的分類器,分別對應(yīng)于n個層級的標(biāo)簽。該分類器的基本結(jié)構(gòu)如圖4所示。
圖4 分類器結(jié)構(gòu)
特征提取部分獲取的特征圖,需要首先經(jīng)過卷積核尺寸為1×1的卷積操作降維后,再輸入到采取dropout策略進(jìn)行訓(xùn)練的全連接神經(jīng)元。然后將神經(jīng)元輸出的特征向量輸入到Softmax層進(jìn)行回歸分析。最終根據(jù)回歸所得的概率值,判斷出當(dāng)前標(biāo)簽下的類別。
為了保證實驗結(jié)果的可靠性和針對多標(biāo)簽分類問題的適用性,使得實驗?zāi)軌驕?zhǔn)確測試出本文算法的有效性,在數(shù)據(jù)集構(gòu)建時主要選擇Boeing和Airbus兩個具有多種型號飛機的廠商,同時針對不同標(biāo)簽數(shù)據(jù)的數(shù)量進(jìn)行了適當(dāng)平衡。
本文數(shù)據(jù)集所采用的圖像和標(biāo)簽,主要采集自FGVC-Aircraft數(shù)據(jù)集。同時根據(jù)需要按飛機型號標(biāo)簽采用爬蟲的方式從網(wǎng)絡(luò)爬取圖片,對相應(yīng)標(biāo)簽數(shù)據(jù)進(jìn)行擴充,共包含1萬幅飛機圖像。如圖5所示,其主要包含三級標(biāo)簽:“廠商”、“系列”、“型號”,且三者具有如下的包含關(guān)系:一個廠商包含一個或多個系列,一個系列包含一個或多個型號。“廠商”共包含2類,“系列”共包含14類,“型號”包含35類,每幅飛機圖像都具有唯一的“廠商”、“系列”、“型號”標(biāo)注。
圖5 飛機數(shù)據(jù)集標(biāo)簽層級結(jié)構(gòu)示意圖
數(shù)據(jù)集采集構(gòu)建完成后,將數(shù)據(jù)集的2/3分割出來作為訓(xùn)練集,剩余1/3作為測試集。其中訓(xùn)練集被用作訓(xùn)練神經(jīng)網(wǎng)絡(luò),使網(wǎng)絡(luò)在式(1)中目標(biāo)函數(shù)的監(jiān)督下能夠更新自身權(quán)重,以實現(xiàn)自我學(xué)習(xí),而測試集被用作驗證算法的有效性。
由于本文采用的數(shù)據(jù)集具有3個標(biāo)簽,所以第2節(jié)中MLCNN結(jié)構(gòu)中所對應(yīng)的n=3,也就是說實驗所采用的MLCNN共包含3個CNN特征提取部分(C1,C2,C3)和3個對應(yīng)標(biāo)簽(L1,L2,L3)的分類器。因為卷積層的層數(shù)直接決定了CNN特征提取的能力,而影響分類器的識別效果,所以在該MLCNN網(wǎng)絡(luò)中,3個CNN特征提取部分(C1,C2,C3)各自卷積層的層數(shù),是影響其識別效果的主要結(jié)構(gòu)參數(shù)。
為了在本文數(shù)據(jù)集上,選擇識別效果較好的MLCNN網(wǎng)絡(luò)。針對C1、C2、C3層數(shù)的不同比例分布,分別對不同的MLCNN網(wǎng)絡(luò)進(jìn)行訓(xùn)練和測試。同時為了保證各組網(wǎng)絡(luò)之間可以進(jìn)行比較,固定每組MLCNN網(wǎng)絡(luò)的總層數(shù)均為15層。
該實驗共選取7組層數(shù)分布不同的MLCNN網(wǎng)絡(luò)。其中:第1組網(wǎng)絡(luò)對應(yīng)包含5個卷積層的C1、5個卷積層的C2和5個卷積層的C3;第2組網(wǎng)絡(luò)對應(yīng)包含6個卷積層的C1、6個卷積層的C2和3個卷積層的C3。同樣,后5組網(wǎng)絡(luò)C1、C2、C3所包含卷積層的數(shù)目,依次為:6層、3層、6層,3層、6層、6層,3層、3層、9層,3層、9層、3層,9層、3層、3層。所得的實驗結(jié)果如表1所示。
表1 不同特征提取層數(shù)分布的測試結(jié)果
從表1可以看出,當(dāng)最細(xì)分標(biāo)簽L3的識別率較高時,標(biāo)簽L1和L2的識別率也較高;只比較最終標(biāo)簽L3的識別率,發(fā)現(xiàn)第2組和第7組的識別率高于其他各組,此時C1+C2=12為幾組實驗中最高;只比較標(biāo)簽L2的識別率,發(fā)現(xiàn)也是第2組和第7組的識別率最高,此時C1層數(shù)分別為6和9,不低于其他各組;只比較標(biāo)簽L1的識別率,同樣是第2組和第7組的識別率最高。
由該實驗可以總結(jié)如下特征提取部分的層數(shù)選擇經(jīng)驗:
(1) 當(dāng)總卷積層數(shù)不限時,適當(dāng)增加MLCNN的總層數(shù)可以提高最細(xì)分標(biāo)簽的準(zhǔn)確率。
(2) 當(dāng)總卷積層數(shù)受限時,適當(dāng)減小最后一個特征提取層C3的層數(shù),增加C1和C2的層數(shù),可以提高標(biāo)簽L3的識別率;適當(dāng)減小C2的層數(shù),增加C1的層數(shù),可以提高標(biāo)簽L2的識別率。將其歸納為MLCNN特征提取層數(shù)選取的漸減策略:
C1≥C2≥C3≥…≥Cn
從實驗結(jié)果看出,當(dāng)“CNN特征提取”層數(shù)采用漸減策略時,更能保證準(zhǔn)確地提取出各層標(biāo)簽分類器所需要的特征,從而總體上提高各個標(biāo)簽的分類準(zhǔn)確度。
綜合考慮多個標(biāo)簽的識別效果,選用上述實驗第7組方案的結(jié)果作為MLCNN針對本文數(shù)據(jù)集的最優(yōu)實驗結(jié)果。同時,采用另外兩種傳統(tǒng)方案,分別對相同數(shù)據(jù)集進(jìn)行訓(xùn)練和測試。一種是SIFT特征提取,再用SVM進(jìn)行分類的方式;另一種是針對各個標(biāo)簽分別訓(xùn)練獨立的CNN。為了便于比較,各個CNN的層數(shù)與MLCNN中特征提取層數(shù)相對應(yīng),分別為:9層、12層和15層。實驗結(jié)果如表2所示。
表2 不同方法在本文數(shù)據(jù)集的測試結(jié)果
從表2可以看出,本文所提出的MLCNN在三個標(biāo)簽的識別率均高于相互獨立的單標(biāo)簽CNN,尤其在最高層級標(biāo)簽“型號”上相比單獨的15層“型號”CNN分類網(wǎng)絡(luò),在測試集上的識別率提高了7.54%。這表明,本文提出的MLCNN可以利用不同層級標(biāo)簽之間的關(guān)系信息,將其作為特征提取的依據(jù),從而減少干擾信息,優(yōu)化網(wǎng)絡(luò)的識別效果。
為了測試MLCNN在訓(xùn)練上的時間效率,在網(wǎng)絡(luò)訓(xùn)練的同時進(jìn)行了計時。實驗所使用的計算機配置為:GPU(TITAN XP)、CPU(E5-2650)和內(nèi)存(64 GB)。對應(yīng)于三個標(biāo)簽的獨立CNN訓(xùn)練用時分別為5、6.5和7 h,而MLCNN的訓(xùn)練用時為7.5 h。可以看出,訓(xùn)練一個MLCNN比起訓(xùn)練三個獨立的CNN,在時間上節(jié)約了一半多。因此,MLCNN在時間效率上也有了較大的提高。
本文提出一種采用卷積神經(jīng)網(wǎng)絡(luò)解決多標(biāo)簽飛機識別問題的方法,并構(gòu)建了多標(biāo)簽飛機數(shù)據(jù)集,訓(xùn)練和測試網(wǎng)絡(luò)模型。實驗結(jié)果證明,該方法明顯優(yōu)于同深度的單標(biāo)簽CNN和傳統(tǒng)的SIFT+SVM模型,能夠更好地利用不同標(biāo)簽之間的層級關(guān)系,縮短了網(wǎng)絡(luò)總體的訓(xùn)練和測試時間,并在測試集上取得了更高的識別率。如何在保證網(wǎng)絡(luò)深度的同時,調(diào)整網(wǎng)絡(luò)優(yōu)化算法的網(wǎng)絡(luò)參數(shù)和計算復(fù)雜度是我們下一步的研究方向。