YOLOv6 详解
YOLOv6: 工业级目标检测
论文: YOLOv6 v3.0: A Full-Scale Reloading
作者: 美团视觉智能部
代码: github.com/meituan/YOLOv6
定位
为工业部署而生。在美团自动配送机器人中实际使用,专注硬件效率。
网络架构
整体结构
1 | 输入 |
EfficientRep Backbone
核心: 在训练时用多分支结构(RepVGG风格),推理时重参数化合并为单分支。
1 | 训练时 (多分支,表达力强): |
BiC (Bidirectional Connection) 模块
位置: Neck 中
作用: 增强定位信号的流动,几乎不增加延迟。
1 | FPN方向: P5 → P4 → P3 |
关键创新
1. 高效解耦 Head
分类和回归分开处理,但通过混合通道策略减少计算。
| Head 分支 | 结构 | 说明 |
|---|---|---|
| 分类分支 | 1×3×3 Conv | 精简设计 |
| 回归分支 | 混合通道, 减少中间 3×3 层 | 重在效率 |
2. TAL 标签分配 (Task Alignment Learning)
解决分类和回归任务的不一致问题。好的分类框应该也是好的定位框。
$$\text{Alignment} = \text{Cls_Score}^\alpha \times \text{IoU}^\beta$$
用对齐度选择正样本 → 分类和回归协同优化。
3. 自我蒸馏 (Self-Distillation)
- 训练时:用大模型指导小模型的辅助回归分支
- 推理时:移除辅助分支,不增加推理时间
4. 损失函数
| 任务 | 损失函数 |
|---|---|
| 分类 | VariFocal Loss |
| 回归 | SIoU + GIoU 组合 |
SIoU (SCYLLA-IoU)
在 CIoU 基础上引入角度代价:
$$\Lambda = 1 - 2 \cdot \sin^2\left(\arcsin(x) - \frac{\pi}{4}\right)$$
性能对比
| 模型 | 输入尺寸 | mAP (COCO) | 延迟 (T4) |
|---|---|---|---|
| YOLOv6-N | 416 | 30.8% | 0.9ms |
| YOLOv6-S | 640 | 43.3% | 3.1ms |
| YOLOv6-M | 640 | 49.5% | 5.5ms |
| YOLOv6-L | 640 | 52.8% | 9.1ms |
在 Tesla T4 GPU 上实现了极低的推理延迟。
相关链接
- 📝 [[YOLO 系列总览]]
- 📝 [[YOLOv5 详解]]
- 📝 [[YOLOv7 详解]]
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 TeachCraft Blog!
评论