鄧雪亞,肖秦琨
(西安工業(yè)大學(xué)兵器科學(xué)與技術(shù)學(xué)院,陜西西安710021)
適應(yīng)現(xiàn)在戰(zhàn)場(chǎng)上技術(shù)的進(jìn)步,掌握作戰(zhàn)信息的實(shí)時(shí)性和準(zhǔn)確性是非常重要的。對(duì)戰(zhàn)場(chǎng)上的目標(biāo)進(jìn)行精確的檢測(cè)是實(shí)現(xiàn)戰(zhàn)場(chǎng)目標(biāo)跟蹤打擊的重要基礎(chǔ)。僅僅依靠人工的方法對(duì)目標(biāo)進(jìn)行檢測(cè)是不行的,檢測(cè)精度和速度都跟不上戰(zhàn)場(chǎng)的實(shí)際需求。因此,發(fā)展具有自動(dòng)檢測(cè)功能的坦克裝甲車(chē)輛是目前戰(zhàn)場(chǎng)信息化作戰(zhàn)的趨勢(shì)[1]。本文提出基于優(yōu)化候選區(qū)域的戰(zhàn)場(chǎng)目標(biāo)檢測(cè)研究,解決小目標(biāo)和遮擋目標(biāo)的檢測(cè)問(wèn)題。
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法不斷地深入研究,Ren等[2]人,提出Faster R-CNN算法,該算法使用區(qū)域提取網(wǎng)絡(luò)(Region Proposal Networks,RPN),與檢測(cè)網(wǎng)絡(luò)共享特征圖很大地提高了目標(biāo)檢測(cè)的速度。但Faster R-CNN算法對(duì)于小目標(biāo)的深層次的特征提取不精確。一些研究者對(duì)Faster R-CNN算法進(jìn)行了改進(jìn),用來(lái)解決目標(biāo)檢測(cè)的復(fù)雜問(wèn)題。Jipeng等[3],提出改進(jìn)的Faster R-CNN結(jié)構(gòu),該算法將低層次和高層次的特征融合在一起用于小物體檢測(cè),在檢測(cè)精度方面取得了一些進(jìn)步,但仍存在一些問(wèn)題。林國(guó)平等[4],采用了K-Means++聚類(lèi)算法來(lái)代替原來(lái)Faster R-CNN算法中的RPN網(wǎng)絡(luò)來(lái)提取候選框,該改進(jìn)算法對(duì)車(chē)輛有較高的檢測(cè)精度,但在物體模糊不清或者有遮擋發(fā)生時(shí),會(huì)出現(xiàn)漏檢的情況。張御宇等[5],針對(duì)小尺度目標(biāo)提出改進(jìn)的Faster R-CNN算法,該算法增強(qiáng)了高低卷積層間的信息傳遞,增加錨的尺寸和錨框選擇策略,檢測(cè)準(zhǔn)確率有了明顯的提高,但文中沒(méi)有考慮改進(jìn)算法的耗時(shí)問(wèn)題。
綜上所述,本文提出基于優(yōu)化候選區(qū)域的Faster R-CNN算法主要針對(duì)小型目標(biāo)和存在遮擋影響的目標(biāo)檢測(cè)問(wèn)題。1)在主網(wǎng)絡(luò)conv3-3和conv5-3卷積層的特征圖上分別設(shè)置不同大小的滑動(dòng)窗口,來(lái)得到候選框,分別計(jì)算兩個(gè)卷積層上候選框與真實(shí)框的誤差,選擇誤差最小值,再?gòu)膬删矸e層的誤差最小值中選擇較小者作為優(yōu)化后的候選區(qū)域送入檢測(cè)網(wǎng)絡(luò);2)對(duì)于RPN網(wǎng)絡(luò)滑動(dòng)窗口的錨框,增加一個(gè)尺寸,來(lái)豐富候選框的數(shù)量和提高小型目標(biāo)及遮擋目標(biāo)候選框的精度;3)引入排斥損失來(lái)優(yōu)化遮擋目標(biāo)候選框的選擇。在坦克裝甲目標(biāo)的數(shù)據(jù)集上,驗(yàn)證本文算法解決小型目標(biāo)和遮擋目標(biāo)在檢測(cè)精度和檢測(cè)速率上的有效性。
如圖1所示為Faster R-CNN算法的檢測(cè)原理。區(qū)域提取網(wǎng)絡(luò)的目的是對(duì)輸入圖像提取出豐富的目標(biāo)候選區(qū)域,以VGG-16網(wǎng)絡(luò)為例來(lái)進(jìn)行說(shuō)明。RPN網(wǎng)絡(luò)設(shè)置滑動(dòng)窗口,卷積核的大小為n×n(n=3)可產(chǎn)生k個(gè)區(qū)域建議框,稱(chēng)為錨[6]。錨設(shè)置為5122,2562和1282三種大小,具有1:1、1:2和2:1的比例。以滿(mǎn)足平移不變的屬性。每個(gè)滑動(dòng)窗口內(nèi)的特征映射到相應(yīng)的低維度,通過(guò)ReLU[7]激活函數(shù),將得到的矢量輸入到兩個(gè)卷積層,分別是目標(biāo)判斷得分層(cls)和位置邊界回歸層(reg)實(shí)現(xiàn)目標(biāo)候選區(qū)域的類(lèi)別判定和位置邊界回歸[8]。
圖1 Faster R-CNN算法原理圖
由于視野范圍的不同,就會(huì)出現(xiàn)不同尺度的目標(biāo),導(dǎo)致目標(biāo)的大小不一,對(duì)于檢測(cè)的精度會(huì)有影響[9-10]。小型的目標(biāo)會(huì)出現(xiàn)檢測(cè)精度不高的問(wèn)題,遮擋目標(biāo)會(huì)影響目標(biāo)的檢測(cè)精度。為了解決小型目標(biāo)檢測(cè)精度不高和遮擋因素的問(wèn)題,本文提出了一種基于優(yōu)化候選區(qū)域的Faster R-CNN算法。軟件流程圖如圖2所示。
圖2 本文軟件流程圖
如圖3所示為,優(yōu)化候選區(qū)域的Faster R-CNN算法總體框架結(jié)構(gòu)。本文算法與傳統(tǒng)Faster R-CNN的改進(jìn)之處有以下幾點(diǎn):
圖3 本文算法的總體框架結(jié)構(gòu)
1)在主網(wǎng)絡(luò)的卷積層(conv3-3,conv5-3)上分別設(shè)置不同大小的滑動(dòng)窗口,來(lái)得到數(shù)量豐富的錨框。把目標(biāo)圖像在卷積conv3-3層的特征圖上設(shè)置滑動(dòng)窗口得到候選區(qū)域,conv5-3卷積層也同理。分別計(jì)算候選框與真實(shí)框的誤差,利用誤差比較的方法選出候選框誤差最小的,從兩層誤差最小的候選框中選擇精確度高的一層上的候選框,作為優(yōu)化后的候選區(qū)域和對(duì)應(yīng)層的特征圖送入檢測(cè)網(wǎng)絡(luò),完成候選區(qū)域的特征提取及目標(biāo)分類(lèi)和邊界框的回歸修正。
2)RPN網(wǎng)絡(luò)中,在conv3-3層滑動(dòng)窗口設(shè)置為5×5大小的窗口,conv5-3層滑動(dòng)窗口設(shè)置為7×7和9×9大小的窗口。如圖4所示為改進(jìn)的RPN網(wǎng)絡(luò)結(jié)構(gòu)。每個(gè)滑動(dòng)窗口在原RPN方法(5122,2562和1282)三種大小錨框選擇的基礎(chǔ)上增加一個(gè)642大小的錨框,每個(gè)大小的錨框還是按照三種比例尺寸。每個(gè)滑動(dòng)窗口增加一個(gè)642大小尺寸的錨框,這樣在滑動(dòng)窗口從特征圖上生成的候選框的數(shù)量增加,而且對(duì)于不同尺度目標(biāo)生成候選框質(zhì)量也會(huì)提高。
圖4 改進(jìn)RPN結(jié)構(gòu)
Zeiler等[11],對(duì)CNN的研究表明layer3主要是學(xué)習(xí)目標(biāo)的紋理特征,layer5學(xué)習(xí)的是目標(biāo)物體特有的特征以及全部的特征。傳統(tǒng)的Faster R-CNN算法是在卷積層的conv5-3層來(lái)生成特征圖,本文提出在conv3-3和conv5-3層來(lái)獲得目標(biāo)的特征圖。因此,選擇conv3-3和conv5-3層的特征圖來(lái)產(chǎn)生候選區(qū)域,再進(jìn)行誤差比較,選擇合適層的作為優(yōu)化候選區(qū)域。
3)解決坦克和裝甲車(chē)輛存在遮擋影響的問(wèn)題,提出排斥損失[12](Repulsion Loss,RepLoss)。其由兩個(gè)因素組成:引力項(xiàng)和其排斥項(xiàng)。引力項(xiàng)是目標(biāo)的預(yù)測(cè)框盡可能的接近真實(shí)框。排斥項(xiàng)是要遠(yuǎn)離遮擋物或其它非目標(biāo)真實(shí)區(qū)域,增大與非目標(biāo)區(qū)域的距離。RepLoss可以有效的防止目標(biāo)預(yù)測(cè)框移動(dòng)到其它遮擋物或非目標(biāo)的區(qū)域上,從而可以提升檢測(cè)算法在遮擋目標(biāo)上的魯棒性。
2.2.1 改進(jìn)的RPN損失函數(shù)
損失函數(shù)的作用是判斷建議框和真實(shí)框之間的誤差。建議框與真實(shí)目標(biāo)框重疊時(shí),最高錨框的總和大于或等于0.7,該建議區(qū)域分配為正樣本標(biāo)簽。建議框與真實(shí)框的重疊率低于0.3的時(shí)候,該建議區(qū)域分配為負(fù)樣本標(biāo)簽[13]。損失函數(shù)采用反向傳播和梯度下降的方法,不斷地訓(xùn)練網(wǎng)絡(luò),調(diào)整參數(shù)。conv3-3和conv5-3層的損失函數(shù)是相同的,損失函數(shù)定義為
(1)
分類(lèi)損失函數(shù)為
(2)
回歸損失函數(shù)為
(3)
其中R函數(shù)定義為
(4)
式(1)的兩部分由Ncls和Nreg歸一化分類(lèi)損失項(xiàng)和回歸損失項(xiàng),并由平衡參數(shù)λ加權(quán)。默認(rèn)Ncls為512,Nreg為錨框的數(shù)量。
4個(gè)坐標(biāo)的預(yù)測(cè)框和錨框的邊界回歸為
tX=(x-xa)/ωa,ty=(y-ya)/ha
tW=log(ω/ωa),th=log(h/ha)
(5)
4個(gè)坐標(biāo)的真實(shí)框和錨框的邊界回歸為
(6)
其中x,y,w和h表示框的中心坐標(biāo)及寬度和高度。x,xa和x*分別表示預(yù)測(cè)框、錨框和真實(shí)框的坐標(biāo),同理y,w,h類(lèi)似。
對(duì)于解決遮擋目標(biāo)的方法是采用排斥損失,本文考慮的是坦克裝甲車(chē)輛單目標(biāo)的檢測(cè),其排斥損失函數(shù)為
(7)
其中,LAttr是引力項(xiàng);LRepGT是排斥項(xiàng);j表示第幾層卷積層。
假設(shè)P=(lP,t,wP,hP)和G=(lG,tG,wG,hG)分別代表目標(biāo)候選區(qū)域的邊界框坐標(biāo)和真實(shí)框的邊界框坐標(biāo)。l,t表示邊界框的左上角的坐標(biāo);w,h表示邊界框的寬度和高度;P+={P}表示目標(biāo)候選框的集合。
(8)
(9)
RPN網(wǎng)絡(luò)的最小損失函數(shù)為
(10)
分別計(jì)算出conv3-3和conv5-3層的誤差,也即求出兩個(gè)卷積層的損失函數(shù)。根據(jù)式(10)分別求出conv3-3和conv5-3層的損失函數(shù)最小的L3和L5。從兩卷積層最小損失函數(shù)選出較小的損失函數(shù),該損失函數(shù)對(duì)應(yīng)的候選區(qū)域即是優(yōu)化候選區(qū)域。用L表示誤差比較的結(jié)果,即為
L=min{L3,L5}
(11)
2.2.2 檢測(cè)網(wǎng)絡(luò)損失函數(shù)
檢測(cè)網(wǎng)絡(luò)中也存在目標(biāo)的損失函數(shù),同樣包括目標(biāo)分類(lèi)損失函數(shù)和位置邊界損失函數(shù)。檢測(cè)網(wǎng)絡(luò)的損失函數(shù)為
(12)
(13)
其中,|S+|表示正樣本數(shù)量,|S-|表示負(fù)樣本數(shù)量。邊界回歸損失函數(shù)與RPN網(wǎng)絡(luò)邊界損失函數(shù)相同。
2.2.3 網(wǎng)絡(luò)總損失函數(shù)
通過(guò)大量數(shù)據(jù)集的訓(xùn)練,采用梯度下降的方法不斷地調(diào)整網(wǎng)絡(luò)的參數(shù),最終使網(wǎng)絡(luò)的總損失達(dá)到最小??倱p失函數(shù)用L*表示,即網(wǎng)絡(luò)的總損失函數(shù)為
L*=L+L′
(14)
訓(xùn)練網(wǎng)絡(luò)使L*達(dá)到最小即可。
本文實(shí)驗(yàn)環(huán)境是在Matlab軟件上,通過(guò)ImageNet數(shù)據(jù)集對(duì)VGG-16網(wǎng)絡(luò)進(jìn)行模型的初始化。本文構(gòu)建符合PASCAL VOC數(shù)據(jù)集格式的坦克裝甲目標(biāo)數(shù)據(jù)集,坦克和裝甲車(chē)輛分別各有3000個(gè)圖像,其中75%為訓(xùn)練數(shù)據(jù)集,25%為測(cè)試數(shù)據(jù)集。
在優(yōu)化候選區(qū)域的Faster R-CNN算法上對(duì)坦克裝甲目標(biāo)分別進(jìn)行檢測(cè),結(jié)果如圖5所示,檢測(cè)結(jié)果表明:在優(yōu)化候選區(qū)域的Faster R-CNN算法上進(jìn)行不同尺度的坦克裝甲車(chē)輛的檢測(cè)能達(dá)到很好的檢測(cè)效果。
圖5 不同尺度坦克裝甲車(chē)輛檢測(cè)效果圖
圖6是遮擋目標(biāo)檢測(cè)結(jié)果。優(yōu)化候選區(qū)域的Faster R-CNN算法的檢測(cè)精度很好,實(shí)驗(yàn)結(jié)果表明優(yōu)化候選區(qū)域的Faster R-CNN算法對(duì)目標(biāo)的檢測(cè)有了提高。
圖6 背景相似和遮擋目標(biāo)檢測(cè)結(jié)果
3.2.1 不同尺寸錨框的檢測(cè)分析
本文中改進(jìn)的RPN網(wǎng)絡(luò)選擇每個(gè)滑動(dòng)窗口增加一個(gè)錨框的尺寸來(lái)得到候選框。在坦克裝甲車(chē)輛的數(shù)據(jù)集上,用不同尺寸的錨框來(lái)進(jìn)行檢測(cè)實(shí)驗(yàn),從中選擇最優(yōu)的錨框大小。增加一個(gè)642大小的錨框,不僅能增加候選框的數(shù)量,還能提高小型目標(biāo)生成候選框的精度。
從表1中可以得到,錨框大小為5122,2562,1282和642的檢測(cè)效果最好,因此,本文中選用這四種尺寸的錨框來(lái)獲取候選區(qū)域。
表1 不同尺寸錨框下目標(biāo)的檢測(cè)結(jié)果
3.2.2 不同卷積層下目標(biāo)的檢測(cè)分析
文中采用卷積conv3-3和conv5-3層分別提取特征完成目標(biāo)檢測(cè),在坦克裝甲車(chē)輛的數(shù)據(jù)集上進(jìn)行驗(yàn)證對(duì)比如表2所示。
從表2中可以看出:1)本文中選擇的卷積層(conv3-3和conv5-3層)與傳統(tǒng)的Faster R-CNN算法采用的卷積層相比較,目標(biāo)檢測(cè)精度有明顯的提高。因?yàn)閭鹘y(tǒng)的Faster R-CNN算法在卷積層的最后一層上生成目標(biāo)的特征圖,文中在卷積層conv3-3和conv5-3上分別生成特征圖,再分別生成候選框,通過(guò)誤差比較的方法選擇合適層上的候選區(qū)域作為優(yōu)化候選區(qū)域;2)本文中卷積層的選擇與文獻(xiàn)[14]中選擇相同,結(jié)果說(shuō)明該算法的有效性;3)在數(shù)據(jù)集上分別進(jìn)行了不同卷積層組合下的目標(biāo)檢測(cè)實(shí)驗(yàn),結(jié)果表明該算法在conv3-3和conv5-3層上有較好的檢測(cè)精度。因此本文中選擇卷積conv3-3和conv5-3層分別提取目標(biāo)特征。
表2 不同卷積層下目標(biāo)的檢測(cè)結(jié)果
3.2.3 改進(jìn)的RPN檢測(cè)分析
本文算法是用改進(jìn)的RPN網(wǎng)絡(luò)來(lái)提取候選區(qū)域。提取候選區(qū)域耗時(shí)的對(duì)比如表3所示。
表3 提取候選區(qū)域精度和時(shí)間對(duì)比
可以從中得到以下信息:提取相同數(shù)量的候選框時(shí),改進(jìn)的RPN網(wǎng)絡(luò)的平均精度更高,說(shuō)明提取候選框的質(zhì)量更高。R-CNN和Fast R-CNN算法中候選區(qū)域的產(chǎn)生是通過(guò)選擇性搜索(Selective Search,SS)方法,而改方法提取相同數(shù)量的候選框花費(fèi)的時(shí)間更多,RPN算法為整體檢測(cè)系統(tǒng)節(jié)省了不少時(shí)間。
3.2.4 不同尺度目標(biāo)的檢測(cè)分析
在坦克和裝甲車(chē)輛的數(shù)據(jù)集上對(duì)三種尺度的目標(biāo)進(jìn)行本文算法和Faster R-CNN算法以及文獻(xiàn)[17]中改進(jìn)算法進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果如表4所示。
表4 不同尺度目標(biāo)的檢測(cè)精度對(duì)比
本文算法與Faster R-CNN算法比較,三種尺度下的目標(biāo)檢測(cè)精度都有明顯的提高,本文中對(duì)于目標(biāo)多層次的特征信息能很好的提取出來(lái)。文獻(xiàn)[10]與本文算法相比較,進(jìn)一步說(shuō)明本文中算法的有效性。
3.2.5 其它影響因素下目標(biāo)檢測(cè)分析
存在遮擋和背景相似的坦克裝甲目標(biāo)進(jìn)行檢測(cè),與Faster R-CNN算法上的檢測(cè)精度對(duì)比如表5所示。可以得到:影響因素在改進(jìn)算法上的檢測(cè)精度比Faster R-CNN算法上的檢測(cè)精度有了明顯的提高,說(shuō)明本文算法對(duì)遮擋和背景相似的檢測(cè)提供了一個(gè)新的方向。
表5 存在檢測(cè)精度和平均速度的對(duì)比
3.2.6 坦克裝甲目標(biāo)的檢測(cè)分析
本文算法與其它目標(biāo)檢測(cè)算法的檢測(cè)精度和平均速度的對(duì)比結(jié)果如表6所示??傻茫?)本文算法對(duì)目標(biāo)的平均檢測(cè)精度為82.6%。本文的改進(jìn)算法比傳統(tǒng)算法和其它改進(jìn)算法的平均精度相比有所提高。文獻(xiàn)[15]是采用人工的方法進(jìn)行目標(biāo)的檢測(cè),精測(cè)精度不高。在同樣的數(shù)據(jù)集上進(jìn)行其它三種傳統(tǒng)方法的檢測(cè)實(shí)驗(yàn),結(jié)果表明本文檢測(cè)算法的性能指標(biāo)更優(yōu)。
表6 坦克裝甲目標(biāo)檢測(cè)精度和平均速度的對(duì)比
一個(gè)原因是輸入圖像進(jìn)行不同卷積層的目標(biāo)候選區(qū)域的提取,再進(jìn)行誤差比較篩選出精確度高的目標(biāo)候選區(qū)域。另一個(gè)原因是引入排斥損失來(lái)優(yōu)化遮擋目標(biāo)候選框的選擇。與文獻(xiàn)[16],[17]和[18]對(duì)比可得,本文所提的優(yōu)化候選區(qū)域的Faster R-CNN算法對(duì)小型目標(biāo)和存在遮擋目標(biāo)的檢測(cè)精度和速度更優(yōu)。在兩個(gè)卷積層的特征圖上分別設(shè)置不同的滑動(dòng)窗口,比較兩個(gè)卷積層上候選框的誤差選出精確度高的候選框作為優(yōu)化后的候選區(qū)域。由表1和表2的實(shí)驗(yàn)數(shù)據(jù)可以得到改進(jìn)算法的提出,使目標(biāo)檢測(cè)的整體精度有所提高。
本文算法在坦克裝甲車(chē)輛的數(shù)據(jù)集上,目標(biāo)召回率和檢測(cè)精度的曲線(xiàn)如圖7所示。從圖中可以看出,隨著樣本數(shù)量的增加,目標(biāo)的召回率會(huì)不斷地增加,在目標(biāo)召回率增加的同時(shí),目標(biāo)的檢測(cè)精度呈震蕩變化,但總體是呈下降的趨勢(shì)。實(shí)驗(yàn)表明,高召回率的條件下能有高的精度,說(shuō)明本文算法提高了目標(biāo)的檢測(cè)精度。
圖7 精度-召回率曲線(xiàn)
本文提出優(yōu)化候選區(qū)域的算法,在主網(wǎng)絡(luò)的conv3-3和cnv5-3卷積層的特征圖,分別滑動(dòng)不同的窗口來(lái)提取目標(biāo)候選框,同時(shí),引入排斥損失來(lái)優(yōu)化遮擋目標(biāo)候選框的選擇,利用誤差比較的方法選出最優(yōu)的候選框。每個(gè)滑動(dòng)窗口,增加一個(gè)642大小的錨框,豐富候選框的數(shù)量。在坦克裝甲車(chē)輛數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),與傳統(tǒng)方法對(duì)比,結(jié)果表明:不同尺度目標(biāo)和遮擋目標(biāo)在檢測(cè)速率和平均精度性能方面更好。為戰(zhàn)場(chǎng)目標(biāo)實(shí)現(xiàn)自動(dòng)化檢測(cè)提供了一個(gè)新思路。下一步工作的任務(wù)是在此算法的基礎(chǔ)上進(jìn)行改進(jìn),實(shí)現(xiàn)嚴(yán)重遮擋的戰(zhàn)場(chǎng)目標(biāo)準(zhǔn)確檢測(cè)的問(wèn)題。