摘要

當前大多數研究主要側重於使用大型模型來提高實驗精度,卻常常忽視了部署的挑戰。在某些遙感設備上,對輕量級算法的需求日益增長。此外,遙感圖像(RSIs)通常包含大量小而密集分佈的目標,這給檢測帶來了巨大挑戰。為了解決這些問題,我們對YOLOv8s網絡進行了改進,開發了一種基於多尺度特徵融合與上下文信息(MFFCI-YOLOv8)的輕量級遙感目標檢測(RSOD)網絡。該網絡結合了多尺度特徵融合和上下文信息,以準確檢測RSIs中的目標。首先,我們引入了帶有注意力機制的輕量級CSP瓶頸模塊(LCA),該模塊利用部分卷積計算和SimAM注意力機制,在減少參數數量和計算複雜度的同時,增強了特徵提取能力。其次,我們設計了門控空間金字塔池化快速(GSPPF)模塊,以增強模型對尺度和上下文信息的感知能力,從而改善小目標的檢測效果。最後,我們採用了多尺度融合輕量級頸部(MFLNeck)模塊,以實現更高效的多尺度特徵融合,防止小目標信息的丟失。與YOLOv8s相比,我們的整體模型參數量減少了7.7%,計算量(FLOPs)減少了11.9%。我們在兩個遙感數據集NWPU VHR-10和VisDrone上驗證了MFFCI-YOLOv8的準確性。實驗結果表明,與其它RSOD模型和其他YOLO模型相比,我們的模型在保持低計算成本的同時,具有更高的檢測精度。

索引詞—輕量級,目標檢測,遙感圖像(RSIs),YOLOv8s。

I. 引言

遙感技術已迅速發展,並被廣泛應用於軍事偵察、民用生活和自然災害救援等多個領域。它為土地利用、城市規劃和自然災害監測等應用提供了至關重要的基礎[1]-[8]。遙感目標檢測(RSOD)的主要目標是利用計算機視覺算法對遙感圖像(RSIs)中的目標進行分類和檢測,以確定目標的精確位置並提取其特徵信息。隨着全球RSIs數量的大幅增加,對RSOD的需求也顯著上升。因此,提高RSOD的性能以實現更精確的定位和分類是遙感領域的一個關鍵研究方向。

早期的方法,如人工檢測,只能檢測特定的單類目標,並且在某些場景下效果有限。當環境發生變化時,會導致識別效率低下。傳統方法中複雜且多步驟的操作導致了檢測速度慢和性能低下。深度學習正在快速發展,特別是卷積神經網絡(CNNs)[13]-[16]的進步。新的方法和基礎框架已被引入用於目標檢測。許多研究人員已採用CNNs在自然圖像中實現了優異的準確性和改進的檢測效率。然而,RSIs具有高度異質性的複雜背景、目標尺度差異顯著以及易受惡劣天氣和季節變化影響等特點,這進一步增加了檢測的難度。因此,在RSOD中實現更高的檢測精度仍然是一個挑戰。

目前有兩種類型的目標檢測方法:兩階段和單階段。兩階段目標檢測模型,包括Fast R-CNN[17]、Faster R-CNN[18]和Cascade R-CNN[19],使用區域建議網絡(RPN)生成候選區域,並將其分類為背景或目標區域。然後,RPN的輸出被映射到特徵圖上的相應位置,並送入檢測頭進行最終的分類和迴歸。雖然兩階段模型在檢測精度方面表現出色,但其模型參數和推理時間是其缺點。為了促進目標檢測算法的更廣泛應用,對單階段模型的研究也在進行中。最具影響力的單階段模型是SSD[20]和YOLO系列。與R-CNN系列算法不同,這些方法直接在特徵圖上回歸目標的位置,將定位問題轉化為迴歸問題。這種方法可以在一定程度上提高檢測速度,但也可能導致精度下降。

YOLO系列已被研究人員不斷更新和改進,以解決前代版本中的問題。每一代都成為了其各自時代的經典算法。YOLOv1[21]是一項開創性的工作,通過直接回歸位置,顯著降低了計算複雜度並提高了運行速度。YOLOv2[22]引入了批歸一化和錨框以提高精度。YOLOv3[23]通過採用特徵金字塔網絡(FPN)[24]結構實現多尺度融合,進一步改進了小目標檢測。此外,YOLOv3還結合了空間金字塔池化(SPP)[25]以提升性能。YOLOv4[26]通過結合跨階段局部網絡(CSP)[27]和基於PANet[28]的多通道特徵融合等技術,進一步提高了檢測精度和速度。在YOLOv4的基礎上,YOLOv5優化了訓練速度,並將CSP模塊應用於頸部結構,用空間金字塔池化快速(SPPF)模塊替換了SPP。YOLOv6[29]側重於硬件適配,將RepVGG[30]結構引入YOLO,並用EfficientRep替換了骨幹網絡。其檢測頭受YOLOX[31]啓發,進行了輕微優化的解耦操作。YOLOv7[32]提出了一種利用E-ELAN計算塊無限堆疊的模型,並增加了一種輔助頭訓練方法。YOLOv8相比之前的版本實現了更高的精度和更快的檢測速度,這將在第二節中描述。

許多研究人員已將YOLO系列用於RSOD任務。Wan等人[33]提出YOLO-HR網絡,通過集成多層FPN和混合注意力模塊來提高RSOD的準確性。Tang等人[34]引入了一個卷積模塊來增強通道信息,並增加了一個新的檢測頭,從而形成了HIC-YOLOv5算法。在輕量級RSOD算法LAI-YOLOv5s[35]中,提出了一種新的特徵融合方法來豐富語義特徵,並借鑑ShuffleNetV2[36]使網絡更加高效。YOLO-W[37]採用切片輔助超推理技術來提高數據質量,並引入了一個超輕量級子空間注意力模塊來增強目標特徵並減少干擾。隨着YOLOv8的發佈,Li等人[38]通過結合雙通道特徵融合和BiFPN[39]的概念來增強YOLOv8網絡,以改進小目標檢測。他們還用GhostblockV2[40]結構替換了部分CSP_bottleneck with two convolutions_(C2f)模塊,以最小化網絡傳輸過程中的特徵損失。Wang等人[41]為無人機(UAV)場景專門引入了UAV-YOLOv8網絡。他們利用BiFormer[42]模塊優化網絡,將回歸損失函數替換為WIoU[43],並通過設計專用卷積模塊來提高網絡檢測速度。Guo等人[44]引入了密集連接機制,並開發了一種名為C3D的新網絡結構模塊來替換YOLOv8中的C2f模塊,以更全面地保留信息。LAR-YOLOv8[45]算法設計了一種帶有注意力機制的雙分支架構和一個由注意力引導的雙向FPN,有效增強了檢測能力。

為了滿足部署要求並提高小目標檢測能力,我們對YOLOv8s網絡進行了增強,開發了一種基於多尺度特徵融合與上下文信息的輕量級RSOD網絡(MFFCI-YOLOv8)。為了展示我們模型優越的檢測和泛化能力,我們在NWPU VHR-10[46]和VisDrone[47]數據集上進行了廣泛的實驗,取得了令人印象深刻的結果。

本文的主要貢獻總結如下:

  1. 我們提出了帶有注意力機制的輕量級CSP瓶頸(LCA)模塊,這是一種資源高效的特徵提取網絡。該模塊利用通道冗餘進行部分通道卷積特徵提取,並結合了無參數的SimAM注意力機制[48]來增強每個神經元的獨特性。LCA模塊專為滿足RSOD硬件平台約束而設計。
  2. 我們提出了門控空間金字塔池化快速(GSPPF)模塊以增強小目標檢測。該模塊利用逐漸增大的卷積核尺寸來捕獲更廣泛的跨尺度上下文信息。一個門控機制有選擇地整合不同層次的上下文信息,以改善尺度感知和上下文感知能力。
  3. 我們提出了多尺度融合輕量級頸部(MFLNeck)模塊,旨在有效融合高層和低層特徵信息。這種交互通過跨尺度整合特徵信息來增強對小目標的提取能力。此外,該模塊採用輕量級特徵融合技術來提高效率並降低計算負載。

本文其餘部分組織如下:第二節介紹了YOLOv8s算法、SPPF的當前研究進展以及SimAM模塊的介紹。第三節闡述了所提出的MFFCI-YOLOv8模型。第四節提供了實驗細節和結果。第五節討論了MFFCI-YOLOv8。最後,第六節對本文進行了總結。

II. 相關工作

A. YOLOv8s

YOLOv8通過引入新模塊和優化前代版本的缺點來提升其性能和通用性,從而擴展了其在各種場景中的適用性。為了便於硬件部署,本文選擇參數較少的小版本作為基線。如圖1所示,骨幹網絡是核心,包含了C2f和SPPF模塊。C2f模塊結合了YOLOv5的CSP結構和YOLOv7的ELAN結構,以增強特徵表示並改善梯度流信息,最終提高精度。SPPF模塊在骨幹網絡的末端仍然至關重要。

YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_#1024程序員節

在頸部架構中,YOLOv8s使用FPN–PAN結構進行特徵融合,有效地整合了多尺度信息。它選擇了無錨框結構,而不是傳統的錨框。損失函數由兩部分組成:用於分類的二元交叉熵損失,以及用於迴歸的完整交併比(Complete-IOU)[49]和分佈焦點損失(Distribution Focal Loss)[50]的組合。

B. SPPF模塊

YOLOv8s中的SPPF層結構如圖1所示。為了修改通道維度,首先應用一個YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_#1024程序員節_02卷積。然後,它依次通過三個大小為YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_v8_03的最大池化層。隨後,每個層在保留特徵信息的同時進行拼接,並通過添加殘差連接來防止特徵丟失。在此階段,通道數增加四倍,然後通過卷積恢復到原始通道數。YOLOv8s中的SPPF層具有聚合多尺度特徵的優勢,同時使用的資源更少。與原始的SPPNet不同,它不生成固定長度的輸出向量。相反,它在保留空間維度的同時連接來自不同最大池化層的特徵。這種方法使用更少的資源有效地結合了多尺度特徵。

SPPF層旨在生成輸入特徵圖的多尺度表示。通過在多個尺度上執行池化操作,SPPF使模型能夠捕獲不同抽象層次的特徵。這種能力在需要識別不同尺寸目標的目標檢測中尤其有價值。隨着時間的推移,研究人員以不同的方式增強了SPPF層。Chen等人[51]引入了ASPP模塊,該模塊結合了多個具有不同採樣率的並行空洞卷積層。每個採樣特徵在單獨的分支中進行處理,然後融合以產生最終輸出,從而增強了跨尺度的特徵提取。SPPFS[52]利用順序池化策略,對不同尺寸的特徵圖進行池化。連接這些順序獲得的特徵圖有助於實現有效的特徵表示。為了限制細粒度特徵信息的丟失,Zeng等人[53]為YOLOv7-UAV開發了DpSPPF模塊。該模塊用相互連接的較小深度可分離卷積層替換了最大池化層,旨在保留詳細的特徵信息,同時仍然受益於多尺度池化。這些對SPPF模塊的增強和適應旨在提高其捕獲準確目標檢測所必需的多樣化和詳細特徵的能力。

C. SimAM模塊

SimAM注意力機制基於既定的神經科學理論,涉及優化一個能量函數來評估每個神經元的重要性。該方法為每層特徵圖計算三維(3-D)注意力權重,而不引入額外的參數。在圖像處理過程中,優先考慮表現出強空間抑制功能的神經元。該方法的一個關鍵方面是評估目標神經元與其他神經元之間的線性可分性,這由以下能量函數關鍵定義:
YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_卷積_04
在公式中,YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_v8_05YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_06,其中 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_#1024程序員節_07YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_卷積_08 分別代表輸入特徵 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_09 中單個通道內的目標神經元和其他神經元。這裏,YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_卷積_10 是空間索引,YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_v8_11 表示該通道中神經元的數量。YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_12YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_v8_13 是線性變換的權重和偏置。最小化此方程可以增強目標神經元 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_#1024程序員節_07 與同一通道內其他神經元之間的線性可分性。改進後的能量函數為:
YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_卷積_15
方程(2)有一個快速的閉式解,由下式給出:
YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_v8_16
其中 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_#1024程序員節_17YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_18 分別表示除 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_#1024程序員節_07 外該通道中所有神經元的均值和方差。如果單個通道中的所有像素具有相等的分佈,則可以計算每個神經元的均值和方差。因此,我們可以推導出最小化能量的公式:
YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_20
其中 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_#1024程序員節_21 是正則化係數。方程(5)表明,較低的能量 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_卷積_22 值意味着神經元 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_#1024程序員節_07

III. 所提出的方法

A. 概述

本文對YOLOv8s進行了改進和優化,引入了一種更好的網絡框架MFFCI-YOLOv8,用於圖2所示的RSOD。首先,輸入圖像在骨幹網絡中進行特徵提取。在這方面,我們提出了更輕、更快的LCA模塊,以減少通道冗餘,從而減少參數和計算複雜度。此外,為了提高特徵提取能力,引入了無參數的SimAM注意力方法。隨後,我們引入了GSPPF模塊,以改善尺度感知和上下文感知能力,從而增強整體特徵表示。MFLNeck模塊能夠實現更有效的多尺度特徵融合,並輔以融合LCA模塊,旨在準確檢測更小的目標。最後,在檢測頭模塊中執行目標檢測,完成RSOD過程。

YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_卷積_24

B. 帶有注意力機制的輕量級CSP瓶頸(LCA)模塊

在CNN中,每個通道代表不同的特徵信息。圖3顯示了從RSI卷積計算中得出的部分通道圖像。這些圖像在通道間表現出顯著的相似性,幾乎每個通道都能辨別出飛機的特徵。由於網絡通常隨着通道數量的增加而經歷更高的計算複雜度,這一觀察強調了特徵豐富的CNN架構所伴隨的計算需求。

YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_v8_25

受[54]的啓發,我們認識到減少通道數量可以有效降低計算複雜度。因此,我們設計了一個更輕、更快、更高效的LCA模塊,如圖4所示。首先,我們輸入一個具有特定通道數的特徵圖 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_v8_26。在初始特徵提取後,我們將通道數減半,從而有效減少了通道數量。然後,我們選擇剩餘通道的一個子集 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_卷積_27 作為代表進行計算。剩餘的通道被進一步劃分為 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_卷積_28YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_#1024程序員節_29,並應用 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_30 卷積來提取空間特徵。其餘通道被直接映射並保持不變。在此卷積操作中,我們只考慮乘法運算,FLOPs可以使用以下公式估算,其中參數數量根據 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_31 的值顯著減少:

YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_v8_32

在降低計算複雜度的同時,仍然存在特徵提取不完整的擔憂。為了解決這個問題,我們引入了無參數的SimAM模塊,該模塊以輕量級的方式增強了特徵提取能力。SimAM模塊為特徵圖中的每個神經元分配注意力顯著性,以確定其重要性,而無需添加參數。這種方法在層的特徵圖上推斷出3-D注意力權重,有效地提升了特徵提取能力。在注意力加權特徵映射之後,應用卷積以更高效地提取特徵。逐點卷積在拼接階段後促進通道間信息交互。此外,我們將每一層的特徵進行拼接,以豐富特徵圖中的梯度信息,從而增強數據表示和深度。

YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_33

C. 門控空間金字塔池化快速(GSPPF)模塊

SPPF結構被集成到YOLOv8s框架中,通過提供上下文信息和增加魯棒性來提高目標識別精度。然而,多次池化操作可能會無意中導致尺度信息丟失,這會影響小目標的表示並對大目標的數據進行壓縮。我們提出了GSPPF模塊作為解決方案,如圖5所示。該模塊有效地增強了小目標識別,並比傳統的SPPF方法更高效地保留了上下文信息。首先,我們使用逐點卷積來轉換輸入特徵 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_#1024程序員節_34,將其擴展到四個門控通道,從而實現通道間交互,得到 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_#1024程序員節_35。接下來,我們用三個深度可分離卷積(DWConv)替換了傳統的最大池化操作。與最大池化不同,深度可分離卷積是可訓練的並表現出結構感知能力。這種選擇通過摒棄傳統卷積來保持模型的輕量級,同時仍然提供類似於傳統卷積的通道特性,但計算開銷更低。儘管深度可分離卷積在捕獲長距離依賴關係方面存在侷限性,這可能會影響RSIs中的小目標檢測,但我們使用卷積核大小為 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_36YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_#1024程序員節_37YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_38 的卷積來在更粗的層次上增強全局上下文感知。這些卷積旨在擴大感受野,從而提高模型捕獲更廣泛空間依賴關係的能力。為了有效地整合不同層次的上下文,我們採用了一種門控機制,通過加權融合來聚合上下文信息。在聚合過程中,每個層次的上下文都乘以其對應的門控信號。這種方法允許較大的門控信號值放大相關上下文層次的影響,而較小的值則減弱其影響。這種自適應調整使模型能夠有選擇地結合信息豐富的上下文層次,以增強特徵表示。為了捕獲空間信息,我們在空間維度上執行平均池化,然後將所有特徵相加。這個聚合步驟確保將空間細節全面地整合到最終的特徵表示中。

YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_v8_39

GSPPF模塊顯著增強了MFFCI-YOLOv8在不同尺度和上下文數據上提取全面特徵表示的能力。它促進了有效的多尺度特徵融合,從而整體上增強了模型的檢測能力。

YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_40

D. 多尺度融合輕量級頸部(MFLNeck)模塊

FPN旨在使用自上而下的方法整合不同分辨率的特徵,以結合多尺度特性。PAN通過增加一個自下而上的路徑進行特徵聚合,解決了單向信息流的限制。然而,這種增強帶來了更高的計算成本。在我們的方法中,我們採用了一種新的跨尺度融合,同時考慮了同層和相鄰層的特徵。這使得高層信息能夠傳遞到低層特徵,從而增強了整體特徵表示。其結構如圖6所示。

YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_41

具體來説,在我們的方法中,我們在相鄰層之間進行融合操作,例如Conv1、LCA1和Upsample5。此外,在LCA2、LCA4和Conv6之間執行跨層融合。這些融合策略旨在優化跨尺度的特徵連接,提高模型有效捕獲和利用層次信息的能力。
YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_42
通過融合相鄰和重疊的層,我們改進了高層和低層特徵的整合。這種方法極大地增強了模型融合和提取特徵的能力,特別是對於小目標。因此,該模型實現了對小目標更精確的定位和分類。同時,在特徵融合塊內,我們利用LCA模塊來增強對尺度變化的適應性並減少參數。該模塊替換了之前的C2f模塊,從而優化了模型中特徵整合的效率和有效性。

IV. 實驗結果

A. 數據集和評估指標

我們在RSI數據集上驗證了MFFCI-YOLOv8方法:
NWPU VHR-10:NWPU VHR-10數據集包含800張超高分辨率RSI,分為10個常見目標類別:飛機(AL)、船舶(SH)、儲罐(ST)、棒球場(BF)、網球場(TC)、籃球場(BC)、田徑跑道(GR)、港口(HB)、橋樑(BD)和車輛(VC)。我們將數據集隨機分為80%用於訓練,10%用於驗證,10%用於測試。
VisDrone:VisDrone數據集是從各種無人機平台收集的,包含多樣化的場景和環境。它包含超過540,000個標註的邊界框,涵蓋10個預定義類別:行人(PT)、人員(PP)、自行車(BC)、汽車(CA)、貨車(VA)、卡車(TR)、三輪車(TC)、帶棚三輪車(AT)、公共汽車(BU)和摩托車(MC)。在我們的實驗中,我們隨機選擇了6471張圖像用於訓練,548張用於驗證,1610張用於測試。
mAP(平均精度均值)量化了多類目標檢測的性能。其計算公式為:
YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_v8_43
其中 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_44 表示數據集中的類別數量,YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_#1024程序員節_45YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_46 分別表示第 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_卷積_10

B. 實現細節

實驗使用Python 3.8和PyTorch 1.9框架進行。硬件配置包括Intel® Core™ i7-10700 CPU @ 2.90 GHz和Nvidia GeForce RTX 1080Ti GPU。重要的是,本文中的模型未使用預訓練權重進行初始化。優化使用SGD[55]進行,初始學習率為0.01,動量為0.937。訓練時使用的批大小為16。具體來説,對於NWPU VHR-10數據集,模型訓練了200個週期。而對於VisDrone數據集,訓練持續了150個週期。

YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_#1024程序員節_48

C. 模型參數比較和 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_31

MFFCI-YOLOv8與YOLOv8s在骨幹網絡上進行了比較。表I顯示,MFFCI-YOLOv8通過使用卷積進行局部通道特徵提取,顯著減少了參數數量。在前五層中,由於通道數較少,這種優勢並不明顯。然而,隨着通道數的增加,我們的模型在第七層和第九層表現出明顯的效率增益,分別減少了417,792和359,424個參數。總體而言,我們的模型包含1026萬個參數,比YOLOv8s的1112萬個參數減少了7.7%。

YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_v8_50

在LCA模塊中選擇 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_31 的值時,選擇較大的值往往會使其效果降低到普通卷積的水平,而選擇較小的值則會降低其有效捕獲空間信息的能力。我們的實驗(詳見表II)涉及測試 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_31 的各種值。隨着 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_31 的減小(表示用於特徵提取的通道更少),參數數量和FLOPs相應減少。然而,這種效率的降低也與準確性的下降相關。對於特定的實驗要求,可以選擇不同的 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_31 值。為了獲得更高的準確性,優選較大的值,而較小的值則有助於構建更輕量的模型。在本文中,我們根據實驗目標選擇了 YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_#1024程序員節_55

D. 對比實驗

為了證明MFFCI-YOLOv8模型的優越性,我們將其與單階段模型(YOLOv5s、YOLOv6s、YOLOv7tiny和YOLOv8s)、兩階段模型(Faster R-CNN、Cascade R-CNN)以及RSOD算法(HIC-YOLOv5、LAI-YOLOv5和LAR-YOLOv8)進行了比較。

YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_池化_56

我們使用NWPU VHR-10數據集進行初步實驗。表III詳細比較了各方法在每個類別上的準確性。顯然,我們的方法在五個類別上獲得了最佳準確性,總體mAP達到94.1%。MFFCI-YOLOv8比YOLOv8s的準確性提高了4%。我們模型中的GSPPF和MFLNeck組件解決了小目標準確性低的問題。此外,它們顯著增強了對不同尺度目標的特徵提取性能,並減少了誤檢。在密集分佈的小目標類別車輛(VC)中,我們的模型取得了97.3%的驚人準確性,遠超其他模型。

YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_v8_57

我們在圖7中選擇了數據集中的10個類別目標進行可視化,展示了MFFCI-YOLOv8對這些目標及其各自類別的準確檢測。此外,我們選擇了兩個包含密集目標的複雜場景圖像,這對檢測提出了重大挑戰。儘管存在這些複雜性,MFFCI-YOLOv8始終表現出其卓越的能力,能夠準確檢測這些具有挑戰性場景中的目標。

YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_卷積_58

在具有挑戰性的VisDrone數據集上進行了實驗,以進一步驗證所提出的MFFCI-YOLOv8。如表IV所示,在該數據集上,MFFCI-YOLOv8達到了40.6%的mAP,比基線YOLOv8s的整體準確性提高了2.8%。值得注意的是,MFFCI-YOLOv8在所有五個類別上都超過了其他模型,展示了其全面的優越性能。在汽車(CA)類別中取得的高準確性可歸因於該類別包含大約160,000個大型目標。相比之下,帶棚三輪車(AT)類別只有3778個較小的目標,受到的訓練關注較少,導致準確性較低,為16.6%。這些結果凸顯了我們的算法在檢測RSIs中弱小目標方面的有效性和優越性。

YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_#1024程序員節_59

我們在各種場景下進行了可視化實驗,包括運動場、城市主幹道、十字路口和昏暗的廣場,以比較YOLOv5s、YOLOv8s和我們的MFFCI-YOLOv8算法的檢測性能。圖8説明了這些比較。首先,在操場場景中,放大視圖顯示該區域有一個廣告牌,沒有行人,只有我們的模型準確檢測到該區域沒有行人。在十字路口,待檢測目標相對密集,主要由小型物品組成,並且存在遮擋問題。改進後的模型在檢測密集小目標方面表現出色,準確識別了目標的正確類別,突顯了其在挑戰性場景中的有效性。在第三張圖像中,有三輛自行車,而其他模型分別只檢測到兩輛和一輛。然而,MFFCI-YOLOv8成功檢測到了所有三輛自行車。此外,即使在低光夜間條件下,我們的模型也能繼續準確檢測目標。標籤表明,其他方法將目標誤分類為貨車,而我們的模型正確地將其識別為卡車,展示了其在不同環境條件下的適應性。

E. 消融評估

我們在VisDrone數據集上進行了消融實驗,以YOLOv8s為基線模型,評估LCA、GSPPF和MFLNeck組件以及SimAM模塊的有效性和影響。每個模塊的貢獻用“√”表示。評估指標包括mAP、參數數量、FLOPs和FPS,結果如表V所示。在實驗1和2中,我們考察了LCA模塊,該模塊通過選擇性地利用一部分通道進行在線特徵提取的卷積運算。該模塊還集成了無參數的SimAM模塊,以更好地捕獲重要的特徵信息,彌補通道數量有限的不足。與YOLOv8s相比,LCA模塊將參數數量減少了12.9%,FLOPs減少了14.7%,有效降低了計算複雜度,並將mAP提高了1.2%。然而,我們觀察到FPS略有下降。在實驗2中,我們引入了SimAM模塊,該模塊沒有改變參數數量或FLOPs,證實了該模塊是無參數的,不會增加任何計算負擔。此外,準確性提高了0.2%,FPS的降低是可以接受的。這些結果表明,LCA模塊不僅高效,而且在有限資源下也能實現卓越的性能。在實驗3中,我們研究了GSPPF模塊,該模塊旨在使用不同內核大小的深度卷積來增強感受野。更大的感受野可以在更粗的粒度上捕獲更廣泛的全局上下文。此外,門控機制調節不同層次的上下文影響。我們在圖9中展示了每一層。該模塊的性能符合預期,隨着內核尺寸的增加,信息捕獲能力得到改善,有利於後續的特徵融合。數據顯示,該模塊的參數數量僅增加了3.8%,FLOPs增加了1.7%,而mAP上升至38.7%。在實驗4中,我們研究了MFLNeck模塊的作用,該模塊採用了一種新穎的特徵金字塔來融合更多的高層和低層特徵,從而增強了對小目標的檢測。這個特徵融合模塊利用LCA進一步減少了參數數量。隨着通道數量的增加,我們的模塊能更有效地發揮其功能。在實驗5中,我們結合了所有模塊。與YOLOv8s相比,我們的模型參數數量減少了7.7%,FLOPs減少了11.9%,mAP提高了2.8%,同時保持了適中的FPS。這些消融研究強調了MFFCI-YOLOv8框架中每個模塊的重要性,突顯了它們的互補性以及在增強YOLOv8s性能方面的有效性。

YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_卷積_60

V. 討論

隨着對輕量級模型和RSIs中準確目標檢測需求的不斷增加,我們的方法提供了一種可行的解決方案,在精度和計算約束之間取得了平衡。在本文中,我們提出了MFFCI-YOLOv8,一種輕量級RSOD網絡,旨在解決RSIs帶來的獨特挑戰。我們的方法側重於多尺度特徵融合和上下文信息,以提高檢測精度,特別是對於小而密集分佈的目標。所提出的LCA模塊減少了通道冗餘並集成了SimAM注意力機制,成功地減少了參數數量和計算複雜度,同時增強了特徵提取能力,使其適用於硬件受限的環境。一個關鍵挑戰是在保持模型輕量級的同時確保檢測精度。如表V實驗1所示,引入SimAM注意力機制使模型能夠更好地區分重要的特徵通道,從而在降低計算複雜度的同時保持高檢測精度。這強調了在輕量級設計中結合適當注意力機制的重要性,以確保對性能的影響最小。此外,如表II所示,通道選擇率顯著影響模型的整體性能。雖然降低選擇率會減少計算負載,但也會導致檢測精度略有下降,因此仔細選擇適當的值至關重要。

YOLOv8 深度解析!一文看懂,快速上手實操(附實踐代碼)_v8_61

RSIs通常包含大量密集排列的小目標,這對目標檢測模型提出了更大的挑戰。儘管YOLO系列在常規目標檢測任務中表現良好,但在檢測小目標方面仍然存在挑戰。在本文中,我們引入了GSPPF和MFLNeck模塊。GSPPF模塊利用不同大小的卷積核來捕獲不同尺度的上下文信息,充分考慮了RSIs中目標尺寸的多樣性。與傳統的最大池化操作相比,使用深度可分離卷積不僅保持了模型的輕量級特性,還改善了對小目標的特徵提取。通過門控機制,GSPPF模塊可以自適應地選擇最有用的上下文信息層次,從而增強模型的多尺度感知能力。這種設計特別適合包含眾多小目標的RSIs。MFLNeck模塊的一個關鍵特性是其跨層特徵融合策略。除了融合相鄰層之間的特徵外,我們還增強了跨層的特徵交互,確保高層特徵能夠傳播到低層,從而改善小目標檢測。通過這種多尺度融合策略,MFFCI-YOLOv8能夠更準確地捕獲不同尺度目標的特徵,顯著提高了小目標的定位和分類精度。

基於第四節對MFFCI-YOLOv8的綜合分析,NWPU VHR-10和VisDrone數據集上的實驗結果表明,儘管我們的模型是一個更輕量級的網絡,但與著名的通用目標檢測器和遙感目標檢測器相比,它在多個類別上實現了最高的準確性,並且總體上優於其他模型。從可視化結果可以看出,通過增強上下文信息和多尺度特徵融合,該模型在幾個具有挑戰性和複雜場景中對密集分佈的小目標實現了出色的檢測結果。雖然本文的輕量級設計降低了計算成本,但在極端資源受限的硬件環境中進一步降低FLOPs和內存使用仍然是一個值得進一步探索的話題。未來,我們旨在通過模型蒸餾和神經網絡剪枝等技術進一步輕量化模型,以降低計算成本並提高推理速度。此外,小而密集分佈的遙感目標問題仍然是一個具有挑戰性的研究領域,我們將根據實驗觀察投入更多精力來解決這一問題。

VI. 結論

目前,大量研究工作集中在使用大規模模型來提高實驗精度,卻常常忽略了部署所面臨的挑戰。RSIs的特點是目標小而密集。因此,我們提出了一種名為MFFCI-YOLOv8的輕量級RSOD算法,該算法結合了多尺度特徵融合和上下文信息。MFFCI-YOLOv8通過引入LCA、GSPPF和MFLNeck模塊,不僅展示了強大的特徵提取能力,還能高效地融合不同尺度的特徵,尤其在檢測密集分佈的小目標方面表現出色。與YOLOv8s等現有方法相比,它在顯著減少參數數量和計算複雜度的同時,實現了更高的精度。我們在兩個數據集上取得了更高的準確性,廣泛的實驗驗證了LCA、GSPPF和MFLNeck組件的有效性。MFFCI-YOLOv8有利於在各種RSOD場景的硬件上部署。