1. YOLOv6概述

大家好,欢迎来到这门实战课。今天咱们先聊聊 YOLOv6 的来龙去脉。

YOLOv6 是美团视觉智能部在 2022 年开源的。说实话,当时 YOLOv5 已经非常成熟了,YOLOv8 还没出来。为什么美团还要自己搞一套?说白了,就是工业落地的痛点没解决。

我个人习惯把目标检测模型分成两类:一类是刷榜用的,另一类是真正能上线的。YOLOv6 属于后者。它不是为了在 COCO 上多零点几个点,而是为了在真实业务场景里跑得稳、跑得快。

1.1 诞生背景:工业界的需求驱动

我记得 2021 年底,美团在业务中大量使用 YOLOv5。但遇到几个头疼的问题:

  • 部署效率低:ONNX 转 TensorRT 时,某些算子不支持,得手动改图
  • 精度瓶颈:小目标检测在复杂场景下掉点严重
  • 训练不稳定:大 batch 训练时 loss 经常震荡

于是他们决定从骨干网络到检测头,全部重新设计。这就是 YOLOv6 的起点。

核心思路:不是简单改改 YOLOv5 的配置,而是用 RepVGG 风格的骨干 + 解耦检测头 + 自蒸馏策略,从底层重构整个 pipeline。

1.2 与 YOLOv5 / YOLOv8 的对比

很多同学问我:“老师,YOLOv6 和 v5、v8 到底差在哪?” 我一般用下面这张表来回答:

对比维度 YOLOv5 YOLOv6 YOLOv8
骨干网络 CSPDarknet EfficientRep / RepBlock C2f 模块
检测头 耦合头 解耦头 + 混合通道策略 解耦头
训练技巧 Mosaic + 自动锚框 自蒸馏 + 分类辅助损失 TaskAlignedAssigner
部署友好度 中等 高(原生支持 TensorRT) 高
小目标检测 一般 较好(多尺度特征融合优化) 较好

这里我重点说两个差异:

第一,骨干网络。 YOLOv6 的 EfficientRep 借鉴了 RepVGG 的多分支训练、单分支推理思想。训练时用 3×3 + 1×1 并联,推理时合并成单个 3×3 卷积。这样做的好处是——推理速度直接翻倍,精度几乎不掉。

第二,检测头。 YOLOv5 用的是耦合头,分类和回归共享参数。YOLOv6 把它拆成两个独立分支。我在项目中遇到过,耦合头在类别多、目标重叠的场景下,分类和回归会互相干扰。解耦后,每个分支专注自己的任务,收敛更快。

我的建议:如果你的项目对推理延迟要求极高(比如 2ms 以内),优先考虑 YOLOv6。如果追求极致精度且算力充足,YOLOv8 的 C2f 模块和动态标签分配可能更适合。

1.3 核心优势:为什么选 YOLOv6?

我总结了三句话:

  • 快:RepVGG 风格推理,速度比同参数量级的 YOLOv5 快 30% 以上
  • 稳:自蒸馏训练策略,小模型也能学到大模型的知识
  • 省:原生支持 TensorRT、ONNX、NCNN,不需要额外写自定义算子

你想想看,在工业场景里,这三条意味着什么?意味着你可以用更少的 GPU 资源,跑更多的业务流量。

避坑指南:我曾经在边缘设备(Jetson Nano)上部署 YOLOv6,发现 INT8 量化后精度掉了 3 个点。后来排查发现是 BN 层融合顺序的问题。解决办法是:导出 ONNX 前先做一遍 fuse_conv_bn,再转 TensorRT。这个坑在官方文档里没写,我踩过,你们别踩。

1.4 适用场景

YOLOv6 不是万能的。我把它适合的场景列出来:

  1. 实时视频分析:比如安防监控、自动驾驶感知,要求每帧处理时间 < 10ms
  2. 移动端/边缘端部署:手机、无人机、嵌入式设备,算力有限但需要高精度
  3. 多目标跟踪:YOLOv6 的检测头输出格式天然适合做 ReID 特征提取
  4. 工业质检:小缺陷检测,YOLOv6 的多尺度特征融合比 v5 更细粒度

不适合的场景:

  • 超大分辨率图像(比如 4K/8K)—— 显存占用会爆炸
  • 极度稀疏目标(一张图只有 1-2 个目标)—— 建议用两阶段检测器

1.5 知识体系总览

下面这张图,是我自己梳理的 YOLOv6 知识体系。你可以把它当成整个课程的地图:

YOLOv6 知识体系总览 YOLOv6 核心 骨干网络 检测头 训练策略 EfficientRep RepBlock 解耦头 混合通道 自蒸馏 辅助损失 部署:TensorRT / ONNX / NCNN 说明:本课程将按照“骨干 → 检测头 → 训练策略 → 部署”的顺序,逐层深入讲解

这张图把 YOLOv6 拆成了三个大块:骨干网络、检测头、训练策略。后面每一章都会围绕其中一个点展开。你跟着这个路线走,就不会迷路。

1.6 本章小结

这一章我们聊了:

  • YOLOv6 为什么诞生 —— 工业落地需要更快的推理和更稳的训练
  • 它和 v5、v8 的核心差异 —— 骨干、检测头、训练技巧都不一样
  • 它的优势 —— 快、稳、省
  • 它适合什么场景 —— 实时、边缘、跟踪、质检