王少博, 張成, 蘇迪, 冀瑞靜
(北京理工大學(xué) 宇航學(xué)院, 北京 100081)
現(xiàn)代戰(zhàn)爭中,精確制導(dǎo)武器日益成為戰(zhàn)場的主角?!靶l(wèi)星+慣性導(dǎo)航(以下簡稱慣導(dǎo))”組合的制導(dǎo)模式,由于其自主性強(qiáng)、精度高,成為精確制導(dǎo)武器采用的主流制導(dǎo)方式,特別是在炮兵制導(dǎo)彈藥中處于壓倒性優(yōu)勢地位。但隨著攻防對抗日益激烈、戰(zhàn)場環(huán)境日趨復(fù)雜,“衛(wèi)星+慣導(dǎo)”的制導(dǎo)方式已無法完全滿足現(xiàn)代戰(zhàn)爭對精確制導(dǎo)彈藥的要求。首先,“衛(wèi)星+慣導(dǎo)”作為以坐標(biāo)點(diǎn)為制導(dǎo)目標(biāo)的制導(dǎo)方式,只能對固定目標(biāo)進(jìn)行打擊,不適應(yīng)機(jī)動(dòng)作戰(zhàn)、立體攻防的陸軍建設(shè)目標(biāo);其次,彈藥的射擊精度完全以目標(biāo)的定位精度為基礎(chǔ),對沒有經(jīng)過事前高精度偵察的目標(biāo)打擊時(shí)效性差;第三,衛(wèi)星導(dǎo)航容易受到對方電子戰(zhàn)干擾,在戰(zhàn)時(shí)難以保證全天時(shí)使用,而失去衛(wèi)星輔助后,依靠戰(zhàn)術(shù)級慣導(dǎo)系統(tǒng)自身的精度,難以達(dá)到精確打擊要求的精度。因此,采用末制導(dǎo)手段進(jìn)一步提高制導(dǎo)彈藥的性能,已經(jīng)成為必然趨勢[1]。圖像制導(dǎo)以其抗干擾能力強(qiáng)、無需輔助照射等優(yōu)點(diǎn),成為首選方案。
在電視制導(dǎo)領(lǐng)域,由于地面戰(zhàn)場環(huán)境復(fù)雜,要在離目標(biāo)較遠(yuǎn)情況下將目標(biāo)精確檢測出來,對識別算法有著較高的要求[2]。傳統(tǒng)檢測算法主要通過灰度模板、特征點(diǎn)信息、頻域特征或模型進(jìn)行匹配,再結(jié)合相應(yīng)策略對目標(biāo)進(jìn)行定位,主要包括基于統(tǒng)計(jì)的支持向量機(jī)(SVM)算法、AdaBoost分類器等檢測方法,以及光流法、背景差分法等基于運(yùn)動(dòng)檢測的方法和基于顯著性檢測的方法。經(jīng)過長期發(fā)展,傳統(tǒng)彈載圖像目標(biāo)檢測算法工程應(yīng)用較廣泛,能夠基本滿足簡單環(huán)境下的打擊任務(wù),但隨著戰(zhàn)場環(huán)境日趨復(fù)雜,精確制導(dǎo)彈藥對于精確打擊性能、智能化需求越來越高,對目標(biāo)檢測和跟蹤算法的性能有著更高的要求[3-5]。
得益于大數(shù)據(jù)、人工智能技術(shù)的發(fā)展,尤其是以深度學(xué)習(xí)算法為基礎(chǔ)的智能目標(biāo)識別技術(shù)的進(jìn)步,使得遠(yuǎn)程制導(dǎo)彈藥對軍事目標(biāo)的自動(dòng)識別成為可能。在實(shí)際作戰(zhàn)中,通過事先獲得的不同類型、不同時(shí)機(jī)、不同分辨率的海量目標(biāo)圖像和視頻數(shù)據(jù),經(jīng)過訓(xùn)練,彈載計(jì)算機(jī)可以對實(shí)時(shí)采集到的圖像實(shí)現(xiàn)目標(biāo)識別,從而實(shí)現(xiàn)對臨時(shí)機(jī)動(dòng)目標(biāo)的打擊,成為圖像制導(dǎo)的重要發(fā)展方向之一,也是彈藥技術(shù)由制導(dǎo)彈藥向智能化發(fā)展的重要內(nèi)容。在深度學(xué)習(xí)目標(biāo)檢測領(lǐng)域中遇到的困難主要包括三方面:一是數(shù)據(jù)量不足,在軍事領(lǐng)域最缺失的就是對目標(biāo)偵查的照片數(shù)量;二是偵查拍攝時(shí)所處的氣候環(huán)境與打擊時(shí)有差異,包括光照、噪聲及天氣狀況,不能保證檢測算法通過一次的偵查數(shù)據(jù)學(xué)習(xí)適應(yīng)全氣候打擊;三是小目標(biāo)難以檢測,特征信息量相對較少,無法有效識別。
目前較成熟的利用深度學(xué)習(xí)進(jìn)行目標(biāo)檢測的算法主要分為兩階段檢測和單階段檢測。其中兩階段檢測的較優(yōu)秀算法主要是區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(R-CNN)、Fast R-CNN、Faster R-CNN等[6-8],單階段檢測主要算法有YOLO系列、單次多盒檢測(SSD)算法等[9-12]。其中YOLOv3是目前在速度和精度上最為均衡的目標(biāo)檢測網(wǎng)絡(luò)算法[12],其在目標(biāo)檢測任務(wù)中性能尤為突出。當(dāng)前目標(biāo)跟蹤算法主要分為兩類,即生成模型方法和判別式模型方法[12]。生成模型方法通過搜索最匹配的窗口來執(zhí)行跟蹤,經(jīng)典算法有基于均值漂移、基于光流法和基于卡爾曼濾波的目標(biāo)跟蹤方法,而判別模型方法是利用圖像特征將目標(biāo)與背景區(qū)域分開,由于背景信息對于目標(biāo)跟蹤十分有效,判別模型方法性能更有競爭力[13]。在判別模型方法中,目標(biāo)跟蹤算法可以根據(jù)是否需要預(yù)訓(xùn)練模型分為兩大類:第一類是基于相關(guān)濾波的目標(biāo)跟蹤算法,無需預(yù)訓(xùn)練模型,利用手工設(shè)計(jì)模板對視頻或圖像序列中的給定目標(biāo)進(jìn)行跟蹤,代表算法有相關(guān)濾波跟蹤(MOSSE)算法、循環(huán)結(jié)構(gòu)跟蹤(CSK)算法、核相關(guān)濾波(KCF)算法等[14-16]。隨后出現(xiàn)的是基于深度學(xué)習(xí)的目標(biāo)跟蹤算法,利用數(shù)據(jù)集預(yù)訓(xùn)練模型,通過CNN進(jìn)行特征提取以及模板匹配,代表算法有多域CNN(MDNet)算法[17]、孿生網(wǎng)絡(luò)系列[18-19]、基于重疊最大化精確跟蹤(ATOM)算法等[20]。上述跟蹤算法主要針對短時(shí)間目標(biāo)跟蹤,對于在較長時(shí)間范圍內(nèi)出現(xiàn)的目標(biāo)丟失又出視場的問題沒有得到解決??紤]到戰(zhàn)場實(shí)時(shí)性,KCF算法在跟蹤速度方面始終保持實(shí)時(shí)高速水平,結(jié)合目標(biāo)檢測算法不失為一個(gè)實(shí)用性較強(qiáng)的研究方法。
對于旋轉(zhuǎn)彈,由于電視攝像機(jī)與彈體捷聯(lián),采集的圖像隨彈體旋轉(zhuǎn)而旋轉(zhuǎn),解旋后圖像還伴有旋轉(zhuǎn)和運(yùn)動(dòng)模糊的信息,導(dǎo)致成像質(zhì)量較差,傳統(tǒng)檢測和跟蹤算法已無法有效識別出模糊目標(biāo),對目標(biāo)檢測和跟蹤帶來極大挑戰(zhàn)。
為實(shí)現(xiàn)彈體發(fā)射后能夠檢測出以上困難情況下的目標(biāo)并進(jìn)行良好跟蹤,本文將YOLOv3算法應(yīng)用到彈載圖像的目標(biāo)檢測中,對YOLOv3算法進(jìn)行改進(jìn),簡稱S-YOLOv3算法。通過使用數(shù)據(jù)增強(qiáng)方法,利用深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)在模糊圖像以及復(fù)雜環(huán)境下對小目標(biāo)識別檢測的優(yōu)勢,與處理速度極高的KCF跟蹤算法結(jié)合,加入跟丟判別機(jī)制和尺度信息,完成了跟蹤算法的改進(jìn),使得對目標(biāo)的檢測跟蹤精度得到進(jìn)一步提高,為其在工程實(shí)踐應(yīng)用提供了可能。
隨著Krizhevsky等[21]利用CNN對圖像信息進(jìn)行提取,促進(jìn)了CNN在目標(biāo)檢測領(lǐng)域的發(fā)展,與傳統(tǒng)圖像制導(dǎo)炮彈采用的人工特征提取方式不同,基于CNN的特征提取采用監(jiān)督或者非監(jiān)督學(xué)習(xí)方式進(jìn)行訓(xùn)練,分層卷積提取信息并自主進(jìn)行目標(biāo)特征表示的學(xué)習(xí),從而達(dá)到對待檢測目標(biāo)特征的描述。本文結(jié)合彈載相機(jī)圖像探測目標(biāo)的成像機(jī)理以及CNN在檢測任務(wù)中高效精準(zhǔn)的表現(xiàn),提出了一種面向旋轉(zhuǎn)彈的目標(biāo)探測技術(shù),以提高圖像制導(dǎo)炮彈目標(biāo)檢測算法的準(zhǔn)確率。
當(dāng)前制約彈載圖像目標(biāo)檢測算法性能的主要瓶頸在于過于復(fù)雜且相互交融的場景變化,彈載攝像機(jī)由于其特殊的應(yīng)用場景,其成像質(zhì)量與彈體空中運(yùn)動(dòng)姿態(tài)以及戰(zhàn)場環(huán)境密不可分,多數(shù)情況下獲取的彈載圖像存在下列問題:
1) 實(shí)時(shí)性要求高。彈體在空中飛行時(shí)間短,從捕獲目標(biāo)圖像到彈體著落過程時(shí)間短暫,對目標(biāo)檢測過程的快速、高效性提出了更高要求。
2) 背景復(fù)雜。彈體運(yùn)動(dòng)過程中,彈載攝像機(jī)抓取的背景圖像不斷變化,并且天氣環(huán)境變化也會影響彈載圖像的成像質(zhì)量(見圖1),例如陰、雨、霧、霾情況下成像的清晰度會受到一定程度影響,在檢測、識別過程中產(chǎn)生大量的噪聲。
圖1 復(fù)雜背景下的圖像Fig.1 Images in complex environment
3) 目標(biāo)較小。結(jié)合彈載攝像機(jī)的應(yīng)用環(huán)境可知,末制導(dǎo)階段彈載攝像機(jī)開始工作時(shí),距離目標(biāo)較遠(yuǎn),目標(biāo)較小,可提取的目標(biāo)特征少,在該場景下目標(biāo)檢測、識別算法表現(xiàn)性能差。
1.2.1 數(shù)據(jù)來源及標(biāo)注
由于真實(shí)打擊場景數(shù)據(jù)獲取困難,本文通過視景仿真軟件模擬的山地打擊場景作為圖像數(shù)據(jù)進(jìn)行處理,通過人工標(biāo)記、裁剪等方法,從場景中獲取圖像數(shù)據(jù),數(shù)據(jù)集包含400張圖片,數(shù)據(jù)集圖片像素大小為720×400、960×540、1 400×800。圖2所示為模擬旋轉(zhuǎn)彈距離目標(biāo)由遠(yuǎn)及近情況下圖像采集設(shè)備中的視景圖像。
圖2 數(shù)據(jù)集中的圖像視景Fig.2 Visual images in datasets
數(shù)據(jù)集標(biāo)注利用LabelImg標(biāo)注軟件對圖像視景圖片進(jìn)行標(biāo)注。LabelImg軟件是基于Python語言編寫的用于深度學(xué)習(xí)數(shù)據(jù)集制作的圖片標(biāo)注工具,主要用于記錄目標(biāo)的類別名稱和位置信息,并將信息存儲在可擴(kuò)展標(biāo)記語言(XML)格式文件中[12]。
圖3所示為數(shù)據(jù)標(biāo)注示意圖。具體標(biāo)注流程如下:首先對圖像中的目標(biāo)進(jìn)行人工識別,確定其為目標(biāo);然后用垂直的最小外接矩形框?qū)⒛繕?biāo)依次選中,同時(shí)設(shè)置類別標(biāo)簽以“target_(序號)”表示。矩形框的標(biāo)記信息存儲在標(biāo)簽XML文件中,其中(x,y)為矩形框左上角坐標(biāo),h、w分別為矩形框高度和寬度。數(shù)據(jù)標(biāo)注示例圖如圖3(b)所示,其中綠色矩形框?yàn)闃?biāo)注為目標(biāo)。根據(jù)YOLOv3算法的訓(xùn)練要求,將XML文件轉(zhuǎn)化為以類別、目標(biāo)坐標(biāo)為內(nèi)容的文本格式文件,為下一步訓(xùn)練做準(zhǔn)備。標(biāo)注數(shù)據(jù)類型轉(zhuǎn)換如圖3(c)和圖3(d)所示,分別表示目標(biāo)的類別和坐標(biāo)信息。
圖3 數(shù)據(jù)標(biāo)注示意圖Fig.3 Data labeling diagram
在數(shù)據(jù)集制作中,本文盡可能加入不同尺度、不同表現(xiàn)形式的目標(biāo),由于數(shù)據(jù)有限,使用Imgaug庫對數(shù)據(jù)進(jìn)行增強(qiáng)。
通過調(diào)用Imgaug數(shù)據(jù)庫對400張數(shù)據(jù)集進(jìn)行擴(kuò)充,添加了仿射變換,旋轉(zhuǎn)模糊、抖動(dòng)模糊、亮度、左右、上下、翻轉(zhuǎn),色調(diào)、飽和度、高斯噪聲、銳化、比例×像素、分段仿射、雪地、云層、霧、雪等不同條件的模擬。在實(shí)際處理圖像數(shù)據(jù)時(shí),隨機(jī)選擇若干個(gè)模擬效果將原圖與目標(biāo)標(biāo)記框同時(shí)進(jìn)行增強(qiáng),既增加了復(fù)雜環(huán)境的數(shù)據(jù)又不會對標(biāo)記框位置產(chǎn)生影響。單項(xiàng)數(shù)據(jù)增強(qiáng)效果如圖4所示,多項(xiàng)隨機(jī)增強(qiáng)疊加效果如圖5所示。最終擴(kuò)充為1 000張圖像的數(shù)據(jù)。
圖4 單項(xiàng)圖像增強(qiáng)效果Fig.4 Single image enhancement effect
圖5 多項(xiàng)隨機(jī)圖像增強(qiáng)疊加效果Fig.5 Superposition effect of multi-random image enhancement
圖6 數(shù)據(jù)集中目標(biāo)信息統(tǒng)計(jì)圖Fig.6 Statistical charts of target information in dataset
1.2.2 數(shù)據(jù)集分析
本文數(shù)據(jù)擴(kuò)充后一共有1 000張圖像,目標(biāo)總數(shù)2 777個(gè),圖6(a)所示為數(shù)據(jù)集中每張圖像所含目標(biāo)個(gè)數(shù)的統(tǒng)計(jì)圖,圖6(b)所示為目標(biāo)尺寸統(tǒng)計(jì)圖。目標(biāo)平均像素大小為2 598.2,目標(biāo)平均與原圖像的比例為0.010 5,因此目標(biāo)屬于較小目標(biāo)。從圖6可知,數(shù)據(jù)集中每張圖像上的目標(biāo)數(shù)量為0~6個(gè),目標(biāo)像素大小在圖像中占比較小。數(shù)據(jù)集中的圖由于是連續(xù)幀,目標(biāo)大小隨著彈目距離的減小,相機(jī)獲取的畫面中目標(biāo)尺度有一個(gè)很明顯的由小變大的過程,故有必要充分利用目標(biāo)的形狀、細(xì)節(jié)、尺度特征等信息,研究多尺度網(wǎng)絡(luò)檢測模型和跟蹤算法。同時(shí)為了確保算法性能,在數(shù)據(jù)標(biāo)注過程中還需要準(zhǔn)確識別目標(biāo),記錄正確的標(biāo)簽信息。
1.3.1 YOLOv3網(wǎng)絡(luò)
YOLOv3網(wǎng)絡(luò)參考SSD和ResNet[22]的網(wǎng)絡(luò)結(jié)構(gòu),設(shè)計(jì)了分類網(wǎng)絡(luò)基礎(chǔ)模型Darknet-53。Darknet-53兼顧網(wǎng)絡(luò)復(fù)雜度與檢測準(zhǔn)確率,與常用的目標(biāo)檢測特征提取網(wǎng)絡(luò)VGG-16相比,降低了模型運(yùn)算量[23]。
在YOLOv3網(wǎng)絡(luò)中Darknet53結(jié)構(gòu)用于圖像特征提取,YOLO結(jié)構(gòu)用于多尺度預(yù)測。具體過程由Darknet 53網(wǎng)絡(luò)輸出大小為13×13像素、1 024維度的特征圖,進(jìn)行一系列卷積操作,經(jīng)過上采樣分別與淺層特征圖連接形成最小尺度YOLO層,再將79層提取出來的13×13×512通道的特征圖進(jìn)行卷積,降為256通道。進(jìn)而上采樣生成26×26×256特征圖,與61層特征圖合并卷積,形成中尺度YOLO層,大尺度YOLO層則由91層與36層特征圖進(jìn)行相應(yīng)的卷積操作得到。對特征圖進(jìn)行預(yù)測,包括bounding box的坐標(biāo)信息X、Y坐標(biāo),寬度W和高度H,以及網(wǎng)格預(yù)測目標(biāo)置信度(IOU)和類別預(yù)測分?jǐn)?shù)。以兩個(gè)打擊目標(biāo)為例,通道數(shù)為(4+1+2)×3=21,輸出的3個(gè)尺度特征圖為13×13×45,26×26×45,52×52×45,其中Darknet 53結(jié)構(gòu)如圖7所示。
在YOLOv3網(wǎng)絡(luò)上使用彈載圖像數(shù)據(jù)集直接訓(xùn)練進(jìn)行檢測,發(fā)現(xiàn)有旋轉(zhuǎn)模糊且目標(biāo)小于幾十像素時(shí)難以檢測出來,因此在后面提到的改進(jìn)YOLOv3網(wǎng)絡(luò)中增加了對小尺度模糊目標(biāo)的檢測特性。
1.3.2 改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)
為保證運(yùn)行時(shí)間以及對小目標(biāo)檢測效果,將原網(wǎng)絡(luò)中卷積模塊改為多分支尺度卷積,增加網(wǎng)絡(luò)對于目標(biāo)不同尺寸的適應(yīng)性,減少網(wǎng)絡(luò)層數(shù),來平衡網(wǎng)絡(luò)的深度和寬度[24]。采用多分支尺度卷積進(jìn)行空間聚合則通過低維嵌入來完成,對于圖像網(wǎng)絡(luò)提取的特征和表示能力沒有下降,其內(nèi)部結(jié)構(gòu)可以分為3個(gè)分支,如圖8所示。
圖7 Darknet 53結(jié)構(gòu)圖Fig.7 Structure chart of Darknet 53
圖8 多分支結(jié)構(gòu)Fig.8 Multibranch structure
圖8中,深度串聯(lián)是指將分支卷積的特征圖按深度鏈接起來形成大小不變而深度疊加的圖,后面緊跟1×1卷積層,并不會改變圖像的高度和寬度,而是改變了深度實(shí)現(xiàn)降維,方便多個(gè)特征線性組合來進(jìn)行多通路間的信息整合。加入直連快捷層,將前層提取出的特征與當(dāng)前層進(jìn)行疊加,可以避免梯度發(fā)散的可能性,對于網(wǎng)絡(luò)正向傳播過程中,每一層卷積只能提取一部分信息,對于過小的目標(biāo)向前傳播幾次,能學(xué)到保留的信息就越少,極有可能得到欠擬合的結(jié)果。通過添加快捷結(jié)構(gòu),即在每個(gè)模塊中加入最后卷積圖像的全部信息,相當(dāng)于一定程度上保留了更多的初始特征信息。加入直連結(jié)構(gòu)后,網(wǎng)絡(luò)變成了一個(gè)最優(yōu)輸出選擇模型,輸出結(jié)果是由之前的塊和組合卷積學(xué)習(xí)到的一個(gè)最優(yōu)結(jié)果,可以將網(wǎng)絡(luò)看成并行結(jié)構(gòu),最終得到的是不同級別的特征提取組合,讓網(wǎng)絡(luò)可以學(xué)到最適合的模型及參數(shù)。
以特征金字塔網(wǎng)絡(luò)(FPN)[25]為參考,采用多尺度融合方法進(jìn)行預(yù)測,對于小目標(biāo),大尺度52×52的特征圖也就是第1組多分支模塊輸出可以提供分辨率信息,對于正常和小尺度目標(biāo),后兩層多分支模塊同時(shí)提供分辨率和語義信息,不同尺度的檢測可以有效檢測不同尺度的目標(biāo)[26]。即使同一個(gè)目標(biāo)出現(xiàn)在多個(gè)特征層上被檢測出來,也會因?yàn)榉菢O大值抑制取一個(gè)最佳的,因此不影響檢測效果。具體結(jié)構(gòu)如圖9所示。
圖9 改進(jìn)YOLOv3結(jié)構(gòu)Fig.9 Structure chart of improved YOLOv3
1.3.3 錨框計(jì)算
使用原有的錨框集合訓(xùn)練自己的小目標(biāo)數(shù)據(jù)并不合適,其設(shè)定的好壞將影響目標(biāo)檢測的精度和速度。本文對小目標(biāo)數(shù)據(jù)集的目標(biāo)候選框在空間維度上進(jìn)行聚類分析,計(jì)算最優(yōu)錨框個(gè)數(shù)。YOLOv3的錨框個(gè)數(shù)和維度是由VOC20類[27]和COCO80類[28]數(shù)據(jù)集聚類得到的,不適用于遠(yuǎn)距離小目標(biāo)檢測[23],因此重新確定了錨框個(gè)數(shù)和寬、高維度[29]。
使用無監(jiān)督學(xué)習(xí)的k-means均值聚類算法對目標(biāo)幀進(jìn)行聚類分析,提取數(shù)據(jù)集全部目標(biāo)框大小,將相似對象歸為同一類,最終得到k個(gè)數(shù)量錨框作為訓(xùn)練時(shí)設(shè)定的尺度參數(shù)。k-means均值聚類分析采用歐式距離,意味著較大尺度框會產(chǎn)生更多的誤差,因此網(wǎng)絡(luò)的損失值采用IOU作為評判指標(biāo),即候選框與真實(shí)框的交集除以并集,避免較大的邊界框相對于小的邊界框產(chǎn)生的誤差,代替歐式距離的函數(shù)為
d(box,centroid)=1-IOU(box,centroid)
(1)
聚類目標(biāo)函數(shù)為
(2)
式中:box為候選框;centroid表示樣本初始聚類中心;k表示劃分樣本的簇的個(gè)數(shù)。
1.3.4 非極大值抑制[30]
直接通過網(wǎng)絡(luò)輸出的目標(biāo)框會有很多,本文通過分辨率1 920×1 080攝像頭采集圖像,并對圖像中的目標(biāo)進(jìn)行檢測,結(jié)果直接輸出約8個(gè)目標(biāo)框,需要消除多個(gè)重復(fù)有交疊的檢測框,每個(gè)目標(biāo)只保留最好的一個(gè)框。這里使用非極大值抑制方法,抑制不是極大值的元素,對數(shù)量進(jìn)行精簡,通過遍歷高度重疊的邊界框,只保留置信度最高的預(yù)測框,針對每一類目標(biāo)都單獨(dú)執(zhí)行非極大值抑制,效果如圖10所示。
圖10 非極大值抑制前后對比圖Fig.10 Comparison of images before and after non-maximum suppression
方向梯度直方圖(HOG)[31]的核心思想是通過光強(qiáng)梯度或邊緣方向的分布,描述被檢測到的局部物體的形狀。經(jīng)過將整幅圖像分割成小的銜接區(qū)域(稱為單元),每個(gè)細(xì)胞生成一個(gè)方向梯度直方圖或細(xì)胞中像素的邊沿方向,這些直方圖的組合可表示出待檢測物體的描述算子。為提高精度,本文通過計(jì)算大面積圖像塊的光強(qiáng),對局部直方圖進(jìn)行比較和標(biāo)準(zhǔn)化,然后用這個(gè)值歸一化塊中的所有單元,可實(shí)現(xiàn)照射和陰影不變性。與其他描述子相比,HOG得到的描述符具有幾何不變性和光學(xué)不變性,因此在跟蹤算法中采用該特征提取方法。
利用目標(biāo)周圍區(qū)域的循環(huán)矩陣,通過密集采樣學(xué)習(xí)濾波器對目標(biāo)進(jìn)行跟蹤定位。利用嶺回歸訓(xùn)練目標(biāo)檢測器,利用傅里葉空間中圓矩陣的對角化性質(zhì),將矩陣運(yùn)算成功地轉(zhuǎn)化為矢量的Hadamad乘積,即元素的點(diǎn)積,大大減少了運(yùn)算量,提高了運(yùn)算速度,使算法滿足實(shí)時(shí)性需求。利用核函數(shù)將線性空間的嶺回歸映射為非線性空間。在非線性空間中,通過求解對偶問題和一些常見約束,使用循環(huán)矩陣傅里葉空間的對角化來簡化計(jì)算,將多通道數(shù)據(jù)融合到該算法。
2.2.1 采集樣本
KCF跟蹤算法利用循環(huán)矩陣的思想生成大量正負(fù)樣本,通過目標(biāo)區(qū)域采樣窗口的循環(huán)移位來訓(xùn)練分類器和檢測目標(biāo)。設(shè)x=[x1,x2,…,xn]T是基準(zhǔn)參考樣本(n為樣本數(shù)量),x通過置換矩陣P對x進(jìn)行循環(huán)移位,通過一次移位獲得的樣本是Px=[xn,x1,x2,…,xn-1]T,因此n個(gè)樣本的樣本集可以通過n次移位得到,樣本集合{Pux|u=0,1,…,n-1},其中置換矩陣
(3)
按照循環(huán)矩陣的定義將n次移位的所有樣本組合成循環(huán)矩陣X,如(4)式:
(4)
由于循環(huán)矩陣可以使用離散的傅里葉矩陣在傅里葉空間中對角化,循環(huán)矩陣X可以簡化為
X=Fdiag()FH
(5)
式中:F為離散傅里葉變換矩陣;為向量x=[x1,x2,…,xn]T的離散傅里葉變換,即循環(huán)矩陣X第1行的離散傅里葉變換;H表示矩陣共軛轉(zhuǎn)置。KCF跟蹤算法利用了循環(huán)矩陣通過傅里葉對角化來避免求矩陣的逆,從而大大降低了計(jì)算復(fù)雜度。
2.2.2 分類器
(6)
(6)式求導(dǎo)并令導(dǎo)數(shù)為0,可求得
a=(φ(X)φT(X)+λI)-1y
(7)
式中:φ(X)φT(X)為核矩陣,用K表示,則有K=φ(X)φT(X),因此核矩陣K中的各個(gè)元素表示為
Kij=κ(xi,xj)
(8)
這里以Kij為元素的核矩陣K是循環(huán)矩陣。于是有K=C(kxx),其中kxx為K矩陣的第1行,將K矩陣傅氏對角化為K=Fdiag(xx)FH,化簡(6)式,得到
(9)
2.2.3 目標(biāo)檢測
分類器訓(xùn)練完成后,在下一幀圖像的預(yù)測框內(nèi)采集基準(zhǔn)待測樣本Z,由基準(zhǔn)樣本經(jīng)循環(huán)移位產(chǎn)生大量待測樣本,樣本集{zj=pjz|j=0,1,…,n-1},然后計(jì)算待測樣本的響應(yīng)值,最大響應(yīng)值的樣本對應(yīng)位置為目標(biāo)位置。計(jì)算響應(yīng)的公式為
(10)
式中:κ(z,xi)為核函數(shù)。令KZ為訓(xùn)練樣本與待測樣本之間核空間的核矩陣,由循環(huán)卷積性質(zhì)可知KZ是循環(huán)矩陣,記作
KZ=C(kxz)
(11)
根據(jù)彈道仿真數(shù)據(jù)得到彈體速度與時(shí)間信息,將數(shù)據(jù)進(jìn)行函數(shù)擬合,由于初始檢測框?yàn)?2×32,命中目標(biāo)時(shí)目標(biāo)大小為320×240,將速度歸一化為1~10作為尺度系數(shù),最終得到一個(gè)目標(biāo)尺度調(diào)整系數(shù)與時(shí)間的對應(yīng)關(guān)系函數(shù),圖11所示為彈道速度~時(shí)間曲線,圖12所示為目標(biāo)框大小與時(shí)間曲線。
圖11 彈道速度- 時(shí)間曲線Fig.11 v-t curve
圖12 目標(biāo)尺度調(diào)整系數(shù)曲線Fig.12 Scale curve of RoiSize-t
根據(jù)擬合曲線,將目標(biāo)框尺度比例系數(shù)定義為
scale_factor=1.404 7×10-7t2+3.67×10-4t+1
(12)
圖13 相機(jī)成像平面Fig.13 Camera image plane
體視線角表示目標(biāo)與彈體之間的角度幾何關(guān)系,如圖13所示。圖13中,qβ表示導(dǎo)彈與目標(biāo)連線與彈體坐標(biāo)系ObXbYb平面之間的夾角,qα表示導(dǎo)彈與目標(biāo)連線在彈體坐標(biāo)系ObXbYb平面上的投影與ObXb軸之間的夾角[32],T(x、y)表示目標(biāo)在像平面的像素坐標(biāo),x、y分別為坐標(biāo)像素值,O(x0、y0)表示物理坐標(biāo)系原點(diǎn)在圖像坐標(biāo)系的坐標(biāo),x0、y0分別為圖像坐標(biāo)系的坐標(biāo)值,對于640×480分辨率的相機(jī),x0=320,y0=240。
體視線角可以由目標(biāo)在像平面的成像像素來獲得(見圖10),彈體坐標(biāo)系與相機(jī)成像坐標(biāo)系的3個(gè)坐標(biāo)軸對應(yīng)相互平行。通過張正友標(biāo)定法[33]求得相機(jī)內(nèi)參矩陣K:
(13)
式中:f為相機(jī)焦距;dx、dy表示像平面上每個(gè)像素在x軸、y軸的物理尺寸。
(14)
檢測跟蹤模型如圖14所示,對目標(biāo)探測算法進(jìn)行仿真。由于目標(biāo)被遮擋或大幅度位移會導(dǎo)致KCF跟蹤算法中目標(biāo)的傅里葉響應(yīng)值突變,可以用峰值檢測的方法判別。首先將檢測到目標(biāo)的峰值保存起來,正常檢測到目標(biāo)的峰值為0.74~1.00,如果后續(xù)峰值小于第1次峰值的一半,則認(rèn)為丟失,重新返回檢測。
圖14 結(jié)合目標(biāo)檢測的跟蹤算法流程Fig.14 General theoretical framework
將識別出來的區(qū)域傳入改進(jìn)KCF跟蹤算法,主要通過彈道模型擬合的二次曲線作為跟蹤尺度系數(shù),加入高斯閾值與檢測目標(biāo)進(jìn)行判斷,小于閾值后重新檢測,以確保目標(biāo)丟失在視野內(nèi)可重新跟蹤。
對訓(xùn)練好的目標(biāo)檢測模型進(jìn)行測試,使用以對象為基準(zhǔn)的評估指標(biāo)進(jìn)行效果評估,即精度P、召回率R、精確值和召回率的調(diào)和均值F1、均值平均精度mAP、每秒處理幀數(shù)FPS。
(15)
(16)
(17)
(18)
式中:TP用于表述預(yù)測與真實(shí)參數(shù)相同,預(yù)測參數(shù)就是相應(yīng)的正(在該情形中相應(yīng)的真實(shí)參數(shù)即正樣本);FP表示預(yù)測和真實(shí)有區(qū)別,預(yù)測即正(在該情形中相應(yīng)的真實(shí)參數(shù)即負(fù));FN表示預(yù)測與實(shí)際有區(qū)別,預(yù)測即負(fù)(在該情形中相應(yīng)的真實(shí)參數(shù)即正樣本)。
本文目標(biāo)跟蹤算法使用中心位置誤差、精確度、重疊率3個(gè)指標(biāo)評估。中心位置誤差的計(jì)算公式如下:
(19)
式中:Kt表示真實(shí)目標(biāo)位置,坐標(biāo)為(xt,yt);Kr表示輸出目標(biāo)位置,坐標(biāo)為(xr,yr)。
圖15 重合度計(jì)算圖Fig.15 Overlap degree calculation
圖15所示為重合度計(jì)算圖,其中D表示整副圖像,矩形B表示真實(shí)目標(biāo)區(qū)域,矩形C表示算法結(jié)果區(qū)域,A為B和C的重合區(qū)域。
由此重合度定義為
(20)
準(zhǔn)確度定義為
(21)
基于目標(biāo)檢測及跟蹤實(shí)驗(yàn)軟硬件配置(見表1),設(shè)計(jì)仿真實(shí)驗(yàn)平臺如圖16所示。由于實(shí)驗(yàn)條件有限,通過視景生成器模擬山地打擊情景,使用轉(zhuǎn)臺模擬彈體的旋轉(zhuǎn)運(yùn)動(dòng),轉(zhuǎn)臺一端的攝像頭通過計(jì)算機(jī)將后端顯示器的視景實(shí)時(shí)處理并輸出到前端顯示器。
表1 軟硬件配置Tab.1 Hardware and software configuration
圖16 仿真實(shí)驗(yàn)平臺Fig.16 Simulation experimental platform
為評估本文改進(jìn)YOLOv3算法的性能,對YOLOv3與S-YOLOv3目標(biāo)檢測模型分別在數(shù)據(jù)集上進(jìn)行訓(xùn)練。訓(xùn)練集和驗(yàn)證集按照7∶3的比例進(jìn)行隨機(jī)分配。在網(wǎng)絡(luò)訓(xùn)練過程中,采用Adam方法進(jìn)行訓(xùn)練,初始學(xué)習(xí)率設(shè)置為0.000 1,衰減系數(shù)設(shè)置為0.005,batchsize設(shè)置為16,預(yù)設(shè)錨點(diǎn)框數(shù)為9。
為驗(yàn)證改進(jìn)算法的有效性,使用視景生成器單獨(dú)生成1 000張數(shù)據(jù)作為測試集進(jìn)行測試。
通過使用數(shù)據(jù)增強(qiáng),網(wǎng)絡(luò)訓(xùn)練過程中的空間維度同步提升,將分布的數(shù)據(jù)密度增大,從原始數(shù)據(jù)集中提取出更多的信息,使得增強(qiáng)后的數(shù)據(jù)集代表更為全面的數(shù)據(jù)集合,進(jìn)而縮小訓(xùn)練集和驗(yàn)證集之間的差距。為驗(yàn)證擴(kuò)充的數(shù)據(jù)集對目標(biāo)識別和網(wǎng)絡(luò)泛化能力有著顯著的提升,表2顯示了對比實(shí)驗(yàn)結(jié)果,可見通過數(shù)據(jù)增強(qiáng)的方式能夠得到更好的訓(xùn)練效果,mAP值提升了26.7%。
表2 數(shù)據(jù)增強(qiáng)對比實(shí)驗(yàn)效果Tab.2 Comparative test effect of data enhancement
為驗(yàn)證本文對錨框計(jì)算改進(jìn)的效果,進(jìn)行對比實(shí)驗(yàn),改進(jìn)前預(yù)定義的錨框集合為((10,13)、(16,30)、(33,23));((30,61)、(62,45)、(59,119));((116,90)、(156,198)(373,326)),改進(jìn)后錨框集合為((4,5)、(5,11)、(9,8));((8,15)、(17,9)、(14,15));((11,22)、(25,12)、(21,21)),表3顯示了對比實(shí)驗(yàn)結(jié)果,可見通過改進(jìn)錨框計(jì)算的方式對檢測精度有了進(jìn)一步提升,mAP值提升4.65%。
表3 錨框計(jì)算改進(jìn)前后對比實(shí)驗(yàn)效果Tab.3 Comparative test effect of Anchors
為更好地驗(yàn)證本文算法的有效性,使用轉(zhuǎn)臺上的攝像頭(分辨率1 920×1 080)在仿真平臺上對屏幕放映的圖像進(jìn)行識別,以更加逼真地模擬旋轉(zhuǎn)彈彈載圖像,使用屏幕顯示出來的圖像相比原圖會產(chǎn)生不同光照、色差等噪聲因素,加上相機(jī)硬件產(chǎn)生的噪聲,可以更好地驗(yàn)證算法魯棒性。實(shí)驗(yàn)共檢測1 000張彈載圖像數(shù)據(jù),結(jié)果如表4所示。
檢測效果如表5所示。從表5中可以看出:在對數(shù)據(jù)未進(jìn)行增強(qiáng)前,改進(jìn)網(wǎng)絡(luò)對小目標(biāo)檢測具有很好的結(jié)果;對數(shù)據(jù)進(jìn)行增強(qiáng)后,在惡劣天氣和動(dòng)態(tài)模糊中,改進(jìn)網(wǎng)絡(luò)都具有很好的檢測效果,可見本文算法在復(fù)雜環(huán)境下也能夠準(zhǔn)確檢測到目標(biāo),也為后續(xù)的目標(biāo)跟蹤提供了關(guān)鍵的初始幀信息。
表4 YOLOv3與S-YOLOv3算法目標(biāo)檢測效果對比Tab.4 Detected results of YOLOv3 and S-YOLOv3
表5 檢測對比結(jié)果
實(shí)驗(yàn)過程模擬的是旋轉(zhuǎn)彈從末制導(dǎo)段開啟目標(biāo)探測系統(tǒng)。由于高速的姿態(tài)運(yùn)動(dòng)以及復(fù)雜的戰(zhàn)場環(huán)境,在彈載圖像檢測和跟蹤目標(biāo)過程中會出現(xiàn)識別困難以及丟失的情況,通過本文設(shè)計(jì)的目標(biāo)探測算法,在成像質(zhì)量受到嚴(yán)重影響情況下目標(biāo)仍可被檢測出來,在丟失目標(biāo)情況下跟蹤算法能夠及時(shí)啟動(dòng)檢測機(jī)制,提供目標(biāo)信息,實(shí)現(xiàn)再次跟蹤。最后完成制導(dǎo)信息的指令輸出,對目標(biāo)實(shí)施精確地打擊。
目標(biāo)檢測與跟蹤畫面如圖17所示,本文實(shí)驗(yàn)為目標(biāo)檢測與跟蹤定位環(huán)節(jié),假設(shè)解旋環(huán)節(jié)已經(jīng)完成,即視場中旋轉(zhuǎn)圖像已解旋為正立。圖17(a)、圖17(b)分別為KCF算法和改進(jìn)KCF跟蹤算法的效果對比。由圖17可見:在末制導(dǎo)段指定目標(biāo)后開始跟蹤,二者都能很好地跟蹤目標(biāo)(見圖17(a)),目標(biāo)都能被黃色框很好地跟蹤到;隨著跟蹤時(shí)間的延長,KCF算法的跟蹤目標(biāo)框逐漸與目標(biāo)出現(xiàn)了漂移,KCF算法沒有像改進(jìn)算法那樣對目標(biāo)尺度進(jìn)行有效更新,導(dǎo)致跟蹤性能下降,也有效說明改進(jìn)后算法對目標(biāo)跟蹤尺度有了很好的估計(jì);在目標(biāo)丟失情況下(見圖17(b)),改進(jìn)后KCF算法由于結(jié)合了S-YOLOv3檢測算法,能夠及時(shí)地再次檢測到目標(biāo),為跟蹤算法再次提供了初始幀信息,為后續(xù)的跟蹤提供了良好基礎(chǔ)。
圖17 跟蹤圖像序列Fig.17 Target image sequence
從評價(jià)指標(biāo)上看(見表6),跟蹤性能與KCF算法相比,中心位置誤差和重疊率有了很大提高,識別準(zhǔn)確度也得到了提升,處理速度為63幀/s,雖然不如KCF算法,但已經(jīng)滿足實(shí)時(shí)性要求,對工程實(shí)踐的應(yīng)用有一定指導(dǎo)意義。
表6 目標(biāo)跟蹤性能對比Tab.6 Performance comparison of algorithms
為進(jìn)一步驗(yàn)證跟蹤算法的性能,對跟蹤的體視線角進(jìn)行提取,如圖18所示,在13 s處開始跟蹤。由圖18可以看出:與原算法相比,改進(jìn)KCF算法高低角曲線與理論曲線誤差更小,最大誤差為0.004 58 rad,約0.268°;方位角最大誤差為0.027 57 rad,約1.58°,其中有標(biāo)定誤差和相機(jī)與屏幕平行度不重合的影響。在像平面中,1個(gè)像素對應(yīng)的體視線角誤差大約為1.5°,與曲線最大誤差接近,進(jìn)一步驗(yàn)證了本文提出的改進(jìn)后跟蹤算算法的有效性。
圖18 體視線角曲線Fig.18 Body line-of-sight angle curves
本文對旋轉(zhuǎn)彈彈載圖像中小目標(biāo)識別跟蹤算法進(jìn)行研究,通過模擬山地打擊場景,針對彈載圖像的特點(diǎn)對圖像數(shù)據(jù)進(jìn)行模擬制作,對現(xiàn)階段較成熟的YOLOv3檢測器模型進(jìn)行了改進(jìn),結(jié)合處理速度高的KCF算法,實(shí)現(xiàn)了復(fù)雜環(huán)境下的小目標(biāo)精確定位。得到主要結(jié)論如下:
1) S-YOLOv3檢測算法配合改進(jìn)KCF跟蹤算法實(shí)現(xiàn)了更加魯棒的目標(biāo)定位,算法加入了丟失判別機(jī)制,時(shí)刻更新尺度信息,檢測精度和跟蹤效果有了很大的提升,處理速度達(dá)到63幀/s,滿足了實(shí)時(shí)性要求。
2) 通過數(shù)據(jù)增強(qiáng)擴(kuò)充的方式,制作了不同天氣、光照、運(yùn)動(dòng)及旋轉(zhuǎn)模糊等復(fù)雜環(huán)境的彈載圖像數(shù)據(jù),增強(qiáng)了算法對復(fù)雜環(huán)境背景下目標(biāo)的檢測能力。
3) 檢測網(wǎng)絡(luò)添加了多尺度分支結(jié)構(gòu),使用k-means均值聚類算法重新計(jì)算錨框,跟蹤算法利用彈道的速度—時(shí)間信息更新目標(biāo)跟蹤框尺度,使得算法對小目標(biāo)尺度更加敏感。
總之,本文將YOLOv3檢測算法成功應(yīng)用在旋轉(zhuǎn)彈的目標(biāo)檢測和跟蹤領(lǐng)域,可見深度學(xué)習(xí)算法在彈載圖像目標(biāo)檢測中的可行性,對智能彈藥的發(fā)展具有一定推進(jìn)作用。