朱興動,田少兵,黃 葵,范加利,王 正,陳化成
(1.海軍航空大學岸防兵學院,山東煙臺264001; 2.海軍航空大學(青島校區(qū))艦面航空保障與場站管理系,山東青島266041)
(?通信作者電子郵箱745157824@qq.com)
當前,計算機視覺技術發(fā)展迅速,圖像目標檢測已經(jīng)廣泛應用于軍事國防領域。大力發(fā)展圖像目標檢測技術對于提升戰(zhàn)斗力和人員裝備安全有著至關重要的作用。現(xiàn)代航母是以艦載機為主要作戰(zhàn)武器的大型水面艦艇,航母甲板面目標檢測對于保障艦載機裝備安全、提高飛機調(diào)運效率具有重要的意義。
傳統(tǒng)的飛機目標檢測算法主要有統(tǒng)計模式法、神經(jīng)網(wǎng)絡法、模板匹配法[1]等檢測算法。這些算法大多提取原始圖像中的特征組成特征向量,之后則利用適當?shù)姆诸惼鬟M行檢測和分類[2]。目前在圖像識別領域中常用的特征提取算法有很多,如尺度不變特征轉(zhuǎn)換(Scale-Invariant Feature Transform,SIFT)和梯度直方圖(Histogram of Oriented Gradient,HOG)[3]。這類算法本質(zhì)上是人工提取特征,主觀干涉較多,提取過程較為復雜且精度難以提高,而且難以適應復雜多變的環(huán)境,泛化能力較差。
近些年來,深度學習在計算機視覺領域中迅速發(fā)展,基于深度卷積神經(jīng)網(wǎng)絡的目標檢測得到了廣泛的應用[4]。卷積神經(jīng)網(wǎng)絡因其參數(shù)共享、下采樣、反向傳播等處理方式,在目標檢測方面的效果遠超于傳統(tǒng)的目標檢測算法,在一定程度上保證了平移、旋轉(zhuǎn)、尺度和光照不變性[5-6],而且能夠?qū)D像中的目標直接全面地獲取特征,避免了人為的干擾,學習能力強、檢測精度高。更快的區(qū)域卷積神經(jīng)網(wǎng)絡(Faster Region with Convolutional Neural Network,F(xiàn)aster R-CNN)[7-8]提出了區(qū)域建議網(wǎng)絡(Region Proposal Network,RPN)取代了區(qū)域卷積神 經(jīng) 網(wǎng) 絡(Region with Convolutional Neural Network,RCNN)[9]、快 速 區(qū) 域 卷 積 神 經(jīng) 網(wǎng) 絡(Fast Region with Convolutional Neural Network,F(xiàn)ast R-CNN)[10]的選擇性搜索算法,大幅降低了生成候選區(qū)域的時間開銷,實現(xiàn)了真正意義上的端到端訓練,識別精度高,使實時檢測成為可能。文獻[5]針對車輛檢測應用中易受目標尺度和光照影響、泛化能力較差的問題,結(jié)合多尺度訓練和難負樣本挖掘策略對Faster RCNN算法進行改進,取得了良好的效果。文獻[6]針對Faster R-CNN算法在小尺度坦克裝甲車輛目標檢測方面存在的問題,根據(jù)目標尺度不同在不同深度的卷積層上設置合理的滑動窗口,并提出選擇性池化策略,改進后算法對多種尺度的坦克目標均取得了良好的檢測效果。但是兩者均未對遮擋目標檢測進行改進,文獻[8]針對遮擋目標檢測效果差的問題,提出了局部標注和時空上下文策略,一定程度降低了遮擋對檢測的影響。
目前,航母甲板面艦載機的狀態(tài)主要有機翼折疊和展開兩種。由于航母甲板面空間相對較小,艦載機之間通常遮擋區(qū)域較大,而大面積區(qū)域的遮擋常常造成飛機目標圖像信息的嚴重損失,使得無法對目標進行準確的檢測;且由于航母甲板面比較狹長,艦載機目標尺度差異容易對檢測模型造成影響。對此,本文以Faster R-CNN算法為基礎,提出排斥損失策略,即阻止候選區(qū)域平移到周圍其他目標及其預測框,并結(jié)合多尺度訓練策略,解決了較大部分遮擋的艦載機目標檢測問題,對于光照和目標尺度的影響也具有良好的檢測效果,提高了檢測模型的魯棒性,實現(xiàn)了對艦載機目標的準確檢測。
Faster R-CNN算法結(jié)構(gòu)如圖1所示,主要由特征提取網(wǎng)絡、RPN和檢測網(wǎng)絡組成。特征提取網(wǎng)絡采用VGG16網(wǎng)絡結(jié)構(gòu),該網(wǎng)絡輸出的特征圖由RPN網(wǎng)絡和檢測網(wǎng)絡共享。
圖1 Faster R-CNN算法結(jié)構(gòu)Fig.1 Structureof Faster R-CNNalgorithm
特征提取網(wǎng)絡的主要作用是提取輸入圖像的深層卷積特征。VGG16網(wǎng)絡由13個卷積層和4個池化層組成,卷積核大小均為3×3,池化核大小均為2×2,卷積層通過權值共享大大減少了網(wǎng)絡的訓練參數(shù)。通過對輸入的圖像多層卷積和池化,可以逐漸提取深層次的圖像特征。該網(wǎng)絡在最后一個卷積層輸出圖像特征,送入后續(xù)的網(wǎng)絡進行目標的分類和回歸。
在VGG16網(wǎng)絡最后一層卷積層之后添加一個3×3的卷積層和兩個并行的全連接層來構(gòu)建RPN。RPN的輸入為原始圖像所提取出的特征圖,輸出一系列的候選框及其是否為目標的得分。RPN結(jié)構(gòu)示意圖如圖2所示。
RPN在卷積神經(jīng)網(wǎng)絡最后一個共享卷積層特征圖上增加一個3×3滑動窗口,每個滑動窗口在原始圖像上對應9個(本文中k=9)不同大小的錨框,尺度為128×128、256×256和512×512,比例為1∶1、1∶2和2∶1。滑動窗口在特征圖上滑動時會映射成一個512維的特征向量,將該向量輸入到后續(xù)兩個并行的全連接網(wǎng)絡中,一個使用softmax判定候選區(qū)域是目標還是背景,另一個計算該區(qū)域的坐標回歸參數(shù)。因此一個全連接層輸出2×9維向量,分別對應9個錨框目標和背景的得分,另一個全連接層輸出4×9維向量,分別對應9個錨框相對于真實目標框的回歸參數(shù)。
圖2 RPN結(jié)構(gòu)Fig.2 Structureof RPN
在訓練RPN時,需要為每一個候選框都分配一個標簽。本文分配標簽的方法如下:
1)與某個目標真實區(qū)域有最大交并比(Intersection-over-Union,IoU)的候選框標記為正標簽,這樣可以保證每個真實區(qū)域至少對應一個正標簽候選區(qū)域。
2)與任意目標真實區(qū)域IoU大于0.7的候選框標記為正標簽。
3)與所有目標真實區(qū)域IoU小于0.3的候選框標記為負標簽。
從得到的正負樣本中隨機抽取256個候選框組成一個小批量數(shù)據(jù)集用于模型訓練,而且正負樣本的比例為1∶1。若正樣本不夠,則隨機補充一些負樣本以滿足256個候選框用于訓練。
圖像的損失函數(shù)定義為:
式中:i為第i個候選區(qū)域的索引,pi是第i個候選框是目標的概率。若候選框的標簽為正樣本,則pi?為1,否則pi
?為0。t i為預測目標邊界框的4個坐標參數(shù)向量,t i*為對應的真實目標區(qū)域的4個坐標參數(shù)向量。分類損失Lcls是目標和非目標的對數(shù)損失,定義為:
對于邊界框,一般用4維向量(x,y,w,h)表示,用于目標邊界框回歸的4個坐標參數(shù)為:
其中:(x,y)表示預測的邊界框的中心坐標,w和h為其寬和高;(xa,ya)為候選框的中心坐標,wa和ha為其寬和高;(x*,y*)為真實目標區(qū)域邊界框的坐標,w*和h*為其寬和高。Ncls和Nreg為損失函數(shù)的歸一化參數(shù),實驗中設置為256和2 400;λ用于平衡二者,實驗中設置為10。
檢測網(wǎng)絡由感興趣區(qū)域(Regions Of Interest,ROI)池化層和兩個并行的全連接網(wǎng)絡構(gòu)成。采用ROI的目的是將不同尺寸的候選框最后都統(tǒng)一到7×7的大小,實現(xiàn)了固定長度輸出。輸入全連接層的特征向量為7×7×512,分別輸入分類層和回歸層。分類層利用Softmax識別候選框的圖像類別,回歸層用于對候選框內(nèi)的目標位置再次進行修正,綜合分類層與回歸層的輸入可得到候選框區(qū)域更加準確的類別和位置信息,即最后的目標檢測結(jié)果。
在實際應用場景中,由于航母甲板面空間狹小,甲板作業(yè)過程當中,各艦載機之間容易相互遮擋,當目標A與目標B重疊時,因為兩架艦載機目標具有相似的外觀特征,檢測模型容易混淆。因此,A的預測框可能會轉(zhuǎn)移到B,導致不準確的定位。而且在非極大值抑制(Non-Maximum Suppression,NMS)的過程中,可通過B的非極大值抑制來抑制來自目標A的候選區(qū)域邊界框,使A變成漏檢。而且,艦載機遮擋使檢測模型對于NMS閾值比較敏感,較高的閾值會導致錯誤的檢測,過低的閾值會引起漏檢。
其次,由于航母甲板面狹長,遠近艦載機目標尺度相差較大。原算法使用單一尺度對模型進行訓練,存在部分較遠目標漏檢的情況。
針對Faster R-CNN在遮擋目標檢測方面存在的問題,受磁鐵吸引和排斥的特性啟發(fā),提出了排斥損失(Repulsion Loss,RepLoss)[11]。在排斥損失中,每個預測框不僅要求其接近其真實目標,而且要求遠離其他目標的真實區(qū)域以及預測框[12],即RepLoss邊界回歸量由兩個因素組成:目標的引力和其他周圍目標的斥力。如圖3中,當預測框平移到B是將會給予額外的懲罰,因此,RepLoss可以有效防止預測框移動到周圍相鄰的遮擋目標上,使得檢測模型對遮擋目標更加魯棒。
圖3 排斥損失示意圖Fig.3 Schematic diagram of repulsion loss
本文中定義排斥損失如下:
其中:LAttr是引力項,它要求預測框接近其真實目標;LRepGT和LRepBox是排斥項,分別要求預測框遠離周圍其他真實目標和其他目標的預測框;系數(shù)α和β作為平衡輔助損失的權重,實驗中α和β和分別均設置為 0.5。設P=(l P,tP,wP,hP)和G=(l G,tG,wG,hG)為目標建議框和真實目標框,(l,t)代表它們左上角的坐標點,w和p分別為它們的寬度和高度。P+={P}是所有標簽為正的目標建議框的集合,g={G}是一個圖像中所有真實目標框的集合。是一個平滑的ln函數(shù),σ∈[0,1)是調(diào)整排斥損失對異常值的敏感性的平滑參數(shù),實驗中設置為0.5。
NMS是大多數(shù)檢測算法中必要的后續(xù)步驟,然而,NMS會對遮擋飛機目標檢測結(jié)果產(chǎn)生顯著影響。為了降低檢測模型對NMS的敏感性,進一步提出了RepBox損失,其目的是排斥其他目標的目標建議框。根據(jù)每個目標的建議框,將建議集P+分為|g|個相互不相交的子集P+=P1∩P2∩…∩P|g|,然后對于從兩個不同子集隨機采樣的兩個建議框,其中期望其預測框B Pi和B Pj的重疊將盡可能小,其中i,j∈ 1,2,…,|g|并且i≠j。因此,計算RepBox損失為:
其中:Ι為判別函數(shù);ε是一個很小的常數(shù),防止除以0的情況。
則最終的損失函數(shù)定義為:
式中λ是用于平衡排斥損失與原Faster R-CNN模型損失的權重參數(shù),取0.05。
本文采用多尺度訓練策略,原圖像尺寸為1 024×768,將每張圖片再增加兩種尺寸,分別為600×600、800×800。每次訓練迭代時隨機選取每張圖片三種尺度中的一種輸入網(wǎng)絡進行訓練。訓練出來的模型對目標尺度變化具有一定的魯棒性。
本文利用實驗室條件采集了1 100張不同角度下航母甲板面艦載機的圖像數(shù)據(jù)并將其轉(zhuǎn)化為VOC2007數(shù)據(jù)集格式用于訓練網(wǎng)絡,每張圖片中最多包含5架飛機,飛機的狀態(tài)有兩種:機翼折疊狀態(tài)和機翼展開狀態(tài)。此外還采集了100張不同程度遮擋和不同光照條件的圖像用于測試本文改進后模型的有效性。數(shù)據(jù)集分配如表1所示。
深度學習框架有很多,目前比較流行的有tensorflow、caffe、pytorch等。Tensorflow由于支持平臺多,其張量從流圖的一端流動到另一端計算過程更有利于模型的實現(xiàn),具體實驗環(huán)境如下所示:
硬件環(huán)境 CPU為Inter Core i7-9700,8 GB內(nèi)存,GPU為GeFoece GTX 1660Ti。
軟件環(huán)境 框架為Tensorflow,語言為Python,操作系統(tǒng)為Windows 10。
表1 實驗數(shù)據(jù)集Tab.1 Experimental datasets
為了驗證本文算法在解決遮擋問題時的有效性,引入召回率(recall)和準確率(precision)來評價改進模型的性能,precision反映的是被檢測模型判定為正確目標中真正的正樣本的比重,recall反映的是被檢測模型正確判定為正確目標的正樣本占總的正樣本的比重。計算公式如下:
其中:TP(True Positive)表示檢測正確的正樣本;FN(False Negative)表示檢測錯誤的負樣本;FP(Flase Positive)表示檢測錯誤的正樣本。。
1)相同圖片不同模型的檢測性能對比。
利用上述訓練集分別用原始的Faster R-CNN模型、文獻[6]中改進的Faster R-CNN算法和本文改進的Faster R-CNN模型進行訓練,并對訓練的模型使用100張測試集圖片(總共包含432個飛機目標)進行檢測性能測試,不同檢測模型的性能參數(shù)如表2所示,檢測效果如圖4所示。
圖4 兩種模型檢測效果與原圖對比Fig.4 Comparison between thedetection resultsof twomodelsand the original images
表2 相同圖片不同模型的檢測性能Tab.2 Detection performanceof different models for thesamepicture
圖4(b)和(c)分別為原始Faster R-CNN模型與本文提出的改進模型檢測效果,結(jié)合表2與圖4可以得出本文所提模型在精確率和召回率方面均高于原始FasterR-CNN模型和文獻[6]中的改進模型,對遮擋程度比較大的艦載機目標也具有良好的檢測效果。相對于原始Faster R-CNN模型,本文提出的改進模型召回率提升了約7個百分點,精確率提高了約6個百分點;相對于文獻[6]中改進算法召回率提升了約3個百分點,精確率約提高了2個百分點,檢測速度也滿足了實時性要求。
2)不同光照下改進Faster R-CNN檢測效果。
從上述100張測試集檢測結(jié)果中選取不同光照條件的圖片進行對比,檢測結(jié)果如圖5所示。圖5(a)為光照較強的檢測效果,圖5(b)為光照較弱的檢測效果,可以看出,對于不同光照條件,改進后模型都能夠有效檢測出艦載機目標,魯棒性較高。
本文針對航母甲板面遮擋艦載機目標檢測難度大、且檢測模型易受光照和目標尺度影響的問題,在原始Faster RCNN檢測模型損失函數(shù)中加入了排斥損失策略進行改進,并結(jié)合多尺度訓練策略,較好地解決了遮擋目標的檢測問題,且對不同的光照條件和目標尺度均具有良好的檢測效果,模型的魯棒性較高,檢測準確率和實時性能夠滿足實際需要。
由于目前缺乏大型的航母甲板面艦載機圖像數(shù)據(jù)集,導致本文中用于訓練的圖像數(shù)據(jù)較少,如何利用小樣本數(shù)據(jù)集對網(wǎng)絡進行高效的訓練,今后仍需研究,且本文提出的模型對硬件要求較高,如何在保證達到實際需要的前提下降低硬件平臺要求,也是一個值得研究的問題。