目录

一、YOLOv4 核心设计理念

二、Bag of Freebies:数据增强

1. Mosaic 马赛克数据增强

2. 常规图像增强

3. DropBlock 正则化

4. 标签平滑

三、损失函数与 NMS:定位与后处理全面升级

1. 损失函数四代迭代

2. DIOU-NMS 非极大值抑制的改进

四、Bag of Specials:网络结构深度优化

1. SPP-Net:空间金字塔池化

2. CSPNet:跨阶段局部网络

3. 注意力机制:CBAM 与简化 SAM

4. PANet:双向特征融合

5. 激活函数:Mish

6. 网格优化:消除网格敏感

7. 主干网络:CSPDarknet-53

五、YOLOv4 vs YOLOv5:学术与工程的分野

六、总结



在深度学习目标检测的发展中,YOLO (You Only Look Once)系列凭借 “单阶段检测” 的高效性成为热门方向。2020 年推出的 YOLOv4,虽更换了核心开发团队,却延续并深化了 YOLO 系列 “平衡速度与精度” 的核心目标 —— 通过系统性整合当时主流框架的先进技术,在不牺牲实时检测能力的前提下,大幅提升检测性能,成为兼顾学术创新性与工业实用性的经典模型。本文将从设计思路、关键改进与性能优势出发,解析 YOLOv4 的技术核心。

一、YOLOv4 核心设计理念

YOLOv4 的核心定位是Optimal Speed and Accuracy of Object Detection(最优速度与精度的目标检测),整体设计遵循两大核心策略:

1.作者与思路:开发者更换,但 YOLO 单阶段检测的核心逻辑不变,全面吸收当时主流检测框架的优点;


2. 双优化策略
Bag of Freebies(BOF,免费礼包):仅增加训练成本,不影响推理速度,大幅提升模型精度;


Bag of Specials(BOS,特色礼包):仅小幅增加推理成本,显著优化特征提取与检测效果。

在 V100 显卡上,YOLOv4 实现了高精度 + 高 FPS的优异表现,性能远超同期 EfficientDet、SSD、RetinaNet 等算法,成为实时目标检测的学术基准。

二、Bag of Freebies:数据增强

数据增强是 YOLOv4不牺牲速度、只提升精度的核心手段,全部属于 BOF 策略,具体优化如下:

1. Mosaic 马赛克数据增强

参考 CutMix 思想,将4 张图像随机缩放、裁剪、拼接成 1 张用于训练。

  • 丰富目标尺度与背景多样性;
  • 降低 GPU 显存依赖,小批量训练也能稳定收敛。

2. 常规图像增强

  • Random Erase:用随机像素值 / 数据集平均像素替换图像区域,强制模型学习关键特征;
  • Hide and Seek:按概率随机隐藏图像补丁,提升遮挡场景鲁棒性。
  • Self-adversarial-traiig(SAT):通过引入噪音点增加游戏难度

3. DropBlock 正则化

针对 CNN 的专属正则方法,区别于传统 Dropout:

  • 不是随机屏蔽单个特征点,而是连续屏蔽特征图区域
  • 更适配卷积网络,有效缓解过拟合,提升模型泛化能力。

4. 标签平滑

解决模型 “过度自信” 导致的过拟合问题:

  • 将硬标签(0,1)转换为软标签,例如[0,1] → [0.05, 0.95]
  • 让模型不过度依赖单一标签,提升泛化性。

三、损失函数与 NMS:定位与后处理全面升级

YOLOv4 彻底重构了边框回归损失与非极大值抑制,解决了传统 IOU Loss 的梯度消失、重叠目标漏检问题。

1. 损失函数四代迭代

从基础 IOU 到 CIOU,逐步完善定位精度:

  • IOU Loss:基础损失,预测框与真实框无交集时梯度为 0,无法优化;

  • GIOU Loss:引入最小封闭框,解决无交集无法训练的问题;
  • DIOU Loss:直接优化预测框与真实框的中心点欧式距离,收敛速度更快;

  • CIOU Loss:终极版本,同时兼顾重叠面积、中心点距离、长宽比,定位最精准。

2. DIOU-NMS 非极大值抑制的改进

传统 NMS 会因目标重叠误删检测框,YOLOv4 改用DIOU-NMS

其中,RDIoU是两个Box中心点之间的距离,用下面的公式表示:

  • 不仅考虑 IOU 值,还加入框中心点距离权重;
  • 用高斯函数衰减重叠框的分数,避免重叠目标漏检,提升检测召回率。


四、Bag of Specials:网络结构深度优化

这部分属于 BOS 策略,小幅增加推理成本,全面升级特征提取、融合与激活能力:

1. SPP-Net:空间金字塔池化

SPP 是 YOLOv4 的多尺度感受野核心

  • 突破 CNN 固定输入尺寸限制,支持任意大小图像输入,输出固定维度特征;
  • 采用 1×1、5×5、9×9、13×13 多尺度池化,融合不同感受野特征,大幅提升大 / 小目标检测能力。

2. CSPNet:跨阶段局部网络

CSPNet是作者Chien-Yao Wang于2019年发表的论文《CSPNET: A NEW BACKBONE THAT CAN ENHANCE LEARNING CAPABILITY OF CNN》中提出的一种新的网络结构,它可以增强CNN的学习能力,并且在轻量化的同时保持准确性。

解决传统网络计算量大、内存占用高、特征学习弱的问题:

  • 将特征图按通道维度拆分为两部分;
  • 一部分正常走残差网络,另一部分直接拼接至 block 输出;
  • 减少 50% 计算量,同时增强特征学习能力,是 YOLOv4 的速度精度基石。

3. 注意力机制:CBAM 与简化 SAM

引入 Transformer 自注意力思想,轻量化适配实时检测:

  • CBAM:融合通道注意力 + 空间注意力,自适应聚焦关键特征;

CBAM(Convolutional Block Attention Module)是一种针对深度神经网络的注意力机制模块,用于提高模型在分类、检测和分割等任务中的表现。它结合了通道注意力和空间注意力,几乎可以嵌入任何CNN网络中,在稍微增加一点计算量和参数量的情况下,可以大大增强模型性能。

  • YOLOv4 简化版 SAM:仅保留空间注意力,计算量更小、速度更快。

4. PANet:双向特征融合

FPN(Feature Pyramid Networks)是一种用于目标检测和语义分割的深度学习模型,它能够有效地处理不同尺度的目标。 FPN使用图像金字塔的思想,通过对原始图像进行多尺度处理,构造出一个类似真实金字塔的特征金字塔。在特征金字塔的每一层,FPN都会提取出不同的特征,并进行相应的预测。这样,对于不同尺度的目标,FPN可以在不同的特征层上进行预测,从而获得更好的检测效果。 FPN的主要优点是它能够在不增加计算量和内存开销的情况下提高目标检测的精度。此外,FPN还可以通过横向连接和自上而下(top-down)的模型来进一步增强特征信息,提高目标检测的性能。

    针对 FPN 仅自顶向下融合的缺陷,YOLOv4 采用PANet 双向融合

    • 新增自底向上路径,让底层小目标细粒度特征快速传递到顶层;
    • 原版 PAN 用加法融合,YOLOv4 改为Concat 拼接,保留完整特征信息;
    • 实现大 / 中 / 小目标特征全链路融合,解决小目标检测弱的痛点。

    5. 激活函数:Mish

    替换传统 ReLU/LeakyReLU,采用Mish 激活函数

    • 公式:Mish = x * tanh(ln(1+e^x))
    • 平滑无梯度消失,特征提取更细腻,学术验证比 ReLU 提升检测精度。

    6. 网格优化:消除网格敏感

    解决 YOLO 系列网格边界预测不准的问题:

    • 坐标回归时加入大于 1 的系数,放大预测范围;
    • 保持预测值归一化到 0-1,不破坏训练稳定性,精准定位网格边界目标。

    7. 主干网络:CSPDarknet-53

    残差块(Residual Block)的主体部分。在一个残差块中,输入首先通过一个卷积层进行变换,然后将结果加到原始输入上。这种结构允许网络学习残差函数,即输入和输出之间的差异,而不是直接学习输出。这可以使网络更好地关注输入和输出之间的微小差异,提高了特征提取的能力。

    YOLOv4 的核心主干,结合CSP 思想 + Darknet-53

    • 无全连接层,全部由卷积与残差块组成;
    • 5 次降采样,输出 13×13、26×26、52×52 多尺度特征图,适配不同大小目标检测。

    五、YOLOv4 vs YOLOv5:学术与工程的分野

    PPT 中明确区分了两者的定位,也是学习与落地的关键选择:

    • YOLOv4纯学术实现,极致优化算法精度与速度,是目标检测算法研究、原理学习的首选;
    • YOLOv5工程化落地优选,代码简洁、轻量化、部署方便,支持多平台导出,适合工业实际开发。

    六、总结

    YOLOv4 是 YOLO 系列学术优化的巅峰之作,通过BOF+BOS双策略,将数据增强、损失函数、网络结构、注意力机制、特征融合等核心模块做到了极致平衡。

    它不仅实现了实时检测的速度与精度最优解,更成为后续 YOLOv5/v7/v8 等版本的优化范式,无论是深度学习入门、目标检测研究,还是工业算法选型,YOLOv4 都是必须掌握的经典模型。

    Logo

    AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

    更多推荐