目标检测开源框架YOLOv6全面升级,更快更准的2.0版本来啦


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带你解构YOLOv6:YOLOv6: 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申请授权。

来源:https://my.oschina.net/meituantech/blog/5578785


码神部落- 版权声明 1、本主题所有言论和图片纯属会员个人意见,与码神部落立场无关。
2、本站所有主题由该帖子作者发表,该帖子作者对牛谈情码神部落享有帖子相关版权。
3、码神部落管理员和版主有权不事先通知发贴者而删除本文。
4、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者对牛谈情码神部落的同意。
5、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任。
6、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
7、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。

最新回复 (0)
    • 码神部落
      2
        立即登录 立即注册 GitHub登录
返回
发新帖
作者最近主题: