董鳳禹,魏振忠
北京航空航天大學(xué),北京 100191
空中小目標(biāo)檢測(cè)任務(wù)通常是指在航空或航天等領(lǐng)域中,對(duì)飛行器或衛(wèi)星等載具進(jìn)行實(shí)時(shí)監(jiān)測(cè),以實(shí)現(xiàn)空中交通管制、地質(zhì)探測(cè)、天氣預(yù)測(cè)、空中加油[1]、飛行器姿態(tài)測(cè)量[2]等應(yīng)用。相較于高分辨率的圖像,空中目標(biāo)往往相對(duì)尺寸小或尺度變化極大,且目標(biāo)速度快、動(dòng)態(tài)性強(qiáng),因此對(duì)檢測(cè)算法的精度和實(shí)時(shí)性都有很高的要求。在空中小目標(biāo)檢測(cè)任務(wù)中,常需要處理復(fù)雜的背景干擾、快速移動(dòng)的目標(biāo)和目標(biāo)尺度變化等問(wèn)題。同時(shí),由于這些目標(biāo)通常是在遠(yuǎn)距離或高空下進(jìn)行檢測(cè),所以還需要考慮光照、氣象等因素的影響。因此,針對(duì)這些問(wèn)題,需要使用高精度、高魯棒性的目標(biāo)檢測(cè)算法,并且在算法的設(shè)計(jì)上需要考慮到實(shí)時(shí)性和計(jì)算復(fù)雜度等因素。
當(dāng)前,隨著深度學(xué)習(xí)技術(shù)在計(jì)算機(jī)視覺(jué)領(lǐng)域的應(yīng)用,目標(biāo)檢測(cè)器的精度和速度都有了巨大的提升。目前主流的目標(biāo)檢測(cè)算法包括 R-CNN、Fast R-CNN[3]、Faster R-CNN[4]、YOLOv7[5]、RetinaNet[6]、CornerNet[7]、CenterNet[8]等。盡管目標(biāo)檢測(cè)方法發(fā)展迅速,但小目標(biāo)檢測(cè)仍是當(dāng)前亟待解決的難題。根據(jù)國(guó)際光學(xué)工程學(xué)會(huì)的定義,小目標(biāo)的成像尺寸小于整個(gè)成像區(qū)域的0.12%。小目標(biāo)在圖像中通常只占少數(shù)像素,攜帶較少的目標(biāo)特征,因此通用目標(biāo)檢測(cè)方法難以對(duì)小目標(biāo)實(shí)現(xiàn)較好的檢測(cè)效果。針對(duì)小目標(biāo)檢測(cè)任務(wù),相關(guān)研究人員已經(jīng)進(jìn)行了一些研究。B.Zoph等[9]嘗試通過(guò)設(shè)計(jì)有效的數(shù)據(jù)增強(qiáng)策略解決小目標(biāo)檢測(cè)數(shù)據(jù)不足的問(wèn)題。Li等[10]使用生成對(duì)抗網(wǎng)絡(luò)(GAN)將低分辨率特征作為GAN的輸入來(lái)生成高分辨率特征,但這種方法的檢測(cè)速度較慢,并且對(duì)用于訓(xùn)練的數(shù)據(jù)集有較高的要求。Yang等[11]采用了一種查詢(xún)機(jī)制來(lái)提高基于特征金字塔的對(duì)象檢測(cè)器的推理速度,提高了小目標(biāo)檢測(cè)器的性能。
綜上所述,這些小目標(biāo)檢測(cè)方法都是為了在小目標(biāo)檢測(cè)場(chǎng)景中提高檢測(cè)精度和速度而被提出。它們的具體思路和技術(shù)實(shí)現(xiàn)方式不同,但都采用了一些特殊的技巧來(lái)解決小目標(biāo)檢測(cè)問(wèn)題。然而,這些方法仍然存在一些局限性和缺陷,如模型復(fù)雜性增加、速度變慢等,需要進(jìn)一步研究和改進(jìn)。本文針對(duì)空中小目標(biāo)檢測(cè)任務(wù),在 YOLOv7 基準(zhǔn)模型的基礎(chǔ)上進(jìn)行了改進(jìn)。具體來(lái)說(shuō),采用GFPN 結(jié)構(gòu)替換YOLOv7 原有的 PANet,并且設(shè)計(jì)新的損失函數(shù)以提高模型在處理小目標(biāo)檢測(cè)和目標(biāo)尺度變化較大的檢測(cè)任務(wù)時(shí)的表現(xiàn)。通過(guò)改進(jìn),本文方法在小目標(biāo)檢測(cè)和目標(biāo)尺度變化較大的數(shù)據(jù)集上取得了較好的表現(xiàn),比 YOLOv7 原始模型有更高的檢測(cè)精度和較快的檢測(cè)速度,適合在實(shí)際應(yīng)用中使用。
YOLOv7 是一種單步法目標(biāo)檢測(cè)模型,YOLOv7 的速度 比YOLOX 快180%(FPS),比Dual-Swin-T 快1200%(FPS),比ConvNext 快550%(FPS),比SWIN-L 快500%(FPS)。此外,即使在精度為56.8%AP的情況下,模型的檢測(cè)速度仍可達(dá)到30幀/s以上。YOLOv7的出色性能使其可用于實(shí)時(shí)目標(biāo)檢測(cè)和跟蹤任務(wù)中,其結(jié)構(gòu)如圖1所示。
圖1 YOLOv7模型網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 YOLOv7 network structure
YOLOv7 將模型重參數(shù)化的思想引入網(wǎng)絡(luò)架構(gòu)中,通過(guò)對(duì)模型參數(shù)進(jìn)行適當(dāng)?shù)闹亟M,可以在不影響模型性能的前提下,減少模型參數(shù)數(shù)量,從而降低模型計(jì)算復(fù)雜度。YOLOv7 采用了YOLOv5 的跨網(wǎng)格搜索和YOLOX的匹配策略,對(duì)標(biāo)簽分配進(jìn)行了優(yōu)化,提高了模型的準(zhǔn)確性。此外,YOLOv7 提供了一種新的高效網(wǎng)絡(luò)架構(gòu)ELAN,該架構(gòu)可以在保持準(zhǔn)確性的前提下,大幅減少計(jì)算和內(nèi)存開(kāi)銷(xiāo),并通過(guò)引入輔助頭,可以在不影響推理時(shí)間的前提下,提高模型的訓(xùn)練效率和準(zhǔn)確性。盡管YOLOv7 通過(guò)模型重參數(shù)化、標(biāo)簽分配優(yōu)化、高效網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)和輔助頭訓(xùn)練方法等多方面的改進(jìn),提高了目標(biāo)檢測(cè)模型的性能和效率,但其在小目標(biāo)檢測(cè)方面仍有較大提升空間。
特征金字塔網(wǎng)絡(luò)(FPN)的目的是解決CNN 骨干網(wǎng)絡(luò)在提取不同分辨率、多尺度特征時(shí)存在的融合問(wèn)題。除了最初的FPN,PANet 和BiFPN 等也常用于目標(biāo)檢測(cè)模型。盡管這些FPN結(jié)構(gòu)注重特征融合,但它們?nèi)狈K內(nèi)鏈接,可能會(huì)導(dǎo)致在小目標(biāo)檢測(cè)任務(wù)中無(wú)法提取關(guān)鍵特征。而廣義特征金字塔網(wǎng)絡(luò)(GFPN)[12]采用一種新的路徑融合方法,包含跳層和跨尺度連接,能夠更好地提取和融合特征,相比于YOLOv7 原有的 PANet 結(jié)構(gòu),GFPN 結(jié)構(gòu)在處理小目標(biāo)檢測(cè)和目標(biāo)尺度變化較大的場(chǎng)景下具有更好的表現(xiàn)。GFPN結(jié)構(gòu)能夠更好地保留小目標(biāo)的細(xì)節(jié)信息,并通過(guò)融合不同尺度的特征信息來(lái)提高檢測(cè)精度。GFPN 具體結(jié)構(gòu)如圖2所示。
圖2 GFPN結(jié)構(gòu)示意圖Fig.2 Schematic diagram of GFPN structure
GFPN 中含有兩種特征鏈接方法:dense-link 和log2nlink,兩種鏈接分別用以下公式表示
式中,Plk表示第l層特征圖在第k級(jí)的尺度特征,Concat() 表示將前面所有層生成的特征圖串聯(lián)在一起,Conv() 表示使用 3×3 卷積對(duì)這些特征圖進(jìn)行處理。
式(1)表示dense-link 的鏈接方式,在dense-link 中第l層接收所有前面層的特征圖;式(2)表示log2n-link 的鏈接方式,log2n-link 在每個(gè)級(jí)別k中,第l層從最多l(xiāng)og2l+ 1 個(gè)前面的層接收特征圖,log2n-link 結(jié)構(gòu)只會(huì)在反向傳播時(shí)將層間距離從1 增加到1+ log2l,因此可以被擴(kuò)展到更深的神經(jīng)網(wǎng)絡(luò)中。
YOLOv7采用交并比損失(IoU)作為模型的損失函數(shù),其計(jì)算公式如式(3)~式(5)所示
式中,b為預(yù)測(cè)框;bgt為真實(shí)框;w,h分別為預(yù)測(cè)框的寬和高;wgt,hgt分別為真實(shí)框的寬和高;c表示能夠同時(shí)包含預(yù)測(cè)框和真實(shí)框的最小閉包區(qū)域的對(duì)角線距離;α為平衡參數(shù);v用來(lái)衡量長(zhǎng)寬比是否一致。
就常規(guī)目標(biāo)檢測(cè)任務(wù)而言,對(duì)于微小物體檢測(cè)器來(lái)說(shuō)IoU并不適用。因?yàn)樵陬A(yù)測(cè)邊界框與真實(shí)邊界框之間沒(méi)有重疊或者預(yù)測(cè)邊界框完全包含真實(shí)邊界框等情況下,IoU無(wú)法為優(yōu)化網(wǎng)絡(luò)提供梯度,而這種情況在微小物體檢測(cè)中比較常見(jiàn)。根據(jù)式(3)~式(5),雖然YOLOv7 采用的CIoU可以在一定程度上處理這些情況,但是它仍對(duì)微小物體的位置偏差比較敏感[13]。
為了解決這個(gè)問(wèn)題,本文采用基于最優(yōu)傳輸理論的損失函數(shù)來(lái)衡量目標(biāo)框坐標(biāo)的準(zhǔn)確程度,通過(guò)Wasserstein 散度來(lái)代替標(biāo)準(zhǔn)的IoU。Wasserstein 散度能夠一致地反映分布之間的距離,即使它們沒(méi)有重疊。對(duì)于微小的物體,邊界框中往往會(huì)有一些背景像素,因?yàn)榇蠖鄶?shù)真實(shí)物體不是嚴(yán)格的矩形。因此,邊界框可以建模為二元高斯分布,其中邊界框的中心像素具有最高的權(quán)重,像素的重要性從中心到邊界遞減。邊界框之間的相似度可以轉(zhuǎn)換為兩個(gè)高斯分布之間的分布距離。
具體而言,目標(biāo)邊界框R=(cx,cy,w,h)可以建模為二元高斯分布N(μ,Σ),其中
為了評(píng)估本方法的性能,本文在VisDrone基準(zhǔn)數(shù)據(jù)集上進(jìn)行了試驗(yàn),VisDrone是一個(gè)大規(guī)模的計(jì)算機(jī)視覺(jué)基準(zhǔn)數(shù)據(jù)集,包含288 個(gè)視頻片段和10209 張靜態(tài)圖像,共計(jì)261908幀,圖像內(nèi)容涉及多個(gè)方面,如不同的地理位置、環(huán)境條件、物體種類(lèi)、目標(biāo)密度等。此外,該數(shù)據(jù)集還包含在不同天氣和光照條件下拍攝的圖像,為數(shù)據(jù)集增加了多樣性。為了提高數(shù)據(jù)集的可用性,對(duì)所涉及的目標(biāo)物體手動(dòng)注釋了超過(guò)260 萬(wàn)個(gè)邊界框,并提供了其他屬性,如場(chǎng)景可見(jiàn)度、目標(biāo)類(lèi)別和遮擋情況。
此外,為了驗(yàn)證改進(jìn)前后的網(wǎng)絡(luò)模型對(duì)于飛機(jī)目標(biāo)的檢測(cè)性能,本文提出了一個(gè)新的飛機(jī)目標(biāo)基準(zhǔn)數(shù)據(jù)集,該數(shù)據(jù)集包含2800 張帶有目標(biāo)矩形框標(biāo)注的圖像,采集自飛機(jī)試飛現(xiàn)場(chǎng)真實(shí)視頻。數(shù)據(jù)集被劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,分別包含1700 張、500 張和600 張帶標(biāo)注圖像。如圖3 所示,該數(shù)據(jù)集涵蓋了多種天氣條件、目標(biāo)姿態(tài)和大小變化,包括晴天、陰天、霧霾等多種天氣條件,實(shí)例尺寸覆蓋9~1521px,其中小目標(biāo)超過(guò)實(shí)例總數(shù)的70%,可以有效地評(píng)估目標(biāo)檢測(cè)算法的魯棒性。
圖3 空中目標(biāo)檢測(cè)基準(zhǔn)數(shù)據(jù)集中多樣化的圖像Fig.3 Diverse images in aerial object detection dataset
本文試驗(yàn)軟件環(huán)境為Ubuntu18.04,python3.8.13,pytorch1.11.0;GPU為NVIDIA GeForce 2080Ti;圖片大小設(shè)置為1280×1280,迭代次數(shù)100次。在基準(zhǔn)數(shù)據(jù)集上檢測(cè)網(wǎng)絡(luò)進(jìn)行性能測(cè)試,試驗(yàn)中,遵循VisDrone2021數(shù)據(jù)集的使用規(guī)則,在VisDrone 2021 中的訓(xùn)練集上進(jìn)行網(wǎng)絡(luò)的訓(xùn)練,在VisDrone2021 中的驗(yàn)證集上進(jìn)行評(píng)估。訓(xùn)練過(guò)程中,使用隨機(jī)梯度下降法對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行優(yōu)化,使用warm-up 來(lái)訓(xùn)練策略,warm-up epoch 設(shè)置為第三次迭代,初始學(xué)習(xí)率取0.01,優(yōu)化器權(quán)重衰減為0.0005。
通過(guò)對(duì)比同樣試驗(yàn)環(huán)境下改進(jìn)前后的網(wǎng)絡(luò)模型對(duì)不同類(lèi)型圖像的檢測(cè)結(jié)果,可以評(píng)估漏檢和誤檢情況。評(píng)估方法主要選取準(zhǔn)確率—召回率(P-R)曲線、平均準(zhǔn)確率(AP)和平均精度均值(mAP)三個(gè)指標(biāo)。
(1) 準(zhǔn)確率—召回率(P-R)曲線
P-R曲線是一個(gè)以準(zhǔn)確率為縱軸、召回率為橫軸的曲線圖。其中,準(zhǔn)確率P 是指在所有被分類(lèi)為正樣本中,真正為正樣本的比例;而召回率R 是指在所有實(shí)際為正樣本中,被分類(lèi)為正樣本的比例。對(duì)于不同閾值的分類(lèi)器,繪制其P-R曲線可以幫助我們選擇最優(yōu)的閾值,以獲得更好的檢測(cè)效果。
(2) 平均準(zhǔn)確率(AP)
AP是用于評(píng)估分類(lèi)模型精度的指標(biāo)之一,它是P-R曲線下面積的平均值。通過(guò)計(jì)算P-R曲線下的面積可以得到AP的值,AP值越高說(shuō)明模型的檢測(cè)效果越好。
(3) 平均精度均值(mAP)
mAP 是所有類(lèi)別AP 的平均值,是評(píng)估整個(gè)模型性能的一個(gè)綜合指標(biāo)。它可以很好地反映模型在不同類(lèi)別圖像上的檢測(cè)效果。本文所提出的模型與YOLOv7基準(zhǔn)模型在VisDrone數(shù)據(jù)集上的檢測(cè)結(jié)果(P-R曲線)如圖4所示,使用P-R曲線來(lái)展示模型的性能,其中曲線下的面積AP值是反映模型綜合性能的指標(biāo)。試驗(yàn)結(jié)果表明,本文提出的模型在VisDrone數(shù)據(jù)集上表現(xiàn)出色,相較于YOLOv7基準(zhǔn)模型,該模型的檢測(cè)精度更高。
圖4 YOLOv7模型與本文改進(jìn)后的模型P-R曲線對(duì)比Fig.4 Comparison between the YOLOv7 model and the improved model P-R curve in this paper
為了進(jìn)一步驗(yàn)證本文提出的模型在VisDrone數(shù)據(jù)集上的性能,本文對(duì)其他常用目標(biāo)檢測(cè)算法進(jìn)行了試驗(yàn),并將試驗(yàn)結(jié)果列于表1 中。根據(jù)測(cè)試結(jié)果,本文提出的模型在VisDrone 數(shù)據(jù)集上具有更高的檢測(cè)精度,相比于其他常用目標(biāo)檢測(cè)算法表現(xiàn)更出色。
表1 本文模型與現(xiàn)有代表性算法在VisDrone數(shù)據(jù)集上的試驗(yàn)結(jié)果比較Table 1 Comparison of experimental results between the model in this paper and existing representative algorithms on the VisDrone dataset
此外,本文在自己建立的空中目標(biāo)基準(zhǔn)數(shù)據(jù)集上進(jìn)行了試驗(yàn),以驗(yàn)證本文模型在小目標(biāo)和中等大小的目標(biāo)檢測(cè)方面的效果,并將試驗(yàn)結(jié)果列于表2 中。與通用的單步法檢測(cè)器YOLOv3、YOLOv4等相比,在推理速度相當(dāng)?shù)那闆r下,本文提出的模型在中小目標(biāo)檢測(cè)方面具有更高的精度。與兩步法檢測(cè)器Cascade R-CNN 等相比,本文提出的模型在精度方面與其相當(dāng),但在推理速度上有很大優(yōu)勢(shì)。
表2 本文模型與現(xiàn)有代表性算法在基準(zhǔn)數(shù)據(jù)集上的試驗(yàn)結(jié)果比較Table 2 Comparison of experimental results between the model in this paper and existing representative algorithms on benchmark datasets
本文針對(duì)空中小目標(biāo)檢測(cè)任務(wù),對(duì)YOLOv7 基準(zhǔn)模型進(jìn)行了改進(jìn),中間層引入GFPN結(jié)構(gòu),使用Wasserstein散度替換原有的交并比損失,并建立了一個(gè)涵蓋各種天氣條件下多種姿態(tài)和不同大小飛機(jī)目標(biāo)的基準(zhǔn)數(shù)據(jù)集。在該基準(zhǔn)數(shù)據(jù)集和公開(kāi)數(shù)據(jù)集上對(duì)模型的性能進(jìn)行測(cè)試,結(jié)果表明,本文提出的模型在公開(kāi)數(shù)據(jù)集與自建數(shù)據(jù)集上都有著較好的表現(xiàn),具有較快的檢測(cè)速度和較高的檢測(cè)精度,對(duì)于空中小目標(biāo)具有良好的檢測(cè)性能,為解決空中小目標(biāo)檢測(cè)任務(wù)的實(shí)際問(wèn)題提供了有效的方法和思路。