始智ai wisemodel.cn開源社區
近日,清華大學推出了新一代yolov10模型,此次的yolov10模型做出了多方面的調整和優化。該模型已經上線始智ai wisemodel.cn開源社區,歡迎大家前往wisemodel社區下載體驗。
https://wisemodel.cn/models/thu-mig/yolov10
1.在head部分,創造性地融合了one-to-one和one-to-many兩種模式,既利用了one-to-many豐富的監督(supervision)信號來訓練優化模型參數保證模型的精度,又採取one-to-one進行推斷(inference)來避免nms後處理從而提高推斷速度。論文作者將這種方式稱為:雙重標籤分配(dual label assignment)。
一、雙重標籤分配
存在問題:
yolo通常在訓練過程中採用一對多的標籤分配策略,其中一個真實情況(ground-truth)物體對應於多個正(positive)樣本。儘管這種方法取得了優越的性能,但它需要在推理過程中使用nms(non-maximum suppression,非極大值抑制)來選擇最佳的陽性預測。這降低了推理速度,並使性能對nms的超參數敏感,從而阻礙了yolo實現最優的端到端部署。解決這個問題的一條途徑是採用最近引入的端到端detr架構。例如,rt-detr提出了一種有效的混合編碼器和非確定性最小 query 選擇,將detr推向了實時應用領域。然而,部署detr的固有複雜性阻礙了它在準確性和速度之間達到最優平衡的能力。另一條途徑是探索基於cnn的檢測器的端到端檢測,這通常利用一對一的分配策略來抑制冗餘預測。然而,它們通常引入額外的推理開銷或達到次優性能。
解決方案:
二、全面效率-準確性驅動的模型設計(holistic efficiency-accuracy driven model design)
效率驅動的模型設計:(提高效率,減小計算成本)
yolo的組件包括幹線(stem)、下採樣層(downsampling layers)、具有基本構建塊的階段(stages with basic building blocks)和頭部(head)。幹線產生的計算成本很少,因此 研究人員對其他三個部分進行了效率驅動的模型設計。
1.輕量級分類頭部。在yolo中,分類和回歸頭部通常具有相同的架構。然而,它們在計算開銷上表現出顯著的差異。例如,在yolov8-s中,分類頭部(5.95g/1.51m)的flops和參數計數是回歸頭部(2.34g/0.64m)的2.5倍和2.4倍。然而,經過分析分類誤差和回歸誤差(見表6)的影響後,研究人員發現回歸頭部對yolo的性能更為重要。因此,可以在不擔心大幅損害性能的情況下減少分類頭部的開銷。研究人員簡單地為分類頭部採用了輕量級架構,該架構由兩個深度可分離卷積[24,8]組成,核大小為3×3,後跟1×1卷積。
2.空間-通道解耦下採樣。yolo通常利用標準的3×3卷積,步長為2,同時實現空間下採樣(從h×w到h^2×w^2)和通道轉換(從c到2c)。這引入了不可忽視的計算成本o(9^2hwc^2)和參數數量o(18c^2)。研究人員提議將空間縮減和通道增加操作解耦,實現更高效的下採樣。具體來說,首先利用點卷積來調節通道維度,然後使用深度卷積來執行空間下採樣。這將計算成本降低到o(2hwc^2 + 9^2hwc),參數數量降低到o(2c^2 + 18c)。同時,它最大化了下採樣期間的信息保留,更好地降低了延遲。
三、準確性驅動的模型設計:(提高準確性)
研究人員進一步探索了大核卷積和自注意力,以準確性為驅動進行設計,旨在在最低成本下提高性能。
1.大核卷積。使用大核深度卷積是擴大感受野和增強模型能力的有效方法。然而,簡單地在所有階段使用它們可能會引入淺層特徵的污染,這些特徵被用來檢測小物體,同時也會引入高分辨率階段的顯著i/o開銷和延遲。因此,研究人員提議在深層階段的cib中使用大核深度卷積。具體來說,研究人員將cib中第二個3×3深度卷積的核大小增加到7×7,參考。此外,研究人員採用結構重參數化技術,引入另一個3×3深度卷積分支,以減輕優化問題,而不增加推理開銷。此外,隨着模型大小的增加,其感受野自然擴大,使用大核卷積的好處也在減少。因此,研究人員只為小模型尺度採用大核卷積。
2.部分自注意力(psa)。由於其顯著的全局建模能力,自注意力被廣泛用於各種視覺任務。然而,它表現出高計算複雜性和內存佔用。為了解決這個問題,鑒於普遍存在的注意力頭冗餘,研究人員設計了一個高效的部分自注意力(psa)模塊設計,如圖(c)所示。具體來說,研究人員在1×1卷積後將特徵均勻地跨通道分成兩部分。只將一部分輸入由多頭自注意力模塊(mhsa)和前饋網絡(ffn)組成的npsa塊。然後將兩部分連接起來,並通過1×1卷積進行融合。此外,將查詢和鍵的維度設置為mhsa中值的一半,並將layernorm替換為batchnorm,以實現快速推理。此外,psa僅放置在具有最低分辨率的第4階段之後,避免了自注意力的二次計算複雜性帶來的過度開銷。通過這種方式,可以將全局表示學習能力以低計算成本納入yolo,這很好地增強了模型的能力並改進了性能。
本文是對yolov10的簡單介紹,更多詳細信息請查詢論文:
論文地址:https://arxiv.org/pdf/2405.14458
項目地址:https://github.com/thu-mig/yolov10
整理丨張皓程
編輯丨趙雅鑫
----- end -----
wisemodel相關
系統升級