清華接手,YOLOv10問世:性能大幅提升,登上GitHub熱榜
目標檢測系統的標桿 YOLO 系列,再次獲得了重磅升級。
自今年 2 月 YOLOv9 發布之后, YOLO(You Only Look Once)系列的接力棒傳到了清華大學研究人員的手上。
上周末,YOLOv10 推出的消息引發了 AI 界的關注。它被認為是計算機視覺領域的突破性框架,以實時的端到端目標檢測能力而聞名,通過提供結合效率和準確性的強大解決方案,延續了 YOLO 系列的傳統。
論文地址:https://arxiv.org/pdf/2405.14458
項目地址:https://github.com/THU-MIG/yolov10
新版本發布之后,很多人已經進行了部署測試,效果不錯:
YOLO 因為性能強大、消耗算力較少,一直以來都是實時目標檢測領域的主要范式。該框架被廣泛用于各種實際應用,包括自動駕駛、監控和物流。其高效、準確的物體檢測能力使其成為實時識別行人和車輛等任務的理想選擇;在物流方面,它有助于庫存管理和包裹跟蹤,通過 AI 能力幫助人們在很多工作上提高了效率。
幾年來,研究人員對 YOLO 的架構設計、優化目標、數據增強策略等進行了探索,取得了顯著進展。然而,后處理對非極大值抑制(NMS)的依賴阻礙了 YOLO 的端到端部署,并對推理延遲產生不利影響。此外,YOLO 中各個組件的設計缺乏全面徹底的檢查,導致明顯的計算冗余并限制了模型的能力。
YOLOv10 的突破就在于從后處理和模型架構方面進一步提升了 YOLO 的性能 - 效率邊界。
為此,研究團隊首次提出了 YOLO 無 NMS 訓練的一致雙重分配(consistent dual assignment),這使得 YOLO 在性能和推理延遲方面有所改進。
研究團隊為 YOLO 提出了整體效率 - 準確率驅動的模型設計策略,從效率和準確率兩個角度全面優化 YOLO 的各個組件,大大降低了計算開銷并增強了模型能力。
大量實驗表明,YOLOv10 在各種模型規模上都實現了 SOTA 性能和效率。例如,YOLOv10-S 在 COCO 上的類似 AP 下比 RT-DETR-R18 快 1.8 倍,同時參數數量和 FLOP 大幅減少。與 YOLOv9-C 相比,在性能相同的情況下,YOLOv10-B 的延遲減少了 46%,參數減少了 25%。
方法介紹
為了實現整體效率 - 準確率驅動的模型設計,研究團隊從效率、準確率兩方面分別提出改進方法。
為了提高效率,該研究提出了輕量級分類 head、空間通道(spatial-channel)解耦下采樣和排序指導的塊設計,以減少明顯的計算冗余并實現更高效的架構。
為了提高準確率,研究團隊探索了大核卷積并提出了有效的部分自注意力(partial self-attention,PSA)模塊來增強模型能力,在低成本下挖掘性能改進的潛力。基于這些方法,該團隊成功實現了一系列不同規模的實時端到端檢測器,即 YOLOv10-N / S / M / B / L / X。
用于無 NMS 訓練的一致雙重分配
在訓練期間,YOLO 通常利用 TAL 為每個實例分配多個正樣本。一對多的分配方式產生了豐富的監督信號,促進了優化并使模型實現了卓越的性能。
然而,這需要 YOLO 依賴于 NMS 后處理,這導致了部署時次優的推理效率。雖然之前的研究工作探索了一對一匹配來抑制冗余預測,但它們通常引入了額外的推理開銷。
與一對多分配不同,一對一匹配對每個 ground truth 僅分配一個預測,避免 NMS 后處理。然而,這會導致弱監督,以至于準確率和收斂速度不理想。幸運的是,這種缺陷可以通過一對多分配來彌補。
該研究提出的「雙標簽分配」結合了上述兩種策略的優點。如下圖所示,該研究為 YOLO 引入了另一個一對一 head。它保留了與原始一對多分支相同的結構并采用相同的優化目標,但利用一對一匹配來獲取標簽分配。在訓練過程中,兩個 head 聯合優化,以提供豐富的監督;在推理過程中,YOLOv10 會丟棄一對多 head 并利用一對一 head 做出預測。這使得 YOLO 能夠進行端到端部署,而不會產生任何額外的推理成本。
整體效率 - 準確率驅動的模型設計
除了后處理之外,YOLO 的模型架構也對效率 - 準確率權衡提出了巨大挑戰。盡管之前的研究工作探索了各種設計策略,但仍然缺乏對 YOLO 中各種組件的全面檢查。因此,模型架構表現出不可忽視的計算冗余和能力受限。
YOLO 中的組件包括 stem、下采樣層、帶有基本構建塊的階段和 head。作者主要對以下三個部分執行效率驅動的模型設計。
- 輕量級分類 head
- 空間通道解耦下采樣
- 排序指導的模塊設計
為了實現準確率驅動的模型設計,研究團隊進一步探索了大核卷積和自注意力機制,旨在以最小的成本提升模型性能。
實驗
如表 1 所示,清華團隊所開發的的 YOLOv10 在各種模型規模上實現了 SOTA 的性能和端到端延遲。
該研究還針對 YOLOv10-S 和 YOLOv10-M 進行了消融實驗,實驗結果如下表所示:
如下表所示,雙標簽分配實現了最佳的 AP - 延遲權衡,采用一致匹配度量可以達到最優性能。
如下表所示,每個設計組件,包括輕量級分類 head、空間通道解耦下采樣和排序指導的模塊設計,都有助于減少參數數量、FLOPs 和延遲。重要的是,這些改進是在保持卓越性能的同時所實現的。
針對準確性驅動的模型設計的分析。研究人員展示了基于 YOLOv10-S/M 逐步集成準確性驅動設計元素的結果。
如表 10 所示,采用大核卷積和 PSA 模塊分別在延遲最小增加 0.03ms 和 0.15ms 的情況下,使 YOLOv10-S 的性能有了 0.4% AP 和 1.4% AP 的顯著提升。