绝了,超越YOLOv7、v8,YOLOv6 v3.0正式发布!

简介: ​YOLOv6 全新版本v3.0正式发布!引入新的网络架构和训练方案,其中YOLOv6-S以484 FPS的速度达到45.0% AP,超过YOLOv5-S、YOLOv8-S,其代码刚刚开源。由于前段时间Ultralytics公司透露出V8的发布消息,美团也坐不住了,YOLO社区一直情绪高涨!随着中国农历新年2023(兔年)的到来,美团技术团队对YOLOv6进行了许多新的网络架构和训练方案的改进。此版本标识为YOLOv6 v3.0。​​

 超越YOLOv7、v8! YOLOv6 v3.0正式发布!!!

YOLOv6 全新版本v3.0正式发布!
引入新的网络架构和训练方案,其中YOLOv6-S以484 FPS的速度达到45.0% AP,超过YOLOv5-S、YOLOv8-S,其代码刚刚开源
image.gif编辑

由于前段时间Ultralytics公司透露出V8的发布消息,美团也坐不住了,YOLO社区一直情绪高涨!

随着中国农历新年2023(兔年)的到来,美团技术团队对YOLOv6进行了许多新的网络架构和训练方案的改进。此版本标识为YOLOv6 v3.0。

论文代码都已经开源!!!

GitHub地址:https://github.com/meituan/YOLOv6

论文地址:https://arxiv.org/abs/2301.05586

image.gif编辑

论文

image.gif编辑

摘要:

       自我们的前两个版本以来,YOLO社区一直处于高涨的情绪中 在2023年兔年到来之际,我们对YOLOv6的网络架构和训练方案进行了许多新的改进。这个版本被确定为YOLOv6 v3.0。对于性能的一瞥,我们的YOLOv6N在COCO数据集上达到了37.5%的AP,用NVIDIA Tesla T4 GPU测试的吞吐量为1187 FPS。YOLOv6S在484 FPS的情况下达到了45.0%的AP,超过了其他相同规模的主流检测器(YOLOv5-S、YOLOv8S、YOLOX-S和PPYOLOE-S)。而YOLOv6-M/L在相似的推理速度下,也比其他检测器取得了更好的准确性表现(分别为50.0%/52.8%)。此外,通过扩展骨干和颈部设计,我们的YOLOv6-L6实现了最先进的实时准确性。我们仔细进行了广泛的实验,以验证每个改进组件的有效性。我们的代码可在https://github.com/meituan/YOLOv6提供。

网络结构改进

image.gif编辑

YOLOv6的颈部(图中是N和S)。注意M/L,RepBlocks被替换为CSPStackRep。 (b) 一个BiC模块的结构。(c) 一个SimCSPSPPF块。

具体更新如下:

    • 检测器的颈部更新了一个双向的串联(BiC)模块,以提供更准确的定位信号。SPPF[5]被简化成SimCSPSPPF块,它带来了性能上的提升,而速度上的下降可以忽略不计。
    • 提出了一种锚辅助训练(AA T)策略,在不触及推理效率的前提下,享受基于锚和无锚范式的优势。
    • 深化了YOLOv6,使其在骨干和颈部有了另一个阶段,这加强了它在高分辨率输入的COCO数据集上达到了新的最先进的性能。
    • 涉及到一种新的自我蒸馏策略,以提高YOLOv6小模型的性能,其中DFL[8]的较重分支在训练期间被作为增强的辅助回归分支,并在推理时被移除,以避免速度明显下降。

    具体的更新思路可以查看论文。

    新旧模型对比

    v3.0版本

    模型 输入尺寸 mAPval
    0.5:0.95
    速度T4
    trt fp16 b1
    (fps)
    速度T4
    trt fp16 b32
    (fps)
    Params
    (M)
    FLOPs
    (G)
    YOLOv6-N 640 37.5 779 1187 4.7 11.4
    YOLOv6-S 640 45.0 339 484 18.5 45.3
    YOLOv6-M 640 50.0 175 226 34.9 85.8
    YOLOv6-L 640 52.8 98 116 59.6 150.7
    YOLOv6-N6 1280 44.9 228 281 10.4 49.8
    YOLOv6-S6 1280 50.3 98 108 41.4 198.0
    YOLOv6-M6 1280 55.2 47 55 79.6 379.5
    YOLOv6-L6 1280 57.2 26 29 140.4 673.4
      • 除了 YOLOv6-N6/S6 模型是训练了300轮的结果,其余模型均为自蒸馏训练之后的结果;
      • mAP 和速度指标是在 COCO val2017 数据集上评估的,P5模型输入分辨率为 640×640,P6模型输入分辨率为 1280×1280;
      • 速度是在 T4 上测试的,TensorRT 版本为 7.2;
      • 复现 YOLOv6 的速度指标,请查看 速度测试 教程;
      • YOLOv6 的参数和计算量是在推理模式下计算的;

      旧版模型

      模型 输入尺寸 mAPval
      0.5:0.95
      速度T4
      trt fp16 b1
      (fps)
      速度T4
      trt fp16 b32
      (fps)
      Params
      (M)
      FLOPs
      (G)
      YOLOv6-N 640 35.9300e
      36.3400e
      802 1234 4.3 11.1
      YOLOv6-T 640 40.3300e
      41.1400e
      449 659 15.0 36.7
      YOLOv6-S 640 43.5300e
      43.8400e
      358 495 17.2 44.2
      YOLOv6-M 640 49.5 179 233 34.3 82.2
      YOLOv6-L-ReLU 640 51.7 113 149 58.5 144.0
      YOLOv6-L 640 52.5 98 121 58.5 144.0
        • 速度是在 T4 上测试的,TensorRT 版本为 7.2;

        量化模型

        模型 输入尺寸 精度 mAPval
        0.5:0.95
        速度T4
        trt b1
        (fps)
        速度T4
        trt b32
        (fps)
        YOLOv6-N RepOpt 640 INT8 34.8 1114 1828
        YOLOv6-N 640 FP16 35.9 802 1234
        YOLOv6-T RepOpt 640 INT8 39.8 741 1167
        YOLOv6-T 640 FP16 40.3 449 659
        YOLOv6-S RepOpt 640 INT8 43.3 619 924
        YOLOv6-S 640 FP16 43.5 377 541
          • 速度是在 T4 上测试的,TensorRT 版本为 8.4;
          • 精度是在训练 300 epoch 的模型上测试的;

          快速开始

          安装

          git clone https://github.com/meituan/YOLOv6
          cd YOLOv6
          pip install -r requirements.txt

          image.gif

          在coco数据集上复现请参考教程 训练 COCO 数据集.

          在自定义数据集上微调模型

          单卡

          # P5 models
          python tools/train.py --batch 32 --conf configs/yolov6s_finetune.py --data data/dataset.yaml --fuse_ab --device 0
          # P6 models
          python tools/train.py --batch 32 --conf configs/yolov6s6_finetune.py --data data/dataset.yaml --img 1280 --device 0

          image.gif

          多卡(推荐使用DDP模式)

          # P5 models
          python -m torch.distributed.launch --nproc_per_node 8 tools/train.py --batch 256 --conf configs/yolov6s_finetune.py --data data/dataset.yaml --fuse_ab --device 0,1,2,3,4,5,6,7
          # P6 models
          python -m torch.distributed.launch --nproc_per_node 8 tools/train.py --batch 128 --conf configs/yolov6s6_finetune.py --data data/dataset.yaml --img 1280 --device 0,1,2,3,4,5,6,7

          image.gif

            • fuse_ab: 增加anchor-based预测分支并使用联合锚点训练模式 (P6模型暂不支持此功能)
            • conf: 配置文件路径,里面包含网络结构、优化器配置、超参数信息。如果您是在自己的数据集训练,我们推荐您使用yolov6n/s/m/l_finetune.py配置文件;
            • data: 数据集配置文件,以 COCO 数据集为例,您可以在 COCO 下载数据, 在这里下载 YOLO 格式标签
            • 确保您的数据集按照下面这种格式来组织;
            ├── coco
            │   ├── annotations
            │   │   ├── instances_train2017.json
            │   │   └── instances_val2017.json
            │   ├── images
            │   │   ├── train2017
            │   │   └── val2017
            │   ├── labels
            │   │   ├── train2017
            │   │   ├── val2017

            image.gif

            其它详情请看: GitHub地址:https://github.com/meituan/YOLOv6

            相关文章
            |
            7月前
            |
            Python
            【论文复现】针对yoloV5-L部分的YoloBody部分重构(Slim-neck by GSConv)
            【论文复现】针对yoloV5-L部分的YoloBody部分重构(Slim-neck by GSConv)
            198 0
            【论文复现】针对yoloV5-L部分的YoloBody部分重构(Slim-neck by GSConv)
            |
            1月前
            |
            机器学习/深度学习 人工智能 计算机视觉
            YOLOv11 正式发布!你需要知道什么? 另附:YOLOv8 与YOLOv11 各模型性能比较
            YOLOv11是Ultralytics团队推出的最新版本,相比YOLOv10带来了多项改进。主要特点包括:模型架构优化、GPU训练加速、速度提升、参数减少以及更强的适应性和更多任务支持。YOLOv11支持目标检测、图像分割、姿态估计、旋转边界框和图像分类等多种任务,并提供不同尺寸的模型版本,以满足不同应用场景的需求。
            YOLOv11 正式发布!你需要知道什么? 另附:YOLOv8 与YOLOv11 各模型性能比较
            |
            2月前
            |
            人工智能 文件存储 计算机视觉
            YOLO系列模型发展史
            YOLO系列模型从YOLOv3到YOLOv10,不断优化实时目标检测性能和速度。最新版本YOLOv8增加了实例分割、姿态估计等功能。此外,还包括Segment Anything Model(SAM)、MobileSAM、FastSAM、YOLO-NAS、RT-DETR和YOLO-World等模型,分别在不同场景下提供高效的目标检测和分割能力。
            38 0
            |
            7月前
            |
            机器学习/深度学习 编解码 移动开发
            YOLOv5改进 | 2023 | FocusedLinearAttention实现有效涨点
            YOLOv5改进 | 2023 | FocusedLinearAttention实现有效涨点
            119 1
            |
            机器学习/深度学习 算法 Go
            【YOLO系列】YOLOv4论文超详细解读2(网络详解)
            【YOLO系列】YOLOv4论文超详细解读2(网络详解)
            848 0
            【YOLO系列】YOLOv4论文超详细解读2(网络详解)
            |
            PyTorch Go 算法框架/工具
            YOLOv8来啦 | 详细解读YOLOv8的改进模块!YOLOv5官方出品YOLOv8,必卷!
            YOLOv8来啦 | 详细解读YOLOv8的改进模块!YOLOv5官方出品YOLOv8,必卷!
            2736 0
            |
            存储 编解码 API
            名声大噪的YOLO迎来YOLOv8,迅速包揽目标检测、实例分割新SOTA(1)
            名声大噪的YOLO迎来YOLOv8,迅速包揽目标检测、实例分割新SOTA
            490 0
            名声大噪的YOLO迎来YOLOv8,迅速包揽目标检测、实例分割新SOTA(1)
            |
            计算机视觉
            【YOLOV5-6.x讲解】YOLO5.0VS6.0版本对比+模型设计
            【YOLOV5-6.x讲解】YOLO5.0VS6.0版本对比+模型设计
            1127 0
            【YOLOV5-6.x讲解】YOLO5.0VS6.0版本对比+模型设计
            |
            编解码 人工智能 算法
            YOLOV7详细解读(二)论文解读
            YOLOV7详细解读(二)论文解读
            833 0
            |
            数据挖掘 测试技术 Go
            超越YOLOv7 | YOLOv6论文放出,重参+自蒸馏+感知量化+...各种Tricks大放异彩(一)
            超越YOLOv7 | YOLOv6论文放出,重参+自蒸馏+感知量化+...各种Tricks大放异彩(一)
            271 0