目標檢測開源框架YOLOv6全面升級,更快更準的2.0版本來啦

美團技術團隊發表於2022-11-24
9月5日,美團視覺智慧部發布了YOLOv6 2.0版本,本次更新對輕量級網路進行了全面升級,量化版模型 YOLOv6-S 達到了 869 FPS,同時,還推出了綜合效能優異的中大型網路(YOLOv6-M/L),豐富了YOLOv6網路系列。其中,YOLOv6-M/L 在 COCO 上檢測精度(AP)分別達到 49.5%/52.5%,在 T4 卡上推理速度分別可達 233/121 FPS(batch size =32)。

GitHub下載地址:https://github.com/meituan/YOLOv6。歡迎Star收藏,隨時取用。

官方出品詳細的Tech Report帶你解構YOLOv6YOLOv6: A Single-Stage Object Detection Framework for Industrial Applications

圖1 YOLOv6 各尺寸模型與其他YOLO系列的效能對比圖

注:YOLOv6系列模型均在訓練300epoch且不使用預訓練模型或額外檢測資料集下獲得,”‡“表示採用了自蒸餾演算法,”∗“表示從官方程式碼庫對釋出模型進行重新測評的指標。以上速度指標均在T4 TRT7.2 環境下測試。

表1 YOLOv6 各尺寸模型與其他YOLO系列的效能對比結果

注:YOLOv6系列模型均在訓練300epoch且不使用預訓練模型或額外檢測資料集下獲得,”‡“表示採用了自蒸餾演算法,”∗“表示從官方程式碼庫對釋出模型進行重新測評的指標。以上速度指標均在T4 TRT7.2 環境下測試。

本次版本升級,主要有以下更新:

效能更強的全系列模型

  1. 針對中大型模型(YOLOv6-M/L),設計了新主幹網路 CSPStackRep,它在綜合效能上比上一版的 Single Path 結構更具優勢。
  2. 針對不同網路,系統性地驗證了各種最新策略/演算法的優劣,綜合精度和速度,為每類網路選擇合適的方案。同時將模型整體訓練時間減少了 50%,極大地提升了模型的訓練效率。
  3. 引入自蒸餾思想並設計了新的學習策略,大幅提升了 YOLOv6-M/L 的模型精度。
  4. 透過訓練時 Early Stop 強資料增強及推理時影像 Resize 最佳化策略,修復了前期版本中輸入尺寸對齊到 640x640 後精度損失的問題,提升了現有模型的實際部署精度。

表 1 展示了 YOLOv6 與當前主流的其他 YOLO 系列演算法相比較的實驗結果,對比業界其他 YOLO 系列,YOLOv6在所有系列均具有一定的優勢:

  • YOLOv6-M 在 COCO val 上 取得了 49.5% 的精度,在 T4 顯示卡上使用 TRT FP16 batchsize=32 進行推理,可達到 233 FPS 的效能。
  • YOLOv6-L 在 COCO val 上 取得了 52.5% 的精度,在 T4 顯示卡上使用 TRT FP16 batchsize=32 進行推理,可達到 121 FPS 的效能。
  • 同時,YOLOv6-N/ S 模型在保持同等推理速度情況下,大幅提升了精度指標,訓練400 epoch 的條件下,N 網路從 35.0% 提升至 36.3%,S 網路從 43.1% 提升至 43.8%。

量身定製的量化方案

本次釋出還整合了專門針對 YOLOv6 的量化方案,對重引數化系列模型的量化也有參考意義。該方案借鑑 RepOptimizer [1] 在梯度更新時做重引數化,解決了多支路動態範圍過大導致難以量化的問題,用 RepOptimizer 訓練的 YOLOv6 模型可以直接使用訓練後量化(Post-training Quantization,PTQ),而不產生過大的精度損失。

在這一基礎上,我們分析了各層的量化敏感性,將部分敏感層以更高精度運算,進一步提升了模型的精度。另外,我們同時釋出了針對 2.0 版本的基於逐通道蒸餾的量化感知訓練方案 (Quantization-aware Training,QAT),並結合圖最佳化,YOLOv6-S 2.0 版本的量化效能可達到 43.3 mAP 和 869 FPS (batch size=32)。

表2 YOLOv6-S 量化方案與 PaddleSlim 應用於 YOLO 系列模型的量化效果對比

注:以上速度指標均在 T4 TRT8.4 環境下測試。對比方法為 PaddleSlim [30] 。

不同之處是 PaddleSlim 使用 YOLOv6-S 1.0 版本,我們的量化方案應用於 2.0 版本。更詳盡的關於量化部署實踐的相關內容,近期會在美團技術團隊公眾號上進行推送,敬請期待。

完備的開發支援和多平臺部署適配

YOLOv6 支援檢測模型訓練、評估、預測以及模型量化、蒸餾等全鏈路開發流程,同時支援 GPU(TensorRT)、CPU(OPENVINO)、ARM(MNN、TNN、NCNN)等不同平臺的部署,極大簡化工程部署時的適配工作。更詳細的教程指引請移步 YOLOv6 Github 倉庫 Deployment 的部分。

相關論文

[1] RepOptimizer:Re-parameterizing Your Optimizers rather than Architectures

閱讀美團技術團隊更多技術文章合集

前端 | 演算法 | 後端 | 資料 | 安全 | 運維 | iOS | Android | 測試

| 在公眾號選單欄對話方塊回覆【2021年貨】、【2020年貨】、【2019年貨】、【2018年貨】、【2017年貨】等關鍵詞,可檢視美團技術團隊歷年技術文章合集。

| 本文系美團技術團隊出品,著作權歸屬美團。歡迎出於分享和交流等非商業目的轉載或使用本文內容,敬請註明“內容轉載自美團技術團隊”。本文未經許可,不得進行商業性轉載或者使用。任何商用行為,請傳送郵件至tech@meituan.com申請授權。

相關文章