YOLOv6 是美团视觉智能部研发的一款目标检测框架,致力于工业应用。论文题目是《YOLOv6: A Single-Stage Object Detection Framework for Industrial Applications》。
和YOLOv4、YOLOv5等不同的是,YOLOv6对网络结构的改动较大。
除了模型的结构之外,YOLOv6的数据增强和YOLOv5的保持一致;而标签分配上则是和YOLOX一样,采用了SimOTA;并且引入了新的边框回归损失:SIOU。
提示:以下是本篇文章正文内容,下面内容可供参考
YOLOv6给出了5个版本:YOLOv6-N
、YOLOv6-T
、YOLOv6-S
、YOLOv6-M
、YOLOv6-L
YOLOv6的网络结构图如下,可以看出改进在于:
ps:
- YOLOv5/YOLOX 使用的 Backbone 和 Neck 都基于 CSPNet搭建,采用了多分支的方式和残差结构。对于 GPU 等硬件来说,这种结构会一定程度上增加延时,同时减小内存带宽利用率。
- EfficientRep基于RepVGG Style 结构,这种结构是一种在训练时具有多分支拓扑,而在实际部署时可以等效融合为单个 3x3 卷积的一种可重参数化的结构。通过融合成的 3x3 卷积结构,可以有效利用计算密集型硬件计算能力(比如 GPU),同时也可获得 GPU/CPU 上已经高度优化的 NVIDIA cuDNN 和 Intel MKL 编译框架的帮助。
- 简而言之,就是仅在训练时使用多路径拓扑,在推理时使用单路径拓扑
ps:用 RepBlock 替换了 YOLOv5 中使用的 CSP-Block,同时对整体 Neck 中的算子进行了调整,目的是在硬件上达到高效推理的同时,保持较好的多尺度特征融合能力
ps:关于IoU loss的进化史可以参考IoU Loss综述,SIoU重新考虑关于距离和形状的考虑,并加入了Angle和IoU成本
YOLOv6达成新SOTA,在MS COCO数据集test-dev 2017上进行评估,YOLOv6-L在NVIDIA Tesla T4上实现了52.5%的AP和70%的AP50 ,速度约为50 FPS