鄧 磊,李海芳
(1.四川幼師高等專科學校應用技術系,四川 綿陽 621700;2.中國工程物理研究院電子工程研究所,四川 綿陽 621900)
現有的制導方式大都采用圖像制導,通過導引頭內置的光電探測器獲取視場內的圖像信息,并通過人工鎖定目標或自動檢測目標實現探測并摧毀鎖地面裝甲車輛。隨著作戰形態的變化,有效摧毀敵方一切裝甲車輛,是實現突防與突擊的關鍵[1]。無論是機載空對地制導炸彈,還是地對地反坦克導彈,都必須降低對人工制導的依賴,具備“發射后不管”,以及超遠射程的能力,以保護射手的安全。自動目標鎖定是實現超遠射程精確打擊的核心技術,然而復雜戰場環境下實現裝甲車輛自動檢測識別技術面臨著諸多挑戰,例如目標尺寸較小;背景復雜;檢測效率不高等[2]。
為了提升超視距攻防應用中裝甲目標的檢測精度,國內外學者提出了諸多的智能檢測算法。目標檢測算法的基本架構大都是采用特征+分類器,其特征可以是局部二值模式(LBP)特征、尺度不變特征變換(SIFT)等人工特征,也可以是數據驅動的的深度特征[3]。Bunyak等人在利用紅外與電視圖像的互補特性,提出了多特征融合的目標檢測技術,可以有效實現全天候全天時目標檢測與識別[3];國防科大的石志廣[4]利用支持向量機(SVM)對圖像進行方向梯度直方圖特征分類,通過暴力搜索實現目標檢測,但該方法僅僅適用于尺度與模板相當的目標,雖然作者提出采用金字塔分解有助于提升多尺度探測能力,但該方法對復雜背景下的檢測效率任然不高。由于人工特征的表征能力不足,不能適用于復雜的目標形態。國內外學者開始利用卷積神經網絡進行高層次深度特征學習,提升目標檢測的抗干擾能力。西南技術物理研究所雍楊[5]團隊利用Zero-shot學習構建了不均衡數據集裝甲目標檢測網絡,該網絡能夠自適應地從少量樣本原始數據中逐層學習目標特征,實現不同裝甲車輛的準確識別,在多次掛飛驗證過程中效果較好,但對20×20以下目標識別精度較差。陸軍裝甲兵學院李國璋教授團隊[6]提出了一種基于深度學習的目標檢測模型YOLO-v3的改進模型ZQ-YoloNet,該模型在機載掛飛實驗下對裝甲目標的精準率和召回率分別達到了87.73 %和78.25 %,但該模型對部分遮擋的目標適應性較差,尤其是針對目標與背景對比度較小的情況下,識別概率極具下降。
雖然復雜陸戰環境下裝甲目標識別領域進行了大量的研究,但相關成果僅僅是作為目標輔助識別應用,仍然需要人在回路進行判決。尤其是彈炮結合的裝甲車輛的防區提升,這就需要反裝甲武器必須提早發現目標并超音速機動攻擊目標的要害部位。這就需要識別系統能夠從大尺寸圖像中識別出弱小目標。然而,目標裝甲目標數據集中目標的尺寸都較大,因此數據集覆蓋范圍的不足,使得目標識別精度難以顯著提升。另一方面,裝甲目標通常出現在叢林、沙漠、草原等復雜陸戰場景上,另外裝甲目標運動、炮口轉向、煙霧、尾塵等造成圖像干擾較大。此外,裝甲目標采用涂覆、煙霧、熱屏蔽進行偽裝,這降低了目標與背景特征的區分能力。
總的來說,與其他目標檢測問題相比,高精度與高效率的裝甲目標檢測更具挑戰性。現有的檢測模型很難直接應用到裝甲目標檢測。針對以上提到的挑戰與現有模型的不足,本文提出了一個快速準確的裝甲目標檢測模型,該模型利用多尺度金字塔池化層提取的不同尺度特征,并獲得不同的尺度下的語義池化語義;然后在此基礎上進行邊緣感知融合,利用裝甲目標的形狀先驗找到感興趣的目標區域,有效地提升目標的表征能力.仿真實驗結果表明,本文提出的裝甲目標檢測網絡模型可以有效地提高復雜戰場環境中目標檢測與定位的精度與效率,適合工程應用。
盡管邊緣先驗可以提升目標檢測的精度,然而實際應用過程中,全局圖像的邊緣信息復雜,目標的輪廓特征并沒有明顯的可區分性,從復雜的輪廓中匹配出目標的邊緣是一項非常有挑戰性的工作,而且目標受遮擋、形變等干擾影響,其輪廓并不具有完整性[7]。即便現有的深度輪廓網絡可以提取出完整的輪廓,但由于缺乏全局信息表征能力,仍然無法從復雜背景中分離出真實目標[8]。眾所周知,中層視覺主要關注的是圖像中的幾何結構、內部細節與邊緣輪廓,這也是目標識別的基礎。整體嵌套卷積網絡已成功地用于提取二維圖像中目標的邊緣結構,但是這些邊緣特征并不具有語義信息,如何為圖像內部的邊緣輪廓分配標簽,將一個整體場景分解成幾個單獨的實體是目前學者研究的重點[9]。HED模型是基于全卷積網絡進行改進,并在每個卷積層采用多尺度深度監督以“指導”早期分類結果。全卷積網絡只有一個輸出損失函數,而HED則每像素都制定分類交叉熵損失函數,可以實現不同類別樣本的目標識別,即邊界與非邊界,目標區域或非目標區域[10]。由于基于HED的網絡結構已經成功地應用于顯著目標檢測,本文提出的算法在整體嵌套卷積網絡的基礎上學習地面裝甲目標內部紋理特征及邊緣輪廓特征,以實現目標全局定位及局部分割。
本文提出了一種基于多金字塔池化模型的整體嵌套卷積網絡,該網絡利用金字塔池化獲得多個旁路輸出層的不同尺度的全局結構信息,并利用不同分支的邊緣感知通道進行有效融合,最終提升復雜背景下裝甲目標的檢測精度。本文所提的模型包含兩個模塊,即邊緣感知融合模塊與多金字塔池化模塊,模型的詳細結構如圖1所示。為了增加模型的泛化能力與訓練精度,本文提出將多分類的交叉熵損失函數與邊界損失和分割損失進行綜合相結合,構建加權損失函數。

圖1 基于多尺度金字塔池化模型的整體嵌套卷積網絡框架
眾所周知,人類之所以能夠利用隱藏的線索挖掘出深層次本質信息,主要歸咎于大腦能夠對離散事物進行關聯[11]。在目標檢測領域,上下文信息可以為推斷目標存在提供有用的提示,有助于實現弱小目標檢測與增強抗干擾能力。除了裝甲目標本身的形狀特征、輪廓特征外,裝甲目標周圍的上下文信息也有助于判斷其是否為裝甲目標,包括目標所屬的裝甲集群,目標周圍的其他裝甲目標,裝甲目標射擊時的炮口和煙霧,以及裝甲目標機動時帶來的灰塵。所有這些上下文信息都提供了額外的信息來確定檢測到的目標為裝甲目標。
傳統的目標檢測方法只能獲得顯著性的疑似區域,無法準確檢測出目標類型。此外,當裝甲目標尺寸小于16×16時,經過多次下采樣處理后,導致特征信息丟失,其最終特征圖的空間分辨率不足以獲得完成目標識別任務。文獻[12]提出的金字塔池化模塊由四個全局卷積尺度組成,能夠獲得不同尺度的高層次特征圖。首先利用全局平均池化獲得均值特征表示,然后引入三個具有不同大小的池化層以增強全局上下文信息。每個池化層增加一個1×1卷積層,以便將輸入特征圖的尺寸減小到1/4,并同時保持全局特征的權重。為了將低維度的特征圖恢復到原始尺度,采用雙線性插值構造出上采用層;最后,將四個尺度的特征級聯起來,形成最終的金字塔池化特征。可以看出,金字塔池化模塊能提取圖像不同尺度的上下文信息,并融合成固定維度的特征用以訓練CNN,獲得比全局池化更具代表性的全局信息。因此,為了解決這個問題,本文利用上下文信息來提高對小型裝甲目標的檢測精度,通過引入空洞卷積思想,在保證卷積特征分辨率不變的基礎上提高弱小目標的檢測精度;同時,本文所提的模型也將通過多孔空間金字塔池化將多尺度上下文特征進行融合,增強目標的表征能力與抗干擾性能。
本文采用的主干網絡是ResNet-50,具有四個重復疊加卷積塊(Block-2,Block-3,Block-4,Block-5),通過在每層卷積塊上增加金字塔池化模塊,有利于進行多尺度卷積特征提取[13]。此外,該模塊利用固定尺度的輸入提取多尺度的特征表示,能夠有效減少局部上下文信息的丟失。由于VGG的收斂速度與訓練效率優于ResNet-50,本文選擇ResNet-50作為骨干結構。ResNet-50由五個卷積塊組成,每個卷積塊包含多個殘差連接。每個卷積輸出特征圖都是通過在輸入特征圖上對卷積核進行卷積獲得的,定義為:
Fc(X;Wc)=Wc*X
(1)
其中,Wc表示卷積層的卷積核,并且省略了偏置項;X和Fc(X;Wc)分別表示輸入和輸出特征圖。為了滿足復雜場景下密集預測的需要,檢測網絡中去除了平均池化層、全連接層和分類層,通過連接兩個卷積層的結果進行裝甲目標預測,兩個卷積層的大小分別為3×3×256與1×1×2;最后,通過雙線性插值將預測特征圖上采樣到輸入圖像的大小。
P=I(Fs(X;W);α)
(2)
其中,X表示輸入圖像;P表示最終預測圖。Fs是最后一個卷積層(conv7)生成的輸出特征映射;I()表示參數為α的上采樣插值層。ResNet-50主干網的輸入圖像為光電設備探測到的紅外或者可見光圖像,最終得到復雜背景下不同尺度的裝甲目標檢測結果。通過對最近的深度網絡模型的分析,我們發現上下文信息在目標檢測任務中起著重要的作用。全局上下文有助于區分不同的目標,而局部上下文可以突出目標的細節。
為了獲得全局上下文特征,全局平均池化是常采用的方法,并已成功地應用于圖像分類任務。然而,直接采用1×1全局平均池化獲得特征不夠精細,并且會丟失目標間的空間位置信息[14]。為了解決這個問題,本文利用金字塔池化模塊捕獲全局上下文信息,該模塊可以將不同感受野信息融合進行融合,并整合多尺度特征來提取局部上下文信息,得到具有更明顯的細節和局部邊界。
本文采用的金字塔池網絡包括四個金字塔池化模塊,每個模塊連接在每個卷積塊的最后一個卷積層后面。每一個卷積塊的輸出特征映射與四個尺度金字塔特征級聯,其等式如下所示:
Si=σ(Wi*Cat(Wi,1*PP1(Xi),…,Wi,n
*PPn(Xi))
(3)
其中,Xi(i∈{2,3,4,5})表示為第i個卷積塊的輸出;PPn表示在第n級的金字塔池化操作n∈{1,2,3,4},Wi,n表示1×1卷積的權重;σ表示激活函數。最終獲得第i個旁路目標預測輸出Si。由于輸出的特征尺度變小,本文構造一個上采樣層,通過雙線性插值獲得與輸出圖像相同大小的特征映射,然后將四個金字塔池模塊的輸出連接起來,形成最終的多尺度金字塔池化語義特征。

(4)
其中,lside表示用于側邊分支輸出的損失函數,該損失函數在訓練樣本對中的所有像素上計算;αm用于調節不同尺度下側邊輸出層的權值。值得注意的是,側邊輸出層通過反卷積層連接到主干網絡層,并且其參數被固定以實現雙線性插值。由于該網絡與FCN的上采樣過程是相同的,且通過與每個像素的基準標簽比較,可以計算出每個側邊輸出層的交叉熵損失函數。同時,所有側邊輸出層都是跨連接的,能夠通過反向傳播更新訓練參數。由于訓練樣本的基準數據存在偏差,一些學者通過對每像素類增加一個平衡權重參數β,能夠自動平衡正負類之間的偏差損失,這將抵消邊緣/內部(y=1)和非邊緣/外部(y=0)樣本之間的不平衡。也就是說,等式(4)可以轉換成類平衡交叉熵損失函數:
(5)

(6)

(P,w,h)=argmin(λside(P,w)+λλfuse(P,w,h))
(7)
其中,λ表示權值參數,設置為0.12。
目前國內外沒有公開的復雜場景下裝甲車輛目標數據集,大多數基于深度學習的裝甲目標智能分析算法都是科研團隊自行收集的數據集,其中以兵器209所唐中和團隊牽頭制備的數據集最為全面[16]。然而,這些數據集都未公開。因此,為了評估本文提出的基于多尺度金字塔池化模型的整體嵌套卷積網絡裝甲檢測算法性能,選用了開源的汽車數據集(http://ai.stanford.edu/~jkrause/cars/car_dataset.html)進行遷移學習。項目組也在預研項目的支撐下,收集了大量影視作品中出現的外軍裝甲車輛。目前裝甲車輛可以分為戰斗車輛和保障車輛,其中戰斗車輛有坦克、步兵戰車、運輸車、自行火炮、裝甲偵察車、指揮車、裝甲通信車等;保障車輛有坦克架橋車、裝甲掃雷車、裝甲搶救車、裝甲救護車、裝甲供彈車等。可以看出,若按照功能分類,裝甲車輛的類別實在太多。因此,本文在現有數據集的基礎上,將裝甲目標分為履帶式戰車、輪式戰車與保障車輛,如圖2所示。值得注意的是,分類標準并不是唯一的,存在一些交叉結果。項目組也組織項目組成員對部分樣本進行了標注,其標注依據如下標準:

圖2 不同裝甲目標示例
履帶式戰車:由履帶驅動,攜帶大口徑武器系統或導彈發射系統,具有明顯的炮塔,如坦克、導彈發射車等。
輪式戰車:由車輪驅動,攜帶大口徑武器系統或導彈發射系統,大部分運行在公路上,如輪式火炮,6×6越野卡車等。
保障車輛:具備裝甲車輛的所有屬性,但沒有大口徑武器系統。如運兵車、雷達車、指揮車等。
表1展示了不同類別數據集的數量及標注數據。可以看出,本實驗采用的數據集不均衡,其中裝甲目標尺度范圍從10×10像素到600×410像素不等。這對算法的魯棒性與泛化能力提供了高的要求。

表1 數據集車型類別數量
本文提出的模型首先利用公開的基準車輛數據集進行預訓練,獲得收斂的網絡參數,并將該參數作為初始參數訓練本文提出的裝甲目標數據集(如圖4所示)。本文采用的主干網絡是ResNet-50,具有四個重復疊加卷積塊(Block-2,Block-3,Block-4,Block-5),通過在每層卷積塊上增加金字塔池化模塊,其中所有的數據樣本都歸一化到相同的尺度。本文所提出的網絡模型采用PyTorch 1.2.0深度學習框架,并在Pycharm中編程實現,其編程語言為Python 3.6。深度網絡采用的硬件平臺是Intel(R)Xeon(R)W-2102 CPU @2.90 GHz處理器和GeForce GTX 1080TI用于加速。為了提高優化效率,模型訓練方式采用Adam優化器對網絡進行優化,其參數設定為:Alpha=0.001,Beta1=0.9,Beta2=0.999和Epsilon=10-8。訓練過程中,加權損失函數的權值設置為 0.12。初始化設置學習速率為 0.15,首先將邊緣感知模塊訓練到第 50 個 Epoch 時,然后對多尺度金字塔池化網絡模塊進行優化,并將學習速率調整到 0.015; 若到達 100 個 Epoch 后,本文所提的損失值不超過迭代閾值則停止訓練。
本文提出的深度網絡模型的主要目的是檢測出圖像中的裝甲目標,并識別出目標的類型,其核心功能是檢測出裝甲目標,在此基礎上進行目標識別。因此本實驗的性能分析也分為兩部分:裝甲目標檢測功能與裝甲目標分能功能。
在評估本文分類模型的性能時,實驗采用檢測精度(AP)與mAP(meanAP)作為與作為裝甲車輛的評估指標,其中mAP(meanAP)是數據集中所有類別的的評估指標,其值越大表明模型對不同類型的目標識別越準確。目標檢測任務中,檢測結果存在表2所示的四種情況。可以看出,把正樣本正確分類為真,表示為TP(true positive);把正樣本錯誤分類為假,表示為FN(false negative);把負樣本正確分類為假,表示為TN(true negative);把負樣本錯誤分類為真,表示為FP(false positive)。因此,精確率與召回率可以采用如下等式表示,

表2 裝甲檢測結果統計量
Precision=TP/(TP+FP)
(8)
Recall=TP/(TP+FN)
(9)
為了更好地權衡精確率與召回率,本文引入了P-R曲線進行分析,其中P-R曲線下的面積就是檢測結果的AP值。
實驗選用了目前目標檢測領域性能較優的對比算法進行定性定量分析,分別是YOLO-v3[12]、SSD[17]、CoupleNet[18]、Cascade RCNN[19]、IM-Cascade[20]與ResNet[21],其中Cascade RCNN是基于RPN的兩階段網絡,生成自適應的檢測框;R-FCN 是基于區域生成的全卷積監測網絡,但不包含全連接層,所以檢測速度較快;CoupleNet 以 R-FCN 為基礎,融合了多尺度特征信息,檢測速度有所降低。所有的對比模型都能在Github上獲得開源代碼,由于不同代碼間存在配置結構與平臺的差異,其運行速度沒有可比較性。為了便于公平的定性定量的對比,所有的模型都采用公共車輛數據集進行參數初始化,并使用相同的訓練集進行微調與訓練。
本文提出了一種復雜場景下裝甲目標檢測與識別網絡,該網絡利用金字塔池化獲得多個旁路輸出層的不同尺度的全局結構信息,并對不同分支的邊緣感知通道進行有效融合,最終提升復雜背景下裝甲目標的檢測精度。為了驗證該網絡對復雜背景下的小尺度裝甲目標的檢測與識別性能,本文實驗將從目標檢測與分類識別兩個方面進行性能分析,其中前者主要對裝甲目標的檢測結果進行準確度分析,后者則對裝甲目標分類結果進行分析。
3.4.1 檢測精度對比
表3展示了不同算法模型的檢測結果。可以看到,Cascade RCNN與YOLO-v3在不同子集上的結果普遍較好,且結構類似。通過對實際測試樣本檢測結果分析可以看出,大多數漏檢集中在戈壁環境下弱小目標,尤其是目標距離較遠,且周邊存在草垛的場景,大多數網絡模型并不能準確的檢測出目標所在的位置。在水泥路面或平整干凈的地面場景下,大多數目標都能夠準確的檢測,但也存在視場角度導致采集的圖像只存在一個斜面,最終出現漏檢。真實的干凈場景下的大型裝甲目標的檢測性能表現良好,但對低于20×20尺寸的目標,其獲得的召回率和準確率要低得多,但也明顯高于其他對比算法。

表3 不同裝甲數據集下目標檢測精度
眾所周知,區域生成模塊是基于深度網絡的目標檢測應用的核心步驟,能夠生成有效的疑似樣本區域。為了確保檢測框覆蓋所有疑似樣本區域,就需要在圖像的遍歷各種尺度的區域。雖然目前區域生成網絡可以獲得疑似區域,比如顯著性檢測、聚類、泛洪等,但生成的樣本仍然存在大量與目標無關的區域。因此本文提出了一種邊緣語義感知模塊,可以計算出每個側邊輸出層的交叉熵損失函數,該網絡以邊緣輪廓為先驗,能夠提升目標識別的精度。圖3展示了給定數目的樣本集下每張圖像內目標的樣本數量,表征了目標檢測算法在不同檢測率下的統計結果。表3展示了不同方法對訓練數據集的平檢測精度。與其他方法相比,該模塊在中小型裝甲目標上具有更高的性能。從表中對比結果可以看出,相對于SSD與ResNet,所提模型分別提高了5.6 %和7.0 %的檢測性能。結果表明,本文方法對不同尺度的裝甲目標具有較好的檢測識別能力。

圖3 不同目標類別下的檢測精度
3.4.2 識別精度對比
為了進一步驗證多尺度金字塔語義池化網絡在裝甲目標檢測中的有效性,本小節進行了基于多尺度上下文融合策略的消融實驗。通過設置不同感受野尺度來分析語義特征的對性能的影響。顯然,增加語義特征的網絡可以提高低于20×20的小目標的召回率,這是由于是在較大尺度卷積特征往往具有更大的感受野,能夠捕獲裝甲目標周圍有更多的語義信息。對于小型裝甲目標,主干網絡中Block_2、Block_2、Block_4和Block_5能逐層提升目標表征能力。然而,并不是層數越多,表征能力約束。試驗中增加Block_5后,其獲得的召回率與準確度反而下降,這是是由于過擬合的緣故。
對于導彈接近目標或者機載設備飛臨目標頂上時,目標呈現的尺寸相當的大,部分目標甚至充滿整個視場。深度網絡在獲取區域生成候選樣本時,會裁剪成不同大小的樣本框,這種情況語義特征不能提升目標的檢測精度。例如,感受野可能只覆蓋到目標的局部區域,其召回率較低;相反,若目標在較小感受野內具有較大激活值時,其召回率較高。這也間接證實了語義特征僅僅對中小型目標檢測有效,而對大型目標的檢測性能提升不明顯。因此,本文采用了多尺度金字塔語義池化網絡在提取多尺度語義特征,能夠獲得較均衡的檢測性能。
本文提出的裝甲目標檢測方法在很大程度上優于Cascade RCNN、IM-Cascade,其召回率和精確度分別提升了6.5 %與7.8 %。圖4展示不同網絡模型對不同型號和不同尺寸裝甲目標的P-R曲線對比。可以看出,本文所提網絡對履帶式戰車的檢測精度優于輪式戰車與保障車輛。值得注意的是,本文提出的網絡引入空洞卷積思想,在保證卷積特征分辨率不變的基礎上提高弱小目標的檢測精度。另外,所提模型中區域生成網絡并不是采用最大池化實現,而是利用多孔空間金字塔池化將多尺度上下文特征進行融合,增強目標的表征能力與抗干擾性能。尤其是針對小尺寸目標,其采用的空洞卷積可以彌補丟失的感受野,而不會降低整體輪廓提取的精度。從測試數據集的結果可以看出,本文提出的網絡比Cascade RCNN在平均召回率上有了很大的提高。本文所提網絡對大型裝甲目標也有改進,這表明多尺度語義池化有助于提高對超大目標的檢測能力。實驗結果驗證了本文所提網絡在中小型裝甲目標檢測性能較好。

圖4 不同類別識別精度的P-R曲線
以上分析可知,本文算法、Cascade RCNN和YOLO-v3是最優的三種算法。為了降低篇幅,本文定性對比部分僅對這三類算法進行分析。圖5是不同對比算法對不同裝甲目標檢測的結果。由于不同類型的中小尺寸裝甲目標并不具有明顯的差異,5 km處的履帶式裝甲與輪式裝甲目標輪廓特征類似,僅僅針對單幅圖像很難準確區分。雖然類別上無法判斷,但裝甲目標的檢測精度較高。裝甲目標檢測與識別是一個動態的過程,必須結合目標跟蹤算法進行。從最開始發現目標開始跟蹤,直到目標可分辨時進行準確識別,勢必提升整體裝備的應用效果。圖5(a)中目標炮塔方向被遮擋,導致最終識別結果不準確,而本文算法可以結合輪廓信息進行判斷,雖然可能識別錯誤,但能準確檢測出目標。圖5(b)與5(d)目標的輪子被雜草遮擋,最終識別出來是一個保障車輛,而本文模型能能夠準確識別;圖5(c)中目標被煙霧遮擋,導致其識別結果不準確,但這些圖像的檢測性能較好。即便是Cascade RCNN與IM-Cascade已經不能很好的檢測出目標,但本文算法仍然可以標注出目標位置。主要歸咎于本文所提算法融合了邊緣感知網絡和金字塔池化語義網絡的優勢,使得本文算法能夠更好地適應目標的形態變化。

圖5 不同對比算法的定性結果
為了提升復雜場景下裝甲目標檢測與識別的精度,本文提出了一種基于多金字塔池化模型的整體嵌套卷積網絡,該網絡利用金字塔池化獲得多個旁路輸出層的不同尺度的全局結構信息,并利用不同分支的邊緣感知通道進行有效融合。仿真測試結果表明,本文所提的目標檢測識別網絡可以有效地提高復雜背景下裝甲目標的檢測與識別精度。由于本文使用數據集均是來自影視作品,因此未來的首要工作就是在此基礎上進一步擴充數據集,并對網絡結構進行優化和改進,嘗試移植到海思Hi3559芯片進行外場掛飛,從而提升模型網絡的實時性與工程應用效果。