摘要
作者提出一種新的檢測頭,稱為“動態頭”,旨在將尺度感知、空間感知和任務感知統一在一起。如果我們將骨干網絡的輸出(即檢測頭的輸入)視為一個三維張量,其維度為級別 × 空間 × 通道,這樣的統一檢測頭可以看作是一個注意力學習問題,直觀的解決方案是對該張量進行全自注意力機制的構建。然而,直接在所有維度上學習注意力函數過于困難,且計算成本過高。因此,作者提出通過分別在特征的每個特定維度上部署注意力機制,即在級別、空間和通道維度上來解決這一問題。
# 理論介紹
DynamicHead模塊是針對目標檢測任務提出的一種新的頭部(head)結構,它的設計目的是通過引入多種注意力機制,提升模型的檢測能力。核心思想是使得檢測頭部可以動態地根據輸入特征進行自適應調整,從而提高模型在不同尺度、空間、任務等方面的表現。DynamicHead模塊的關鍵組成部分包括:
- Scale-Aware Attention Module(尺度感知注意力模塊):該模塊根據特征的尺度進行調整,使得不同尺度的特征能在合適的尺度下進行融合和處理。它通過為不同尺度的特征賦予權重來優化尺度差異的影響。
- Spatial-Aware Attention Module(空間感知注意力模塊):該模塊針對空間位置進行優化。通過對特征圖中的重要區域進行加權,使得網絡能更關注目標物體的前景區域,避免特征圖的冗余部分對模型性能造成影響。
- Task-Aware Module(任務感知模塊):這個模塊根據具體任務(如分類、定位等)調整頭部的輸出。它能根據任務需求優化目標的分類或回歸結果,提高模型的準確度和魯棒性。
下圖摘自論文
理論詳解可以參考鏈接:論文地址
代碼可在這個鏈接找到:代碼地址
小目標理論
在YOLOv8 中,輸入圖像的尺寸為 640x640x3,經過 8 倍、16 倍和 32 倍下采樣后分別得到 80x80、40x40 以及 20x20 大小的特征圖,網絡最終在這三個不同尺度的特征圖上進行目標檢測。在這三個尺度的特征圖中,局部感受野最小的是 8 倍下采樣特征圖,即如果將該特征圖映射到原輸入圖像,則每個網格對應原圖 8x8 的區域。對于分辨率較小的目標而言,8 倍下采樣得到的特征圖感受野仍然偏大,容易丟失某些小目標的位置和細節信息。為了改善目標漏檢現狀,對 YOLOv8 的 Head 結構進行優化,在原有的三尺度檢測頭的基礎之上,新增一個針對微小目標檢測的檢測頭 ,YOLOv8 原有 P3、P4 和 P5 這 3 個輸出層&