童雪東 任明武
(南京理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 南京 210000)
當(dāng)前,戰(zhàn)場(chǎng)感知信息向著多源異構(gòu)的方向發(fā)展,這要求偵察情報(bào)裝備和武器打擊裝備具有系統(tǒng)化和智能化特點(diǎn)。同時(shí),隨著未來戰(zhàn)爭(zhēng)的人員傷亡“零容忍”趨勢(shì)成為世界各國(guó)政府對(duì)戰(zhàn)爭(zhēng)的重要政治考量因素,地面無人車輛偵察系統(tǒng)(Unmanned Systems,US)正在為軍隊(duì)承擔(dān)越來越多的作戰(zhàn)任務(wù),但地面無人車輛偵察系統(tǒng)任務(wù)的預(yù)置程序難以適應(yīng)戰(zhàn)場(chǎng)任務(wù)的動(dòng)態(tài)變化特性,對(duì)復(fù)雜戰(zhàn)場(chǎng)環(huán)境下的敏感目標(biāo)檢測(cè)就成為地面無人車輛偵察系統(tǒng)的一個(gè)重要研究發(fā)展方向。
地面無人車輛偵察系統(tǒng)主要分為基于雷達(dá)和基于圖像兩類。傳統(tǒng)方法大多采用基于雷達(dá)的技術(shù),這種方法在實(shí)際應(yīng)用中偵察的區(qū)域范圍較廣,但是缺點(diǎn)在于戰(zhàn)場(chǎng)偵察雷達(dá)的分辨率一般比較低,目標(biāo)的特征信息有限,很難從中獲得反映目標(biāo)本身屬性的信息。因此,基于圖像的敏感目標(biāo)檢測(cè)系統(tǒng)具有更實(shí)際的應(yīng)用價(jià)值。
目標(biāo)檢測(cè)[1]是計(jì)算機(jī)視覺中一個(gè)重要的研究課題。隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展,目標(biāo)檢測(cè)與識(shí)別已在人臉識(shí)別、行人跟蹤、車牌識(shí)別、無人駕駛等領(lǐng)域獲得了廣泛的應(yīng)用。傳統(tǒng)的目標(biāo)檢測(cè)的方法一般分為三個(gè)階段:首先在給定的圖像上使用不同大小的滑動(dòng)窗口選取候選區(qū)域;然后對(duì)這些候選區(qū)域提取特征;最后使用訓(xùn)練好的分類器進(jìn)行分類。但傳統(tǒng)的目標(biāo)檢測(cè)存在兩個(gè)主要問題:1)基于滑動(dòng)窗口的區(qū)域選擇是窮舉的策略,計(jì)算冗余;2)手工設(shè)計(jì)的特征缺乏魯棒性。這些弊端很大程度上限制了算法的應(yīng)用。
深度神經(jīng)網(wǎng)絡(luò)的出現(xiàn)顛覆了傳統(tǒng)的特征提取方式,通過大量的數(shù)據(jù)訓(xùn)練能夠自主學(xué)習(xí)有用的特征。目前主流的通用目標(biāo)檢測(cè)方法主要分為兩種:兩階段方法和單階段方法。兩階段方法是指基于候選區(qū)域的目標(biāo)檢測(cè)器如R-CNN[2]、SPP-Net[3]、Fast-CNN[4]等,這類方法需要對(duì)每個(gè)區(qū)域建議進(jìn)行一次前向CNN實(shí)現(xiàn)特征提取,因此精度較高,但計(jì)算量較大,無法應(yīng)用于實(shí)時(shí)檢測(cè)場(chǎng)景;單階段方法比如YOLO[5]、YOLOv2[6]、SSD[7]、YOLOv3[8]等。其中YOLO將檢測(cè)問題作為回歸問題來處理,因此速度非??欤捎赮OLO隱含地將圖片分為s×s個(gè)網(wǎng)格,每個(gè)網(wǎng)格至多預(yù)測(cè)一個(gè)類別,因此YOLO對(duì)靠地很近的物體以及小目標(biāo)群體檢測(cè)效果不是很好。YOLOv2借鑒了Faster RCNN[9]的思想,使用聚類算法產(chǎn)生anchors,雖mAP有所降低,但提高了recall,此外,YOLOv2加入了bn[10]層,使網(wǎng)絡(luò)收斂更快,精度更高。YOLOv3引入多個(gè)殘差網(wǎng)絡(luò)模塊[11],大大拓展了網(wǎng)絡(luò)的深度,并且使用多尺度預(yù)測(cè)的方式重新設(shè)計(jì)了darknet-53網(wǎng)絡(luò),改善了YOLOv2對(duì)小目標(biāo)識(shí)別上的缺陷,其檢測(cè)的準(zhǔn)確率高并且實(shí)時(shí)性好。
本文針對(duì)戰(zhàn)場(chǎng)敏感目標(biāo)檢測(cè)中的高實(shí)時(shí)性和低漏檢率需求,選擇在速度和準(zhǔn)確率上綜合表現(xiàn)最好的YOLOv3算法。雖然YOLOv3已取得了較好的實(shí)時(shí)檢測(cè)效果,但對(duì)于戰(zhàn)場(chǎng)敏感目標(biāo)檢測(cè)來說仍有不足,主要表現(xiàn)在以下三個(gè)方面:1)YOLOv3的檢測(cè)精度低于Faster R-CNN;2)YOLOv3網(wǎng)絡(luò)的訓(xùn)練采用了COCO[12]和VOC[13]數(shù)據(jù)集,引入的anchor不能適應(yīng)敏感目標(biāo);3)數(shù)據(jù)集中難樣本識(shí)別率低。因此本文研究以YOLOv3網(wǎng)絡(luò)為基礎(chǔ)的改進(jìn)算法。
2016年Redmon等提出的YOLO算法,將目標(biāo)檢測(cè)任務(wù)轉(zhuǎn)換成回歸問題處理,大大加快檢測(cè)的速度,但因?yàn)樗[含地將圖片分割成s×s個(gè)網(wǎng)格,每個(gè)網(wǎng)格至多負(fù)責(zé)預(yù)測(cè)一個(gè)類別,因此,對(duì)小物體目標(biāo)不友好。YOLOv2借鑒了Faster R-CNN的思想,使用了聚類算法產(chǎn)生anchors,使網(wǎng)絡(luò)擁有更好的召回率。YOLOv3在YOLOv2的基礎(chǔ)上提出,保持YOLOv2的檢測(cè)速度,并且大大提高了檢測(cè)的準(zhǔn)確率,尤其在小目標(biāo)的檢測(cè)與識(shí)別上。
YOLOv3首先使用k-means算法[14]在數(shù)據(jù)集上產(chǎn)生聚類先驗(yàn)框(YOLOv3默認(rèn)的聚類中心有9個(gè),每個(gè)尺度分配3個(gè)框)。不同于YOLOv2采用的網(wǎng)絡(luò)結(jié)構(gòu)Darknet19,YOLOv3重新設(shè)計(jì)了更深的網(wǎng)絡(luò)結(jié)構(gòu)Darknet-53,它一方面借鑒了殘差網(wǎng)絡(luò)的思想,大大增加了網(wǎng)絡(luò)的深度的同時(shí)避免訓(xùn)練過程中產(chǎn)生梯度消失的現(xiàn)象;另一方面,它借鑒了FPN[15]的思想,融合三種不同尺度的預(yù)測(cè)特征圖,這三個(gè)特征圖的規(guī)模分別為13×13、26×26和52×52。由于后兩個(gè)特征圖中每個(gè)網(wǎng)格對(duì)應(yīng)原圖的區(qū)域更小,且它們處在網(wǎng)絡(luò)較低層,因此,模型可以綜合利用低層信息以及高層語義信息,從而改進(jìn)模型對(duì)小目標(biāo)的檢測(cè)性能。
在深度學(xué)習(xí)中數(shù)據(jù)集質(zhì)量的高低直接影響了最終檢測(cè)效果的好壞,同時(shí)由于網(wǎng)絡(luò)要充分學(xué)習(xí)待檢測(cè)目標(biāo)的特征,這便需要大量的樣本。由于缺乏現(xiàn)有公開的戰(zhàn)場(chǎng)敏感目標(biāo)檢測(cè)數(shù)據(jù)集,本文在實(shí)驗(yàn)中采用手工標(biāo)注制作數(shù)據(jù)集的方法。我們采集了16000張圖片,樣本示例如圖1所示,我們?yōu)槊糠鶊D像標(biāo)注其中四個(gè)類別:油桶、車、迷彩士兵和彈藥箱,經(jīng)統(tǒng)計(jì),數(shù)據(jù)集中一共包括7680個(gè)車目標(biāo)、17018個(gè)士兵目標(biāo)、8870個(gè)油桶目標(biāo)和6476個(gè)彈藥箱目標(biāo)。每個(gè)標(biāo)注包括類別索引和目標(biāo)的坐標(biāo)(中心點(diǎn)坐標(biāo)、包圍框的寬、高)。采集的原始圖片的分辨率為1920×1080。我們?yōu)閿?shù)據(jù)集命名為sensitive-16k。
圖1 數(shù)據(jù)集中部分樣本展示
我們將數(shù)據(jù)集劃分為三部分,其中12k張圖片用于訓(xùn)練,1k張用于驗(yàn)證,3k張用于測(cè)試,在數(shù)據(jù)增強(qiáng)方面,我們對(duì)訓(xùn)練集中的圖片執(zhí)行裁剪、翻轉(zhuǎn)等操作以生成更多的樣本。
YOLOv3借鑒 了Faster R-CNN中anchors的 機(jī)制,采用K-means對(duì)數(shù)據(jù)集中的標(biāo)簽進(jìn)行聚類得到先驗(yàn)框,先驗(yàn)框的設(shè)計(jì)影響目標(biāo)檢測(cè)的速度與精度。YOLOv3的訓(xùn)練集是VOC和COCO,考慮到訓(xùn)練集分布的不同,我們使用K-means對(duì)sensitive-16k數(shù)據(jù)集中的標(biāo)簽進(jìn)行聚類,從而得到相應(yīng)的初始候選框的參數(shù)。聚類過程中我們采用的距離度量公式如下:
本文按照不同的候選邊框數(shù)量k進(jìn)行聚類后,最終得到的對(duì)應(yīng)交并比如圖2所示。綜合檢測(cè)速度和檢測(cè)準(zhǔn)確性的考量,我們選取候選框數(shù)量為9,具體的參數(shù)為(24,60),(82,46),(54,127),(95,162),(148,105),(318,152),(509,305),(248,646),(1120,720)。我們?cè)谌齻€(gè)預(yù)測(cè)尺度上分別分配三個(gè)候選框。
圖2 不同k取值對(duì)應(yīng)的交并比
對(duì)于本文所研究的敏感目標(biāo)檢測(cè)問題,網(wǎng)絡(luò)在訓(xùn)練過程中需要考慮三個(gè)方面:坐標(biāo)預(yù)測(cè)損失、置信度預(yù)測(cè)損失以及類別預(yù)測(cè)損失,其中置信度又分為包含目標(biāo)置信度和不包含目標(biāo)置信度兩部分??紤]到戰(zhàn)場(chǎng)敏感目標(biāo)檢測(cè)問題的特性,我們認(rèn)為,高召回率比高準(zhǔn)確率更重要,因此,我們降低了不含目標(biāo)置信度的權(quán)重,具體四部分損失函數(shù)的公式如下:
1.5 觀察指標(biāo) ①兩組患者治療前、后激素水平變化:包括E2、FSH、LH、孕酮(T)、催乳素(PRL)和AMH,分別于治療前、后抽取患者外周靜脈血5 ml,離心10 min分離血清,置于-20℃下保存待測(cè),采用化學(xué)發(fā)光法測(cè)定E2、FSH、LH、T、PRL和AMH含量;②觀察兩組患者治療前、后雙側(cè)卵巢AFC數(shù)變化:采用美國(guó)GE公司彩色多普勒超聲診斷儀進(jìn)行陰道超聲檢查;③觀察兩組患者治療前、后生活質(zhì)量情況:采用健康狀況調(diào)查量表評(píng)價(jià),包括生理健康、情感職能、生理職能和生理功能4個(gè)量表,每個(gè)量表100分,評(píng)分越高生活質(zhì)量越好;④觀察兩組患者成功排卵和妊娠情況。
上述式子中,K表示當(dāng)前采用的預(yù)測(cè)圖的尺寸,文中一共選用了三種尺寸,分別是13×13,26×26和52×52,M表示的是每一個(gè)網(wǎng)格所預(yù)測(cè)的目標(biāo)邊框的數(shù)量,本文選取的是2。式(2)是包圍框損失,它包括中心點(diǎn)坐標(biāo)預(yù)測(cè)損失和包圍框?qū)?、高預(yù)測(cè)損失,用于判斷第i個(gè)網(wǎng)格中第j個(gè)包圍框是否負(fù)責(zé)預(yù)測(cè)這個(gè)object,若是,為1,否則為0。λcoord為坐標(biāo)預(yù)測(cè)的懲罰系數(shù),文中設(shè)置為5。由于小框的偏移量比大框的偏移量更無法忍受,因此,用(2-wi×hi)來平衡大小框的損失;式(3)和式(4)分別為包含物體和不包含物體的置信度損失,為了使檢測(cè)獲得更高的召回率,我們使不包含目標(biāo)時(shí)置信度的懲罰系數(shù)λnoobj為一個(gè)更小的值0.3;式(5)為類別預(yù)測(cè)損失,式中判斷是否有目標(biāo)的中心落入該網(wǎng)格中,若有,該網(wǎng)格就負(fù)責(zé)預(yù)測(cè)該目標(biāo)的類別。對(duì)于包圍框預(yù)測(cè),采用誤差平方和損失衡量,對(duì)于置信度預(yù)測(cè)損失,以及類別預(yù)測(cè)損失,采用交叉熵?fù)p失函數(shù)進(jìn)行衡量。
實(shí)驗(yàn)中我們采用手工標(biāo)注的sensitive-16k數(shù)據(jù)集,并對(duì)其執(zhí)行數(shù)據(jù)增強(qiáng)。本文的實(shí)驗(yàn)環(huán)境配置如表1所示。
表1 本文實(shí)驗(yàn)相關(guān)配置
訓(xùn)練中,我們使用小批量隨機(jī)梯度下降法,批次大小為16,動(dòng)量為0.9,權(quán)重衰減為0.0002,學(xué)習(xí)率初始值設(shè)置為0.025,我們采用了一種“多”學(xué)習(xí)速率策略,其中每次迭代的初始速率乘以其中power為0.9。
網(wǎng)絡(luò)的訓(xùn)練分為三階段,第一階段預(yù)訓(xùn)練分類網(wǎng)絡(luò),這一階段分為兩個(gè)步驟,首先使用低分辨率(224×224)的已標(biāo)注的敏感目標(biāo)數(shù)據(jù)集預(yù)訓(xùn)練分類網(wǎng)絡(luò),然后將網(wǎng)絡(luò)調(diào)整到448×448,繼續(xù)訓(xùn)練分類網(wǎng)絡(luò)。第二階段為訓(xùn)練檢測(cè)網(wǎng)絡(luò),使用第一階段預(yù)訓(xùn)練的權(quán)重初始化檢測(cè)網(wǎng)絡(luò)的部分權(quán)重,再在敏感目標(biāo)數(shù)據(jù)集上進(jìn)行微調(diào)。
本節(jié)將從初始候選框選取、損失函數(shù)的改進(jìn)兩部分分析實(shí)驗(yàn)設(shè)置對(duì)實(shí)驗(yàn)結(jié)果的影響。
4.2.1 初始候選框選擇對(duì)實(shí)驗(yàn)結(jié)果的影響
為了對(duì)比使用不同的初始候選框?qū)δP托阅艿挠绊?,首先使用YOLOv3原始的候選框參數(shù)進(jìn)行訓(xùn)練,接著按照我們的數(shù)據(jù)集分別聚類得到6個(gè)邊框和9個(gè)邊框進(jìn)行訓(xùn)練,訓(xùn)練集使用sensitve-16k,最終得到的模型在測(cè)試集上的性能見表2。
表2 初始候選邊框?qū)δP托阅艿挠绊?/p>
可見,重新聚類得到我們的候選框?qū)δP驮趕ensitive-16k數(shù)據(jù)集的性能表現(xiàn)有很好的提升。
4.2.2 改進(jìn)的損失函數(shù)對(duì)網(wǎng)絡(luò)性能的影響
考慮到敏感目標(biāo)的特殊性,更改了損失函數(shù)中的不含目標(biāo)置信度的懲罰項(xiàng),以使網(wǎng)絡(luò)更傾向于認(rèn)為網(wǎng)格中含有目標(biāo),我們放棄了部分的準(zhǔn)確度而選擇了更高的召回率。
與改進(jìn)損失函數(shù)的目的一樣,為了更好地避免漏檢,調(diào)整置信度閾值為0.3,使網(wǎng)絡(luò)能夠輸出更多檢測(cè)框。得利于模型學(xué)習(xí)的是整張圖片的特征,網(wǎng)絡(luò)輸出的假陽性很低。
表3顯示了我們的損失函數(shù)中不同懲罰項(xiàng)系數(shù)對(duì)模型的召回率和準(zhǔn)確度的影響,最終確定選擇懲罰項(xiàng)為系數(shù),以在召回率和準(zhǔn)確度之間取得一個(gè)較好的平衡。
表3 不同懲罰項(xiàng)系數(shù)對(duì)模型準(zhǔn)確度和召回率的影響
最終我們的模型和原始YOLOv3模型在測(cè)試集上的檢測(cè)性能如表4所示。圖3展示了我們?cè)跍y(cè)試集上的部分測(cè)試效果。
表4 在sensitive-16k數(shù)據(jù)集上測(cè)試結(jié)果
圖3 檢測(cè)結(jié)果展示
本文通過改進(jìn)YOLOv3,使用K-means算法聚類初始目標(biāo)邊框、微調(diào)損失函數(shù)、調(diào)整閾值以及預(yù)訓(xùn)練分類網(wǎng)絡(luò)進(jìn)行訓(xùn)練檢測(cè)網(wǎng)絡(luò)。實(shí)驗(yàn)結(jié)果表明,通過以上方法得到的檢測(cè)模型對(duì)于復(fù)雜場(chǎng)景下的敏感目標(biāo)可保證非常高的召回率以及較高的檢測(cè)準(zhǔn)確度。但是本文仍存一些有待改進(jìn)的地方:為了保證召回率,造成了部分的假陽性效果,損失函數(shù)微調(diào)中使用的懲罰項(xiàng)系數(shù)是我們手動(dòng)設(shè)置的,如何設(shè)置更優(yōu)的參數(shù),以在保證召回率的同時(shí)得到更高的準(zhǔn)確度,未來會(huì)將解決上述問題作為重點(diǎn)的研究方向;由于數(shù)據(jù)集數(shù)據(jù)的缺乏,我們的模型仍有待被更加充足的數(shù)據(jù)集進(jìn)行訓(xùn)練以得到更魯棒、更精確的模型。