李 曼,李 永
(武警工程大學(xué)信息工程學(xué)院,陜西 西安 710086)
在計(jì)算機(jī)視覺領(lǐng)域內(nèi),目標(biāo)識(shí)別為當(dāng)前的熱議話題之一,目標(biāo)識(shí)別可輔助圖像有價(jià)值目標(biāo)信息的快速提取,并且通過不斷判斷每個(gè)目標(biāo)的類型、價(jià)值,可對(duì)每個(gè)目標(biāo)完成邊界框定。近幾年,目標(biāo)識(shí)別逐漸進(jìn)入大眾視野,在軍事體能訓(xùn)練、無人機(jī)駕駛等多個(gè)領(lǐng)域均取得了重要突破。但是,圖像中的光線遮擋以及障礙物的影響,使得目標(biāo)識(shí)別成為了一項(xiàng)難度較高的技術(shù)。
在此背景下,相關(guān)領(lǐng)域?qū)<乙呀?jīng)得到了一些較好的研究成果。文獻(xiàn)[1]在功能保持的基礎(chǔ)上,利用特征金字塔實(shí)現(xiàn)了對(duì)目標(biāo)的檢測識(shí)別。在原始圖像中構(gòu)建不同尺度特征圖下的特征金字塔,并利用功能保持中的融合模塊,在特征融合階段盡可能的降低損失;在主網(wǎng)絡(luò)中選擇兩個(gè)不同階段下的特征進(jìn)行目標(biāo)的描述,以此來提高檢測的精度;利用上下文信息對(duì)目標(biāo)的判別能力以及檢測能力做進(jìn)一步增強(qiáng),以此完成對(duì)多目標(biāo)的檢測。該方法對(duì)于遮擋較嚴(yán)重的圖像具有理想的檢測效果,但是檢測的精度有待提高;文獻(xiàn)[2]將軌跡跟蹤預(yù)測法與模糊理論結(jié)合在一起,得到了一種小目標(biāo)跟蹤識(shí)別算法。首先,任意選取一個(gè)原始圖像,利用高通濾波技術(shù)對(duì)其進(jìn)行預(yù)處理,將背景與目標(biāo)分離開來;利用軌跡跟蹤預(yù)測法對(duì)目標(biāo)可能存在的位置進(jìn)行預(yù)測,并在動(dòng)態(tài)范圍內(nèi)進(jìn)行圖像序列的分析,此時(shí)引入模糊理論更新記憶,以此實(shí)現(xiàn)目標(biāo)預(yù)測位置的高精準(zhǔn)度;憑借多幀圖像的軌跡跟蹤技術(shù)實(shí)現(xiàn)對(duì)目標(biāo)的跟蹤與識(shí)別。該方法可以實(shí)現(xiàn)在低信噪比環(huán)境下的有效識(shí)別,但是當(dāng)原始圖像背景過于復(fù)雜時(shí),該方法識(shí)別結(jié)果并不理想,出現(xiàn)的誤差較大。
由于以上兩種傳統(tǒng)方法在應(yīng)用時(shí),當(dāng)有新的數(shù)據(jù)增加到數(shù)據(jù)集合時(shí),數(shù)據(jù)目標(biāo)識(shí)別效率和精度均偏低,無法滿足實(shí)際的需求。針對(duì)該問題,本研究針對(duì)增量式數(shù)據(jù),引入了深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò),并選取了其中最具代表性的LeNet-5,對(duì)軍事體能訓(xùn)練產(chǎn)生的增量式數(shù)據(jù)展開了目標(biāo)模糊識(shí)別的研究。利用LeNet-5對(duì)原始圖像進(jìn)行特征提取與特征分類,為后續(xù)的目標(biāo)識(shí)別做好基礎(chǔ)工作;采用遷移學(xué)習(xí)技術(shù)對(duì)增量式數(shù)據(jù)進(jìn)行參數(shù)的調(diào)整,使其成為便于識(shí)別的形式;最后,在區(qū)域建議網(wǎng)絡(luò)內(nèi)完成目標(biāo)的模糊識(shí)別。通過對(duì)本文方法在目標(biāo)識(shí)別速度和效果方面進(jìn)行仿真,結(jié)果驗(yàn)證了本文方法的可行性。
卷積神經(jīng)網(wǎng)絡(luò)由5個(gè)層次構(gòu)成:輸入/出層、卷積層、池化層以及全連接層。卷積神經(jīng)網(wǎng)絡(luò)對(duì)于圖像數(shù)據(jù)具有非常優(yōu)秀的識(shí)別效果。當(dāng)待識(shí)別的數(shù)據(jù)為圖像時(shí),經(jīng)過卷積和池化的雙重作用,圖像特征信息逐漸凸顯出來,并改變了之前的低層特征[3],逐漸形成了高層特征;當(dāng)高層特征經(jīng)過全連接層的作用后,又轉(zhuǎn)換形成了一維向量的形式;最后經(jīng)由輸出層輸出。因此,可將卷積神經(jīng)網(wǎng)絡(luò)的層次劃分為兩個(gè)部分,一個(gè)是提取圖像特征的特征提取模塊,另一個(gè)為劃分特征類別的特征分類模塊。本文對(duì)此作了詳細(xì)介紹,如圖1所示。
1)輸入層
2)卷積層
(1)
通過對(duì)式(1)進(jìn)行計(jì)算可知,卷積層特征圖的構(gòu)成主要通過以下三步來實(shí)現(xiàn):
步驟一:在卷積層選取大小各不相同的卷積核,對(duì)其不斷重復(fù)卷積操作,得到特征圖像;
步驟二:將有關(guān)聯(lián)的卷積結(jié)果與偏移量進(jìn)行統(tǒng)計(jì)整理;
步驟三:利用f(x)對(duì)統(tǒng)計(jì)結(jié)果進(jìn)行累加計(jì)算,即可得到單個(gè)卷積層的特征圖。
3)池化層
(2)
式中,p(x)表示池化處理過程。
池化層還有一項(xiàng)特殊功能,那就是可以對(duì)圖像進(jìn)行特征選擇。根據(jù)相應(yīng)規(guī)則,對(duì)卷積層特征圖的某個(gè)部位進(jìn)行重要特征值的計(jì)算。在實(shí)際運(yùn)用中,池化層通常會(huì)無限制地掃描圖像中的某個(gè)部位。所以,經(jīng)過池化作用后,圖像的特征維度[6]都得到了有效降低,并且保持特征在任何情況下不變形,提高了識(shí)別精度。通過式(2)可以看出,池化層與卷積層內(nèi)的特征圖在數(shù)量上存在著某種聯(lián)系,繼續(xù)計(jì)算可以發(fā)現(xiàn),二者之間存在的特征圖數(shù)量相等,即Nl+1=Nl。
4)全連接層
圖像經(jīng)過池化作用,降低了特征維度后,接下來進(jìn)入到全連接層進(jìn)行特征分類。全連接層進(jìn)行每一步的操作都要服從輸出層的命令。當(dāng)?shù)趌層、第l-1層均為全連接層時(shí),特征向量xl的結(jié)果可通過計(jì)算式(3)得到
xl=f(wlxl-1+bl)
(3)
式中,bl表示全連接層的偏移量[7],wl表示全連接層的權(quán)重值大小。
當(dāng)?shù)趌層為全連接層、第l-1層為其它層時(shí),xl的計(jì)算方式也會(huì)相應(yīng)發(fā)生改變,通常情況下有兩種:一種是將其它層內(nèi)的特征圖轉(zhuǎn)換為特征向量的形式,然后再通過式(3)的計(jì)算得到xl的值;另一種是將全連接層設(shè)置為1×1的矩陣,矩陣的數(shù)量與特征圖的數(shù)量相等,然后就可以通過式(4)計(jì)算xl的值
(4)
5)輸出層
完成以上操作后,圖像經(jīng)由輸出層輸出,至此,卷積神經(jīng)網(wǎng)絡(luò)完成了所有的訓(xùn)練步驟。輸出層與全連接層共同作用,對(duì)完成特征提取的圖像進(jìn)行分類處理。但是二者之間不同之處在于,輸出層的作用更傾向于Softmax分類器。假設(shè)圖像的類別預(yù)測向量為Y=(y1,…,yM),M代表的是圖像劃分類別數(shù)量[8]。其中,yM的計(jì)算公式為
(5)
卷積神經(jīng)網(wǎng)絡(luò)中LeNet-5的結(jié)構(gòu)如圖2所示。在進(jìn)行目標(biāo)識(shí)別之前,圖像需要進(jìn)行歸一化處理,通過增加權(quán)值系數(shù)使得目標(biāo)特征轉(zhuǎn)換為高層次特征,便于接下來的目標(biāo)識(shí)別。
圖2 LeNet-5結(jié)構(gòu)圖
從圖2中可以看出,LeNet-5共有7個(gè)層次組成,每個(gè)層次中都包含了若干個(gè)可供訓(xùn)練使用的參數(shù)。本文設(shè)定的卷積神經(jīng)網(wǎng)絡(luò)大小為32×32,其中,C層表示由特征提取模塊組成的網(wǎng)絡(luò)層,S層表示由特征分類模塊組成的網(wǎng)絡(luò)層。
由6個(gè)大小為28×28的特征圖組合在一起形成C1層。S2層中的特征圖數(shù)量與C1層相同,但是大小卻僅為C1層中特征圖的一半,為14×14。C1層與S2層實(shí)現(xiàn)連接依靠的是大小為2×2的矩陣。到了C3層,特征圖數(shù)量增多,為16個(gè),大小為10×10。C3層與S2層實(shí)現(xiàn)連接依靠的是大小為5×5的矩陣。
本文列舉了S2層與C3層之間的連接方法,如表1所示。
表1 S2層與C3層的連接方法
S4層也是由16個(gè)特征圖組合形成,但是大小要略小于C3,為5×5,與C3層形成連接的矩陣大小為2×2。到了C5層以后,特征圖的數(shù)量明顯增多,為120個(gè),與S4層之間的連接矩陣大小為5×5。F6層之后均是由神經(jīng)元構(gòu)成,輸出層內(nèi)的神經(jīng)元數(shù)量為10,C5層、F6層以及輸出層,三者之間全方面連接。神經(jīng)元是通過徑向基函數(shù)構(gòu)成,計(jì)算方式如式(6)
(6)
由于訓(xùn)練圖像的不斷增多,逐漸形成增量式數(shù)據(jù),利用卷積神經(jīng)網(wǎng)絡(luò)對(duì)其訓(xùn)練時(shí),可以采用遷移學(xué)習(xí)算法,在一個(gè)事先訓(xùn)練好的模型上進(jìn)行新問題的訓(xùn)練。
選取一個(gè)已經(jīng)訓(xùn)練好的模型Inception-v3[9],經(jīng)過特征提取的作用后,得到圖像的目標(biāo)特征,通過接下來的全連接層,實(shí)現(xiàn)特征信息的分類。并且,Inception-v3模型的輸出層可以輸出魯棒性強(qiáng)、表現(xiàn)能力強(qiáng)的特征向量。
在Inception-v3模型中,使已經(jīng)完成訓(xùn)練的參數(shù)保持不變,利用當(dāng)前模型中的數(shù)據(jù)對(duì)卷積神經(jīng)網(wǎng)絡(luò)中的卷積層和全連接層進(jìn)行微調(diào),以此獲得理想的遷移結(jié)果。在實(shí)際的目標(biāo)模糊識(shí)別中,只要可用于訓(xùn)練的圖像數(shù)據(jù)足夠多,需要凍結(jié)的卷積層就越少,訓(xùn)練的結(jié)果也就越精準(zhǔn)。
同時(shí)由于在軍事訓(xùn)練圖像中,往往需要識(shí)別的目標(biāo)不止一個(gè),如果將整幅圖像劃分為若干個(gè)單獨(dú)的個(gè)體然后再進(jìn)行識(shí)別,那么結(jié)果必然是不準(zhǔn)確的。不僅如此,想要實(shí)現(xiàn)精準(zhǔn)的目標(biāo)識(shí)別,還需要對(duì)目標(biāo)在圖像中的位置進(jìn)一步確定。對(duì)于候選區(qū)域[10]的選取,本文通過對(duì)比選擇的是R-CNN序列檢測算法。
首先,在原始圖像內(nèi)部選取可能包含目標(biāo)在內(nèi)的1900個(gè)候選區(qū)域,利用已經(jīng)訓(xùn)練完畢的卷積神經(jīng)網(wǎng)絡(luò),對(duì)選取的1900個(gè)候選區(qū)域進(jìn)行特征的提取和分類;然后,對(duì)分好類的特征圖像進(jìn)行邊框回歸處理。該算法直接利用特征圖取代了對(duì)原始圖像進(jìn)行目標(biāo)識(shí)別的過程,很大程度上控制了運(yùn)算成本,并且在經(jīng)過最后一層卷積層時(shí),加入了區(qū)域建議網(wǎng)絡(luò),使得生成候選區(qū)域的速度大大提高,并實(shí)現(xiàn)了對(duì)候選區(qū)域是否存在目標(biāo)的準(zhǔn)確判斷。完成以上步驟后,通過回歸器深入調(diào)整,實(shí)現(xiàn)目標(biāo)的有效識(shí)別。
為了驗(yàn)證本文所提的目標(biāo)模糊識(shí)別方法是否合理有效,與文獻(xiàn)中的功能保持和小目標(biāo)跟蹤識(shí)別兩種方法展開了對(duì)比仿真。仿真中的文字?jǐn)?shù)據(jù)集和圖像數(shù)據(jù)集均來自于Image Net數(shù)據(jù)集,并按照訓(xùn)練集和測試集分好類。測試集選取了其中的五類軍事體能訓(xùn)練數(shù)據(jù):跑步、蛙跳、俯臥撐、單雙杠和單腿伸登。樣本數(shù)據(jù)的迭代次數(shù)設(shè)定為45次。
在目標(biāo)識(shí)別速度測試階段,本文選擇常用幀率(單位為frame/s)來表示目標(biāo)識(shí)別的速度,換句話說,也就是在一定時(shí)間內(nèi)所識(shí)別到的目標(biāo)圖像數(shù)量。數(shù)量越多,說明算法的識(shí)別速度越快;反之,則說明算法的識(shí)別速度較慢。
將本文方法與功能保持算法和小目標(biāo)跟蹤識(shí)別算法展開對(duì)比實(shí)驗(yàn)驗(yàn)證,并在測試數(shù)據(jù)集上進(jìn)行識(shí)別精度的驗(yàn)證,以此來驗(yàn)證三種方法所得的目標(biāo)識(shí)別精度、平均精度以及目標(biāo)識(shí)別速度。三種方法目標(biāo)識(shí)別結(jié)果如表2所示。
表2 三種方法對(duì)于不同測試集的目標(biāo)識(shí)別結(jié)果
通過觀察表2可知,本文方法對(duì)于不同類型的增量式數(shù)據(jù),平均識(shí)別精度可以高達(dá)88.33%,較其它兩種方法相比具有顯著的優(yōu)勢。尤其是對(duì)于俯臥撐、單雙杠和單腿伸登這三類訓(xùn)練項(xiàng)目的目標(biāo)識(shí)別,本文方法的識(shí)別精度更是高達(dá)89.90%、91.36%、95.32%。再對(duì)三種方法的識(shí)別速度進(jìn)行觀察,可以看出,本文方法的識(shí)別速度高達(dá)43.6frame/s,與其它兩種算法相比具有顯著的優(yōu)勢。這是由于本文方法中引入了小樣本條件下的遷移學(xué)習(xí)技術(shù),在確保算法具有高識(shí)別精度的前提下實(shí)現(xiàn)了高效率的目標(biāo)識(shí)別。
接下來對(duì)本文方法的目標(biāo)識(shí)別效果進(jìn)行實(shí)驗(yàn)測試。實(shí)驗(yàn)初期,考慮到如果直接將原始圖像代入到本文算法中,原始圖像的成像通道與卷積神經(jīng)網(wǎng)絡(luò)之間可能存在一定的差異性,所以實(shí)驗(yàn)中將卷積神經(jīng)網(wǎng)絡(luò)的大小設(shè)定為一個(gè)3×32×32的矩陣,將待識(shí)別的目標(biāo)圖像用2表示,背景圖像用1表示,并作為直接輸入卷積神經(jīng)網(wǎng)絡(luò)的內(nèi)容符號(hào)。目標(biāo)圖像與背景圖像如圖3所示。
圖3 目標(biāo)圖像與背景圖像
由于原始體能訓(xùn)練圖像變形、扭轉(zhuǎn)的可能性較小,因此實(shí)驗(yàn)中適當(dāng)?shù)南鳒p了LeNet-5網(wǎng)絡(luò)卷積層中特征圖的個(gè)數(shù)。
最終設(shè)定的特征圖大小為5×5,卷積層C1、C3、C5的特征圖數(shù)量分別為6個(gè)、16個(gè)和120個(gè)。本文方法目標(biāo)識(shí)別效果如圖4所示。
圖4 本文方法目標(biāo)識(shí)別結(jié)果
從圖4中可以看出,運(yùn)用本文方法,經(jīng)過一系列的學(xué)習(xí)運(yùn)算后,輸出的結(jié)果為2,說明識(shí)別到的結(jié)果為目標(biāo)圖像。
然后再利用本文方法,按照實(shí)驗(yàn)中選取的訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集進(jìn)行訓(xùn)練,實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 訓(xùn)練數(shù)據(jù)集與測試數(shù)據(jù)集誤差曲線變化
從圖5中可以看出,即使在迭代次數(shù)不斷增加的情況下,本文方法訓(xùn)練數(shù)據(jù)集與測試數(shù)據(jù)集的誤差出現(xiàn)次數(shù)都在逐漸降低。當(dāng)?shù)螖?shù)為29次時(shí),本文方法對(duì)于訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集的目標(biāo)識(shí)別誤差次數(shù)無限趨近于0,并且一直保持到最后,說明本文方法目標(biāo)識(shí)別效果較優(yōu)。
針對(duì)軍事體能訓(xùn)練的目標(biāo)識(shí)別需求,本文提出可以基于深度學(xué)習(xí)的增量式數(shù)據(jù)目標(biāo)模糊識(shí)別方法。利用卷積神經(jīng)網(wǎng)絡(luò)中的LeNet對(duì)參數(shù)進(jìn)行優(yōu)化和微調(diào),使算法整體具有良好的遷移效果,從而提高目標(biāo)識(shí)別的精度。在識(shí)別速度與識(shí)別效果兩方面展開仿真,結(jié)果驗(yàn)證了本文方法可以在具有理想識(shí)別速度的前提下實(shí)現(xiàn)高精準(zhǔn)度的目標(biāo)識(shí)別,可以在很大程度上滿足在實(shí)際中的應(yīng)用需求。