YOLOv4 核心内容笔记

一、整体定位与核心优势

YOLOv4 是一款兼顾速度与精度的目标检测模型,核心优势是单 GPU 即可完成高效训练,同时继承了 YOLO 系列的技术精髓,实验工作量充足且性能领先。

1. 性能表现

从对比图可见,YOLOv4 在 FPS(帧率,反映推理速度)和精度(纵轴指标)平衡上优于 YOLOv3、EfficientDet(D0-D4)、ASFF 等模型,能满足实时检测需求。

2. 三大核心贡献

亲民训练:无需多 GPU,单 GPU 即可训练出高性能模型,降低设备门槛。

双维度优化:从数据层面 (数据增强)和网络设计层面(结构改进)双管齐下提升性能。

充分消融实验:覆盖多数关键改进点的验证实验,确保每个模块的有效性。

二、核心优化策略一:Bag of Freebies(BOF)

定义:仅增加训练阶段成本,不影响推理速度,却能显著提升模型精度的方法,核心围绕数据增强、正则化、损失函数优化展开。

1. 数据增强(提升泛化能力)

增强方法 核心逻辑
Mosaic 拼接 参考 CutMix,将 4 张图像拼接成 1 张进行训练,扩大训练数据多样性
Random Erase 用随机值或训练集平均像素值,替换图像中的随机区域
Hide and Seek 按概率随机隐藏图像中的部分补丁(小块区域)
传统增强 调整亮度、对比度、色调,以及随机缩放、剪切、翻转、旋转
CutMix/Mixup 对比实验显示,CutMix 在 ImageNet 分类(78.6%)、Pascal VOC 检测(76.7% mAP)上效果优于 Mixup 和 Cutout

2. 网络正则化(缓解过拟合)

DropBlock:区别于 Dropout 随机遮挡 "点",DropBlock 遮挡 "区域",更贴合目标检测中 "目标是区域化存在" 的特点,避免随机点遮挡失效。

Label Smoothing:缓解模型过拟合("过度自信"),将硬标签(如 0,1)软化,例如转换为 0.05, 0.95,使模型预测更稳健,最终实现 "簇内更紧密、簇间更分离" 的特征分布。

3. 损失函数优化(解决 IOU 缺陷)

YOLOv4 针对传统 IOU 损失的不足,迭代出多代损失函数:

传统 IOU 损失问题:无相交时 IOU=0,梯度无法计算;相同 IOU 值无法区分预测框与真实框的实际位置差异。

GIOU 损失:引入 "最小封闭框 C"(能同时包含预测框 A 和真实框 B),通过计算 C 与 A∪B 的占比,解决无相交时梯度消失问题。

DIOU 损失 :进一步优化,直接计算预测框与真实框的中心点欧式距离 d,并结合最小封闭框对角线长度 c,让预测框更快向真实框靠拢。

CIOU 损失:在 DIOU 基础上,增加 "长宽比" 因素,同时考虑 "重叠面积、中心点距离、长宽比" 三个几何维度,更贴合目标检测的定位需求。

4. Self-adversarial-training(SAT)

通过向图像引入噪音点,人为增加训练 "难度",迫使模型学习更鲁棒的特征,提升抗干扰能力。

三、核心优化策略二:Bag of Specials(BOS)

定义:略微增加推理阶段成本,但能显著提升模型精度的方法,核心围绕网络结构改进、注意力机制展开(前 14 页重点内容如下)。

1. 特征处理结构

SPPNet(空间金字塔池化):解决 YOLOv3 训练时需固定输入大小的问题,通过多尺度最大池化,将不同尺寸的输入特征图统一为固定尺寸,适配后续网络。

CSPNet(Cross Stage Partial Network):将每个 block 的特征图按 channel 拆分为两部分,一部分正常通过网络层(如 ResBlock),另一部分直接拼接(concat)到该 block 的输出,减少计算量的同时保留关键特征。

2. 注意力机制

SAM(空间注意力机制):聚焦图像中 "对检测有用的空间区域",通过 MaxPool、AvgPool 提炼通道特征后,生成空间注意力权重,增强关键区域特征。

CBAM(卷积块注意力机制):结合 "通道注意力" 和 "空间注意力",先筛选重要通道,再聚焦重要空间区域,是 CV 领域常用的注意力模块,YOLOv4 也借鉴了其核心思路。

四、其他关键改进

  1. NMS 优化
    • DIOU-NMS:替代传统 NMS,不仅考虑 IoU 值,还加入 "中心点距离",避免误删相邻目标。
    • Soft-NMS:不直接剔除 IoU 超阈值的框,而是降低其置信度,更 "柔和" 地筛选目标,减少漏检。
  2. 消除网格敏感性:坐标回归预测值原本在 0-1 之间,在网格边界处难以表示,通过在激活函数前加 "大于 1 的系数",缓解边界定位难题。
相关推荐
Evand J5 小时前
【MATLAB例程|图像滤波降噪13】局部噪声方差自适应滤波(LNR)图像降噪与效果展示。附完整例程的下载链接
图像处理·计算机视觉·matlab·滤波·代码·降噪
小和尚同志5 小时前
小黑插图 Skill:从 11.7k star 的 Codex 专属,到 Claude Code 能用的平替
人工智能·aigc
高洁015 小时前
孪生不止在工厂:能源、医疗与农业
人工智能·深度学习·transformer·知识图谱·tornado
外域速览5 小时前
智谱50亿美元押注AI自训练
大数据·人工智能
人工智能培训5 小时前
孪生不止在工厂:能源、医疗与农业
大数据·人工智能
米小虾5 小时前
让模型说"我不知道",比让它答对更难:放弃文本生成能换来什么
人工智能
新新学长搞科研5 小时前
【SPIE出版】2026年人工智能、新材料与新能源国际学术会议(AINMNE 2026)
人工智能·新能源·新材料
野生技术架构师5 小时前
2026 Java 面试全套总结,八股 + 场景 + AI 相关面试考点
java·人工智能·面试
米小虾6 小时前
不写出来的思考:把 Transformer 的层循环起来,是第三条 scaling 轴还是省错了地方?
人工智能
A.说学逗唱的Coke6 小时前
【大模型专题】别再用 HTTP 直连 Agent 了:用 Kafka 承载 A2A 协议,从 PoC 走到生产
人工智能·kafka·a2a