鄧雪亞,肖秦琨
(西安工業大學兵器科學與技術學院,陜西西安710021)
適應現在戰場上技術的進步,掌握作戰信息的實時性和準確性是非常重要的。對戰場上的目標進行精確的檢測是實現戰場目標跟蹤打擊的重要基礎。僅僅依靠人工的方法對目標進行檢測是不行的,檢測精度和速度都跟不上戰場的實際需求。因此,發展具有自動檢測功能的坦克裝甲車輛是目前戰場信息化作戰的趨勢[1]。本文提出基于優化候選區域的戰場目標檢測研究,解決小目標和遮擋目標的檢測問題。
基于深度學習的目標檢測算法不斷地深入研究,Ren等[2]人,提出Faster R-CNN算法,該算法使用區域提取網絡(Region Proposal Networks,RPN),與檢測網絡共享特征圖很大地提高了目標檢測的速度。但Faster R-CNN算法對于小目標的深層次的特征提取不精確。一些研究者對Faster R-CNN算法進行了改進,用來解決目標檢測的復雜問題。Jipeng等[3],提出改進的Faster R-CNN結構,該算法將低層次和高層次的特征融合在一起用于小物體檢測,在檢測精度方面取得了一些進步,但仍存在一些問題。林國平等[4],采用了K-Means++聚類算法來代替原來Faster R-CNN算法中的RPN網絡來提取候選框,該改進算法對車輛有較高的檢測精度,但在物體模糊不清或者有遮擋發生時,會出現漏檢的情況。張御宇等[5],針對小尺度目標提出改進的Faster R-CNN算法,該算法增強了高低卷積層間的信息傳遞,增加錨的尺寸和錨框選擇策略,檢測準確率有了明顯的提高,但文中沒有考慮改進算法的耗時問題。
綜上所述,本文提出基于優化候選區域的Faster R-CNN算法主要針對小型目標和存在遮擋影響的目標檢測問題。1)在主網絡conv3-3和conv5-3卷積層的特征圖上分別設置不同大小的滑動窗口,來得到候選框,分別計算兩個卷積層上候選框與真實框的誤差,選擇誤差最小值,再從兩卷積層的誤差最小值中選擇較小者作為優化后的候選區域送入檢測網絡;2)對于RPN網絡滑動窗口的錨框,增加一個尺寸,來豐富候選框的數量和提高小型目標及遮擋目標候選框的精度;3)引入排斥損失來優化遮擋目標候選框的選擇。在坦克裝甲目標的數據集上,驗證本文算法解決小型目標和遮擋目標在檢測精度和檢測速率上的有效性。
如圖1所示為Faster R-CNN算法的檢測原理。區域提取網絡的目的是對輸入圖像提取出豐富的目標候選區域,以VGG-16網絡為例來進行說明。RPN網絡設置滑動窗口,卷積核的大小為n×n(n=3)可產生k個區域建議框,稱為錨[6]。錨設置為5122,2562和1282三種大小,具有1:1、1:2和2:1的比例。以滿足平移不變的屬性。每個滑動窗口內的特征映射到相應的低維度,通過ReLU[7]激活函數,將得到的矢量輸入到兩個卷積層,分別是目標判斷得分層(cls)和位置邊界回歸層(reg)實現目標候選區域的類別判定和位置邊界回歸[8]。

圖1 Faster R-CNN算法原理圖
由于視野范圍的不同,就會出現不同尺度的目標,導致目標的大小不一,對于檢測的精度會有影響[9-10]。小型的目標會出現檢測精度不高的問題,遮擋目標會影響目標的檢測精度。為了解決小型目標檢測精度不高和遮擋因素的問題,本文提出了一種基于優化候選區域的Faster R-CNN算法。軟件流程圖如圖2所示。

圖2 本文軟件流程圖
如圖3所示為,優化候選區域的Faster R-CNN算法總體框架結構。本文算法與傳統Faster R-CNN的改進之處有以下幾點:

圖3 本文算法的總體框架結構
1)在主網絡的卷積層(conv3-3,conv5-3)上分別設置不同大小的滑動窗口,來得到數量豐富的錨框。把目標圖像在卷積conv3-3層的特征圖上設置滑動窗口得到候選區域,conv5-3卷積層也同理。分別計算候選框與真實框的誤差,利用誤差比較的方法選出候選框誤差最小的,從兩層誤差最小的候選框中選擇精確度高的一層上的候選框,作為優化后的候選區域和對應層的特征圖送入檢測網絡,完成候選區域的特征提取及目標分類和邊界框的回歸修正。
2)RPN網絡中,在conv3-3層滑動窗口設置為5×5大小的窗口,conv5-3層滑動窗口設置為7×7和9×9大小的窗口。如圖4所示為改進的RPN網絡結構。每個滑動窗口在原RPN方法(5122,2562和1282)三種大小錨框選擇的基礎上增加一個642大小的錨框,每個大小的錨框還是按照三種比例尺寸。每個滑動窗口增加一個642大小尺寸的錨框,這樣在滑動窗口從特征圖上生成的候選框的數量增加,而且對于不同尺度目標生成候選框質量也會提高。

圖4 改進RPN結構
Zeiler等[11],對CNN的研究表明layer3主要是學習目標的紋理特征,layer5學習的是目標物體特有的特征以及全部的特征。傳統的Faster R-CNN算法是在卷積層的conv5-3層來生成特征圖,本文提出在conv3-3和conv5-3層來獲得目標的特征圖。因此,選擇conv3-3和conv5-3層的特征圖來產生候選區域,再進行誤差比較,選擇合適層的作為優化候選區域。
3)解決坦克和裝甲車輛存在遮擋影響的問題,提出排斥損失[12](Repulsion Loss,RepLoss)。其由兩個因素組成:引力項和其排斥項。引力項是目標的預測框盡可能的接近真實框。排斥項是要遠離遮擋物或其它非目標真實區域,增大與非目標區域的距離。RepLoss可以有效的防止目標預測框移動到其它遮擋物或非目標的區域上,從而可以提升檢測算法在遮擋目標上的魯棒性。
2.2.1 改進的RPN損失函數
損失函數的作用是判斷建議框和真實框之間的誤差。建議框與真實目標框重疊時,最高錨框的總和大于或等于0.7,該建議區域分配為正樣本標簽。建議框與真實框的重疊率低于0.3的時候,該建議區域分配為負樣本標簽[13]。損失函數采用反向傳播和梯度下降的方法,不斷地訓練網絡,調整參數。conv3-3和conv5-3層的損失函數是相同的,損失函數定義為
(1)

分類損失函數為
(2)
回歸損失函數為
(3)
其中R函數定義為
(4)
式(1)的兩部分由Ncls和Nreg歸一化分類損失項和回歸損失項,并由平衡參數λ加權。默認Ncls為512,Nreg為錨框的數量。
4個坐標的預測框和錨框的邊界回歸為
tX=(x-xa)/ωa,ty=(y-ya)/ha
tW=log(ω/ωa),th=log(h/ha)
(5)
4個坐標的真實框和錨框的邊界回歸為
(6)
其中x,y,w和h表示框的中心坐標及寬度和高度。x,xa和x*分別表示預測框、錨框和真實框的坐標,同理y,w,h類似。
對于解決遮擋目標的方法是采用排斥損失,本文考慮的是坦克裝甲車輛單目標的檢測,其排斥損失函數為
(7)
其中,LAttr是引力項;LRepGT是排斥項;j表示第幾層卷積層。
假設P=(lP,t,wP,hP)和G=(lG,tG,wG,hG)分別代表目標候選區域的邊界框坐標和真實框的邊界框坐標。l,t表示邊界框的左上角的坐標;w,h表示邊界框的寬度和高度;P+={P}表示目標候選框的集合。

(8)

(9)

RPN網絡的最小損失函數為
(10)
分別計算出conv3-3和conv5-3層的誤差,也即求出兩個卷積層的損失函數。根據式(10)分別求出conv3-3和conv5-3層的損失函數最小的L3和L5。從兩卷積層最小損失函數選出較小的損失函數,該損失函數對應的候選區域即是優化候選區域。用L表示誤差比較的結果,即為
L=min{L3,L5}
(11)
2.2.2 檢測網絡損失函數
檢測網絡中也存在目標的損失函數,同樣包括目標分類損失函數和位置邊界損失函數。檢測網絡的損失函數為
(12)


(13)
其中,|S+|表示正樣本數量,|S-|表示負樣本數量。邊界回歸損失函數與RPN網絡邊界損失函數相同。
2.2.3 網絡總損失函數
通過大量數據集的訓練,采用梯度下降的方法不斷地調整網絡的參數,最終使網絡的總損失達到最小。總損失函數用L*表示,即網絡的總損失函數為
L*=L+L′
(14)
訓練網絡使L*達到最小即可。
本文實驗環境是在Matlab軟件上,通過ImageNet數據集對VGG-16網絡進行模型的初始化。本文構建符合PASCAL VOC數據集格式的坦克裝甲目標數據集,坦克和裝甲車輛分別各有3000個圖像,其中75%為訓練數據集,25%為測試數據集。
在優化候選區域的Faster R-CNN算法上對坦克裝甲目標分別進行檢測,結果如圖5所示,檢測結果表明:在優化候選區域的Faster R-CNN算法上進行不同尺度的坦克裝甲車輛的檢測能達到很好的檢測效果。

圖5 不同尺度坦克裝甲車輛檢測效果圖
圖6是遮擋目標檢測結果。優化候選區域的Faster R-CNN算法的檢測精度很好,實驗結果表明優化候選區域的Faster R-CNN算法對目標的檢測有了提高。

圖6 背景相似和遮擋目標檢測結果
3.2.1 不同尺寸錨框的檢測分析
本文中改進的RPN網絡選擇每個滑動窗口增加一個錨框的尺寸來得到候選框。在坦克裝甲車輛的數據集上,用不同尺寸的錨框來進行檢測實驗,從中選擇最優的錨框大小。增加一個642大小的錨框,不僅能增加候選框的數量,還能提高小型目標生成候選框的精度。
從表1中可以得到,錨框大小為5122,2562,1282和642的檢測效果最好,因此,本文中選用這四種尺寸的錨框來獲取候選區域。

表1 不同尺寸錨框下目標的檢測結果
3.2.2 不同卷積層下目標的檢測分析
文中采用卷積conv3-3和conv5-3層分別提取特征完成目標檢測,在坦克裝甲車輛的數據集上進行驗證對比如表2所示。
從表2中可以看出:1)本文中選擇的卷積層(conv3-3和conv5-3層)與傳統的Faster R-CNN算法采用的卷積層相比較,目標檢測精度有明顯的提高。因為傳統的Faster R-CNN算法在卷積層的最后一層上生成目標的特征圖,文中在卷積層conv3-3和conv5-3上分別生成特征圖,再分別生成候選框,通過誤差比較的方法選擇合適層上的候選區域作為優化候選區域;2)本文中卷積層的選擇與文獻[14]中選擇相同,結果說明該算法的有效性;3)在數據集上分別進行了不同卷積層組合下的目標檢測實驗,結果表明該算法在conv3-3和conv5-3層上有較好的檢測精度。因此本文中選擇卷積conv3-3和conv5-3層分別提取目標特征。

表2 不同卷積層下目標的檢測結果
3.2.3 改進的RPN檢測分析
本文算法是用改進的RPN網絡來提取候選區域。提取候選區域耗時的對比如表3所示。

表3 提取候選區域精度和時間對比
可以從中得到以下信息:提取相同數量的候選框時,改進的RPN網絡的平均精度更高,說明提取候選框的質量更高。R-CNN和Fast R-CNN算法中候選區域的產生是通過選擇性搜索(Selective Search,SS)方法,而改方法提取相同數量的候選框花費的時間更多,RPN算法為整體檢測系統節省了不少時間。
3.2.4 不同尺度目標的檢測分析
在坦克和裝甲車輛的數據集上對三種尺度的目標進行本文算法和Faster R-CNN算法以及文獻[17]中改進算法進行對比實驗,結果如表4所示。

表4 不同尺度目標的檢測精度對比
本文算法與Faster R-CNN算法比較,三種尺度下的目標檢測精度都有明顯的提高,本文中對于目標多層次的特征信息能很好的提取出來。文獻[10]與本文算法相比較,進一步說明本文中算法的有效性。
3.2.5 其它影響因素下目標檢測分析
存在遮擋和背景相似的坦克裝甲目標進行檢測,與Faster R-CNN算法上的檢測精度對比如表5所示。可以得到:影響因素在改進算法上的檢測精度比Faster R-CNN算法上的檢測精度有了明顯的提高,說明本文算法對遮擋和背景相似的檢測提供了一個新的方向。

表5 存在檢測精度和平均速度的對比
3.2.6 坦克裝甲目標的檢測分析
本文算法與其它目標檢測算法的檢測精度和平均速度的對比結果如表6所示。可得:1)本文算法對目標的平均檢測精度為82.6%。本文的改進算法比傳統算法和其它改進算法的平均精度相比有所提高。文獻[15]是采用人工的方法進行目標的檢測,精測精度不高。在同樣的數據集上進行其它三種傳統方法的檢測實驗,結果表明本文檢測算法的性能指標更優。

表6 坦克裝甲目標檢測精度和平均速度的對比
一個原因是輸入圖像進行不同卷積層的目標候選區域的提取,再進行誤差比較篩選出精確度高的目標候選區域。另一個原因是引入排斥損失來優化遮擋目標候選框的選擇。與文獻[16],[17]和[18]對比可得,本文所提的優化候選區域的Faster R-CNN算法對小型目標和存在遮擋目標的檢測精度和速度更優。在兩個卷積層的特征圖上分別設置不同的滑動窗口,比較兩個卷積層上候選框的誤差選出精確度高的候選框作為優化后的候選區域。由表1和表2的實驗數據可以得到改進算法的提出,使目標檢測的整體精度有所提高。
本文算法在坦克裝甲車輛的數據集上,目標召回率和檢測精度的曲線如圖7所示。從圖中可以看出,隨著樣本數量的增加,目標的召回率會不斷地增加,在目標召回率增加的同時,目標的檢測精度呈震蕩變化,但總體是呈下降的趨勢。實驗表明,高召回率的條件下能有高的精度,說明本文算法提高了目標的檢測精度。

圖7 精度-召回率曲線
本文提出優化候選區域的算法,在主網絡的conv3-3和cnv5-3卷積層的特征圖,分別滑動不同的窗口來提取目標候選框,同時,引入排斥損失來優化遮擋目標候選框的選擇,利用誤差比較的方法選出最優的候選框。每個滑動窗口,增加一個642大小的錨框,豐富候選框的數量。在坦克裝甲車輛數據集上進行實驗,與傳統方法對比,結果表明:不同尺度目標和遮擋目標在檢測速率和平均精度性能方面更好。為戰場目標實現自動化檢測提供了一個新思路。下一步工作的任務是在此算法的基礎上進行改進,實現嚴重遮擋的戰場目標準確檢測的問題。