董鳳禹,魏振忠
北京航空航天大學,北京 100191
空中小目標檢測任務通常是指在航空或航天等領域中,對飛行器或衛星等載具進行實時監測,以實現空中交通管制、地質探測、天氣預測、空中加油[1]、飛行器姿態測量[2]等應用。相較于高分辨率的圖像,空中目標往往相對尺寸小或尺度變化極大,且目標速度快、動態性強,因此對檢測算法的精度和實時性都有很高的要求。在空中小目標檢測任務中,常需要處理復雜的背景干擾、快速移動的目標和目標尺度變化等問題。同時,由于這些目標通常是在遠距離或高空下進行檢測,所以還需要考慮光照、氣象等因素的影響。因此,針對這些問題,需要使用高精度、高魯棒性的目標檢測算法,并且在算法的設計上需要考慮到實時性和計算復雜度等因素。
當前,隨著深度學習技術在計算機視覺領域的應用,目標檢測器的精度和速度都有了巨大的提升。目前主流的目標檢測算法包括 R-CNN、Fast R-CNN[3]、Faster R-CNN[4]、YOLOv7[5]、RetinaNet[6]、CornerNet[7]、CenterNet[8]等。盡管目標檢測方法發展迅速,但小目標檢測仍是當前亟待解決的難題。根據國際光學工程學會的定義,小目標的成像尺寸小于整個成像區域的0.12%。小目標在圖像中通常只占少數像素,攜帶較少的目標特征,因此通用目標檢測方法難以對小目標實現較好的檢測效果。針對小目標檢測任務,相關研究人員已經進行了一些研究。B.Zoph等[9]嘗試通過設計有效的數據增強策略解決小目標檢測數據不足的問題。Li等[10]使用生成對抗網絡(GAN)將低分辨率特征作為GAN的輸入來生成高分辨率特征,但這種方法的檢測速度較慢,并且對用于訓練的數據集有較高的要求。Yang等[11]采用了一種查詢機制來提高基于特征金字塔的對象檢測器的推理速度,提高了小目標檢測器的性能。
綜上所述,這些小目標檢測方法都是為了在小目標檢測場景中提高檢測精度和速度而被提出。它們的具體思路和技術實現方式不同,但都采用了一些特殊的技巧來解決小目標檢測問題。然而,這些方法仍然存在一些局限性和缺陷,如模型復雜性增加、速度變慢等,需要進一步研究和改進。本文針對空中小目標檢測任務,在 YOLOv7 基準模型的基礎上進行了改進。具體來說,采用GFPN 結構替換YOLOv7 原有的 PANet,并且設計新的損失函數以提高模型在處理小目標檢測和目標尺度變化較大的檢測任務時的表現。通過改進,本文方法在小目標檢測和目標尺度變化較大的數據集上取得了較好的表現,比 YOLOv7 原始模型有更高的檢測精度和較快的檢測速度,適合在實際應用中使用。
YOLOv7 是一種單步法目標檢測模型,YOLOv7 的速度 比YOLOX 快180%(FPS),比Dual-Swin-T 快1200%(FPS),比ConvNext 快550%(FPS),比SWIN-L 快500%(FPS)。此外,即使在精度為56.8%AP的情況下,模型的檢測速度仍可達到30幀/s以上。YOLOv7的出色性能使其可用于實時目標檢測和跟蹤任務中,其結構如圖1所示。

圖1 YOLOv7模型網絡結構Fig.1 YOLOv7 network structure
YOLOv7 將模型重參數化的思想引入網絡架構中,通過對模型參數進行適當的重組,可以在不影響模型性能的前提下,減少模型參數數量,從而降低模型計算復雜度。YOLOv7 采用了YOLOv5 的跨網格搜索和YOLOX的匹配策略,對標簽分配進行了優化,提高了模型的準確性。此外,YOLOv7 提供了一種新的高效網絡架構ELAN,該架構可以在保持準確性的前提下,大幅減少計算和內存開銷,并通過引入輔助頭,可以在不影響推理時間的前提下,提高模型的訓練效率和準確性。盡管YOLOv7 通過模型重參數化、標簽分配優化、高效網絡架構設計和輔助頭訓練方法等多方面的改進,提高了目標檢測模型的性能和效率,但其在小目標檢測方面仍有較大提升空間。
特征金字塔網絡(FPN)的目的是解決CNN 骨干網絡在提取不同分辨率、多尺度特征時存在的融合問題。除了最初的FPN,PANet 和BiFPN 等也常用于目標檢測模型。盡管這些FPN結構注重特征融合,但它們缺乏塊內鏈接,可能會導致在小目標檢測任務中無法提取關鍵特征。而廣義特征金字塔網絡(GFPN)[12]采用一種新的路徑融合方法,包含跳層和跨尺度連接,能夠更好地提取和融合特征,相比于YOLOv7 原有的 PANet 結構,GFPN 結構在處理小目標檢測和目標尺度變化較大的場景下具有更好的表現。GFPN結構能夠更好地保留小目標的細節信息,并通過融合不同尺度的特征信息來提高檢測精度。GFPN 具體結構如圖2所示。

圖2 GFPN結構示意圖Fig.2 Schematic diagram of GFPN structure
GFPN 中含有兩種特征鏈接方法:dense-link 和log2nlink,兩種鏈接分別用以下公式表示
式中,Plk表示第l層特征圖在第k級的尺度特征,Concat() 表示將前面所有層生成的特征圖串聯在一起,Conv() 表示使用 3×3 卷積對這些特征圖進行處理。
式(1)表示dense-link 的鏈接方式,在dense-link 中第l層接收所有前面層的特征圖;式(2)表示log2n-link 的鏈接方式,log2n-link 在每個級別k中,第l層從最多log2l+ 1 個前面的層接收特征圖,log2n-link 結構只會在反向傳播時將層間距離從1 增加到1+ log2l,因此可以被擴展到更深的神經網絡中。
YOLOv7采用交并比損失(IoU)作為模型的損失函數,其計算公式如式(3)~式(5)所示
式中,b為預測框;bgt為真實框;w,h分別為預測框的寬和高;wgt,hgt分別為真實框的寬和高;c表示能夠同時包含預測框和真實框的最小閉包區域的對角線距離;α為平衡參數;v用來衡量長寬比是否一致。
就常規目標檢測任務而言,對于微小物體檢測器來說IoU并不適用。因為在預測邊界框與真實邊界框之間沒有重疊或者預測邊界框完全包含真實邊界框等情況下,IoU無法為優化網絡提供梯度,而這種情況在微小物體檢測中比較常見。根據式(3)~式(5),雖然YOLOv7 采用的CIoU可以在一定程度上處理這些情況,但是它仍對微小物體的位置偏差比較敏感[13]。
為了解決這個問題,本文采用基于最優傳輸理論的損失函數來衡量目標框坐標的準確程度,通過Wasserstein 散度來代替標準的IoU。Wasserstein 散度能夠一致地反映分布之間的距離,即使它們沒有重疊。對于微小的物體,邊界框中往往會有一些背景像素,因為大多數真實物體不是嚴格的矩形。因此,邊界框可以建模為二元高斯分布,其中邊界框的中心像素具有最高的權重,像素的重要性從中心到邊界遞減。邊界框之間的相似度可以轉換為兩個高斯分布之間的分布距離。
具體而言,目標邊界框R=(cx,cy,w,h)可以建模為二元高斯分布N(μ,Σ),其中

為了評估本方法的性能,本文在VisDrone基準數據集上進行了試驗,VisDrone是一個大規模的計算機視覺基準數據集,包含288 個視頻片段和10209 張靜態圖像,共計261908幀,圖像內容涉及多個方面,如不同的地理位置、環境條件、物體種類、目標密度等。此外,該數據集還包含在不同天氣和光照條件下拍攝的圖像,為數據集增加了多樣性。為了提高數據集的可用性,對所涉及的目標物體手動注釋了超過260 萬個邊界框,并提供了其他屬性,如場景可見度、目標類別和遮擋情況。
此外,為了驗證改進前后的網絡模型對于飛機目標的檢測性能,本文提出了一個新的飛機目標基準數據集,該數據集包含2800 張帶有目標矩形框標注的圖像,采集自飛機試飛現場真實視頻。數據集被劃分為訓練集、驗證集和測試集,分別包含1700 張、500 張和600 張帶標注圖像。如圖3 所示,該數據集涵蓋了多種天氣條件、目標姿態和大小變化,包括晴天、陰天、霧霾等多種天氣條件,實例尺寸覆蓋9~1521px,其中小目標超過實例總數的70%,可以有效地評估目標檢測算法的魯棒性。

圖3 空中目標檢測基準數據集中多樣化的圖像Fig.3 Diverse images in aerial object detection dataset
本文試驗軟件環境為Ubuntu18.04,python3.8.13,pytorch1.11.0;GPU為NVIDIA GeForce 2080Ti;圖片大小設置為1280×1280,迭代次數100次。在基準數據集上檢測網絡進行性能測試,試驗中,遵循VisDrone2021數據集的使用規則,在VisDrone 2021 中的訓練集上進行網絡的訓練,在VisDrone2021 中的驗證集上進行評估。訓練過程中,使用隨機梯度下降法對網絡參數進行優化,使用warm-up 來訓練策略,warm-up epoch 設置為第三次迭代,初始學習率取0.01,優化器權重衰減為0.0005。
通過對比同樣試驗環境下改進前后的網絡模型對不同類型圖像的檢測結果,可以評估漏檢和誤檢情況。評估方法主要選取準確率—召回率(P-R)曲線、平均準確率(AP)和平均精度均值(mAP)三個指標。
(1) 準確率—召回率(P-R)曲線
P-R曲線是一個以準確率為縱軸、召回率為橫軸的曲線圖。其中,準確率P 是指在所有被分類為正樣本中,真正為正樣本的比例;而召回率R 是指在所有實際為正樣本中,被分類為正樣本的比例。對于不同閾值的分類器,繪制其P-R曲線可以幫助我們選擇最優的閾值,以獲得更好的檢測效果。
(2) 平均準確率(AP)
AP是用于評估分類模型精度的指標之一,它是P-R曲線下面積的平均值。通過計算P-R曲線下的面積可以得到AP的值,AP值越高說明模型的檢測效果越好。
(3) 平均精度均值(mAP)
mAP 是所有類別AP 的平均值,是評估整個模型性能的一個綜合指標。它可以很好地反映模型在不同類別圖像上的檢測效果。本文所提出的模型與YOLOv7基準模型在VisDrone數據集上的檢測結果(P-R曲線)如圖4所示,使用P-R曲線來展示模型的性能,其中曲線下的面積AP值是反映模型綜合性能的指標。試驗結果表明,本文提出的模型在VisDrone數據集上表現出色,相較于YOLOv7基準模型,該模型的檢測精度更高。

圖4 YOLOv7模型與本文改進后的模型P-R曲線對比Fig.4 Comparison between the YOLOv7 model and the improved model P-R curve in this paper
為了進一步驗證本文提出的模型在VisDrone數據集上的性能,本文對其他常用目標檢測算法進行了試驗,并將試驗結果列于表1 中。根據測試結果,本文提出的模型在VisDrone 數據集上具有更高的檢測精度,相比于其他常用目標檢測算法表現更出色。

表1 本文模型與現有代表性算法在VisDrone數據集上的試驗結果比較Table 1 Comparison of experimental results between the model in this paper and existing representative algorithms on the VisDrone dataset
此外,本文在自己建立的空中目標基準數據集上進行了試驗,以驗證本文模型在小目標和中等大小的目標檢測方面的效果,并將試驗結果列于表2 中。與通用的單步法檢測器YOLOv3、YOLOv4等相比,在推理速度相當的情況下,本文提出的模型在中小目標檢測方面具有更高的精度。與兩步法檢測器Cascade R-CNN 等相比,本文提出的模型在精度方面與其相當,但在推理速度上有很大優勢。

表2 本文模型與現有代表性算法在基準數據集上的試驗結果比較Table 2 Comparison of experimental results between the model in this paper and existing representative algorithms on benchmark datasets
本文針對空中小目標檢測任務,對YOLOv7 基準模型進行了改進,中間層引入GFPN結構,使用Wasserstein散度替換原有的交并比損失,并建立了一個涵蓋各種天氣條件下多種姿態和不同大小飛機目標的基準數據集。在該基準數據集和公開數據集上對模型的性能進行測試,結果表明,本文提出的模型在公開數據集與自建數據集上都有著較好的表現,具有較快的檢測速度和較高的檢測精度,對于空中小目標具有良好的檢測性能,為解決空中小目標檢測任務的實際問題提供了有效的方法和思路。