呂 磊,李文彬,王曉鳴,胡隆基
(1.南京理工大學(xué) 智能彈藥技術(shù)國防重點學(xué)科實驗室, 南京 210094; 2. 32381部隊, 北京 100072)
車型分類識別在民用與軍用方向都有廣闊應(yīng)用前景。民用方面,車型分類能夠幫助智能交通自動化系統(tǒng)完成車輛的自動判別,在電子收費、車輛監(jiān)管等情景下[1]實現(xiàn)交通服務(wù)和管理的智能化,比如路口自動鎖定套牌車,自動駕駛中判別警車、消防車等需讓行的車型,無人收費站自動收費等場景均有應(yīng)用。軍用方面,利用無人機、彈箭平臺和地面裝甲車輛的圖像采集設(shè)備,通過對軍事車輛的類型進(jìn)行識別,可以制定針對不同類型目標(biāo)的攻擊策略,從而實現(xiàn)對目標(biāo)關(guān)鍵部位的精確打擊,對提升智能化與無人化作戰(zhàn)具有重要意義。其中,在軍用場景中,真實敵對軍用車輛數(shù)據(jù)難以獲得,那么如何利用小樣本數(shù)據(jù)集完成車型分類具有極高的研究價值。
可見光圖像信息量豐富,傳感器成本低,作為車輛信息獲取方式具有較高的實用性。利用可見光圖像進(jìn)行車型分類識別屬于圖像分類技術(shù)的范疇,通常利用機器學(xué)習(xí)方法進(jìn)行。有兩類方法,第一類是利用SIFT、HOG等人工淺層特征提取方法結(jié)合機器學(xué)習(xí)分類器進(jìn)行車型分類識別,這類方法依賴于先驗知識以及特征提取與描述質(zhì)量,泛化性差。第二類是利用深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)進(jìn)行分類,此類方法不需要過多的預(yù)處理,不需要人工設(shè)計特征,而是通過自主學(xué)習(xí)方式得到特征。近年來,DCNN在圖片分類和車型分類取得了非常多的成果[2-4],但這些方法在小樣本數(shù)據(jù)集中進(jìn)行反復(fù)訓(xùn)練后均會陷入過擬合的情況,即識別方法在訓(xùn)練集合中達(dá)到很高的識別率,但是在未經(jīng)訓(xùn)練的數(shù)據(jù)中卻識別率很低。
針對以上問題,本文提出一種基于改進(jìn)的深度卷積神經(jīng)網(wǎng)絡(luò)的小樣本多尺度車型分類方法,旨在為軍用車輛實時性識別和部分民用場景提供思路。為智能彈藥和中低速彈箭的目標(biāo)識別以及關(guān)鍵部位識別提供了基礎(chǔ)。
卷積神經(jīng)網(wǎng)絡(luò)起源于20世紀(jì)90年代末,一開始被用于手寫字母的識別。2006年,Hinton[5]提出了深度學(xué)習(xí)(Deep Learning)的概念,2012年Krizhevsky等[6]構(gòu)建了深度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)AlexNet并獲得了ILSVRC-2012圖片分類競賽的冠軍,從此深度卷積神經(jīng)網(wǎng)絡(luò)被廣泛地應(yīng)用到語音識別和圖像識別中,并且與其他方法相比,成為了圖像識別領(lǐng)域最有效的方法。
對于目標(biāo)圖像而言,需要檢測圖片中的特征來決定圖片的類別,通常情況下這些特征不是由整張圖片決定,而是由一些局部的區(qū)域決定的,如圖1所示的坦克目標(biāo),其可用來識別類別的特征存在于圖片的局部中。
圖1 坦克圖像局部性
同類車輛具有相同的特征,雖然可能位于圖片中不同的位置,但是檢測這些特征的模式是一致的。并且對于車輛目標(biāo)圖片,進(jìn)行下采樣操作完成圖片縮放后圖片的性質(zhì)基本保持不變。基于這樣的識別特性,AlexNet的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 AlexNet的網(wǎng)絡(luò)結(jié)構(gòu)示意圖
輸入圖像為大小227×227像素的三通道數(shù)字圖像,經(jīng)過卷積層(Convolutional Layer,Conv),池化層(Pooling Layer,PooL)和全連接層(Full Connected Layer,F(xiàn)C)構(gòu)成的前向傳播通道,最終輸出各類別的得分,依據(jù)得分高低來判斷圖像的種類。
卷積層是對每個通道的二維圖像數(shù)據(jù)進(jìn)行卷積操作,卷積操作由卷積核完成,如圖3所示。
圖3 卷積操作示意圖
卷積核是由可學(xué)習(xí)的參數(shù)集合的濾波器,通過卷積核在輸入圖像上按照一定步長進(jìn)行滑動,依次通過卷積計算出特征映射神經(jīng)元并組合成特征圖(feature maps)。二維卷積公式為
(1)
式中:K(m,n)為卷積核各點數(shù)值;A(x,y)為輸入圖各點數(shù)值;f(i,j)為輸出的特征圖坐標(biāo)為(i,j)點的數(shù)值。卷積層具有參數(shù)共享和局部稀疏連接的特點,利用卷積核可以使得圖像中特定模式能夠得到檢測。
池化層實現(xiàn)了圖像識別的不變形,同時也降低了圖像的尺寸,實現(xiàn)方法由池化窗口在輸入圖像上按照一定步長計算出的結(jié)果組合成。采取最大池化的方式,其表達(dá)式為:
(2)
式中:s為池化窗口移動的步長;m、n分別為池化窗口的寬和高;A(x,y)為輸入圖各點數(shù)值;f(i,j)為輸出的特征圖坐標(biāo)為(i,j)點的數(shù)值。
全連接層由多層神經(jīng)元組成,每層具有若干神經(jīng)元,層內(nèi)神經(jīng)元所有神經(jīng)元相互獨立,但層間神經(jīng)元相互連接。
車型分類是一個非線性問題,在神經(jīng)網(wǎng)絡(luò)中需要引入非線性激活函數(shù)實現(xiàn)整個網(wǎng)絡(luò)的非線性。常用激活函數(shù)有sigmoid函數(shù),tanh函數(shù)和ReLU函數(shù),其中ReLU函數(shù)會使深度卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練加速數(shù)倍,因此選用ReLU作為激活函數(shù)。其公式為
ReLU(x)=max(0,x)
(3)
判別損失函數(shù)是反向傳播的依據(jù),決定了模型能否收斂并達(dá)到預(yù)期目標(biāo),模型訓(xùn)練的評判標(biāo)準(zhǔn)。理想狀況是通過判別損失誤差函數(shù)可將樣本所屬類別對應(yīng)的輸出節(jié)點的輸出為1,而其他節(jié)點的輸出為0,即[0,0,1,0,…,0,0],但神經(jīng)網(wǎng)絡(luò)只能輸出復(fù)雜加權(quán)和與非線性處理之后的值,所以利用判別損失誤差函數(shù)計算出樣本類別的概率。
本文采用交叉熵?fù)p失函數(shù)CrossEntropyLoss,首先通過softmax層將神經(jīng)網(wǎng)絡(luò)原始輸出的浮點數(shù) 作回歸處理:
(4)
(5)
其中:H(p,q)為交叉熵函數(shù),概率分布p(x)為期望輸出,概率分布q(x)為實際輸出。期望輸出除了樣本所屬類別概率為1以外,其他類別概率為0。因此交叉熵函數(shù)越小,訓(xùn)練樣本的輸出判別結(jié)果就與樣本真實結(jié)果越接近。
軍事車型分類識別相較于普適物體分類識別種類少,嵌入式需求多,所以特征空間需求較低,高維度的特征空間會使得網(wǎng)絡(luò)陷入過擬合的可能性增加,導(dǎo)致訓(xùn)練集中識別率較高而在測試集中或?qū)嶋H應(yīng)用中識別效果較差。因此,為了保證模型的泛化能力,以及考慮現(xiàn)今硬件計算能力限制,過深層次的卷積網(wǎng)絡(luò)不適用于小樣本的車型識別。
針對細(xì)粒度分類問題,文獻(xiàn)[7]提出了雙流卷積神經(jīng)網(wǎng)絡(luò)(Blinear CNN),利用兩個卷積神經(jīng)網(wǎng)絡(luò)的特征圖進(jìn)行特征融合,實現(xiàn)了多個數(shù)據(jù)集上優(yōu)異的分類效果。因此在AlexNet網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,引入多尺度初始特征提取的方法,重新設(shè)計網(wǎng)絡(luò)結(jié)構(gòu),將多分支的特征輸出進(jìn)行連接,網(wǎng)絡(luò)層數(shù)僅增加一層,特征圖數(shù)量幾乎不變,其結(jié)構(gòu)如圖4所示。
圖4 多尺度特征提取卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖
不同尺度的目標(biāo)圖像中能夠表征某種識別特征的區(qū)域圖像大小具有差異,為了不缺失這類因尺度大小而變化的特征,設(shè)計了3個卷積特征提取通道,在最終特征圖數(shù)量與大小幾乎不變的情況下降低單種大小初始特征所占比重,構(gòu)建多尺度的卷積核進(jìn)行初始特征的提取,再進(jìn)行深度特征提取后進(jìn)行特征圖的拼接。
利用這樣的設(shè)計,特征分流改善了特征提取方法,降低了特征提取部分的復(fù)雜度和冗余度,而特征圖的大小與數(shù)量沒有變化,因此最終特征復(fù)雜度沒變,在確保特征復(fù)雜度沒變的情況下減少了卷積特征提取過程中的冗余結(jié)構(gòu),而對特征的分類效果主要集中在全連接層,此部分?jǐn)?shù)目沒變,保證了分類網(wǎng)絡(luò)復(fù)雜度沒有變化。這種設(shè)計能夠減少過擬合現(xiàn)象,提升測試集準(zhǔn)確率,主要因為:在大數(shù)據(jù)集合的情況下,特征分流可能會導(dǎo)致特征圖的表征力不足,但在小數(shù)據(jù)集的情況,由于樣本提供的信息量難以支撐極復(fù)雜并且冗余的特征空間,所以特征分流會使得過擬合現(xiàn)象減少。不同特征流之間減少了相互干擾,降低了無效特征對分類判斷的影響。由于圖片中車輛目標(biāo)占據(jù)大小不同的情況(即尺度不同),相同特征具有不同的大小,例如同一車輪在不同尺度照片中尺度不同,所以不同初始尺度的卷積特征分流能夠很好地適應(yīng)于相同目標(biāo)車輛。
這樣的設(shè)計具有對尺度變化的魯棒性,確保在圖像中,目標(biāo)所占圖像比例不同的情況下依然能夠提取出相同特征。并且在確??偺卣鲌D數(shù)量相同的情況下,減少了單分支中特征圖數(shù)量,可以減少無用特征對有效特征的干擾,并且減少了訓(xùn)練參數(shù)的數(shù)量,從而加快訓(xùn)練[8]。
訓(xùn)練方法采用監(jiān)督學(xué)習(xí)(有導(dǎo)師學(xué)習(xí))訓(xùn)練方法,如圖5所示。
圖5 有導(dǎo)師學(xué)習(xí)訓(xùn)練方法框圖
訓(xùn)練樣本輸入到網(wǎng)絡(luò)中,經(jīng)過各層的數(shù)值計算與映射,前向傳播得到響應(yīng),通過比較響應(yīng)和標(biāo)注好的樣本標(biāo)簽,得到誤差信息,利用反向傳播算法反向調(diào)整網(wǎng)絡(luò)中的參數(shù)大小,使誤差信息向降低的方向發(fā)展,從而使得整個網(wǎng)絡(luò)模型達(dá)到更好的分類效果。通過重復(fù)以上步驟,進(jìn)行反復(fù)迭代使得網(wǎng)絡(luò)模型達(dá)到收斂狀態(tài)就可完成分類方法的訓(xùn)練深度卷積網(wǎng)絡(luò)通行方法為利用反向傳播方法結(jié)合梯度下降法進(jìn)行,采用增加動量項的隨機梯度下降法(SGD+Momentum)進(jìn)行參數(shù)的訓(xùn)練,既可以減少梯度運算量,又可以跳出局部極小點,其算法偽代碼如表1所示。
表1 帶動量項的隨機梯度下降法的偽代碼
速度更新項
v=γ×θi-1-η×▽L(θi-1)
(6)
學(xué)習(xí)率常用做法通常有兩種,方法一采用固定學(xué)習(xí)率,方法二采用固定階段衰減學(xué)習(xí)率做法。由于在模型訓(xùn)練達(dá)到一定精度后,過大的學(xué)習(xí)率可能會使得參數(shù)錯過最優(yōu)位置,需要縮小學(xué)習(xí)率達(dá)到慢慢逼近全局最優(yōu)點[9],所以方法一中如果選取較大學(xué)習(xí)率將會使得最終難以收斂到較好位置,而較小學(xué)習(xí)率則會使得訓(xùn)練速度變慢以及難以跳出局部最優(yōu)點。方法二采取經(jīng)過固定批次降低學(xué)習(xí)率,這樣的做法可能會由于模型尚未收斂就降低學(xué)習(xí)率從而降低訓(xùn)練速度。因此引入自適應(yīng)學(xué)習(xí)率變化,當(dāng)損失函數(shù)值與迭代次數(shù)乘積大于設(shè)定值時,說明模型在現(xiàn)有學(xué)習(xí)率下收斂到較好狀態(tài),需要減小學(xué)習(xí)率使得模型進(jìn)一步收斂,此時對學(xué)習(xí)率進(jìn)行衰減處理:
η′=α×η
(7)
α為學(xué)習(xí)率衰減系數(shù),本文以0.05為間隔,分別選取了0.6到0.9的各個值作為衰減系數(shù)進(jìn)行嘗試,實驗結(jié)果表明0.8的學(xué)習(xí)率衰減系數(shù)分類效果最佳,因此選取學(xué)習(xí)率衰減系數(shù)為0.8。
相比固定學(xué)習(xí)率做法以及文獻(xiàn)中的分段做法,在相同實驗條件下,采用本文的以損失函數(shù)值與迭代次數(shù)乘積值為條件的自適應(yīng)學(xué)習(xí)率在本文的實驗中最佳準(zhǔn)確率分別提升了3%與1.5%。
整個卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練與參數(shù)學(xué)習(xí)包含前向傳播和反向傳播兩個主要階段。利用預(yù)處理好的圖像數(shù)據(jù),按照一定格式輸入到網(wǎng)絡(luò)中進(jìn)行前向傳播計算,前向傳播計算過程如圖6所示,激活函數(shù)為2.1節(jié)的ReLU函數(shù)。
初始輸入圖像大小為227×227×3。
分支1:第1層初始卷積核大小為11×11,數(shù)量32個,步長為4,輸出特征圖像大小(227-11)/4+1=55,即55×55×32。經(jīng)過最大池化輸出27×27×32;第2層卷積核大小5×5,數(shù)量85,步長2,經(jīng)最大池化輸出13×13×85;
分支2:第1層初始卷積核大小為19×19,數(shù)量32個,步長為8,輸出特征圖像大小(227-19)/8+1=27,即27×27×32。經(jīng)過最大池化輸出13×13×32;第2層卷積核大小3×3,數(shù)量85,步長1,輸出13×13×85;
分支3:第1層初始卷積核大小為27×27,數(shù)量32個,步長為10,輸出特征圖像大小(227-27)/10+1=21,即21×21×32。經(jīng)過最大池化輸出13×13×32;第2層卷積核大小5×5,數(shù)量85,步長1,輸出13×13×85;
3個分支的3~5層采取一樣操作,第3層、第4層輸出13×13×138,第5層輸出13×13×138。第6層對特征圖進(jìn)行融合,將3個分支各自13×13×85的特征圖融合為13×13×255的特征圖。將特征圖數(shù)據(jù)轉(zhuǎn)換為43 095×1的張量形狀,第7層、第8層各有4 096個神經(jīng)元。最后一層有10個神經(jīng)元,輸出數(shù)值代表了該樣本在各個類別的得分情況,得分最高的類別被判定為該樣本所在類別。
計算公式如第1節(jié)中所示,前向傳播最終輸出10×批次的向量,將最后輸出的向量輸入到2.2節(jié)的判別損失函數(shù)得到結(jié)果,通過結(jié)果與標(biāo)注好的車型信息對比,采用2.4節(jié)增加動量項的隨機梯度下降法將誤差信息反向傳播到網(wǎng)絡(luò)中的連接權(quán)值上,更新權(quán)值。
訓(xùn)練完成后利用保存的網(wǎng)絡(luò)權(quán)值,對測試樣本進(jìn)行前向傳播計算,得出的向量中最大值所處維度即預(yù)測的樣本類別。
圖6 多尺度特征提取卷積神經(jīng)網(wǎng)絡(luò)前向傳播計算過程框圖
通常對于傳統(tǒng)的深度學(xué)習(xí)分類方法,所需訓(xùn)練樣本量每一類需要數(shù)萬張才能達(dá)到較好的識別效果,ImageNet數(shù)據(jù)集有30種大類共1 400多萬張標(biāo)注好的圖片數(shù)據(jù),CIFAR-10數(shù)據(jù)集10類物體具有6萬張標(biāo)注好的圖片數(shù)據(jù)。為了測試本文設(shè)計的方法在小樣本數(shù)據(jù)集中的分類效果,選取了公交車、消防車、小卡車、吉普車、面包車、賽車、SUV、出租車、重型卡車、家庭轎車這十類較細(xì)粒度分類的車型進(jìn)行車型分類實驗。
車輛圖片遵照圖片分類競賽通用要求,來源于互聯(lián)網(wǎng),車型信息標(biāo)簽按照國際ImageNet分類競賽ILSVRC的標(biāo)準(zhǔn),由人工標(biāo)注類別信息,以文本形式儲存。在訓(xùn)練時同步讀取文本獲取車型信息。每一類使用140張樣本用作訓(xùn)練集、20張樣本用作算法測試集。圖片樣本囊括不同車輛在不同復(fù)雜背景下的情況,多角度與多尺度,并且類間差距有些較小,因此可以算是較細(xì)粒度車型識別。共1 400張訓(xùn)練集,規(guī)??倲?shù)不足ImageNet數(shù)據(jù)集的萬分之一
數(shù)據(jù)集中部分類間差異較小,具有極其相近的外觀(轎車與SUV,重型卡車與小卡車),類內(nèi)差異大,如圖7所示。數(shù)據(jù)集包含了正面、側(cè)前面、正側(cè)面、側(cè)后面等角度的樣本,能夠研究視角不同因素對車型識別的影響,車輛顏色與涂裝不同,背景相對復(fù)雜并各不相同,圖片中具有多輛車共存的情況,車輛尺度也從占據(jù)圖片大小的50%~90%均有。光照強度從明到暗均有,部分車輛具有一定遮擋,可以充分考察模型的泛化能力。部分圖片只擁有局部車輛的干擾樣本,以觀察模型的魯棒性。這樣的十類車型數(shù)據(jù)集模擬軍事車輛分類等小樣本情況的樣本質(zhì)量,增加了訓(xùn)練難度,從而能更好考量分類方法在小樣本細(xì)粒度分類這一情況下的表現(xiàn)。
根據(jù)車輛數(shù)據(jù)集的質(zhì)量分析可知,該數(shù)據(jù)集屬于識別難度較高的較細(xì)粒度車型分類,識別難度與難以獲取的戰(zhàn)場真實軍用車輛數(shù)據(jù)識別難度相當(dāng),因此作為小樣本車型分類數(shù)據(jù)集,具有很高的判定意義。
圖7 小樣本車型分類數(shù)據(jù)集
數(shù)據(jù)集中圖像數(shù)據(jù)的格式各種各樣,有png、jpg等數(shù)字圖像格式,不能夠直接進(jìn)行計算,需要轉(zhuǎn)換為所需要的格式,并且由于圖片的尺寸大小不一,所以在將圖像數(shù)據(jù)輸入到卷積神經(jīng)網(wǎng)絡(luò)中進(jìn)行運算前需要進(jìn)行相應(yīng)的預(yù)處理,并且為了算法的實時性和之后的可嵌入式移植,應(yīng)盡量采取簡單的預(yù)處理流程,如圖8所示。
圖8 圖像預(yù)處理流程框圖
首先,由于訓(xùn)練集大小尺寸不一,但真實應(yīng)用中由于同一設(shè)備采集圖像,所以圖像大小固定,所以先將圖片尺寸歸一化到256×256×3。
對于訓(xùn)練集,先采取50%概率隨機水平翻轉(zhuǎn)及隨機切割,目的是進(jìn)行數(shù)據(jù)增強。這樣操作后理論上可以將樣本數(shù)擴(kuò)充1 000多倍。再轉(zhuǎn)換為張量數(shù)據(jù)結(jié)構(gòu),數(shù)字圖像的各通道像素值范圍為[0,255],散布范圍大,所以在轉(zhuǎn)為張量數(shù)據(jù)結(jié)構(gòu)的同時,等比例得將其轉(zhuǎn)換至[0,1.0]。由于光照角度與強度等原因,不同目標(biāo)圖像的像素數(shù)據(jù)均值差異較大,不具有可比性。因此通過正則化操作將圖片的像素值限制在某一固定范圍內(nèi),從而更好地泛化識別,避免在后續(xù)過程中大數(shù)值區(qū)間的屬性過分支配小數(shù)值區(qū)間的屬性。其計算公式為
(8)
其中:pi表示圖片中某一坐標(biāo)第i通道的像素值;mi表示第i通道的平均值;Si表示第i通道的標(biāo)準(zhǔn)差;pN_i為經(jīng)過正則化后該坐標(biāo)第i通道的像素值。為保證預(yù)處理速度,平均值序列與標(biāo)準(zhǔn)差序列在訓(xùn)練前通過抽樣計算得出[10]。
對于測試集省去翻轉(zhuǎn)操作,其余與訓(xùn)練集相同。這樣的預(yù)處理方法省去了傳統(tǒng)圖像處理中復(fù)雜的預(yù)處理計算,極大地提升了算法速度,降低了嵌入式應(yīng)用的硬件要求。
為了驗證本文結(jié)構(gòu)在小樣本車型分類中的性能,采用2012年ILSVRC圖片分類競賽的冠軍AlexNet做對比實驗。實驗樣本與實驗環(huán)境均一致,實驗樣本采用第3節(jié)構(gòu)建的小樣本數(shù)據(jù)集,旨在驗證本文方法與主流分類方法在小樣本情況下的性能對比。
從2015年resnet[11]開始,極大層數(shù)的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)被開發(fā)并在目標(biāo)分類領(lǐng)域取得很好的效果,但是這些算法通常都需要大量的樣本集訓(xùn)練使模型收斂到較好狀態(tài),否則會產(chǎn)生Hughes現(xiàn)象[12],即高維度的特征空間卻比低維度特征空間對車型特征的描述能力差,分類效果不如淺層網(wǎng)絡(luò)。對于只能提供少量樣本的分類任務(wù),只能夠通過遷移學(xué)習(xí)[13]的方法,并且要求遷移前后的分類任務(wù)具有一定的相關(guān)性,所以對于軍用車輛分類這種與其他任務(wù)相關(guān)性較低、可用樣本量少的分類任務(wù),resnet152等結(jié)構(gòu)只能夠達(dá)到較低準(zhǔn)確率并且運行速度大大降低,因此,選用AlexNet作為本文結(jié)構(gòu)的對比參照。
整個實驗包括神經(jīng)網(wǎng)絡(luò)的訓(xùn)練與測試兩大部分,利用編程語言完成數(shù)據(jù)集的預(yù)處理、定義網(wǎng)絡(luò)結(jié)構(gòu)和前向傳播過程、實現(xiàn)反向傳播與數(shù)據(jù)存儲。隨機順序?qū)? 400張訓(xùn)練集各訓(xùn)練一次稱為一批或一個epoch,訓(xùn)練完成后利用測試集對訓(xùn)練好的模型進(jìn)行測試。
算法中包含了大量重復(fù)運算與并行化操作,以GPU為核心計算器件可以加快算法的訓(xùn)練。為了對比本文結(jié)構(gòu)與AlexNet在小樣本車輛數(shù)據(jù)集上的分類效果,保證訓(xùn)練參數(shù)一致,實驗環(huán)境與訓(xùn)練參數(shù)配置如表2所示。
表2 實驗環(huán)境與計算設(shè)備配置
本文網(wǎng)絡(luò)結(jié)構(gòu)與AlexNet結(jié)構(gòu)大小相差不大,在特征圖數(shù)量相同的情況下本文結(jié)構(gòu)占用存儲比AlexNet少8%左右。
判別損失函數(shù)是模型進(jìn)行訓(xùn)練的目標(biāo)函數(shù),如果判別損失函數(shù)不收斂,代表模型不收斂,即訓(xùn)練失敗。判別損失函數(shù)曲線如圖9所示。
圖9 不同結(jié)構(gòu)的訓(xùn)練過程中損失函數(shù)曲線
觀察圖9,兩種結(jié)構(gòu)在訓(xùn)練后判別損失函數(shù)輸出均達(dá)到較低水平,并且隨著訓(xùn)練批數(shù)增加維持在一定階段,代表模型均訓(xùn)練完成。在保證其他訓(xùn)練參數(shù)相同情況下,本文結(jié)構(gòu)在訓(xùn)練至50個epoch左右,而AlexNet需要200個epoch,訓(xùn)練速度提高了300%。與前文分析一致,實驗結(jié)果表明本文結(jié)構(gòu)收斂速度快于AlexNet,原因主要是因為分支之間的特征不會相互影響,從而減少了無效特征帶來的參數(shù)更新,從而加快了訓(xùn)練速度。
表3 AlexNet與改進(jìn)結(jié)構(gòu)的對比
訓(xùn)練集準(zhǔn)確率可以表示訓(xùn)練集的利用程度,也可以與測試集準(zhǔn)確率結(jié)合觀察過擬合程度,訓(xùn)練過程中1 400張訓(xùn)練集準(zhǔn)確率變化如圖10所示。
圖10 訓(xùn)練過程中訓(xùn)練集準(zhǔn)確率曲線
測試集準(zhǔn)確率是判斷模型分類性能的重要指標(biāo),訓(xùn)練過程中200張測試集準(zhǔn)確率變化如圖11所示。
圖11 訓(xùn)練過程中測試集準(zhǔn)確率曲線
觀察圖10、圖11,兩種結(jié)構(gòu)在訓(xùn)練集上均達(dá)到了95%以上的準(zhǔn)確率并幾乎穩(wěn)定,但AlexNet在測試集中準(zhǔn)確率最終只能達(dá)到70%左右,說明過擬合程度較高。而本文結(jié)構(gòu)在測試集中準(zhǔn)確率能達(dá)到90%左右,與訓(xùn)練集準(zhǔn)確率相差不多,說明過擬合現(xiàn)象較輕。
對訓(xùn)練后的模型分別利用200張測試集進(jìn)行分類實驗,每個模型共進(jìn)行5次實驗。實驗結(jié)果如表4所示。
表4 測試集模型分類實驗結(jié)果
通過5次實驗結(jié)果平均值,相同實驗條件下本文方法在構(gòu)建的小樣本車輛測試集中準(zhǔn)確率達(dá)到91.5%,而AlexNet只達(dá)到72.2%,存在較嚴(yán)重的過擬合現(xiàn)象。
實驗結(jié)果表明:由于多尺度特征分流提取以及自適應(yīng)學(xué)習(xí)率等策略的改變,減少了特征提取的冗余部分,減少了無效特征對有效分類特征的干擾,以及能夠適應(yīng)于多尺度情況下的相同特征提取,所以本文方法在小樣本車型分類任務(wù)性能優(yōu)于AlexNet,識別速度達(dá)到0.653 s每200張,即約0.003 s每張,其中包括了實際應(yīng)用不需要的文件存儲等操作。根據(jù)NVIDIA公司顯卡算力數(shù)據(jù)[14],嵌入式GPU模塊Jetson TX1的計算能力能夠?qū)崿F(xiàn)嵌入式識別。因此本實驗平臺驗證的算法在嵌入式應(yīng)用場景中具備實時性應(yīng)用的條件。
1) 本文仿照戰(zhàn)場真實軍用車輛數(shù)據(jù)集的特點,構(gòu)建了復(fù)雜背景下多角度與多尺度,類間差異較小,類內(nèi)差異大的較細(xì)粒度車型分類數(shù)據(jù)集。通過引入多分支卷積特征提取方法,設(shè)計了多尺度卷積特征提取神經(jīng)網(wǎng)絡(luò),制定了網(wǎng)絡(luò)的訓(xùn)練策略與流程,編寫了自動化車型識別程序,進(jìn)行了GPU平臺上的車型分類算法訓(xùn)練與性能測試實驗。
2) 同等實驗環(huán)境,在訓(xùn)練樣本較少的情況下,利用多分支提取不同尺寸的初始特征可以有效提高車型分類的識別效果,同時也能顯著提高網(wǎng)絡(luò)的收斂速度。本文方法分類性能優(yōu)于主流卷積神經(jīng)網(wǎng)絡(luò)AlexNet,在識別相當(dāng)戰(zhàn)場真實軍用車輛數(shù)據(jù)難度的較細(xì)粒度車型分類數(shù)據(jù)集上取得了測試集92%的識別率。本文的方法可在嵌入式平臺中達(dá)到約0.003 s每張圖片的識別速度。本文方法具有較高的實時性實用價值,為戰(zhàn)場車輛目標(biāo)識別奠定基礎(chǔ)。
3) 由于缺少細(xì)粒度分類的戰(zhàn)場真實軍用車輛數(shù)據(jù)集,不能實際驗證算法在軍用車輛分類識別的表現(xiàn),只能說明識別機理以及在識別難度增加的民用車型數(shù)據(jù)集上驗證算法。下一步將嘗試構(gòu)建軍事車輛專用數(shù)據(jù)集,利用遷移學(xué)習(xí)進(jìn)行軍事車輛上的算法訓(xùn)練,并將算法移植到現(xiàn)有嵌入式平臺中進(jìn)行實時應(yīng)用驗證。