进阶提升 · YOLOv4 改进
核心概念
- YOLOv4:YOLO 系列的重要升级版本,目标是在保证高精度的同时,让普通 GPU 用户也能训练。
- 迁移学习:利用在大规模数据集上训练好的模型参数,作为新任务的初始化,提高小数据集上的表现。
- 数据增强策略:Mosaic、多图混合、Cutout/DropBlock、标签平滑等方法,用于提升模型泛化能力。
- ResNet / CSPDarknet:引入残差网络结构,保证更深层次训练稳定。
- CIOU 损失函数:在 IoU 基础上加入中心点距离和长宽比约束,更好地衡量预测框质量。
提出问题
- 如何在 单卡、普通 GPU 的环境下实现高效的目标检测训练?
- 如何解决小数据量任务中的过拟合与训练困难?
- 如何进一步改进 YOLO 系列,使其在速度和精度之间达到更优平衡?
论点与解决方案
- 亲民设计:YOLOv4 提出一系列方法,确保在显存 8–12GB 的单卡 GPU 上也能高效训练。
- 迁移学习方案:
- 将大数据集(如 ImageNet)上训练的卷积层参数迁移到新任务。
- 数据量较少时,冻结更多卷积层,仅训练最后几层。
- 数据量较大时,逐步解冻层,甚至重新训练。
- 数据增强:
- Mosaic:拼接 4 张图像,提升 batch size 的等效效果。
- MixUp / CutMix:图像混合与标签加权。
- Cutout / DropBlock:随机遮挡区域,增加学习难度,降低过拟合。
- 标签平滑:降低标签的绝对性,提升模型泛化。
- 网络结构优化:
- 采用 ResNet 残差模块,确保网络更深但不退化。
- CSP 结构进一步优化梯度流动与特征融合。
- 损失函数改进:
- 从 IoU → GIoU → DIoU → CIoU。
- CIoU 同时考虑重叠度、中心点距离、长宽比,梯度更稳定,收敛更快。
关键机制 / 细节
-
ResNet 核心思想:通过残差连接(identity / projection shortcut),避免深层网络退化,确保“加深不变差”。
-
DropBlock:比 Dropout 更强,随机屏蔽连续区域,而非单点,迫使网络学习更鲁棒的特征。
-
标签平滑:将硬标签(如 [1,0])平滑为近似分布(如 [0.95,0.05]),减少过拟合。
-
CIOU 公式:
LCIoU=1−IoU+ρ2(b,bg)c2+αvL_{CIoU} = 1 - IoU + \frac{\rho^2(b, bg)}{c2} + \alpha vLCIoU=1−IoU+c2ρ2(b,bg)+αv
- IoU:重叠度
- ρ:预测框与真实框中心点距离
- c:最小包围框对角线
- v:长宽比一致性约束
总结
- YOLOv4 的意义:
- 通过迁移学习和数据增强,有效解决了小数据集和过拟合问题。
- 在普通 GPU 上也能高效训练,降低了研究与应用门槛。
- 提出的 Mosaic、DropBlock、标签平滑、CIOU 等方法成为后续版本的重要基石。
- 应用价值:YOLOv4 不仅适合科研实验,也适合工业落地,成为 2020 年后广泛应用的目标检测模型。