YOLOv6 v3.0的主要貢獻簡述如下:
對檢測器的Neck部件進行了翻新:引入BiC(Bi-directional Concatenation)提供更精確的定位信息;將SPPF簡化為SimCSPSPPF,犧牲較少的速度提升更多的性能。
提出一種AAT(Anchor-aided training)策略,在不影響推理效率的情況下同時受益于Anchor-basedAnchor-free設計理念。
對YOLOv6的Backbone與Neck進行加深,在更高分辨率輸入下達成新的SOTA性能。
提出一種新的自蒸餾策略提升YOLOv6小模型的性能,訓練階段采用更大的DFL作為增強版輔助回歸分支。
本文方案
Network Design
在網絡架構方面,本文主要從Neck與SPP兩個維度進行改進:
在Neck方面,本文設計了一種增強的PAN模塊,它次用BiC模塊對三個近鄰層特征進行集成(可參考上圖b),額外引入了。這種處理截止可以保留更精確的定位信息,對于小目標定位非常重要。
在SPP方面,本文對YOLOv5 v6.1版本的SPPF進行了簡化,得到了所謂的SimCSPSPPF(可參考上圖c)。
Anchor-Aided Training
YOLOv6是一種追求更高推理速度的Anchor-free檢測器。然而,作者發現:在同等配置(YOLOv6-N)下,相比Anchor-free方案,Anchor-based方案可以帶來額外的性能增益,見上表。
有鑒于此,作者提出了AAT策略(即Anchor輔助訓練,見上圖),它引入了一個Anchor-based輔助分支以組合兩種方案的優勢。通過這種訓練策略,源自的輔助分支的引導信息可以被有效的嵌入到Anchor-free分支。在推理階段,輔助分支將被移除掉。也就是說,AAT策略屬于"贈品",加量不加價的那種。
Self-distillation
在YOLOv6早期版本中,自蒸餾僅在大模型中得到應用,采用的普通KL散度蒸餾。知識蒸餾損失與整體損失定義如下:超參數用于對兩個損失進行平衡。在訓練的早期,源自老師模型的軟標簽更易于學習;而在訓練的后期,學生模型從硬標簽中受益更多。
因此,作者設計了一種cosine weight decay調整機制:由于DFL會對回歸分支引入額外的參數,極大程度影響小模型的推理速度。因此,作者針對小模型設計了一種DLD(Decoupled Localization Distillation)以提升性能且不影響推理速度。具體來說,在小模型中插入一個增強版回歸分支作為輔助。在自蒸餾階段,小模型受普通回歸分支與增強回歸分支加持,老師模型近使用輔助分支。
需要注意:普通分支僅采用硬標簽進行訓練,而輔助分支則用硬標簽與源自老師模型的軟標簽進行訓練。完成蒸餾后,僅普通分支保留,輔助分支被移除。這種訓練策略又是一種加量不加價的"贈品"。
Experiments
上表給出了不同方案的性能對比,可以看到:
相比YOLOv5-N、YOLOv7-Tiny,YOLOv6-N指標分別提升9.5%、4.2%,同時具有最佳速度。
相比YOLOX-S、PPYOLOE-S、YOLOv6-S指標分別提升3.5%、0.9%且速度更快;
YOLOv6-M比YOLOv5-M指標高4.6%、速度相當,比YOLOX-M、PPYOLOE-M指標高3.1%、1.0%且速度更快;
除了比YOLOv5-L更高更快外,YOLOv6-L比YOLOX-L、PPYOLOE-L分別高3.1%、1.4%且速度相當。
相比YOLOv8,YOLOv6在所有尺寸下取得了相當的精度,同時具有更優的吞吐性能。
除了上述常規模型尺寸外,作者還進一步提升了輸入分辨率并添加了C6特征,與YOLOv5等方案對比:
相比YOLOv5系列(即YOLOv5-N6/S6/M6/L6/X6),YOLOv6具有更高的AP、相當的速度;
相比YOLOv7-E6E,YOLOv6-L6指標高出0.4%,推理速度快36%。
審核編輯:劉清
-
檢測器
+關注
關注
1文章
869瀏覽量
47753
原文標題:超越YOLOv8!YOLOv6 v3.0實時目標檢測重磅升級!
文章出處:【微信號:CVer,微信公眾號:CVer】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論