劉克,潘廣煜,鄭大國,顧佼佼,孟春英
(1. 海軍航空大學,山東 煙臺 264001;2. 中國人民解放軍92318 部隊,北京 100000;3. 中國航天科工集團有限公司 第二研究院,北京 100854)
在航空偵察取證場景中,雙方之間是會存在靠近與遠離的過程,取證時需盡量獲取對方機型、編號、掛載裝備等信息,以開展事后分析或輿論管控等[1-2]。
為減少航空取證操作負擔,提高偵察取證設備智能化水平,提出采用深度學習技術開展偵察取證目標的自動檢測。主要基于RetinaNet 與SE 模塊融合進行航空取證目標檢測,可以解決目標尺寸變化幅 度 大[3]、樣 本 不 均 衡[4]的 問 題。另 外,Squeezeexcitation(SE)模塊引入的通道注意力機制加強通道特征針對性[5-6],在可控計算量前提下進一步提高檢測模型的表征能力。
目標檢測中存在多種不平衡現象,文獻[4]對目標檢測中的不均衡問題進行了分析與綜述,將之分為四類:類別不平衡、尺度不平衡、空間不平衡、多任務損失優化之間的不平衡。對于本文來說,類別不平衡是最為突出的問題,主要由樣本數量上的差別引起。即訓練使用的正例數量遠遠小于負例數量,影響最終的檢測精度,現有的許多研究可以歸結為解決這些不平衡的方法。
可將現有目標檢測算法粗分為二階段與一階段算法:二階段算法典型代表是基于Region Proposal 的R-CNN(region-convoluntional neural network)系列算法(R-CNN,Fast R-CNN,Faster R-CNN[7]);一階段算法 典 型 代 表 是RetinaNet[8],YOLO(you only look once)系列[9],SSD(single shot multibox detector)[10]等。
在航空取證場景中,視景內的目標數量一般較少,Faster R-CNN 等二階段模型中,第1 階段的RPN(region proposal network)可以過濾掉很大一部分負樣本,第2 階段的檢測模塊只需處理少量的候選框,而且檢測模塊還采用正負樣本固定比例抽樣(比如1∶3)或者OHEM 方法[11]進一步解決正負樣本不平衡問題。
單階段目標檢測方法中,檢測部分要直接處理大量的候選位置,其中負樣本占據絕大部分,SSD 的策略是從大量的負樣本中選出損失最大的前k個負樣本以保證正負樣本比例為1:3。RPN 本質上也是單階段檢測模型,訓練時采取的策略也是抽樣,從一張圖像中抽取固定數量的樣本,正負樣本分開來隨機抽樣N/2,如果正樣本不足就用負樣本填充。
RetinaNet 與YOLO 和SSD 是單階段目標檢測模型,主要特點是采用特征金字塔網絡FPN(feature pyramid networks)應對目標多尺度變化問題,以及采用Focal Loss 有效應對正負樣本不均衡的問題。
SE[12]模塊是一個子結構,引入通道注意力機制重新校準特征圖,學習每個特征通道的作用程度,讓網絡利用全局信息有選擇地增強有用特征通道并抑制對當前任務作用不大的特征通道,使得有效特征圖權重大,無效或效用小的特征圖權重小,訓練模型達到更好的結果。
經實驗驗證,在綜合考慮準確率與計算復雜度前提下,采用RetinaNet+SE 改進方式進一步提高了檢測準確率,輔以目標跟蹤可有效減少設備操控對飛行員操作帶來的壓力。
RetinaNet 目標檢測模型主要特點是具有特征金字塔網絡FPN,Focal Loss 處理,以及基于Anchor的檢測機制。
(1)特征金字塔網絡FPN
目標檢測領域普遍存在目標尺度變化大的難題,本場景如圖1 所示,雙方距離較近時,對方軍機在取證設備中占據較大視野,在雙方距離較遠時目標飛機可能只占據少數像素。

圖1 目標尺度(大與小)變化示意圖Fig.1 Schematic diagram of the change of target scale(large and small)
解決方式是生成多尺度特征,SSD,MSCNN(multi?scale convolutional neural network)[13]利 用 不同層的特征圖進行不同尺寸的目標預測,二階段目標檢測模型中基于候選框的方法也參考這個思路在不同深度的特征層上預測不同尺寸的目標。大尺寸的物體檢測效果已比較理想,小目標在較低卷積層可見性強,但較低卷積層語義信息較弱,對后續的分類性能弱,導致小目標檢測性能較差。
由于CNN(convolutional neural network)通過前向傳播自然形成一個多尺度、多層級的特征金字塔結構,具有從低到高級的語義。FPN[14]改進CNN 特征提取如圖2 所示,構建橫向連接結構,在所有尺度充實特征圖的語義信息:把高層的特征傳下來,用高層語義補充低層的語義特征,把低分辨率、高語義信息的高層特征和高分辨率、低語義信息的低層特征進行特征融合,使得所有尺度下都獲得高分辨率、強語義的特征,然后在不同特征層進行檢測。既兼顧不同尺寸物體,又控制了計算量。

圖2 FPN 示意圖Fig.2 FPN schematic diagram
FPN 機制大幅提升了小像素目標檢測的效果,在檢測具有多種尺度的目標時效果明顯。
(2)Focal Loss
常用的損失函數如交叉熵在訓練目標檢測模型時存在問題,如果定義置信度值pt> 0.5 為容易樣本,容易樣本的損失值依然不低,而且這部分樣本占很大比例,將淹沒難樣本的損失。
Focal Loss 引入調制因子(1 -pt)γ與類別權重系數α 構建損失函數為

式中:超參數γ表示更多關注難樣本的程度,用于調整簡單樣本的加權速率,當γ增加時,調制因子的影響同樣增加;α,1 -α為正例、負例的權重系數。被錯分類的樣本pt一般很小,調制因子接近1;已經能正確分類的簡單樣例的pt趨近于1,此時調節因子接近0,該部分損失的權重大大降低,其可視化如圖3所示。

圖3 調制因子示意圖Fig.3 Modulation factor diagram
Focal Loss 可根據置信度動態調整交叉熵損失來解決樣本不平衡問題。當預測正確的置信度增加時,loss 的權重系數會衰減至接近0,大量容易樣本的損失貢獻很低,損失集中在難樣本上,模型訓練損失更關注難例,從而提高預測精度。
SE 模塊引入一種通道注意力機制重新校準特征圖,顯示地建模特征通道之間相關性,學習不同通道特征的重要程度,對每個輸出通道預測一個常數權重后進行加權。
這個子結構示意如圖4 所示,并未引入新的空間維度來進行特征通道間的融合,而是采用了一種特征重標定策略,利用全局信息對原特征圖重新校準,自適應地重新校準通道方向的特征響應。具體就是學習獲得每個特征通道的作用程度,讓網絡利用全局信息有選擇地增強有用特征通道并抑制對當前任務用處不大的特征通道。

圖4 加入SE 模塊前后的ResNet 示意圖Fig.4 Schematic diagram of SE-ResNet module
這會使得模型中各個通道的特征更有辨別能力,理論上對小目標的檢測有促進作用。此處不展開論述其數學理論。
SE-RetinaNet 結 構 如 圖5 所 示,在SE-ResNet 結構上構建FPN 骨干網絡,生成多尺度卷積特征金字塔FPN,最后附加2 個子網絡,分別用于anchor 邊界框分類和用于anchor 邊界框回歸。

圖5 SE-RetinaNet 模型示意圖Fig.5 Schematic diagram of SE-RetinaNet model
此處使用的特征提取網絡中,SE-ResNet 用于提取特征,FPN 用于在SE-ResNet 上構建多尺度特征金字塔,在所有尺度上語義都很強,并且計算速度很快。以ResNet-50 和SE-ResNet-50 為例,其網絡結構對比如表1 所示。

表1 ResNet-50 和SE-ResNet-50 網絡結構對比Table 1 Comparison of ResNet-50 SE-ResNet-50
使用5 個尺度特征P3,P4,P5,P6,P7構建特征金字塔,其stride分別為8,16,32,64,128。
此 處 每 級 anchor 尺 度 分 別 為322,642,1282,2562,5122;長 寬 比 的 設 定 為{1/2,1,21/3,2,22/3},這 樣 每 個 位 置 共 有9 個anchor,所有層中anchor size 的最小值是32 pt,最大值是813 pt。在訓練過程中采用基于IoU(intersection over union)的雙閾值anchor 匹配策略,即計算anchor與所有真實目標框的IoU。設定的閾值為0.5,0.4,閾值在0.5 以上就將anchor 分配給真實目標框;如果IoU 在[0,0.4)之間則分配為背景;IoU 在[0.4,0.5)中則不參與訓練。
每個anchor 最多分配一個目標框,每個真實框可能與多個anchor 匹配,但可能某個真實框與所有anchor 的IoU 最大值小于0.5,盡管不滿足閾值條件,此時也應該保證這個真實框被IoU 值最大的an?chor 匹配。最終得到anchor 數量個匹配,表示與每個anchor 匹配的真實框,計算loss 時就可以找到對應的類別及其邊界框。
如圖5 中所示,檢測模塊主要包括分類子網絡(c)和box 回歸子網絡(d)。分類子網絡用來預測每個空間位置的各個anchor(數量為A)的類別概率(類別數為K)。這是一個FCN(fully convolutional networks),包括4 個3×3 的卷積層,每個層都有C個濾波器,(ReLU 激活函數,channel 是256),最后是一個3×3 的卷積,輸出通道數為KA,得到各個anchor預測每個類別的概率。
框回歸子網絡用來預測每個位置各個anchor 和真實目標框之間的偏移量,在每個金字塔級別展開的FCN 目的是將每個錨框的偏移量回歸到附近的真實對象。它與分類子網相同,只是最后輸出的是每個空間位置的4A個輸出,最后輸出通道是4A。這表明是一個類別無關的邊界框回歸器,使用更少的參數,同樣有效。
SE 模塊嵌在原有的網絡結構中不可避免地增加了一些參數和計算量,增加的參數主要來自2 個全連接層,維度都是C×C/r,2 個全連接層的參數量就是2 × C ×C/r。 SE-ResNet增加的參數量為C2s,r為降維系數;S表示層數;Cs為第s層的通道數;Ns為第s層堆疊的殘差模塊數。
以ResNet-50 和SE-ResNet-50 為例對比如表2 所示,各方面相當,r=16 時只增加了約10%的參數量。推理時間上,GPU 訓練時間多了5.26%,CPU 推理時間多了不到2%。

表2 ResNet-50 和SE-ResNet-50 指標對比Table 2 ResNet-50 SE-ResNet-50 indicators
在航空偵察取證場景中,以50 000 樣本量構建訓練集,以SE-ResNet-50-FPN,SE-ResNet-101-FPN,SE-ResNet-1521-FPN 為SE-RetinaNet 骨干網絡開展訓練,測得測試準確性如表3 所示,各訓練50 次迭代。其中,SE-ResNet-50 準確率與原ResNet-101 相當,提升很大統計各機型AP(average precision)如表4 所示。

表3 SE 模塊對原模型的改進效果Table 3 Improvement effect of the SE module on the original model

表4 各機型AP 統計Table 4 AP statistics of each model
在測試集測試各機型檢測平均準確率AP如表,各機型測試數量不等(隨機劃分數據集),均在200以上。
對以SE-ResNet-50-FPN 為骨干網絡的4 個指標可視化如圖6 所示,迭代次數為50,總損失、分類損失與回歸損失基本呈現單調平穩遞減的趨勢。mAP(mean average precision)是評估檢測效果的重要綜合指標指標[15],從圖6 中可見mAP 基本在0.97上震蕩,檢測效果較好。

圖6 4 個指標可視化圖Fig.6 Visualization of 4 indicators
測試結果中可見,SE-RetinaNet 模型能夠應對目標尺度變化較大的情況如圖7 a)~d),并可從飛機局部特征中判斷機型。但若局部特征不夠明顯,盡管像素較多仍無法有效地檢測目標如圖7 e)。在應對極小目標時仍存在分類錯誤情況如圖7 f),圖像分辨率為1 280×720,目標占據像素為12×8,檢測到目標但分類錯誤。

圖7 檢測結果分析Fig.7 Analysis of test results
可繼續改進SE 等模塊提取有效特征,并嘗試引入細分類子網絡進一步提高分類與檢測性能。
針對航空偵察取證,本文提出基于SERetinaNet 的目標自動檢測方法。該改進算法中的特征金字塔網絡FPN 可有效應對目標尺寸變化較大問題,Focal Loss 可有效應對數據均衡性問題,SE模塊引入通道注意力機制對特征圖進行加強,可進一步利用提取的通道間相關性增強有效特征并抑制無效特征。實驗表明,該模塊能夠進一步增強模型的表征能力,有效提高目標檢測效率。后續可進一步改進模型結構以提高識別與檢測準確率。