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 的系数",缓解边界定位难题。
相关推荐
北青网快讯6 小时前
声网AI技术赋能,智能客服告别机械式应答
人工智能
机器之心6 小时前
TypeScript超越Python成GitHub上使用最广语言,AI是主要驱动力
人工智能·openai
nju_spy6 小时前
周志华《机器学习导论》第 15 章 规则学习(符号主义学习)
人工智能·机器学习·数理逻辑·序贯覆盖·规则学习·ripper·一阶规则学习
许泽宇的技术分享6 小时前
当 AI 工作流需要“人类智慧“:深度解析 Microsoft Agent Framework 的人工接入机制
人工智能·microsoft
antonytyler7 小时前
机器学习实践项目(二)- 房价预测增强篇 - 特征工程四
人工智能·python·机器学习
飞哥数智坊7 小时前
TRAE SOLO 正式版上线,限时免费活动开启
人工智能·trae·solo
Danceful_YJ7 小时前
34.来自Transformers的双向编码器表示(BERT)
人工智能·深度学习·bert
love530love7 小时前
【笔记】xFormers版本与PyTorch、CUDA对应关系及正确安装方法详解
人工智能·pytorch·windows·笔记·python·深度学习·xformers
中科岩创8 小时前
某地公园桥梁自动化监测服务项目
大数据·人工智能·物联网·自动化
kev_gogo8 小时前
【链式法则】神经网络中求导时w既是常数也是自变量的辨析(能否对常数求导?)
人工智能·深度学习·神经网络