一、YOLOv4 整体亮点
- 性能表现:在精度和速度平衡上表现出色,从对比图可见,其精度(纵轴)和 FPS(横轴)综合表现优于 YOLOv3、EfficientDet 等模型。
- 亲民优势:支持单 GPU 训练,降低了设备门槛,无需依赖多 GPU 集群。
- 核心思路:从数据层面和网络设计层面双管齐下优化,同时通过大量消融实验验证改进效果。
二、核心改进:两大核心方法
1. Bag of Freebies(BOF):只增训练成本,不影响推理速度
- 数据增强:通过多种方式提升数据多样性,包括 Mosaic(四张图拼接)、Random Erase(随机替换图像区域)、Hide and Seek(随机隐藏补丁)、Self-adversarial-training(SAT,引入噪音)等。
- 网络正则化:用 DropBlock(随机删除一个区域,替代传统 Dropout 的随机删点)、Label Smoothing(缓解过拟合,让模型降低 “自信度”)等方法。
- 损失函数优化:针对 IOU 损失的缺陷,引入 GIoU、DIoU、CIoU 损失,解决不重叠时无法梯度计算、相同 IOU 下无法反映实际位置差异等问题;同时用 DIOU-NMS、SOFT-NMS 替代传统 NMS,优化框的筛选逻辑。
2. Bag of Specials(BOS):略增推理成本,显著提升精度
- 网络结构改进:引入 SPPNet(用最大池化统一特征输入大小)、CSPNet(拆分特征图,部分直连输出,提升效率)。
- 注意力机制:加入 SAM(空间注意力机制)、CBAM(卷积块注意力机制),强化关键特征提取。
- 特征融合:采用 PAN(双向路径聚合网络),在 FPN 自顶向下传特征的基础上,增加自底向上路径,让底层信息更好传递。
- 其他优化:使用 Mish 激活函数(替代 ReLU,更贴合实际但计算量略增)、优化坐标回归(加系数缓解网格敏感性)。
三、整体网络架构
整合上述 BOS 和 BOF 中的技术,形成 YOLOv4 的完整网络,兼顾精度、速度与训练便捷性。