靳文兵,郭江宇,陳志華,呂 昊,黃明杰
(北方自動控制技術研究所, 太原 030006)
深度學習在近十年快速發展,通過不斷加深的網絡結構,快速增長的模型參數,相關研究取得了非常豐碩的成果。但追根溯源,深度學習的迅猛發展離不開大數據的支持,以及計算機性能的提升。僅0到9手寫數字識別就需要60 000幅以上的訓練樣本數據(以Mnist數據集為例),80種人物類別的COCO數據集存儲容量已超過40 GB(MS COCO Dataset 2017),即使選配高性能運算部件,當前許多采用大數據集的模型訓練已經需要按周甚至按月計算其運行時間,訓練耗時及如何獲得、標注大量的數據樣本已成為深度學習發展的羈絆。在軍事領域,行業特殊性造成許多類型的數據積累困難[1],如同期內獲得的某型軍用車輛顯控終端維修保障數據不及同類民用車輛中控臺的千分之一。另外一些數據則難以獲取,如軍事裝備或設備結構參數、功能性能指標等。如何在數據數量有限的情況下,充分利用深度學習領域取得的成就,快速識別敵方目標、準確判斷設備故障、高效規劃航跡路徑等已成為當前軍事領域的研究重點[2]。因此,從學術領域到軍事應用,都迫切需要開展面向少量樣本(小樣本)的學習研究工作[3-4]。
小樣本是一個相對概念。小樣本學習(small-sample learning,SSL)是基于前期大量數據訓練獲得的知識,通過小樣本糾偏修正,實現模型算法參數的更新,從而使模型具有“新生事物”的正確辨識能力[5-8]。人類的學習、實踐和認知過程也是如此。首先要有相關事物的知識積累,再通過邏輯思維(模型算法構建),包括個別試錯過程(小樣本學習訓練),人類才能認識新事物。SSL樣本規模明顯大于Few-Shot Learning(FSL)和One-Shot Learning研究。但它們識別事物的原理是相同的,即通過參數微調的遷移學習,或者模型泛化來實現小樣本識別。因此,如何構建前后2種樣本的相關性模型,在充分利用前期知識的基礎上,通過小樣本學習實現對新事物的認知,成為深度學習領域研究的熱點[9-11]。
小樣本學習領域還有另外一個分支,即不依靠前期知識積累的小樣本分類研究。文獻[12]提出一種可用于FSL識別的原型網絡(P-net),在樣本屬性空間歐幾里得距離一定的前提下,可將不同的樣本映射到特定區域。但當樣本空間距離較小時,Few-Shot映射就成為一種概率事件。P-net更像是人類認知的一個特例,即“找樣本之間的不同”,但同時卻放棄了人類通過學習和實踐過程實現的知識積累。文獻[13]借鑒了外部存儲和記憶力增強網絡的思想,采用注意力機制內核等,但從根本上仍然屬于樣本間距離度量(求余弦值而非歐幾里得距離)。沒有知識積累的小樣本學習值得理論探索,但成果泛化性不強,沒有實用價值,更不符合人類認知規律。
在軍事領域,由于保密性、對抗性等特殊原因,小樣本學習研究進展緩慢[14-15]。本文中以解決目標數據不足引發的軍事裝備識別困難為突破口,研究小樣本元學習在軍事領域的應用。首先基于Darknet深度學習框架構建神經網絡模型,采用民用數據集大樣本訓練至收斂。以典型軍事裝備圖片測試模型,可正確分類坦克(tank)、戰機(fighter)和軍艦(warship),但卻無法區分坦克和卡車(truck)、戰機和客機(aeroplane)、軍艦和漁船(boat)。借鑒人類學習認識新事物的方法(類比法),比較軍事裝備與民用車輛、民航客機和普通船只的區別,發現炮管、槍械、掛載導彈等作戰武器是軍事裝備所特有。而傳統模式識別算法可以高效完成局部圖像特征匹配。因此,本文中提出一種遞進學習模型(step-learning model,SLM)。采用SLM模型、內嵌SIFT算法,以是否配置武器區分坦克和卡車、戰機和客機、軍艦和漁船。實驗驗證模型算法分類性能指標滿足使用要求。研究成果可應用于無人車、無人機等無人裝備目標識別系統。相關算法模型和思想對研究數據量有限的武器裝備智能檢測維修、戰場態勢智能感知、作戰任務智能規劃等均有參考借鑒之處。
基礎CNN深度學習模型算法描述如下。
構建函數集:
式中,x∈X,y∈Y,從聯合分布PX*Y中得出。
存在一種映射關系:f∈F∶X→Y。
以預期錯誤成本:εex=E(x,y)~PX*YL(f(x),y)最小為目標。其中,L(f(x),y)表示x的預測值f(x)與其實際值y之間的損失Loss。
實際上,聯合分布PX*Y是未知的,因此需最小化經驗誤差,即:
εex=E(x,y)~DtL(f(x),y)
(2)
如果學習算法函數f空間F太大,則泛化誤差為:
εex=|εex-εem|
(3)
這時的泛化誤差會變得很大,容易出現過擬合。因此,需要求取函數f的最小誤差空間,有:
minfεem
s.t.f(xi)=yi, ?(xi,yi)∈Dt
(4)
如果Dt中包含更多受監督的樣本,函數f將會有更多的約束條件。這意味著函數f的映射空間將變小,泛化效果會增強。相反,如果監督樣本的數據集規模減少,則會導致泛化能力降低。本質上,監督樣本形成的約束可以壓縮函數f的冗余可選空間,從而減少學習算法的泛化誤差。
以上推導也可得出:如果一個模型的學習算法依靠誤差反向傳導來訓練深度神經網絡模型,而作為樣本的約束條件又不充足,類似FSL訓練任務,則模型可能面臨過擬合問題。
從CNN基礎模型算法可見,深度學習依賴大量訓練樣本約束模型函數空間,以提高模型泛化能力。直接采用深度學習模型算法處理SSL將面臨嚴重的過擬合問題。因此,本文中首先借助民用領域大數據樣本相對豐富的特點,采用COCO公開數據集訓練基礎模型作為知識積累。在此基礎上,通過小樣本特征模式匹配,實現對軍事裝備的識別,達到SSL訓練的目的。
樣本屬性差別是影響基礎模型應用于小樣本學習并取得良好效果的關鍵因素。圍繞基礎模型的優化,改進工作包括對原模型結構、參數的調整,以及在原模型基礎上增加新的模型算法。所有優化改進方法都基于對前后2種樣本屬性差別的分析。如圖 1所示,前期基礎模型訓練用大數據量樣本集A與后期小樣本訓練集B存在3種確定的屬性關系,即:不相關、有交集和包含。對于第3種情況,B的屬性映射空間包含在A中,則原模型保持有效,無需改進優化。第1種情況下,小樣本屬性與前期訓練樣本完全不相關,則需調整大數據樣本。最后,A、B樣本屬性有交集的第2種情況是論文研究重點,即2種樣本屬性空間既有交集又存在一定差別,可通過進一步的學習研究區分2種樣本。

圖1 2種樣本屬性關系
坦克、戰機、軍艦等軍事小樣本(B集合)與卡車、火車、飛機、船舶等大樣本數據(A集合)之間具有天然的聯系。前后2種樣本屬性的相關性決定了知識積累的有效性,而通過小樣本特征屬性識別可以從大樣本分類中剝離出小樣本。在深度學習研究中,孿生卷積網絡(2015年,G.Kochet等人提出)從原理上區分2種不同的樣本。數據增強方法實現樣本空間映射,不同映射函數反應不同的樣本關系。度量學習則以數值形式量化樣本之間的差別。但深度學習方法區分A、B集合樣本需要大量訓練數據支撐,而抓住事物特征比對的模式識別算法卻簡單易行、高效準確。
在1.1節和1.2節研究基礎上,本文中提出遞進學習模型(step learning model,SLM)。SLM前期通過大數據集訓練CNN網絡模型參數,后期采用小樣本武器特征提取構造特征矢量,采用模式匹配算法識別樣本類型。SLM模型算法描述如圖2所示。

圖2 遞進學習模型
模式識別算法通過匹配局部形狀特征實現樣本分類。影響模式識別精度的因素較多,如光照方向、目標角度等。作為軍事裝備,還存在隱蔽性偽裝。因此,模式識別可同時采用多種數據增強方式,包括采用冪次變換調整圖像整體亮暗程度、高通濾波實現圖像銳化。為提高模式識別準確性,可以多種算法均值作為置信度。如常用算法LBPH是在LBP(local binary patterns)特征基礎上的統計直方圖(histograms)。LBPH將LBP特征與圖像的空間信息結合在一起。LBP對光照具有很強的魯棒性。
SLM模型中,武器特征提取采用尺度不變特征變換算法(scale-invariant feature transform,SIFT)。SIFT具有尺度不變性,即它對物體的尺度變化、剛體變換、光照強度和遮擋都具有較好的穩定性,可在圖像中檢測出其特征點,構造特征矢量。特征點提取主要包括生成高斯差分(difference of Gaussian,DOG)尺度空間、尋找局部極值點、特征點篩選、確定特征點方向。特征點匹配則根據特征矢量相似性進行匹配、匹配對比值提純、RANSAC方法剔除離群匹配對。
SIFT算法首先構造尺度空間。圖像中某一尺度的空間函數L(x,y,σ)由可變參數的高斯函數G(x,y,σ)和原輸入圖像I(x,y)卷積得到,即:
L(x,y,σ)=G(x,y,σ)*I(x,y)
(6)
式中,σ表示為尺度空間因子。σ越小反映局部點越清晰;反之,σ越大圖像越模糊,越不能反映出圖像細節。在不同尺度參數組數中,高斯差分圖像是由某一相同尺度層的相鄰圖像作差值得出。然后,將得到的差分圖像與原圖像I(x,y)做卷積得到DOG函數,即:
D(x,y,σ)=[G(x,y,kσ)-G(x,y,σ)]*I(x,y)=
L(x,y,kσ)-L(x,y,σ)
(7)
由式(7)可知,將相鄰2個高斯空間圖像相減得到DOG響應圖像。特征點是由DOG空間局部極值點組成。通過計算每個極值點的梯度為極值點賦予方向。最后,每一個特征點擁有位置、尺度和方向等信息。為每個特征點建立一個描述符,使其不隨各種變化而改變,比如光照變化、視角變化。所有特征點構成一個特征矢量。
特征點匹配是通過2點集內特征點比對來實現的。具有128維的特征點集相似性度量采用歐式距離。匹配采用KD樹(k-dimension tree)數據結構來完成搜索。搜索內容是以目標圖像特征點作為基準,搜索與目標圖像特征點最鄰近的樣本圖像特征點和次鄰近的原圖像特征點。
基礎模型訓練采用MS COCO Dataset 2017公開數據集。該數據集是一個大型豐富的物體檢測、分割和字幕數據集,提供80個類別、超過16萬張圖片。其中,Train Images[118K/18G],Val Image[5K/1G],Test Images[41K/6GB]。80個類別包括:Person(人),Bicycle(自行車),Car(汽車),Motorbike(摩托車),Aeroplane(飛機),Bus(公共汽車),Train(火車),Truck(卡車),Boat(船),Traffic Light(信號燈),Stop Sign(停車標志),Bird(鳥),Cat(貓),Dog(狗),Horse(馬)等等。圖3為部分數據集圖片。

圖3 MS COCO Dataset 2017數據集Fig.3 MS COCO Dataset 2017
小樣本數據集選用互聯網下載坦克、戰機和軍艦圖片各600張。其中,500張用于武器特征提取,100張用于后期目標分類測試。特征提取前先用Photoshop工具截取各種武器并制作為大小統一的圖片(120×40)。部分制作特征樣本如圖4所示,小樣本數據集如圖5所示。

圖4 特征樣本數據集Fig.4 Feature sample dataset

圖5 小樣本數據集Fig.5 Small sample dataset
硬件采用全國產化高性能服務器。該機具有2顆天津飛騰公司生產的S2500處理器,適配國產128GB內存和512GB電子盤,可高效運行銀河麒麟服務器版(V10)操作系統。加裝一塊FPGA加速卡提供GEMM加速運算服務。
深度學習框架選用Darknet。該框架是一個輕量化的、完全基于C與CUDA的開源深度學習框架。Darknet主要特點是容易安裝,沒有任何依賴項,移植性非常好,支持CPU與GPU 2種計算方式。實驗采用FPGA加速。Darknet框架支持多種CNN模型算法,實驗選用Yolov3模型完成COCO數據樣本訓練。C語言編程實現SIFT算法,完成對小樣本特征(導彈、艦炮、機關炮等武器)提取和模式匹配。程序調用OpenCV函數實現下采樣、線性插值功能。
基礎模型采用具有75層CNN網絡的Yolov3模型,加載darknet53.conv.74作為預訓練權重文件(Backbone)。表1為經過50 200次迭代訓練后,隨機抽取各種網絡樣本圖片做目標檢測的置信度統計。

表1 CNN基礎模型典型樣本置信度統計Table 1 Typical samples statistics of CNN model
由表1可見,經過大樣本訓練后,模型對火車、卡車和飛機的識別正確率非常高(平均98%以上),但對各種民用船只的識別率稍低(平均90%左右)。這與船只類型眾多、千差萬別有關。在對3種武器裝備的識別過程中,戰機與飛機、戰艦與普通船只的識別率接近,而坦克則被識別成多種類別,包括火車、卡車等。由此可見,基于大樣本訓練的Yolo模型已實現一定的知識積累并具有對武器裝備的識別能力。下面只需要利用小樣本提供的武器裝備特征,通過模式識別進一步區分Tank和Train、Truck,Fighter與Aeroplane,Warship與Boat。
坦克、戰機、軍艦等武器裝備與火車、卡車、客機、漁船等民用裝備的最大區別是前者具有槍管、炮筒、外掛彈藥等武器。采用SIFT算法從小樣本圖片中提取武器特征,通過模式匹配算法可實現軍用裝備與民用裝備的分類識別。圖6展示了SIFT模式匹配算法效果。左下角的炮身原圖共有43個SIFT圖像特征點,左上角炮身與右圖坦克匹配9對特征點,如圖6中藍色直線相連部分。圖7為小目標識別情況。

圖6 SIFT模式匹配算法效果Fig.6 SIFT algorithm

圖7 小目標匹配Fig.7 Small target matching
SIFT算法可以實現2幅圖像間的精確匹配,沒有泛化效果。因此,小樣本特征數量決定樣本識別數量。這與人類認知相似。用前期測試CNN模型的小樣本圖片實驗測試SLM模型。取坦克、戰機和軍艦各100幅,測試平均置信度分別為87%、92%和91%,實驗結果如表2所示。由表2可見,SLM模型可以大概率正確識別3種軍用裝備。

表2 SLM模型樣本測試置信度統計Table 2 Statistics of SLM model test
通過調整SIFT算法參數閾值實現目標匹配效果泛化。以2幅圖像特征點的特征向量歐式距離作為相似性判定度量。首先選取圖像1中某個特征點A,在圖像2中找到與A點歐式距離最近的2個特征點B和C(距離遞次增加)。如果B與A的距離除以C與A的距離小于某一閾值t,則表示接受A與B的匹配,即目標識別成功。降低閾值t,匹配點數減少。增大閾值t,匹配點數增多。圖6中炮身原圖43個特征點,在由小到大調整參數t的取值至0.8后,43個特征點全部匹配成功。繼續增大t值,出現錯誤匹配的特征點。多組樣本測試確定t為0.75時匹配正確率最高,同時目標識別概率相應提高。
大數據與小樣本特征屬性不同決定后期SSL預測精度。小樣本訓練試圖彌補兩者的本質差距。但無論是通過參數微調的遷移學習,還是依靠模型泛化的其他方法,都需要不斷調整參數,提高或降低泛化能力,以匹配小樣本特性,2種方法均屬于NP問題。不依賴前期知識積累的小樣本分類研究具有理論探索價值,但成果泛化性不強,沒有實際應用價值。
本文中探討樣本相關性,以減少樣本空間距離、提高樣本屬性重合度。構建遞進學習模型,采用深度學習訓練實現樣本分類。提出深度學習與模式識別相結合,既充分利用大樣本支撐的深度學習理論,實現知識積累,又充分利用模式識別算法成果,實現高效、精準、明確的小樣本識別。提出遞進學習模型符合人類認知科學。以典型軍事裝備數據作為小樣本,實驗驗證模型效果滿足大型武器裝備目標分類和識別需求。