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