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 的系数",缓解边界定位难题。
相关推荐
EkihzniY5 小时前
AI+OCR:解锁数字化新视界
人工智能·ocr
东哥说-MES|从入门到精通5 小时前
GenAI-生成式人工智能在工业制造中的应用
大数据·人工智能·智能制造·数字化·数字化转型·mes
铅笔侠_小龙虾5 小时前
深度学习理论推导--梯度下降法
人工智能·深度学习
kaikaile19956 小时前
基于遗传算法的车辆路径问题(VRP)解决方案MATLAB实现
开发语言·人工智能·matlab
lpfasd1236 小时前
第1章_LangGraph的背景与设计哲学
人工智能
Aevget6 小时前
界面组件Kendo UI for React 2025 Q3亮点 - AI功能全面提升
人工智能·react.js·ui·界面控件·kendo ui·ui开发
桜吹雪7 小时前
LangChain.js/DeepAgents可观测性
javascript·人工智能
&&Citrus7 小时前
【杂谈】SNNU公共计算平台:深度学习服务器配置与远程开发指北
服务器·人工智能·vscode·深度学习·snnu
乌恩大侠7 小时前
Spark 机器上修改缓冲区大小
人工智能·usrp
STLearner7 小时前
AI论文速读 | U-Cast:学习高维时间序列预测的层次结构
大数据·论文阅读·人工智能·深度学习·学习·机器学习·数据挖掘