祁江鑫,吳 玲,盧發(fā)興,史浩然,許俊飛
(海軍工程大學(xué), 武漢 430000)
隨著武器裝備技術(shù)的發(fā)展,無人機(jī)在現(xiàn)代戰(zhàn)爭發(fā)揮越來越重要的角色??焖贉?zhǔn)確地檢測出無人機(jī)集群目標(biāo),是對其成功攔截的前提,也是迫切需要解決的現(xiàn)實(shí)問題。目前對于無人機(jī)集群的檢測,有許多優(yōu)秀的算法,例如R-CNN、Fast R-CNN、SSD、YOLO等,這些算法都有各自的優(yōu)缺點(diǎn),主要是由于檢測精度和檢測速度是一對矛盾體,高的檢測精度意味著網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜意味著檢測速度受限。
為了平衡檢測精度與檢測速度,提出了系列改進(jìn)的YOLO算法,如YOLOv2、YOLOv3、YOLOv4等,其中YOLOv4算法結(jié)合了許多優(yōu)秀的目標(biāo)檢測算法,加以組合并進(jìn)行創(chuàng)新,實(shí)現(xiàn)了檢測速度和檢測精度的平衡,但在未來對空防御無人機(jī)集群作戰(zhàn)中,考慮到武器反應(yīng)時間,還需要進(jìn)一步提高無人機(jī)集群的檢測速度。為了提高檢測速度,目前輕量化網(wǎng)絡(luò)得到快速發(fā)展,該類網(wǎng)絡(luò)旨在保持模型精度基礎(chǔ)上進(jìn)一步減少模型參數(shù)量和復(fù)雜度,進(jìn)而實(shí)現(xiàn)網(wǎng)絡(luò)模型加速。該類網(wǎng)絡(luò)主要有網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)和模型壓縮等2類,其中模型壓縮主要是對已有的網(wǎng)絡(luò)進(jìn)行剪枝、知識蒸餾等方式使網(wǎng)絡(luò)結(jié)構(gòu)簡單,而另一類是直接采用輕量化思想進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì),例如MobileNet系列。相比于已訓(xùn)練好的模型上進(jìn)行處理,輕量化模型模型設(shè)計(jì)是另辟蹊徑,主要思想在于設(shè)計(jì)更高效的網(wǎng)絡(luò)計(jì)算方式,從而使網(wǎng)絡(luò)參數(shù)減少的同時,不損失網(wǎng)絡(luò)性能。
YOLOv4算法采用3個特征層進(jìn)行分類和回歸預(yù)測,主要由3個部分組成:主干特征提取網(wǎng)絡(luò)CSPDarknet53、加強(qiáng)特征提取網(wǎng)絡(luò)SPP+PANet和預(yù)測網(wǎng)絡(luò)Yolo Head。具體網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1所示。
圖1 YOLOv4網(wǎng)絡(luò)模型結(jié)構(gòu)示意圖Fig.1 YOLOv4 network model structure
主干特征提取網(wǎng)絡(luò)CSPDarknet53主要有2個方面改進(jìn):在YOLOV3中Darknet53的Resblock_body加入CSPnet結(jié)構(gòu);同時DarknetConv2D的激活函數(shù)改為Mish激活函數(shù)。在特征金字塔方面,主要是采用了SPP+PANet的結(jié)構(gòu),其中SPP結(jié)構(gòu)是對最后一個特征層經(jīng)過3次卷積結(jié)果進(jìn)行不同尺度的最大池化處理,其對應(yīng)的池化核大小分別為1×1、5×5、9×9、13×13,可以極大提高感受野,分離出顯著目標(biāo)特征。而PANet結(jié)構(gòu)主要是通過2次上采樣和下采樣來進(jìn)行特征反復(fù)提取,進(jìn)而完成多次特征融合。在預(yù)測網(wǎng)絡(luò)Yolo Head方面,主要是通過2次3×3和1×1的標(biāo)準(zhǔn)卷積,來完成預(yù)測框的生成,同時還包括判斷預(yù)測框中是否包含目標(biāo)以及目標(biāo)的種類。
YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)過于復(fù)雜,雖然檢測精度高,但是檢測速度相對較低,為了在保持相同檢測精度的同時,進(jìn)一步提高精測速度,采用輕量化的深度學(xué)習(xí)網(wǎng)絡(luò)對主干特征提取網(wǎng)絡(luò)進(jìn)行優(yōu)化。其中MobileNet系列是輕量化網(wǎng)絡(luò)的典型代表,主要有MobileNetV1、MobileNetV2和MobileNetV3等3個版本,其中MobileNetV3網(wǎng)絡(luò)是在MobileNetV2的基礎(chǔ)上使用神經(jīng)架構(gòu)搜索技術(shù)生成的結(jié)構(gòu),其主要有以下2個方面改進(jìn):① 引入輕量級的注意力模型,該模型的作用是用于調(diào)整每個通道的權(quán)重;② 利用h-swish激活函數(shù)代替swish函數(shù),減少運(yùn)算量,提高性能。
對于PANet網(wǎng)絡(luò)而言,整個網(wǎng)絡(luò)的參數(shù)運(yùn)算量主要集中在3×3的標(biāo)準(zhǔn)卷積上,為了進(jìn)一步減少網(wǎng)絡(luò)參數(shù)量,將該結(jié)構(gòu)中標(biāo)準(zhǔn)卷積全部使用深度可分離卷積代替,深度可分離卷積實(shí)質(zhì)是將標(biāo)準(zhǔn)卷積轉(zhuǎn)化為一個深度卷積和一個逐點(diǎn)卷積進(jìn)行運(yùn)算,其具體卷積過程如圖2所示。
圖2 深度可分離卷積過程框圖Fig.2 Deep separable convolution
圖2中,左側(cè)為標(biāo)準(zhǔn)卷積、右側(cè)為深度可分離卷積。假設(shè)圖片輸入特征圖大小為××,卷積核大小為×××,輸出特征圖大小為××。對于標(biāo)準(zhǔn)卷積而言,其參數(shù)量為:×××,計(jì)算量為:×××××;而深度可分離卷積,其參數(shù)量為:××+×,計(jì)算量為:××××+×××。將兩者所對應(yīng)的數(shù)據(jù)進(jìn)行對比分析,在參數(shù)量對比上有如下關(guān)系:
計(jì)算量對比有如下關(guān)系:
在YOLOv4的主干特征提取網(wǎng)絡(luò)中,使用MobileNetV3網(wǎng)絡(luò)分別獲得5個有效特征層來代替原網(wǎng)絡(luò)。同時為了進(jìn)一步減少網(wǎng)絡(luò)參數(shù)量,使用深度可分離卷積來代替PANet結(jié)構(gòu)和YOLOv4原網(wǎng)絡(luò)中其余的標(biāo)準(zhǔn)卷積,其具體的優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.3 Optimizing network structure
2.2.1 -means聚類先驗(yàn)框
在目標(biāo)檢測的任務(wù)中,先驗(yàn)框的選擇至關(guān)重要,先驗(yàn)框選擇的合理與否,直接影響著檢測模型性能的好壞。YOLOv4的先驗(yàn)框在特征圖上分布情況如表1所示,其默認(rèn)基于COCO數(shù)據(jù)集,該數(shù)據(jù)集中包含80類物體。
表1 YOLOv4默認(rèn)先驗(yàn)框在特征圖上分布情況Table 1 Distribution of YOLOv4 default a priori frame on characteristic graph
該先驗(yàn)框?qū)o人機(jī)目標(biāo)檢測針對性不強(qiáng),容易出現(xiàn)漏檢或者定位不準(zhǔn)的問題,影響檢測精度,需要對先驗(yàn)框做適應(yīng)性設(shè)計(jì),這里采用數(shù)據(jù)集的格式為VOC。在YOLOv3算法中有文獻(xiàn)采用-means對數(shù)據(jù)集進(jìn)行聚類初始化得到先驗(yàn)框,定義了距離公式為:
(,)=1-(,)
(1)
式(1)中:表示聚類中心;表示樣本;表示真實(shí)框和樣本框的重合程度。該方法也可運(yùn)用到Y(jié)OLOv4的無人機(jī)集群檢測中,利用該方法仿真可得-means先驗(yàn)框在特征圖上分布情況,如表2所示。
表2 K-means先驗(yàn)框在特征圖上分布情況Table 2 distribution of K-means a priori frame on characteristic graph
由表2知,先驗(yàn)框分布比較集中,不利于無人機(jī)多尺度檢測的輸出,同樣的默認(rèn)數(shù)據(jù)的先驗(yàn)框也存在類似的問題。
2.2.2 改進(jìn)-means聚類先驗(yàn)框
為了進(jìn)一步解決-means計(jì)算先驗(yàn)框分布集中的問題,發(fā)揮多尺度檢測的優(yōu)勢,可對先驗(yàn)框進(jìn)行線性尺度縮放,使無人機(jī)的檢測輸出范圍更加寬廣,增加算法的魯棒性。由-means計(jì)算,可得無人機(jī)的先驗(yàn)框共有9個,因而具體線性尺度縮放公式為:
(2)
(3)
(4)
(5)
表3 改進(jìn)K-means先驗(yàn)框在特征圖上分布情況Table 3 Distribution of improved K-means a priori frame on characteristic graph
圖4 IOU示意圖Fig.4 IOU description
當(dāng)?shù)闹荡笥谀硞€閾值時,該預(yù)測框確定為正樣本;反之則為負(fù)樣本。在一定指標(biāo)下,定義查準(zhǔn)率指標(biāo)為:
(6)
式(6)中:代表正確分類的正樣本;代表錯誤分類的正樣本。
定義查全率指標(biāo)為:
(7)
式(7)中,代表錯誤分類的負(fù)樣本。
引入平均精度AP(average precision,AP)為:
(8)
式(8)中,表征當(dāng)值為50時的值,、等類似定義。
定義所有目標(biāo)類對應(yīng)的值的平均值為:
(9)
式(9)中,表示目標(biāo)的種類數(shù)。采用值作為目標(biāo)檢測精度評價指標(biāo)。
在進(jìn)行目標(biāo)檢測時,查全率和查準(zhǔn)率是一對矛盾體,為了平衡查全率和查準(zhǔn)率的權(quán)重,引入正負(fù)樣本分類指標(biāo)為:
(10)
式(10)中:當(dāng)=1時,和同等重要;當(dāng)>1時,比重要;當(dāng)<1時,比重要。
選取=1來定義目標(biāo)正負(fù)樣本分類評價指標(biāo),此時記第類正負(fù)樣本分類指標(biāo)為:
(11)
式(11)中,和分別為第類目標(biāo)的查準(zhǔn)率和查全率。記1為所有目標(biāo)類對應(yīng)1的平均值為:
(12)
1指標(biāo)可以用于表征正負(fù)樣本分類難度,1越小,正負(fù)樣本分類難度越高,檢測難度也將隨之增加。
將每秒處理圖片的幀數(shù)FPS作為目標(biāo)檢測速率評價指標(biāo)。該值越大則目標(biāo)檢測速率越快。
在實(shí)驗(yàn)仿真中,使用Windows10操作系統(tǒng),深度學(xué)習(xí)框架為pytorch, CPU為Intel(R)Core(TM)i5-8300H,GPU為NVIDIA GeForce GTX 1050,CUDA為10.1版本,CUDNN為7.4.15版本。
實(shí)驗(yàn)在公共數(shù)據(jù)集和構(gòu)建的無人機(jī)數(shù)據(jù)集中分別開展,其中公共數(shù)據(jù)集樣本量大、豐富,能可靠驗(yàn)證方法的有效性,構(gòu)建的無人機(jī)數(shù)據(jù)集則有針對性地解決無人機(jī)目標(biāo)檢測的具體問題。
RSOD-Dataset數(shù)據(jù)集,由武漢大學(xué)進(jìn)行標(biāo)注的公共數(shù)據(jù)集,用于遙感圖像的對象檢測,數(shù)據(jù)集包括飛機(jī)、油桶、操場和立交橋。 該數(shù)據(jù)集中有4 993架飛機(jī)、191個操場、180個立交橋和1 586個油桶。
在公共數(shù)據(jù)集上,相同條件下驗(yàn)證上述改進(jìn)算法的效果,其中具體的訓(xùn)練損失如圖5所示,檢測效果圖以飛機(jī)為例,具體的檢測效果如圖6,有關(guān)檢測精度如表4所示。
表4 不同改進(jìn)方法下對應(yīng)檢測精度(%)Table 4 Corresponding detection accuracy under different improved methods
圖5 公共數(shù)據(jù)集訓(xùn)練損失曲線Fig.5 Training loss of public data set
圖6 公共數(shù)據(jù)集飛機(jī)檢測效果圖Fig.6 Aircraft detection effect of public data set
由圖5可以看出,當(dāng)訓(xùn)練到第50代時,訓(xùn)練損失已經(jīng)收斂,達(dá)到目標(biāo)檢測的精度要求。
由圖6和表4可以看出,針對樣本量豐富的公共數(shù)據(jù)集,改進(jìn)-means且輕量化YOLOv4的檢測精度較原算法提高了5.3%,驗(yàn)證了本文改進(jìn)算法的有效性。
無人機(jī)數(shù)據(jù)集所需圖片來源于網(wǎng)絡(luò)爬蟲和手機(jī)拍攝,通過數(shù)據(jù)增強(qiáng)的方式增加圖片的數(shù)量,包括翻轉(zhuǎn)、旋轉(zhuǎn)、縮放比例、裁剪、移位、加入高斯噪聲和顏色增強(qiáng)。并運(yùn)用圖像標(biāo)注工具labelimg進(jìn)行數(shù)據(jù)集的制作,數(shù)據(jù)集格式為Pascal VOC,數(shù)據(jù)集分為UAV和UAV1等2類,共1 000張圖片,2類各有500張。數(shù)據(jù)集制作情況如圖7所示。
圖7 數(shù)據(jù)集制作圖Fig.7 Data set production
1) YOLOv3和YOLOv4檢測結(jié)果及分析。
分別利用傳統(tǒng)的YOLOv3和YOLOv4算法在單無人機(jī)(UAV)和無人機(jī)集群(UAV1)等2種情況下進(jìn)行檢測,檢測結(jié)果如圖8和圖9所示。
圖8 YOLOv3無人機(jī)的檢測結(jié)果圖Fig.8 Test results of YOLOv3 UAV
圖9 YOLOv4無人機(jī)的檢測結(jié)果Fig.9 Test results of YOLOv4 UAV
由圖8和圖9可以看出,在無人機(jī)檢測中出現(xiàn)漏檢和誤檢情況,進(jìn)一步結(jié)合表5、表6可見,當(dāng)?shù)臄?shù)值由小變大時,1指標(biāo)不斷降低,表明無人機(jī)集群的正負(fù)樣本分類難度增加,無人機(jī)集群的檢測難度越來越大,對應(yīng)的值越來越低。而在相同條件下,YOLOv4相比YOLOv3算法有更高的平均檢測精度。
表5 不同IOU下YOLOv3算法AP值和mAP值Table 5 AP value and mAP value of YOLOv3 algorithm under different IOU
表6 不同IOU下YOLOv4算法AP值和mAP值Table 6 AP value and map value of YOLOv4 algorithm under different IOU
2) 基于輕量化網(wǎng)絡(luò)的YOLOv4檢測結(jié)果及分析。
使用輕量化網(wǎng)絡(luò)和YOLOv4默認(rèn)先驗(yàn)框,進(jìn)行無人機(jī)檢測所得結(jié)果如圖10和表7所示。
對比圖9、圖10和表6、表7可知,使用輕量化的檢測網(wǎng)絡(luò)進(jìn)行集群檢測試驗(yàn),可以看出與原網(wǎng)絡(luò)檢測精度基本保持不變。
圖10 基于輕量化網(wǎng)絡(luò)的YOLOv4無人機(jī)的檢測結(jié)果圖Fig.10 Detection results of YOLOv4 UAV based on lightweight network
表7 輕量化網(wǎng)絡(luò)下不同IOU所對應(yīng)的AP值以及mAP值Table 7 AP values and mAP values corresponding to different IOUs under lightweight network
3) 基于改進(jìn)-means聚類先驗(yàn)框的YOLOv4檢測結(jié)果及分析。
在YOLOv4基礎(chǔ)上分別利用-means和改進(jìn)-means聚類先驗(yàn)框改進(jìn)算法,檢測結(jié)果分別如圖11、圖12和表8、表9所示。
圖11 基于K-means聚類先驗(yàn)框的改進(jìn)YOLOv4檢測結(jié)果圖Fig.11 Improved YOLOv4 detection results based on K-means clustering a priori box
圖12 基于改進(jìn)K-means聚類先驗(yàn)框改進(jìn)YOLOv4檢測結(jié)果圖Fig.12 Improved YOLOv4 detection results based on improved K-means clustering a priori box
表8 K-means先驗(yàn)框下不同IOU所對應(yīng)的AP值以及mAP值Table 8 AP values and mAP values corresponding to different IOUs under K-means a priori box
表9 改進(jìn)K-means先驗(yàn)框下不同IOU對應(yīng)AP值及mAP值Table 9 AP values and mAP values corresponding to different IOUs under the improved K-means a priori frame
由圖11、圖12可以看出,利用改進(jìn)-means先驗(yàn)框使算法,在單無人機(jī)檢測中獲得了更好的檢測效果。由表5—表9可以看出,改進(jìn)的-means先驗(yàn)框使無人機(jī)檢測精度相比傳統(tǒng)Yolov4和基于-means先驗(yàn)框的改進(jìn)YOLOv4算法分別提高了7.3%和3.4%,相比YOLOv3提高了16.4%,表明改進(jìn)-means先驗(yàn)框可有效提高無人機(jī)檢測效果。
4) 檢測精度與漏檢率、誤檢率關(guān)系及分析。
由圖8—圖12可以清晰看出,在單無人機(jī)和無人機(jī)集群檢測時,出現(xiàn)無人機(jī)的漏檢和誤檢情況,并隨著算法的改進(jìn),漏檢和誤檢情況得到明顯的改善,為了進(jìn)一步定量分析,進(jìn)行實(shí)驗(yàn)可得檢測精度與漏檢率、誤檢率關(guān)系,如表10所示。
表10 檢測精度與漏檢率、誤檢率關(guān)系(%)Table 10 Relationship between detection accuracy,missed detection rate and false detection rate
由表10可以看出,當(dāng)檢測精度為96.51%,改進(jìn)的YOLOv4算法,相比較YOLOv3和YOLOv4算法,漏檢率分別降低了68.5%、6.25%,誤檢率分別降低了69.8%、62.2%,有效地解決了無人機(jī)檢測中誤檢、漏檢情況。
5) 綜合2種改進(jìn)策略下的檢測結(jié)果及分析。
使用輕量化網(wǎng)絡(luò),并同時采用改進(jìn)-means聚類先驗(yàn)框2種手段對YOLOv4算法進(jìn)行改進(jìn),對無人機(jī)集群進(jìn)行檢測實(shí)驗(yàn),相同條件下,比較算法訓(xùn)練的檢測模型、處理圖片所需時間、檢測速率FPS以及檢測精度,其具體的實(shí)驗(yàn)結(jié)果如表11所示。
表11 融合實(shí)驗(yàn)無人機(jī)集群檢測實(shí)驗(yàn)結(jié)果Table 11 test results of UAV cluster detection in fusion experiment
由表11可得,改進(jìn)YOLOv4算法得到的檢測模型大小約為原算法的1/9,有效提高了檢測速率,其中改進(jìn)YOLOv4分別為YOLOv3和YOLOv4的1.82倍、2.27倍;同時在保證檢測速率的前提下,檢測精度則分別提高了16.4%、7.3%。
6) 基于不同檢測算法的檢測結(jié)果及分析
為了進(jìn)一步對比基于深度學(xué)習(xí)不同目標(biāo)檢測算法在無人機(jī)集群檢測中的效果,分別利用SSD、Centernet、YOLOv4和改進(jìn)YOLOv4算法,基于uav1組成簡單無人機(jī)集群進(jìn)行目標(biāo)檢測實(shí)驗(yàn),具體的實(shí)驗(yàn)結(jié)果如圖13所示。
圖13 不同深度學(xué)習(xí)算法檢測結(jié)果直方圖Fig.13 Comparative analysis of different depth learning algorithms
由圖13可以看出,改進(jìn)YOLOv4算法同時提高了檢測精度和檢測速率,與其他深度學(xué)習(xí)算法SSD和Centernert相比,檢測精度分別提高了15.4%、19.4%,檢測速率分別提高了16.4%、52.1%。
相比傳統(tǒng)YOLOv3和YOLOv4算法,改進(jìn)的YOLOv4算法使無人機(jī)集群檢測提高了檢測精度和檢測速度。算法能有效解決無人機(jī)集群檢測中出現(xiàn)的誤檢和漏檢等問題,能夠較好地滿足無人機(jī)集群對空作戰(zhàn)需求。