YOLOv4

一、整体介绍与定位

  1. 核心目标:追求目标检测的 "Optimal Speed and Accuracy(最优速度与精度)",虽作者更换,但延续 YOLO 系列核心精髓。
  2. 模型特点:被调侃为 "CV 界劳模",技术细节极致精细,类比 "嫁衣神功",体现对现有先进技术的融合升华。
  3. 性能优势:在 V100 显卡测试中,FPS(推理速度)与精度(如 mAP)平衡表现优于 YOLOv3、EfficientDet(D0-D4)、ASFF、ATSS 等主流模型,是实时检测领域的佼佼者。

二、核心贡献与实验基础

  1. 亲民训练门槛:支持单 GPU 高质量训练,后续模块设计均围绕该出发点,降低设备成本,无需依赖多 GPU 集群。
  2. 两大改进方向:从 "数据层面" 和 "网络设计层面" 双维度优化,覆盖数据增强、损失函数、网络结构等关键环节。
  3. 全面消融实验:完成大量消融实验验证各模块有效性,且所有实验均基于单 GPU 完成,实验结果可信度高、可复现性强。

三、Bag of Freebies(BOF):零推理成本的精度提升策略

(一)数据增强技术

  1. 基础增强手段:调整图像亮度、对比度、色调,结合随机缩放、剪切、翻转、旋转,丰富训练数据多样性,提升模型泛化能力。
  2. 创新增强方法
    • Mosaic:参考 CutMix,将 4 张图像拼接为 1 张训练,扩大场景覆盖范围,让模型同时学习多场景目标特征。
    • Random Erase:随机选择图像区域,用随机值或训练集平均像素值替换,模拟局部遮挡场景。
    • Hide and Seek:按概率随机隐藏图像补丁(小块区域),迫使模型关注全局特征而非局部细节。
    • Self-adversarial-training(SAT):向输入图像引入噪音点,增加训练难度,提升模型对噪声的鲁棒性。
  3. 增强效果对比:在 ImageNet(分类、定位)和 Pascal VOC(检测)数据集上,CutMix 在分类(78.6%,+2.3%)、定位(47.3%,+1.0%)任务表现最优;Mixup 在 Pascal VOC 检测(75.6%,+1.1%)效果显著,为方法选择提供实验依据。

(二)网络正则化

  1. DropBlock:替代传统 Dropout,从 "随机丢点" 改为 "丢弃连续特征区域",避免特征碎片化,更贴合真实目标局部遮挡场景,缓解过拟合。
  2. Label Smoothing:解决神经网络 "过度自信" 问题,将硬标签(如 [0,1])软化(如 [0.05,0.95],计算方式:原标签 ×(1-0.1)+0.1/2),使类别簇内特征更紧密、簇间更分离,提升分类区分度。

(三)损失函数优化

  1. IOU 损失缺陷:无交叠时 IOU=0,无法计算梯度;相同 IOU 值可能对应不同位置关系,无法反映实际贴合度。
  2. GIOU 损失:引入 "最小封闭形状 C"(包含预测框与真实框),公式为 "LGIoU=1-IOU + |C - B∪Bgt|/|C|",解决无交叠时梯度消失问题,推动预测框向真实框靠近。
  3. DIOU 损失:直接优化 "中心点欧式距离 d" 与 "最小封闭框对角线长度 c",公式为 "LDIoU=1-IOU + d²/c²",速度更快,进一步优化位置回归精度。
  4. CIOU 损失:在 DIOU 基础上,增加 "长宽比一致性" 考量,公式引入 "αv"(α 为权重,v 为长宽比差异指标),同时关注重叠面积、中心点距离、长宽比三大几何因素,提升框回归准确性。

(四)NMS 改进

  1. DIOU-NMS:替代传统 NMS,除 IOU 外,额外考虑两框中心点距离,减少因距离较远但 IOU 略高导致的误删,提升框选准确性。
  2. Soft-NMS:不直接剔除低置信度框,而是降低其分数("做人留一面"),避免误删重叠的真实目标,优化多目标检测效果。

四、Bag of Specials(BOS):低推理成本的精度提升策略

(一)特征提取优化

  1. SPPNet(空间金字塔池化):通过多尺度最大池化,统一不同输入尺寸的特征输出大小,解决 YOLOv3 训练需调整输入尺寸的问题,提升特征适配性。
  2. CSPNet(跨阶段部分网络):将每个 block 的特征图按通道拆分为两部分,一部分走正常网络(如 ResBlock),另一部分直接拼接至 block 输出,减少计算量,提升特征利用率。

(二)注意力机制

  1. SAM(空间注意力模块):通过 "通道精炼(MaxPool/AvgPool)+ 卷积",聚焦图像关键空间区域,强化重要特征响应。
  2. CBAM(卷积块注意力模块):融合 "通道注意力" 与 "空间注意力",先筛选重要通道特征,再定位关键空间区域,进一步提升特征表达能力,在 CV 领域应用广泛。
  3. YOLOv4 适配:采用简化版空间注意力模块,在保证注意力效果的同时,降低计算复杂度,提升推理速度。

(三)特征融合网络

  1. PAN(路径聚合网络):在 FPN"自顶向下(高层特征传至低层)" 基础上,增加 "自底向上(低层特征传至高层)" 路径,且采用 "拼接(concatenation)" 替代 "加法",实现高低层特征高效交互,增强小目标检测能力。

(四)激活函数与坐标回归优化

  1. Mish 激活函数:公式为 "f (x)=x・tanh (ln (1+eˣ))",替代 ReLU 的 "硬截断",更符合真实数据分布,缓解梯度消失,但计算量略有增加,精度提升显著。
  2. Eliminate Grid Sensitivity(消除网格敏感性):坐标回归预测值在 0-1 之间,当目标处于网格边界时,需大数值才能覆盖,通过在激活函数前加 "大于 1 的系数",缓解边界预测难题,提升坐标回归精度。

五、整体网络架构与总结

  1. 架构整合:融合 BOF 与 BOS 的所有优化模块,形成 "数据增强→正则化→损失函数→特征提取→注意力→特征融合→激活函数" 的完整链路,系统性提升性能。
相关推荐
草莓熊Lotso3 小时前
C++ 二叉搜索树(BST)完全指南:从概念原理、核心操作到底层实现
java·运维·开发语言·c++·人工智能·经验分享·c++进阶
Dfreedom.3 小时前
大模型微调技术全景解析:从基础理论到工程实践
人工智能·大模型微调
m0_462605223 小时前
第N5周:Pytorch文本分类入门
人工智能·pytorch·分类
喜欢吃豆3 小时前
Parquet 范式:大语言模型训练数据格式优化的基础解析
人工智能·语言模型·自然语言处理·大模型·parquet
AI松子6663 小时前
PyTorch-混合精度训练(amp)
人工智能·pytorch·python
MDLZH3 小时前
Pytorch性能调优简单总结
人工智能·pytorch·python
GIS数据转换器4 小时前
基于GIS的智慧旅游调度指挥平台
运维·人工智能·物联网·无人机·旅游·1024程序员节
沧澜sincerely5 小时前
数据挖掘概述
人工智能·数据挖掘
数数科技的数据干货6 小时前
从爆款到厂牌:解读游戏工业化的业务持续增长道路
运维·数据库·人工智能
amhjdx9 小时前
星巽短剧以科技赋能影视创新,构建全球短剧新生态!
人工智能·科技