一、YOLOv4的核心贡献
1. 亲民政策:YOLOv4首次实现了单GPU高效训练,大幅降低了硬件门槛,使更多研究者和开发者能够参与模型优化。
2. 两大核心方法:
数据层面优化:通过多种数据增强技术提升模型泛化能力。
网络设计改进:引入注意力机制、特征金字塔等模块,优化特征提取效率。
3. 消融实验的全面性:作者通过大量实验验证了每个改进模块的有效性,工作量巨大但结论清晰可靠。
二、关键技术解析
1. Bag of Freebies(BOF):零推理代价的优化
数据增强:
Mosaic增强:拼接四张图像训练,模拟多尺度场景,提升小目标检测能力。
Random Erase & Hide-and-Seek:随机遮盖图像区域,增强模型鲁棒性。
自对抗训练(SAT):通过添加对抗性噪声,迫使模型学习更复杂的特征。
正则化技术:
DropBlock:随机丢弃特征图的连续区域(优于传统Dropout),缓解过拟合。
标签平滑:软化分类标签(如将0/1标签改为0.1/0.9),防止模型过于自信。
之前的dropout是随机选择点(b) , 现在吃掉一个区域
2. 损失函数的演进
GIOU损失
公式
CIOU损失
公式:
DIOU-NMS
公式
从IOU到CIOU的改进:
IOU Loss:无法处理无重叠框的梯度问题,且无法区分不同对齐情况。
GIOU Loss:引入最小包围框,优化框的位置和尺寸,但未考虑中心点距离。
DIOU Loss:加入中心点欧氏距离,加速收敛。
CIOU Loss:考虑重叠面积、中心点距离和长宽比。
3. NMS的优化
DIOU-NMS:在非极大值抑制中,同时考虑IoU和中心点距离,减少误删重叠目标的概率。
Soft-NMS:通过降低重叠框的置信度而非直接剔除,保留更多候选框,提升召回率。
4. Bag of Specials(BOS):小幅增加推理成本的精度提升
注意力机制:
SAM(Spatial Attention Module):增强特征图的空间相关性,聚焦重要区域。速度相对能更快一点。
CBAM:结合通道和空间注意力,进一步提升特征表达能力。
特征金字塔优化:
SPPNet(Spatial Pyramid Pooling):空间金字塔池化,支持多尺度输入,增强感受野。
CSPNet:将特征图拆分处理后再拼接,减少计算量并提升梯度多样性
PAN(Path Aggregation Network):双向特征融合(自顶向下+自底向上),强化底层细节信息传递。
YOLOV4中并不是加法 , 而是拼接
Mish激活函数:替代ReLU,允许负值输入,提升模型表达能力。
公式:f(α)=·tanh(ln(1+ew))
整体网络架构