胡大帥,梅 衛,馮小雨
(陸軍工程大學石家莊校區,石家莊 050003)
在防空作戰過程中,首先需要解決的問題就是對來襲目標快速準確地分類和識別。空中目標識別是自動目標識別技術的一個重要應用領域[1]。分類可分為粗分類和細分類,比如識別飛機和鳥類等的類間分類就是粗分類;識別飛機大類中具體飛機型號的類內分類就是細分類。粗分類是細分類的重要前提條件。傳統的空中目標識別方法大多采用人工設計特征,比如基于角點、目標塊特征、SIFT 特征和HOG 特征等,在過去的一段時間內這些特征被廣泛應用,取得了一定的分類識別率的提升。Lowe.D.G 提出提取目標圖像的SIFT 特征,該特征對于兩幅圖像存在旋轉、尺度縮放、亮度變化等是不變的,且對視角變化、仿射變換、噪聲也有一定程度的穩定性[2]。李菲菲等人提出基于SIFT 特征的圖像詞袋模型來進行場景分類和目標分類,取得了較好的分類效果[3]。
但是這些方法在應對愈加復雜的空中環境的時候識別效果會大打折扣,比如目標的快速移動、遮擋等,并且為了應對不同問題而設計不同的特征的方法人工成本太大。空中目標的識別任務面臨著嚴峻的考驗。
近年來興起的神經網絡和深度學習技術,在很多行業都掀起了新一輪的技術浪潮。計算機視覺領域里目標識別與跟蹤、自動駕駛、視頻監控等在深度學習技術的推動下都得到了巨大的進步,許多問題迎刃而解。比如著名的ILSVRC 計算機視覺大賽的記錄一遍又一遍地被深度學習技術所刷新。
本文將深度學習技術應用到空中目標的分類識別任務中。利用深度學習技術中的卷積神經網絡進行仿真實驗,取得了較高的分類識別率。
神經網絡的誕生來源于對人類大腦的研究。眾所周知,成人大腦中的神經元有1 000 億之多,它們承擔著大腦內部的信號傳輸。生物學家于1904 年就揭曉了神經元的結構,隨后McCulloch 和Pitts 參照神經元的結構設計出了著名的MP 模型,人工神經網絡自此誕生。經過幾十年的不斷發展,人工神經網絡的技術不斷成熟,網絡結構不斷多樣化,但萬變不離其宗,圖1 展示了神經網絡的基本結構。

圖1 神經網絡結構圖
最初的神經網絡雖然簡單,但卻可以解決諸如函數擬合、預測分類等簡單的任務。當遇到復雜的問題或者需要更深層的網絡結構的時候,神經網絡的弊端也就慢慢暴露了出來。不僅理論分析的難度加大,訓練的過程十分復雜,計算量也巨大。在Vapnik等人發明SVM 后,神經網絡慢慢陷入了沉寂。
直到2006 年,加拿大多倫多大學教授Geoffery Hinton 在《Science》上發表了論文,提出了“深度信念網絡”、預訓練過程和微調等技術手段,對整個網絡進行優化訓練,突破了多層神經網絡的技術瓶頸,將這些技術統稱為深度學習。此后,深度學習技術又一次掀起了機器學習的浪潮。目前深度學習的模型主要有多層感知機、卷積神經網絡、循環神經網絡等。
AlexNet 模型是卷積神經網絡模型的一種。2012年Alex Krizhevsky 帶著由他設計的AlexNet 模型參加ImageNet 競賽并獲得了冠軍,自此AlexNet 一舉成名。同時也證明了卷積神經網絡在復雜模型下的有效性,以及大數據+復雜網絡+GPU 訓練這一解決問題方式的有效性,具有里程碑式的意義。此后,不斷有層數更多的、結構更加復雜多樣的網絡模型被提出,比如VGG、GoogleNet 等。圖2 是AlexNet 模型結構圖[4]。

圖2 AlexNet 模型結構圖
AlexNet 模型當時是在兩臺配備有英偉達GTX 580 顯卡的機器上經歷了長達6 天的訓練,最終贏得了冠軍。這也解釋了為什么在圖2 中會有兩個流程圖。以一個流程圖為例,AlexNet 有5 個卷積層和3 個全連接層共8 層,在每個卷積層中又包含了ReLU 激活函數以及局部響應歸一化和池化處理。如果去掉任何一個卷積層的話,分類識別效果都會下降。有別于一般的網絡采用sigmoid 和tanh 函數作為激活函數,AlexNet 采用ReLU 作為激活函數,不僅緩解了梯度消失的問題,同時訓練速度也有了較大的提升。
遷移學習就是從現有的數據中遷移知識,將從一個數據庫中學習到的豐富的知識運用到新的問題中。AlexNet 模型作為一個成熟的預訓練網絡,使用了上百萬的圖片進行了長時間的訓練,用來分類1 000 種目標,它已經學到了豐富的特征,具備了強大的特征表示能力。因此,可以利用遷移學習,將AlexNet 網絡模型經過小規模數據集的微調訓練后,遷移到空中目標分類任務中。
利用遷移學習,不僅克服了訓練數據不足的問題,同時也大大減少了訓練的時間,提高了解決問題的效率,最重要的是利用預訓練網絡所學習到的豐富的特征來表示新的分類目標,經實驗發現,效果顯著。
本文利用matlab 軟件進行仿真實驗,實現了空中目標的粗分類。將空中目標分為bird、four-rotor aircraft、missile、paraglider、plane 五大類。每類各從互聯網收集了100 張不同的圖片,總共500 張圖片作為微調訓練和測試使用。并根據AlexNet 模型輸入層的輸入尺寸將所有圖片進行了統一尺寸處理,然后以0.7 的比例,隨機將數據集中的每一類都分成70 張訓練和30 張測試數據集,最后匯總成350 張的訓練和150 張的測試數據集,并用每一類的類別名稱作為分類標簽。圖3 為隨機顯示的20 張數據庫圖片。

圖3 隨機顯示20 張數據庫圖片
本文利用AlexNet 模型作為遷移學習的基本網絡。原網絡可以實現1 000 類的目標分類,本文是針對5 類目標的分類任務。因此,只需將該網絡的最后一個有1 000 個輸出(即1 000 個神經元)的全連接層修改成有5 個輸出(即5 個神經元)的全連接層,將最后的分類層修改成本文的5 類目標分類層即可,最終形成新的網絡模型。然后同樣基于任務的需要以及數據集的規模,設置訓練的超參數,其他參數一律按照原網絡的參數設置。接下來利用分類好的訓練數據集進行微調訓練,經過短暫的訓練后訓練誤差達到收斂,停止訓練并用測試數據集進行測試驗證。
圖4 展示了訓練過程中一些訓練數據的實時動態圖,包括訓練和測試分類準確率(Accuracy)、訓練和測試損失(Loss)等。

圖4 訓練過程示意圖
從圖中可以發現隨著迭代(Iteration)次數的增加,訓練和測試的準確率先上升最后趨于穩定,并且測試準確率達到了97.33%,也就是說在150 個測試數據集里有145 個被正確分類,有5 個被錯誤分類,分類準確率相當高。從圖中還可以看到隨著迭代次數的增加,訓練損失不斷下降最終收斂到很小的值。
可視化后的測試數據集的分類結果以及對應標簽的混淆矩陣如圖5 所示。

圖5 可視化的分類結果混淆矩陣
該混淆矩陣的大小為5*5,每一行以及每一列都對應著測試數據集的5 類目標。m 行n 列的數字表示將m 行對應的類別分類成n 列對應的類別的個數。例如第1 行第1 例數字為29,表示將第1 行bird 類別分類成第1 列bird 類別的個數為29,即29個分類正確,一個分類錯誤的是將bird 類別分類成了plane 類別。
從圖5 中可以得到主對角線上的數字全部表示分類正確的個數,而其他位置的數字則表示分類錯誤的個數。所以總共有5 個目標被錯誤分類,分別為將1 個bird 類分成了plane 類,將1 個missile 類分成了plane 類,將1 個plane 類分類成了bird 類和將2 個plane 類分類成了four-rotor aircraft 類。
針對5 個分類錯誤的樣本,分別在數據集中找出了對應的圖片,并計算出每一個樣本的分類得分,如表1 所示。表1 中的第1 列表示分類錯誤的5 張圖片,第1 行表示5 個類別,表中的數字表示某張圖片分類成某類別的具體得分,以概率的形式表現。

表1 誤分類樣本每類得分
bird068 被預測成plane 的得分最高,因此,plane 就是它最終的分類結果,但是它被預測成bird的得分和預測成plane 的得分相差并不多。查看bird068 這張樣本圖片發現原圖是一群展翅飛翔的大雁,bird068 如圖6 所示。該圖片中的物體具有飛機的外形輪廓,這也就解釋了為什么該樣本被分類成bird 和被分類成plane 的分數會非常接近。接著查看missile037 這張樣本圖片,發現原圖是一個美國戰斧式巡航導彈,如圖7 所示。它和飛機的接近程度非常高,并且具備很多飛機的特征,因此,被分類成plane 類別。

圖7 戰斧式巡航導彈
通過以上分析發現雖然利用遷移學習得到的分類準確率非常高,但對個別難分樣本的分類會存在誤差。因此,為了獲得更高的分類準確率,有必要建立更大的數據庫去重新訓練網絡,同時也有必要增加人為建立數據集標簽的準確性和分類的細致性。
本文為了對比利用卷積神經網絡提取特征的分類結果和利用HOG 特征分類的結果,在完成上述工作后又提取了相同數據集的HOG 特征用于分類。實驗分類結果的混淆矩陣如圖8 所示。

圖8 HOG 特征分類結果混淆矩陣
利用HOG 特征進行分類的準確率只有65.33%,并且每一類的分類效果都不理想,說明利用HOG特征表示數據集中的目標存在許多不足之處,也從側面證明了卷積特征具有更加強大的特征表示能力。
本文利用遷移學習將AlexNet 卷積神經網絡模型應用于空中目標的粗分類問題,分類準確率高達97.33%。同時利用HOG 特征進行對比實驗,分類效果卻不理想。從正反兩方面證實了卷積特征具有更加強大的特征表示能力,為下一步自行設計卷積神經網絡模型并運用規模更大的數據集訓練,最終實現空中目標跟蹤打好理論和實踐基礎。