楊 銳, 黃 山
(四川大學(xué)電氣工程學(xué)院,成都 610000)
無人機(jī)在戰(zhàn)斗中承擔(dān)的任務(wù)比重和權(quán)限越來越大,為應(yīng)對(duì)敵方無人機(jī)的威脅,建立有效的反無人機(jī)系統(tǒng)極具必要性。反無人機(jī)系統(tǒng)主要涉及探測(cè)、跟蹤、干擾和毀傷等技術(shù),其中探測(cè)技術(shù)是關(guān)鍵。相比傳統(tǒng)算法,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法具有魯棒性強(qiáng)、精度高的優(yōu)點(diǎn),在對(duì)無人機(jī)的探測(cè)過程中可起到重要作用。檢測(cè)中面臨的主要難題有:移動(dòng)設(shè)備算力的限制以及復(fù)雜的背景環(huán)境導(dǎo)致檢測(cè)效果不佳。因此,優(yōu)化出更高精度的輕量級(jí)目標(biāo)檢測(cè)模型是本文的研究目標(biāo)。
早期的目標(biāo)檢測(cè)算法如R-CNN(Regions with Convolution Neural Network features)系列[1-2]只在單層特征圖上進(jìn)行檢測(cè),其性能落后于使用多尺度進(jìn)行檢測(cè)的算法;YOLO(You Only Look Once)[3]和YOLOv2[4]也只使用主干網(wǎng)絡(luò)提取的最后一層特征來進(jìn)行預(yù)測(cè),雖然速度很快,但是精度并不理想。2016年提出的SSD(Single Shot Multibox Detector)[5]算法首次利用了不同尺度的特征圖進(jìn)行預(yù)測(cè),將不同層的預(yù)測(cè)結(jié)果進(jìn)行匯總后,再通過NMS(Non-Maximum Suppression)濾除低質(zhì)量邊框,由于SSD算法利用了淺層較高分辨率的特征圖,這些特征圖包含豐富的細(xì)節(jié)與位置信息,因而提高了小目標(biāo)的檢測(cè)精度。在SSD算法中,特征圖之間是相互獨(dú)立的,而后來出現(xiàn)的FPN(Feature Pyramid Network)通過融合多個(gè)低分辨率和高分辨率特征圖,進(jìn)一步提高了精度。此后,人們普遍認(rèn)為FPN的成功依賴于多層特征的融合,由此產(chǎn)生了一系列對(duì)于特征融合方法的研究,包括自適應(yīng)空間特征融合(Adaptively Spatial Feature Fusion,ASFF)[6]算法、路徑聚合網(wǎng)絡(luò)(Path Aggregation Network,PANet)[7]、雙向特征融合網(wǎng)絡(luò)(Bidirectional Feature Pyramid Network,BiFPN)[8]等,這些方法大多數(shù)是基于FPN來改進(jìn)的,并且成為最先進(jìn)目標(biāo)檢測(cè)器的重要組成部分,如FCOS(Fully Convolutional detection One-Stage object detection)算法[9]和YOLOv3算法[10]采用了FPN,YOLOv4[11]算法采用了PANet,EfficientDet[8]算法采用了BiFPN。
近年出現(xiàn)的DETR(DEtection TRansformer)[12]算法通過引入Transformer來進(jìn)行目標(biāo)檢測(cè),它只使用一個(gè)C5特征就可以達(dá)到先進(jìn)的檢測(cè)效果,受此啟發(fā),CHEN等[13]提出了YOLOF(You Only Look One-level Feature)算法,該算法依然采用了傳統(tǒng)的CNN(Convolutional Neural Networks),但只用了一層C5特征,通過針對(duì)性的優(yōu)化,達(dá)到了媲美YOLOv4算法的精度,并且模型結(jié)構(gòu)更簡(jiǎn)單,檢測(cè)速度更快。這給人一個(gè)新的啟發(fā):利用較少的特征層依然可以達(dá)到理想的檢測(cè)精度。然而相比YOLOv4算法,YOLOF算法對(duì)于大目標(biāo)的檢測(cè)精度有所提高,而對(duì)于小目標(biāo)的檢測(cè)精度卻降低了。
YOLOv4-tiny算法是在YOLOv4算法的基礎(chǔ)上簡(jiǎn)化而來的,其速度快,但精度并不理想。一些文獻(xiàn)通過增加一個(gè)特征層來對(duì)YOLO輕量化網(wǎng)絡(luò)進(jìn)行改進(jìn),但是這樣會(huì)增加大量的錨框使得計(jì)算量增大,影響檢測(cè)速度。而保留YOLOv4-tiny算法的兩個(gè)尺度的特征層能夠保持精度與速度的平衡,起到折衷的效果,因此,本文在不增加特征層的基礎(chǔ)上對(duì)YOLOv4-tiny算法進(jìn)行了特征融合策略的改進(jìn),同時(shí)對(duì)邊框回歸損失函數(shù)進(jìn)行了改進(jìn),以此來提高模型檢測(cè)精度。
圖1所示為YOLOv4-tiny網(wǎng)絡(luò)結(jié)構(gòu)。由圖1可知,YOLOv4-tiny的主干網(wǎng)絡(luò)(backbone)包含3個(gè)基本卷積模塊以及3個(gè)CSP模塊,每個(gè)基本卷積模塊包含卷積層、BN層與LeakyReLU激活函數(shù),其中,步幅為2的卷積用來對(duì)上一層的特征圖進(jìn)行下采樣。CSP模塊中首先通過一個(gè)卷積層對(duì)特征進(jìn)行整合,再將特征層的通道分成兩部分,第2部分分別經(jīng)過3×3卷積層、一個(gè)小的殘差結(jié)構(gòu)和1×1卷積層,將得到的輸出與第1部分拼接,這使得梯度流可以在兩種不同的網(wǎng)絡(luò)路徑上傳播、梯度信息的相關(guān)性差異增加。每個(gè)CSP模塊后接一個(gè)步幅為2的2×2最大池化層進(jìn)行下采樣,形成多尺度的特征。主干網(wǎng)絡(luò)提取特征后,采用FPN結(jié)構(gòu)將不同層級(jí)的特征進(jìn)行融合,在特征融合前先用步幅為1的1×1卷積將通道壓縮到與下一層一致,再采用最近鄰插值法進(jìn)行上采樣。FPN輸出的特征經(jīng)過檢測(cè)頭的3×3卷積,最終得到13×13和26×26兩個(gè)特征圖用于預(yù)測(cè)。
本文保留了YOLOv4-tiny頸部模塊兩輸入兩輸出的結(jié)構(gòu),旨在保證檢測(cè)速度,在這個(gè)基礎(chǔ)上提出了YOLO-L2網(wǎng)絡(luò)。首先通過主干網(wǎng)絡(luò)生成C5和C4兩種不同尺度的特征圖,C5經(jīng)過ResBlock-L2模塊后得到的特征和C4作為輸入來構(gòu)建PACAN (Path Aggregation with Coordinate Attention Network)特征金字塔,如圖2所示,Conv3是用來將通道數(shù)從512降為256的1×1卷積;Upsampling中,采用最近鄰插值進(jìn)行上采樣;Downsampling中,采用雙線性插值進(jìn)行下采樣。Head1與Head2中,首先采用3×3卷積,保持通道數(shù)為256,再采用1×1卷積將通道數(shù)壓縮為(5+n)×3,其中,n為類別數(shù)。
圖2 YOLO-L2網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Network structure of YOLO-L2
(1)
(2)
(3)
式中:fattention表示協(xié)調(diào)注意力操作;fresize表示上采樣以及1×1卷積操作,用于使兩個(gè)待融合特征圖的分辨率和通道數(shù)一致;λ1和λ2是可學(xué)習(xí)的變量,在進(jìn)行加權(quán)時(shí),借鑒了EfficientDet的思想,先使用ReLU激活函數(shù)將λ1和λ2的值限定為非負(fù)數(shù),再將λ1和λ2分別除以λ1+λ2+ε得到加權(quán)系數(shù)α和β,這樣能夠保證系數(shù)和為1,這種簡(jiǎn)單的歸一化方式具有比Softmax函數(shù)更小的計(jì)算開銷;ε是一個(gè)極小的常數(shù),本文取1×10-4,用來防止分母為0。
采用協(xié)調(diào)注意力機(jī)制對(duì)相加融合后的特征進(jìn)一步整合,通過利用兩個(gè)坐標(biāo)方向的池化特征來整合空間信息,不僅能捕獲跨通道的信息,還能捕獲方向和位置的信息。對(duì)于一個(gè)輸入特征圖,用C,W和H分別表示其通道數(shù),寬和高,在每個(gè)通道上采用H×1和1×W大小的池化核分別沿著W方向和H方向進(jìn)行平均池化操作,此過程可以表示為
(4)
(5)
f=δ(F1([zh,zw]))
(6)
式中:[·]表示沿著空間維度進(jìn)行拼接操作;f的通道數(shù)為(C/r)·(H+W);非線性激活函數(shù)使用了H-Swish。下一步是分離操作,沿著空間維度把f分離成為兩個(gè)張量,并分別通過1×1卷積把通道數(shù)擴(kuò)展為輸入特征圖的通道數(shù)C,經(jīng)過Sigmoid函數(shù)處理后,將得到的結(jié)果與輸入特征圖相乘,起到加權(quán)的作用。
受YOLOF的啟發(fā),本文提出了級(jí)聯(lián)的瓶頸殘差模塊ResBlock-L2(L表示大尺寸卷積核,2表示級(jí)聯(lián)模塊的個(gè)數(shù))用來增大感受野,如圖3所示,輸入端為C5,輸出端為P5,ResBlock-L2由兩個(gè)殘差模塊(Residual Block)組成。
圖3 ResBlock-L2結(jié)構(gòu)Fig.3 Structure of the ResBlock-L2
每一個(gè)殘差模塊是一個(gè)瓶頸結(jié)構(gòu),在第i個(gè)(i∈{1,2})殘差模塊中,首先使用逐點(diǎn)卷積降維為原來的一半以減少計(jì)算量,再經(jīng)過卷積核大小為i×2+3的逐通道卷積提取具有大感受野的特征,最后使用逐點(diǎn)卷積升高維度,卷積層后面均有一個(gè)BN層和ReLU層。第1個(gè)殘差模塊中逐通道卷積核大小為5×5,第2個(gè)模塊中的逐通道卷積核大小為7×7。使用殘差結(jié)構(gòu)的目的在于:1) 通過短路連接可以確保具有小感受野的特征也能保留,這樣得到的特征圖融合了多種具有不同感受野的特征,因此本質(zhì)上ResBlock-L2也是一種特征融合結(jié)構(gòu);2) 殘差結(jié)構(gòu)能克服增加深度帶來的退化問題,更容易優(yōu)化。沒有在殘差結(jié)構(gòu)中采用空洞卷積的原因在于:空洞卷積具有網(wǎng)格效應(yīng),卷積核的不連續(xù)會(huì)導(dǎo)致部分輸入像素沒有得到計(jì)算,為了克服這個(gè)問題需要多次堆疊不同空洞率的空洞卷積層(如YOLOF采用了4個(gè)空洞殘差塊),而堆疊過多的網(wǎng)絡(luò)模塊會(huì)導(dǎo)致計(jì)算開銷增加,不利于輕量級(jí)模型,但如果減少空洞卷積次數(shù),比如只使用兩個(gè)級(jí)聯(lián)的空洞殘差模塊,就難以克服網(wǎng)格效應(yīng)帶來的問題。本文使用了具有大尺寸卷積核的逐通道卷積而不是空洞卷積,最大的 7×7 卷積具有的參數(shù)量?jī)H有0.013×106,占整個(gè)模型的比例低于 0.22%,因此增加的參數(shù)量可以忽略不計(jì)。
YOLOv4-tiny使用的CIoU(Complete loU)[15]損失函數(shù)中的ν只是反映了寬高比的差異,而不是hgt和h,wgt和w之間的真實(shí)關(guān)系,因此提出了MEIoU (More Efficient IoU),其表達(dá)式為
(7)
式中:ρ2(b,bgt)為預(yù)測(cè)框與真實(shí)框中心距的平方;D為真實(shí)框與預(yù)測(cè)框之間的最小包圍框的對(duì)角線長(zhǎng)度;max(w,wgt)項(xiàng)不會(huì)超過最小包圍框的寬度;懲罰項(xiàng)的目的在于使得預(yù)測(cè)框和目標(biāo)框的長(zhǎng)寬差值減小,讓預(yù)測(cè)框能夠快速接近真實(shí)框;系數(shù)設(shè)置為0.5是為了平衡重疊面積、中心點(diǎn)和邊長(zhǎng)這3個(gè)幾何因素的權(quán)重,使得它們的取值范圍都在0與1之間。
為了模擬邊框回歸過程,設(shè)置初始框中心點(diǎn)坐標(biāo)為x=4,y=5.5,寬和高為w=2.5,h=1;目標(biāo)框固定不變,其中心點(diǎn)坐標(biāo)為x=0,y=0,寬和高為w=0.5,h=0.5;實(shí)驗(yàn)采用Adam優(yōu)化器,學(xué)習(xí)率設(shè)置為0.002,共迭代6000次。圖4用了9組子圖來表示在模擬迭代過程中分別采用CIoU、EIoU[16]和MEIoU 3種損失函數(shù)時(shí)在第100次、第1000次和第5200次迭代時(shí)的邊框狀態(tài)。
圖4 不同損失函數(shù)下的邊框位置變化Fig.4 The change of the bounding box when using different loss functions
圖4中,每組子圖右上角的深色框代表初始框,左下角方框代表目標(biāo)框,虛線框代表迭代過程中的邊框位置,w和h表示當(dāng)前step下邊框的寬和高。
圖5所示為迭代過程中邊框回歸損失對(duì)比情況。
圖5 迭代過程中邊框回歸損失對(duì)比Fig.5 Comparison of BBR loss during iteration
圖5中,MEIoU用了最少的迭代次數(shù)將回歸損失值減到了最小,結(jié)合圖4可知,由于考慮了hgt和h,wgt和w之間的真實(shí)關(guān)系,MEIoU明顯能使預(yù)測(cè)框更快地接近真實(shí)框。此外,相比EIoU,當(dāng)兩個(gè)框相距較遠(yuǎn)時(shí)MEIoU能產(chǎn)生更大的懲罰項(xiàng);當(dāng)一個(gè)框被另一個(gè)框包含時(shí),MEIoU相當(dāng)于在EIoU的基礎(chǔ)上將懲罰項(xiàng)變?yōu)樵瓉淼?/2,此時(shí)MEIoU的值介于EIoU和DIoU之間。
本文實(shí)驗(yàn)訓(xùn)練環(huán)境如下:操作系統(tǒng)為Windows10,GPU為NVIDIA GeForce GTX1660,CPU為英特爾酷睿i5-9400F,Pytorch版本為1.2.0,CUDA版本為10.1,內(nèi)存大小為16 GiB。訓(xùn)練策略:訓(xùn)練時(shí)主干網(wǎng)絡(luò)加載在COCO數(shù)據(jù)集上預(yù)訓(xùn)練好的模型并且凍結(jié)這部分參數(shù),這樣可加快訓(xùn)練速度;Batchsize設(shè)置為32;采用余弦退火學(xué)習(xí)率,初始值為0.003,70個(gè)Epoch后下降到最小值0.000 1并保持;優(yōu)化器采用Adam;采用標(biāo)簽平滑策略,平滑因子設(shè)置為0.01;NMS中置信度閾值取0.01,IoU閾值取0.5;輸入圖像縮放為416像素×416像素。
1) 自制數(shù)據(jù)集:UAV-L。
UAV-L數(shù)據(jù)集包含固定翼無人機(jī)、單旋翼無人機(jī)、多旋翼無人機(jī)3個(gè)類別,圖片通過互聯(lián)網(wǎng)以及實(shí)地拍攝獲得,共有2300張。采用K-means算法對(duì)標(biāo)注好的數(shù)據(jù)集進(jìn)行聚類可以得到6個(gè)先驗(yàn)框,其大小分別為(25,21),(54,43),(101,69),(176,115),(276,184)和(368,292),平均IoU為71.7%。
2) 公開數(shù)據(jù)集:PASCAL VOC。
該數(shù)據(jù)集一共有20個(gè)類別,在VOC數(shù)據(jù)集上進(jìn)行的實(shí)驗(yàn),是將VOC2007的trainval部分(共5011張)和VOC2012的trainval部分(共11 540張)的并集作為訓(xùn)練集,VOC2007的test部分(共4952張)作為測(cè)試集。先驗(yàn)框的設(shè)置和官方開源代碼保持一致。
訓(xùn)練過程中,分別采用光度畸變和幾何畸變進(jìn)行數(shù)據(jù)增強(qiáng),其中,光度畸變采用了色域變換以及隨機(jī)調(diào)整亮度、對(duì)比度、飽和度等操作,幾何畸變采用了隨機(jī)水平翻轉(zhuǎn)、裁剪和隨機(jī)尺度縮放等操作。
UAV-L和VOC數(shù)據(jù)集的平均精度均值(mAP)均按照VOC 2012對(duì)mAP的計(jì)算方法:對(duì)每一個(gè)召回率,找到該召回率下最大的準(zhǔn)確率,然后求其均值得到AP(Average Precision),將所有類別的AP取平均得到mAP。通過模型進(jìn)行前向推理所花費(fèi)的時(shí)間來評(píng)估速度,該值不包含檢測(cè)后的其他處理過程,由多次測(cè)量取平均值得到,測(cè)量時(shí)間采用的GPU為NVIDIA GeForce RTX 2060,CPU為英特爾酷睿i5-10200H。
5.4.1 改進(jìn)前后對(duì)比
在YOLO-L2的網(wǎng)絡(luò)結(jié)構(gòu)上去掉ResBlock-L2模塊即可得到PACAN,采用相加的特征融合方式比拼接得到的特征通道數(shù)更少,因此參數(shù)量得以減少,整個(gè)PACAN模型的參數(shù)量只有4.99×106。在VOC和UAV-L數(shù)據(jù)集上,PACAN相比YOLOv4-tiny,mAP分別提高了2.07 %和1.92%,如表1所示。本實(shí)驗(yàn)環(huán)境下測(cè)得YOLOv4-tiny的mAP為75.72%;使用CPU測(cè)試時(shí),PACAN的速度和精度均超過YOLOv4-tiny;YOLO-L2在對(duì)比實(shí)驗(yàn)中的mAP最高,比YOLOv4-tiny提高3.19%;雖然在GPU上前向推理耗時(shí)比YOLOv4-tiny多了0.8 ms,但也滿足實(shí)時(shí)性。
表1 算法性能對(duì)比(VOC數(shù)據(jù)集)Table 1 Performance camparison of algorithms(VOC dataset)
表2所示為UAV-L數(shù)據(jù)集中各類別的AP值。
表2 各類別的AP值(UAV-L數(shù)據(jù)集)Table 2 AP values of each category (UAV-L dataset) %
從表2可看到,改進(jìn)后模型的mAP提升了3.95%,對(duì)于各個(gè)類別來說,模型對(duì)多旋翼無人機(jī)的檢測(cè)效果最好,而單旋翼無人機(jī)的AP值不高,這在一定程度上是由訓(xùn)練樣本較少導(dǎo)致的。
實(shí)驗(yàn)中還對(duì)比了幾種不同的損失函數(shù)。文獻(xiàn)[16]認(rèn)為邊框回歸應(yīng)該聚焦于高質(zhì)量邊框,因此在EIoU損失前乘了一個(gè)動(dòng)態(tài)系數(shù)Iγ(I代表交并比),得到了Focal-EIoU。實(shí)驗(yàn)過程中本文將動(dòng)態(tài)系數(shù)中的變量設(shè)置為不更新梯度,γ取值為1。結(jié)果表明,在本文模型中Focal-EIoU的精度均超過了CIoU,而采用MEIoU效果更佳,能夠帶來mAP 0.2%~0.4%的提升。
5.4.2 級(jí)聯(lián)殘差模塊
1) 卷積核大小的影響。
首先,為了驗(yàn)證ResBlock-L2模塊對(duì)于模型性能具有進(jìn)一步的提升效果,在公開數(shù)據(jù)集VOC上進(jìn)行了如下消融實(shí)驗(yàn):在PACAN的基礎(chǔ)上,只在C5特征層加入ResBlock-L2模塊,而其他部分保持不變。
表3所示為VOC數(shù)據(jù)集中ResBlock-L2設(shè)置不同參數(shù)時(shí)的實(shí)驗(yàn)結(jié)果。
表3 ResBlock-L2設(shè)置不同參數(shù)時(shí)的實(shí)驗(yàn)結(jié)果(VOC數(shù)據(jù)集)Table 3 Experimental results of the ResBlock-L2 with different parameters (VOC dataset)
表3中,大尺寸是指本文提出的ResBlock-L2模塊,其特點(diǎn)是殘差結(jié)構(gòu)中逐通道卷積的核尺寸分別為5×5和7×7,可以看到mAP值為78.62%,相比CIoU的75.72%(見表1)提高了2.90%,對(duì)精度具有明顯改善效果。
其次,為了驗(yàn)證卷積核尺寸大小的影響,將每個(gè)殘差模塊中的卷積全部替換成3×3卷積再次進(jìn)行實(shí)驗(yàn),結(jié)果對(duì)應(yīng)表3中的小尺寸,此時(shí),相比基礎(chǔ)模型mAP只提高了2.39%,而二者的計(jì)算量并無明顯區(qū)別,不同之處在于大尺寸卷積能夠提取具有更大感受野的特征。由此說明,增大感受野是導(dǎo)致該模型精度提升的關(guān)鍵因素之一。
2) 卷積類型的影響。
正如前文提到的,由于空洞卷積具有網(wǎng)格效應(yīng),要解決這個(gè)問題需要多次堆疊空洞卷積,表3中的空洞卷積是指在殘差結(jié)構(gòu)中的逐通道卷積的基礎(chǔ)上設(shè)置大于1的空洞率,因?yàn)槿绻捎闷胀斩淳矸e,參數(shù)量會(huì)顯著增大(輸入、輸出通道數(shù)為256的情況下,每增加一個(gè)普通空洞卷積參數(shù)量大約增加0.86×106),殘差模塊數(shù)目為2時(shí),空洞率依次設(shè)置為2和3;殘差模塊數(shù)目為4時(shí),空洞率依次設(shè)置為2,3,4,5;殘差模塊數(shù)目為6時(shí),空洞率依次設(shè)置為2,3,4,5,6,7。實(shí)驗(yàn)結(jié)果表明:只級(jí)聯(lián)2個(gè)空洞卷積時(shí),mAP只有77.36%,即加入該模塊后模型的性能反而降低了;當(dāng)級(jí)聯(lián)4個(gè)空洞卷積時(shí),mAP提升到了77.87%;級(jí)聯(lián)6個(gè)空洞卷積后,mAP進(jìn)一步提升到了78.32%,然而依然沒能超過采用大尺寸普通卷積時(shí)的78.62%,并且參數(shù)量提升到了6.60×106,超過了YOLO-L2的5.54×106,這體現(xiàn)了ResBlock-L2在設(shè)計(jì)上的合理性。實(shí)驗(yàn)結(jié)果表明,采用具有大尺寸卷積核的殘差結(jié)構(gòu)不能有效提高對(duì)小目標(biāo)的檢測(cè)精度;過少的空洞卷積會(huì)導(dǎo)致性能降低,而空洞卷積過多會(huì)導(dǎo)致參數(shù)量的提升,不利于輕量級(jí)模型。
3) ResBlock-L2嵌入位置的影響。
為了驗(yàn)證ResBlock-L2嵌入位置對(duì)模型性能的影響,在YOLO-L2的基礎(chǔ)上改變ResBlock-L2模塊的位置,保持其他結(jié)構(gòu)不變進(jìn)行了如下實(shí)驗(yàn)。首先,將ResBlock-L2模塊單獨(dú)嵌入到C4處(設(shè)置輸入輸出通道數(shù)為256,中間通道數(shù)為128),然后,將其同時(shí)嵌入到C5和C4處。結(jié)果顯示同時(shí)嵌入到第5層和第4層時(shí)起到反作用,mAP降到了78.46%,并且此時(shí)參數(shù)量更大了;單獨(dú)嵌入到第4層時(shí)效果最差,mAP僅有77.73%,因?yàn)檫@會(huì)導(dǎo)致該層特征丟失部分細(xì)節(jié)信息。只將ResBlock-L2嵌入到第5層而不是其他層的原因在于:不是每一層特征都需要增大感受野,根據(jù)尺度匹配規(guī)則,不同層級(jí)的特征負(fù)責(zé)預(yù)測(cè)不同尺度的目標(biāo),最深層級(jí)的特征是用來檢測(cè)大目標(biāo)的,需要足夠大的感受野,而淺層的特征并不需要。
為了更直觀地說明檢測(cè)算法的效果,選取了一些典型的樣張進(jìn)行對(duì)比分析。圖6所示為UAV-L數(shù)據(jù)集訓(xùn)練的結(jié)果。
圖6 YOLOv4-tiny算法與本文算法的檢測(cè)效果對(duì)比(UAV-L數(shù)據(jù)集)Fig.6 Comparison of detection effects of YOLOv4- tiny and the proposed method (UAV-L dataset)
圖6中:從左往右第1組對(duì)比圖中YOLOv4-tiny算法對(duì)大目標(biāo)造成了誤檢;第2組對(duì)比圖反映了本文算法對(duì)于小目標(biāo)的檢測(cè)能力與YOLOv4-tiny算法基本一致,但二者都漏掉了最小的目標(biāo);第6組對(duì)比圖中YOLOv4-tiny算法出現(xiàn)了漏檢;其他幾組圖反映了本文算法檢測(cè)出的目標(biāo)置信度更高、邊框定位更加準(zhǔn)確。
為了進(jìn)一步提升模型的精度,本文改進(jìn)YOLOv4-tiny算法后提出了YOLO-L2模型,并用來對(duì)無人機(jī)進(jìn)行檢測(cè),該模型保留2個(gè)尺度的特征圖,采用一種基于協(xié)調(diào)注意力機(jī)制與路徑聚合策略的特征融合網(wǎng)絡(luò),同時(shí)使用了一個(gè)殘差模塊ResBlock-L2來增大感受野以及融合具有不同感受野的特征。改進(jìn)后的模型相比YOLOv4-tiny算法顯著地提高了檢測(cè)精度;采用MEIoU邊框損失函數(shù)來替換CIoU后,精度也有所提升。本文所提UAV-L數(shù)據(jù)集樣本數(shù)還比較少,未來需要對(duì)其進(jìn)一步擴(kuò)充。另外,輕量級(jí)模型對(duì)弱小目標(biāo)的檢測(cè)效果不佳,如何在保證實(shí)時(shí)性的基礎(chǔ)上提升對(duì)小目標(biāo)的檢測(cè)精度也是未來需要探索的方向。