总第536篇 | 2022年 第053篇
YOLOv6是美团视觉智能部研发的一款目标检测框架,致力于工业应用,于今年6月份在GitHub上开源。近日,美团视觉智能部发布了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系列的性能对比图
注:速度指标均在T4 TRT7.2 环境下测试,除了YOLOv6-S量化模型在T4 TRT8.4 环境下测试。
表1 YOLOv6 各尺寸模型与其他YOLO系列的性能对比结果
注:YOLOv6系列模型均在训练300epoch且不使用预训练模型或额外检测数据集下获得,”‡“表示采用了自蒸馏算法,”∗“表示从官方代码库对发布模型进行重新测评的指标。以上速度指标均在T4 TRT7.2 环境下测试。
本次版本升级,主要有以下更新:
性能更强的全系列模型
- 针对中大型模型(YOLOv6-M/L),设计了新主干网络 CSPStackRep,它在综合性能上比上一版的 Single Path 结构更具优势。
- 针对不同网络,系统性地验证了各种最新策略/算法的优劣,综合精度和速度,为每类网络选择合适的方案。同时将模型整体训练时间减少了 50%,极大地提升了模型的训练效率。
- 引入自蒸馏思想并设计了新的学习策略,大幅提升了 YOLOv6-M/L 的模型精度。
- 通过训练时 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
扫码入群
如果大家有问题,或者想跟美团YOLOv6团队的同学近距离交流,可以扫描下方的二维码,添加美美的微信,回复关键字:YOLOv6,加入美团YOLOv6技术交流群。
---------- END ----------
也许你还想看
| YOLOv6:又快又准的目标检测框架开源啦
|自然场景人脸检测技术实践
| CVPR 2021预讲:前沿视觉技术如何在实践中落地(内含视频&PPT)
阅读更多
前端 | 算法 | 后端 | 数据
安全 | Android | iOS | 运维 | 测试