摘要
https://www.arxiv.org/pdf/2507.12727
小目標檢測仍是目標檢測領域中的一個挑戰性問題。為應對這一挑戰,我們提出了一種基于YOLOv8的增強模型SOD-YOLO。該模型在頸部(neck)中集成了ASF(注意力尺度序列融合)機制以增強多尺度特征融合,新增了小目標檢測層(命名為P2)以提供更高分辨率的特征圖從而提升小目標檢測效果,并采用Soft-NMS優化置信度得分以保留真實正例。實驗結果表明,在VisDrone2019-DET數據集上,SOD-YOLO相比基線模型,mAP50?:?95\mathrm{mAP}_{50\,:\,95}mAP50:95?提升了36.1%,mAP50\mathrm{mAP}_{50}mAP50?提升了20.6%。這些改進使SOD-YOLO成為無人機影像小目標檢測的一種實用且高效的解決方案。我們的源代碼、超參數和模型權重已公開于:https://github.com/iamwangxiaobai/SOD-YOLO。
關鍵詞:小目標檢測;注意力尺度序列融合;無人機影像
1 引言
無人機(UAV,俗稱無人機)已徹底改變了多個領域,包括野生動物監測、精準農業、搜救行動和基礎設施檢測[1]。這些應用通常需要檢測小目標,如動物、害蟲、失蹤人員或結構缺陷。無人機能夠從難以到達的高空視角捕獲高分辨率影像,使其成為極具價值的工具。無人機應用中的一項關鍵任務是目標檢測。
無人機領域的目標檢測,尤其是小目標檢測,可增強無人機的自主性和有效性。它使無人機能夠實時識別和跟蹤小目標,從而支持各種關鍵任務。在眾多的目標檢測方法中,兩種主流策略已成為現代無人機系統的基石:單階段目標檢測和兩階段目標檢測。
兩階段目標檢測方法以R-CNN(基于區域的卷積神經網絡)及其變體[2, 5]為代表,其流程為:首先在輸入圖像中生成一組候選區域,然后逐個分類這些區域。盡管有效,但這些方法計算量較大,對資源受限的無人機平臺的實時應用構成挑戰。相比之下,單階段目標檢測方法(如YOLO(You Only Look Once)[6, 13])采用更簡化的流程,通過單次遍歷整個圖像直接預測邊界框和類別概率。這種高效性使其特別適用于需要實時處理和低延遲響應的無人機應用。
YOLO能夠在單幀中檢測多個目標,增強了其在需要全面態勢感知的場景中的實用性。然而,YOLO也存在固有局限。與部分兩階段方法相比,其在小目標或密集目標場景下的精度可能較低。此外,YOLO的固定網格單元結構可能難以捕捉目標的細粒度細節,導致某些情境下性能不佳。再者,YOLO依賴預定義的錨框(anchor boxes),可能限制其對無人機操作中常見多樣環境和目標尺度的適應性。
本文提出了一種增強的YOLOv8算法,命名為SOD-YOLO(小目標檢測YOLO),旨在提升無人機影像中的小目標檢測效果。我們的改進針對小目標尺寸微小和背景復雜的挑戰。實驗結果表明,SOD-YOLO在VisDrone2019-DET[14]數據集上將YOLOv8的性能提升了36.1%(mAP50?:?95\mathrm{mAP}_{50\,:\,95}mAP50:95?)和20.6%(mAP50\mathrm{mAP}_{50}mAP50?)。我們的主要貢獻可總結如下:
- 集成ASF機制[15],一種新型注意力融合策略,通過頸部(neck)增強模型對目標尺寸變化和復雜背景的處理能力。
- 引入P2層,即專用的小目標檢測頭,利用高分辨率特征圖顯著提升小目標檢測精度。
- 實現Soft-NMS[18],一種優化置信度得分的先進技術,有效保留真實正例并提升目標檢測整體性能。
2 相關工作
2.1 實時目標檢測器
YOLO在目標檢測方法中脫穎而出,因其開創性的單階段、實時神經網絡架構。與傳統兩階段檢測器(如R-CNN)不同,YOLO通過單次遍歷整個圖像直接預測邊界框和類別概率。這種設計顯著減少了計算時間,使其非常適用于實時應用。YOLO已歷經多次迭代,其中YOLOv5和YOLOv8是顯著進展,同時提升了速度和精度。YOLO的高效性使其在需要低延遲和高吞吐量的領域中廣受歡迎。
2.2 小目標檢測的先前研究
2.2.1 網絡架構增強
目標檢測領域通過改進網絡架構取得了顯著進展。自YOLOv1問世以來,YOLO系列憑借對主干網絡(backbone)和檢測層的持續優化,始終引領實時目標檢測。傳統主干網絡(如Darknet)被廣泛使用,平衡了計算效率與檢測性能。更近期的進展包括CSPNet[16]和EfficientNet[17]等先進主干網絡,提供了更優的特征提取能力和網絡效率。盡管有這些進展,小目標檢測的精度仍面臨挑戰,因為傳統主干網絡和檢測層常難以捕捉必要的細粒度特征。此外,小目標易被背景噪聲掩蓋或混淆,導致檢測率降低和漏檢(false negatives)增加。
基于這些基礎,我們的工作在YOLOv8框架內引入了多項關鍵架構改進。我們提出ASF網絡作為新型頸部(neck),設計用于根據目標尺度和上下文動態調整空間濾波器。這種自適應機制增強了特征提取能力,捕捉對小目標檢測至關重要的細節空間信息。此外,我們集成了專用的小目標檢測層,專門針對傳統檢測層可能忽略的細粒度特征。這些改進顯著提升了模型對小目標的敏感度和精度,在復雜環境中實現了更優性能。
2.2.2 后處理技術
后處理技術對優化目標檢測模型的結果至關重要。傳統非極大抑制(NMS)技術雖有效,但常因硬性抑制準則丟棄真實正例,這對小目標檢測尤為不利(小目標的邊界框易重疊,導致信息嚴重丟失)。在密集場景中,這一問題更加突出(小目標緊密聚集)。此外,NMS的硬性閾值策略可能導致精度-召回平衡不佳,難以在多樣目標尺寸和密度下實現高精度。近期提出的Soft-NMS等技術旨在解決這些問題。Soft-NMS通過逐步降低重疊邊界框的置信度得分(而非直接消除),維持高召回率并提升精度。該方法在密集和雜亂環境中提升目標檢測模型整體性能方面展現出潛力。
我們的方法將Soft-NMS集成到YOLOv8框架中,以增強小目標檢測效果。Soft-NMS允許對重疊檢測進行更精細的抑制,減少真實正例被丟棄的風險。通過引入該技術,我們的模型在小目標檢測中實現了更優性能,確保在密集目標場景下結果更準確可靠。這一改進顯著增強了檢測系統的魯棒性和有效性,確保在實際應用中具備高精度和召回率。
3 方法
3.1 ASF機制集成

標準YOLOv8架構采用序列化頸部(neck)設計,通過卷積(Conv)、C2f(增強殘差塊)和SPPF(空間金字塔池化融合)層逐步下采樣并豐富特征圖[19]。其頭部(head)拼接多尺度特征(P3、P4、P5),并通過檢測層進行目標預測。
針對無人機視角下的小目標檢測,我們創新性地將自適應尺度融合(ASF)機制(最初為細胞實例分割開發[15])集成到YOLOv8框架中,如圖1所示。改進主要集中在新型尺度序列(ScalSeq)特征融合模塊和基于ASF注意力的精化模塊。
尺度序列(ScalSeq)特征融合:與YOLOv8采用的簡單拼接策略不同,我們的頸部在特征聚合的關鍵階段引入兩個ScalSeq模塊實例。每個ScalSeq單元接收來自不同尺度的三個輸入特征圖(即YOLOv8架構中定義的P3、P4、P5)。首先,每個特征圖通過1×1卷積統一通道維度。隨后,P4和P5特征圖通過最近鄰插值上采樣,以匹配P3的空間分辨率。
空間對齊后,三個特征圖沿新引入的“尺度”維度視為序列。沿此維度應用核大小為(1,1,1)的3D卷積,使模型能夠學習跨尺度語義融合和上下文表征。該操作后接沿尺度維度的批歸一化和LeakyReLU激活函數。最后,采用核大小為(3,1,1)的3D最大池化壓縮尺度維度,得到標準2D特征圖。ScalSeq模塊的輸出替代了YOLOv8頸部中常用的傳統拼接機制,提供更具表達力和結構化的多尺度信息融合。
基于ASF注意力的精化:在每個ScalSeq模塊后,我們引入名為attention_model的輕量級注意力塊,進一步精化融合特征。該塊實現自適應尺度融合(ASF)注意力機制。它接收兩個特征圖作為輸入,并依次對第一個輸入特征圖應用通道注意力模塊。通道注意力的結果與第二個輸入特征圖相加。最后,對相加后的特征圖應用局部注意力模塊。這種通道與局部注意力的順序應用,使網絡能夠選擇性強調無人機影像中普遍存在的信息性特征并抑制噪聲。精化后的ASF增強特征隨后用于頸部的后續層或作為跳接連接的一部分,改善最終預測階段前上采樣特征的質量。
相較于YOLOv8,頸部結構的這些修改實現了更復雜的多尺度特征融合,使SOD-YOLO在保持實時無人機應用所需計算效率的同時,更好地保留了檢測小目標所需的細節信息。
3.2 小目標檢測層
為增強無人機影像中小目標的檢測能力,我們在網絡P2層引入額外檢測頭,如圖1所示。與標準檢測頭(P3、P4、P5)不同,后者對應更深層、更抽象且空間分辨率更低的特征表示,而P2層基于主干網絡早期階段的高分辨率特征圖。這些淺層保留了更多細粒度空間信息(如目標邊界、紋理和邊緣),這些是航拍場景中檢測小尺度目標的關鍵線索[21][22]。
引入P2檢測層的理論依據在于小目標的固有特性:在高空無人機影像中,小目標通常僅占極少數像素,且易被深層下采樣稀釋或淹沒[23]。盡管P3已提供中等分辨率,但可能因步幅卷積丟失關鍵局部細節。相比之下,P2保留更精細的空間粒度,并捕獲更適合識別小目標的低層視覺特征,尤其在復雜背景和遮擋情況下。
為有效利用這些高分辨率特征,我們首先對主干網絡選定的特征圖進行上采樣,并與淺層輸出拼接,形成結合空間細節和上下文深度的豐富特征集。該復合特征通過C2f模塊精化——C2f是一種增強殘差塊,旨在保留關鍵邊緣和形狀信息的同時實現有效特征融合[16]。
隨后,處理后的P2特征圖通過尺度序列(ScalSeq)模塊,聚合多尺度信息并強調小目標表征。最終,精化后的P2輸出與現有P3-P5檢測頭集成,形成多分辨率檢測頭組合。該設計確保了對目標尺度的全面覆蓋,特別提升了模型對小目標和密集分布目標的敏感度和精度。
總體而言,P2檢測層的引入為模型提供了早期階段的空間線索,增強了無人機視覺應用中典型小目標檢測任務的魯棒性。它橋接了高分辨率局部特征與深層語義理解之間的鴻溝,顯著提升了雜亂和尺度變異航拍環境中的檢測精度。
模型 | $\mathrm{mAP_{50:95}}$ | $\mathrm{mAP_{50}}$ | 參數(百萬) | FLOPs(十億) |
YOLOv5-m(2020)[10] | 0.225 | 0.385 | 20.8 | 48.1 |
YOLOv7-m(2022)[11] | 0.265 | 0.472 | 36.9 | 103.5 |
YOLOv8-m(2023) | 0.258 | 0.436 | 25.8 | 78.7 |
YOLOv9-gelan-c(2024)[12] | 0.305 | 0.489 | 25.2 | 101.8 |
YOLOv10-l(2024)[13] | 0.286 | 0.462 | 25.7 | 126.4 |
SOD-YOLO(我們的) | 0.351 | 0.526 | 22.6 | 94.9 |
模型 | $\mathrm{mAP_{50:95}}$ | $\mathrm{mAP_{50}}$ | FLOPs(十億) |
基線(YOLOv8-m) | 0.258 | 0.436 | 78.7 |
+ASF | 0.265(+0.007) | 0.440(+0.004) | 82.7(+4.0) |
+ASF+P2 | 0.294(+0.036) | 0.476(+0.040) | 94.9(+16.2) |
+ASF+P2+Soft-NMS | 0.352(+0.094) | 0.526(+0.090) | 94.9 |
3.3 Soft-NMS集成
NMS是目標檢測模型中的關鍵后處理技術,用于移除冗余重疊邊界框。傳統NMS算法在當前檢測框與最高分框的IoU超過閾值時,將當前框的得分置為0[25]。這種方法可能導致包含目標的檢測框因重疊而被丟棄,降低小目標的召回率。
為解決潛在丟棄含目標檢測框的問題,本研究采用Soft-NMS算法[18]。與傳統NMS不同,Soft-NMS通過加權函數調整當前檢測框的得分,降低與最高分框重疊的鄰近框得分。重疊程度越高,得分衰減越快。該方法避免了移除含目標的框,也防止了兩個相似框同時檢測同一目標的情況。本研究采用的Soft-NMS算法考慮了檢測框之間的重疊,相比傳統NMS減少了漏檢(false negative)的可能性,從而提升了小目標檢測的準確性和可靠性。
傳統NMS算法可用分數重置函數表示為:
Si={siIoU(A,Bi)<Nt0IoU(A,Bi)≥NtS_{i}=\begin{cases}{s_{i}} & {\mathrm{IoU}(A,B_{i})<N_{t}}\\ {0} & {\mathrm{IoU}(A,B_{i})\geq N_{t}}\end{cases}Si?={si?0?IoU(A,Bi?)<Nt?IoU(A,Bi?)≥Nt??
Soft-NMS算法可用分數重置函數表示為:
Si={siIoU(A,Bi)<Ntsi(1?IoU(A,Bi))IoU(A,Bi)≥NtS_{i}=\begin{cases}{s_{i}} & {\mathrm{IoU}(A,B_{i})<N_{t}}\\ {s_{i}(1-\mathrm{IoU}(A,B_{i}))} & {\mathrm{IoU}(A,B_{i})\geq N_{t}}\end{cases}Si?={si?si?(1?IoU(A,Bi?))?IoU(A,Bi?)<Nt?IoU(A,Bi?)≥Nt??
在方程(1)和(2)中,SiS_{i}Si?表示第iii個檢測框的得分;AAA表示感興趣區域內最高置信度的檢測框;BiB_{i}Bi?表示第iii個檢測框;IoU\mathrm{IoU}IoU表示第iii個檢測框與AAA的重疊度;NtN_{t}Nt?表示校準后的重疊閾值。
4 實驗
4.1 實驗設置概述
為驗證我們提出的SOD-YOLO模型在無人機影像小目標檢測中的有效性和魯棒性,我們在多種場景下開展了廣泛實驗。實驗設置的設計目標如下:
- 評估目標:評估SOD-YOLO在復雜航拍場景中檢測小目標和密集目標的能力,并驗證其對基線YOLOv8-m模型的改進效果。
- 評估指標:我們主要報告IoU閾值為0.5(mAP@0.5\mathrm{mAP@0.5}mAP@0.5)和0.5:0.95(mAP@0.5:0.95\mathrm{mAP@0.5:0.95}mAP@0.5:0.95)的平均精度(mAP),以及數據集定義的小目標檢測專項指標。
- 對比基線:我們將SOD-YOLO與基線YOLOv8-m及其他先進方法對比。為確保公平性,所有模型在相同設置下訓練和評估。
4.2 數據集
VisDrone2019-DET。我們在廣泛使用的VisDrone2019-DET數據集[14]上評估模型,該數據集是無人機目標檢測的權威基準。數據集包含來自中國多城市的10,209張靜態圖像和288段無人機視頻的261,908幀,涵蓋多樣場景(城市與鄉村)、目標尺度和密度。靜態圖像集劃分為6,471張訓練集、548張驗證集和1,610張測試集。
VisDrone定義了10個目標類別:行人、人群、自行車、汽車、廂式車、卡車、三輪車、遮陽三輪車、公交車和摩托車。值得注意的是,超過75%的標注目標面積小于圖像的0.1%,凸顯了小目標和微小目標的占比。目標分布還呈現明顯的中心偏置,這支持了中心聚焦增強策略的合理性。
4.3 實現細節
訓練環境。所有實驗在配備單塊NVIDIA RTX 4090 GPU的工作站上開展。模型主干為CSPDarknet53,使用隨機梯度下降(SGD)優化器訓練,采用余弦學習率調度和預熱策略。
主要超參數:
- 初始學習率:3個epoch內線性預熱至0.005
- 權重衰減:0.0005
- 動量:0.937
- 總訓練輪數:200
- 輸入圖像尺寸:640×640
- 批量大小:8
更多超參數設置和實現細節請參考我們的GitHub倉庫:https://github.com/iamwangxiaobai/SOD-YOLO。

4.4 評估準則
目標檢測算法的常用評估指標包括交并比(IoU)、精確率(Precision)、召回率(Recall)和平均精度(mAP)。詳細定義如下:
-
IoU(交并比):IoU通過計算預測區域(AAA)與真實標注(BBB)的重疊面積除以兩者的并集面積得到,公式為:
IoU=∣A∩B∣∣A∪B∣\mathrm{IoU} = \frac{|A \cap B|}{|A \cup B|}IoU=∣A∪B∣∣A∩B∣?
IoU取值范圍為0到1。值越大表示預測越精準。分子(重疊部分)越小說明預測未準確覆蓋真實目標,分母(并集)越大說明預測區域過廣,導致IoU降低。 -
精確率(Precision):精確率表示預測為正的樣本中實際為正的比例,定義為:
Precision=True?PositivesTrue?Positives+False?Positives\mathrm{Precision} = \frac{\mathrm{True~Positives}}{\mathrm{True~Positives} + \mathrm{False~Positives}}Precision=True?Positives+False?PositivesTrue?Positives? -
召回率(Recall):召回率表示實際為正的樣本中被正確預測的比例,計算公式為:
Recall=True?PositivesTrue?Positives+False?Negatives\mathrm{Recall} = \frac{\mathrm{True~Positives}}{\mathrm{True~Positives} + \mathrm{False~Negatives}}Recall=True?Positives+False?NegativesTrue?Positives? -
mAP(平均精度):平均精度(AP\mathrm{AP}AP)是精確率-召回率(PR)曲線上不同召回閾值處的精確率平均值。mAP是所有類別AP\mathrm{AP}AP的均值。其中,mAP50\mathrm{mAP_{50}}mAP50?表示IoU閾值為0.5時的mAP,mAP50:95\mathrm{mAP_{50:95}}mAP50:95?表示IoU閾值從0.5到0.95的均值mAP。
4.5 結果與對比
我們選擇YOLOv8-m作為基線模型,并在以小目標為主的VisDrone2019-DET數據集上與多種先進目標檢測器對比。VisDrone2019-DET驗證集的結果如表1所示。對比YOLOv8-m與改進后的SOD-YOLO算法可知,SOD-YOLO在小目標檢測上顯著優于基線。具體而言,SOD-YOLO的mAP50:95\mathrm{mAP_{50:95}}mAP50:95?達到0.351,較YOLOv8-m的0.258提升0.093;mAP50\mathrm{mAP_{50}}mAP50?達到0.526,較YOLOv8-m的0.436提升0.09。這表明SOD-YOLO在小目標檢測上性能更優,尤其在更高IoU閾值下表現出更好的精度和召回平衡。此外,對比YOLOv9-gelan-c和YOLOv10-l等模型,SOD-YOLO仍具競爭力:其mAP50:95\mathrm{mAP_{50:95}}mAP50:95?(0.351)和mAP50\mathrm{mAP_{50}}mAP50?(0.526)均超過YOLOv9-gelan-c(0.305和0.489),盡管兩者參數量相近。這凸顯了SOD-YOLO在檢測精度與計算成本間的平衡優勢。同時,SOD-YOLO保持了較低的參數量(22.6M)和有競爭力的FLOPs(94.9G),相比YOLOv7-m(36.9M參數,103.5G FLOPs)等模型更高效。因此,SOD-YOLO以適中的計算需求實現了小目標檢測性能的提升。
圖2展示了基線YOLOv8-m與SOD-YOLO在同一城市無人機圖像上的檢測結果。對比可見,SOD-YOLO在小目標和部分遮擋目標的檢測能力上顯著提升。例如,SOD-YOLO成功識別了YOLOv8-m漏檢或誤分類的多個路邊行人(如靠近人行橫道和路緣的兒童),而YOLOv8-m對此類目標存在漏檢或誤判為其他類別。此外,SOD-YOLO對中遠距離的車輛和摩托車檢測置信度更高,而YOLOv8-m對此類目標常遺漏或賦予低置信度邊界框。SOD-YOLO在邊界框定位和類別區分上的優勢體現在其能正確區分卡車、廂式車和汽車,而YOLOv8-m對相似尺寸的車輛類別存在混淆。
這些視覺對比證實,SOD-YOLO中引入的ASF模塊、P2檢測層和Soft-NMS等改進,有效提升了無人機場景下密集、小目標和遮擋目標的檢測性能。
4.6 消融實驗
我們通過消融實驗評估SOD-YOLO各組件的貢獻,結果如表2所示。表中紅色數值表示性能提升,綠色表示下降。基線模型YOLOv8-m的mAP50:95\mathrm{mAP_{50:95}}mAP50:95?為0.258,mAP50\mathrm{mAP_{50}}mAP50?為0.436,計算復雜度為78.7 GFLOPs。在模型頸部引入注意力融合策略(ASF)后,mAP50:95\mathrm{mAP_{50:95}}mAP50:95?提升至0.265(+0.007),mAP50\mathrm{mAP_{50}}mAP50?提升至0.440(+0.004),但FLOPs增至82.7G。進一步添加P2層(利用高分辨率特征圖的小目標專用檢測頭)后,mAP50:95\mathrm{mAP_{50:95}}mAP50:95?增至0.294(+0.036),mAP50\mathrm{mAP_{50}}mAP50?增至0.476(+0.040),FLOPs升至94.9G。最后,集成Soft-NMS(通過軟懲罰重疊框優化置信度)后,性能顯著提升,mAP50:95\mathrm{mAP_{50:95}}mAP50:95?達到0.352(+0.094),mAP50\mathrm{mAP_{50}}mAP50?達到0.526(+0.090),且FLOPs保持在94.9G。結果表明,各組件均對模型性能有貢獻,ASF、P2和Soft-NMS的聯合作用帶來了顯著提升。
5 結論
本文提出了SOD-YOLO,一種針對無人機影像小目標檢測的增強型YOLOv8算法。通過集成ASF機制、引入專用P2檢測層和實施Soft-NMS,檢測性能顯著提升。ASF機制通過聚焦關鍵區域增強空間特征提取,使模型更好檢測小目標和密集目標;P2檢測層利用更低特征尺度捕捉更精細細節,提升小目標檢測能力;Soft-NMS通過軟懲罰重疊框而非直接丟棄,減少假陽性。在VisDrone2019-DET數據集上的實驗表明,SOD-YOLO的mAP50:95\mathrm{mAP_{50:95}}mAP50:95?和mAP50\mathrm{mAP_{50}}mAP50?較基線YOLOv8分別提升36.1%和20.6%,驗證了其在復雜無人機場景下處理小目標的有效性。
盡管取得顯著改進,我們的工作仍存在局限。首先,ASF機制和P2檢測層雖提升了小目標檢測精度,但增加了模型計算復雜度,可能影響實時性能,尤其在計算資源受限的場景下。因此,未來工作可聚焦通過輕量化設計優化模型計算效率,確保實時應用中的性能。
致謝
本研究由國家自然科學基金(項目編號:72101189)資助。