当前位置: 首页 > news >正文

YOLOv4 学习笔记

一、YOLOv4 整体定位与核心特点

YOLOv4 虽更换了作者,但延续了 YOLO 系列 “平衡检测速度与精度” 的核心精髓,同时以 “工程实用性” 为核心设计目标,是一款兼顾性能与落地成本的目标检测算法。其最显著的标签的是 “亲民” 与 “细致”:

  • 亲民性:支持单 GPU 训练,无需多卡集群,降低了设备门槛,便于个人或中小企业使用;
  • 细致性:从数据层面到网络设计层面,整合了大量前沿优化方法,且通过全面的消融实验验证每个模块的有效性,工作量极大;
  • 核心定位:文档中用 “CV 界劳模” 形容其设计密度 —— 读透 YOLOv4 相关内容,相当于梳理了近年目标检测领域的诸多关键改进思路。

二、YOLOv4 性能表现(速度与精度平衡)

在 COCO 数据集的对比实验中,YOLOv4 展现出远超同期算法的 “速度 - 精度性价比”,尤其在实时检测场景(FPS 较高时)优势显著。

关键性能对比(基于 V100 显卡测试)

算法mAP(精度指标)FPS(速度指标,帧 / 秒)核心优势
YOLOv4(主力版本)~46-4830-70速度与精度均衡,无明显短板
YOLOv3~32-3622-51速度有优势,但精度差距大
EfficientDet(D0-D4)~34-4810-50高精度版本(D4)速度慢,低精度版本(D0)精度低
ASFF、ATSS 等改进算法~34-4220-60精度或速度单维度优,但综合性价比低于 YOLOv4

从性能曲线图可见:当 FPS 处于 “实时区间”(30-70 FPS)时,YOLOv4 的 mAP 显著高于 YOLOv3、ASFF 等算法;即使与高精度的 EfficientDet 相比,相同精度下 YOLOv4 的速度更快,相同速度下精度更高。

三、YOLOv4 核心贡献

YOLOv4 的价值不仅是 “提升性能”,更在于 “系统化整合优化思路”,其核心贡献可归纳为三点:

  1. 降低落地成本:单 GPU 训练方案打破 “高性能 = 高设备成本” 的固有认知,让优质算法更易落地;
  2. 两大核心优化框架:提出 “Bag of Freebies(BOF)” 和 “Bag of Specials(BOS)” 两大模块分类,分别对应 “无推理成本的精度提升方法” 和 “低推理成本的精度提升方法”,为后续算法设计提供了清晰的优化思路(至 PPT 第 15 页,重点展开 BOF);
  3. 全面的消融实验:对每个引入的改进模块(如数据增强、损失函数、正则化方法)单独测试,验证其有效性,避免 “盲目堆砌模块”,让算法设计更具科学性。

四、Bag of Freebies(BOF):无推理成本的精度提升

“Bag of Freebies(BOF)” 是 YOLOv4 的核心优化模块之一,定义为 “仅增加训练阶段的计算成本,不影响推理速度” 的改进方法 —— 训练时通过更复杂的数据处理或正则化策略提升模型泛化能力,推理时仍保持原有的计算流程,完美兼顾 “精度提升” 与 “推理效率”。至 PPT 第 15 页,重点涵盖 “数据增强”“网络正则化”“类别不平衡与损失函数初步优化” 三类方法。

1. 数据增强:扩大训练数据多样性

数据增强的核心目标是 “让模型见更多样的场景”,从而减少过拟合,提升对真实环境中干扰(如光照变化、物体遮挡)的鲁棒性。YOLOv4 整合了多种高效数据增强手段,且优先选择 “不破坏目标完整性、但能丰富场景多样性” 的方法:

(1)Mosaic 数据增强(核心创新)
  • 原理:参考 CutMix 思路,将4 张不同的训练图像拼接成 1 张图像(通过随机缩放、裁剪、翻转后拼接),同时调整对应的标注框坐标;
  • 优势
    1. 扩大训练数据量:1 张拼接图相当于 4 张原始图的场景信息,且无需额外采集数据;
    2. 提升小目标检测能力:拼接后图像中会包含更多小尺寸物体,迫使模型学习小目标特征;
    3. 降低 batch 依赖:单张图像包含多种场景,即使小 batch 训练也能保证数据多样性。
(2)Random Erase(随机擦除)
  • 原理:在训练图像中随机选择一个矩形区域,用 “随机像素值” 或 “训练集所有图像的平均像素值” 替换该区域,模拟 “物体局部遮挡” 场景;
  • 作用:避免模型过度依赖物体的局部特征(如检测 “猫” 时只看耳朵),迫使模型学习物体的全局特征,提升抗遮挡能力。
(3)Hide and Seek(隐藏与寻找)
  • 原理:按一定概率在图像中随机隐藏多个 “小补丁区域”(而非单个大区域),每个补丁的位置和大小随机;
  • 与 Random Erase 的区别:Random Erase 是 “局部大区域遮挡”,Hide and Seek 是 “分散小区域遮挡”,更贴近真实场景中 “物体被多个小物体遮挡” 的情况(如行人被树叶、广告牌碎片遮挡)。
(4)Self-adversarial-training(SAT,自对抗训练)
  • 原理:训练过程中,先让模型对当前图像 “预测错误”(通过引入微小噪音,让模型误判物体类别或位置),再以 “修正后的错误图像” 作为新的训练数据,相当于 “给模型增加游戏难度”;
  • 作用:提升模型对 “噪声干扰” 的鲁棒性 —— 真实场景中图像可能存在模糊、压缩噪声等问题,SAT 能让模型在这类干扰下仍保持检测稳定性。

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

正则化的核心目标是 “限制模型的学习能力,避免其记忆训练数据的噪声”。YOLOv4 放弃了传统的 Dropout(随机失活单个神经元),转而采用更适合目标检测的 “区域级正则化” 方法:

DropBlock(区域失活)
  • 原理:不同于 Dropout“随机删除单个神经元(点级失活)”,DropBlock 是 “随机删除一个连续的矩形区域”(该区域内的所有神经元均失活);
  • 为什么优于 Dropout
    1. 目标检测依赖 “空间连续特征”(如物体的轮廓、纹理是连续的),Dropout 破坏了特征的空间连续性,可能导致模型学习碎片化特征;
    2. DropBlock 模拟 “物体局部缺失” 的场景,既限制了模型对局部特征的过度依赖,又保留了大部分空间连续特征,更符合检测任务的需求。

3. Label Smoothing(标签平滑):缓解模型 “过度自信”

  • 背景:传统目标检测中,类别标签采用 “one-hot 编码”(如 “猫” 标注为 [0,1],“狗” 标注为 [1,0]),这种硬标签会让模型 “过度自信”—— 训练后期模型预测概率接近 0 或 1,导致泛化能力下降(遇到新场景时易误判);
  • 原理:将硬标签转换为 “软标签”,公式为:软标签 = 硬标签 × (1 - ε) + ε / 类别数(其中 ε 为平滑系数,通常取 0.1);示例:原 “猫” 的硬标签 [0,1],经 Label Smoothing 后变为 [0.05, 0.95](ε=0.1,类别数 = 2);
  • 作用
    1. 降低模型对 “正确类别” 的过度自信,迫使模型学习更鲁棒的特征;
    2. 从特征分布上看,能让 “同类特征簇更紧密、不同类特征簇更分离”,提升分类边界的稳定性。

4. 类别不平衡与 IOU 损失的初步问题

YOLOv4 还关注到目标检测中的 “类别不平衡” 问题(如训练集中 “行人” 样本多、“交通标志” 样本少),但至 PPT 第 15 页,重点先聚焦 “IOU 损失的缺陷”—— 这是后续损失函数优化(GIoU、DIoU 等)的基础:

  • IOU 损失的定义:通常用 1 - IOU 作为损失(IOU 是预测框与真实框的交并比,范围 [0,1]),IOU 越大,损失越小;
  • 核心缺陷
    1. 无重叠时梯度失效:当预测框与真实框完全无交集(IOU=0)时,损失值固定为 1,梯度为 0,模型无法通过梯度下降调整预测框位置(即 “不知道往哪动才能靠近真实框”);
    2. 相同 IOU 无法区分位置差异:当两个预测框与真实框的 IOU 相同时,无法通过 IOU 判断 “哪个预测框更接近真实框的位置或大小”,导致模型优化方向不精准。
http://www.dtcms.com/a/508577.html

相关文章:

  • idea做网站app制作和网站一样吗
  • 如何为旅游网站店铺做推广营销成都广告公司网站建设
  • Qualcomm SM6115 平台RTC accuracy problem
  • 文本内时序关系抽取_2(数据集以及论文讲解)
  • 河南国基建设集团有限公司网站软件开发技术流程图
  • 网站做支付宝 微信模块网优工程师前景和待遇
  • h5游戏免费下载:兔子快跑
  • 我想来做外贸网站来推广网站交互性
  • 中国室内设计网站排名中国建设银行内部网站
  • 做ppt会去什么网站找图有什么网站是python做的
  • 陕西荣天建设网站什么网站可以做告白的网页
  • 做 在线观看免费网站用什么建网站 cms
  • 网站开发设计工程师岗位职责怎样制作网站教程哪家好
  • 8款开源AI应用开发平台实测对比
  • 石家庄市城乡和建设局网站小说网站做公众号好还是网站好
  • Transformers中不同的generation strategies生成策略
  • 网站标题psdwordpress商城 微信支付宝
  • Spring MVC文件上传与下载全面详解:从原理到实战
  • 广州网站建设 乐云seo营销策划方案模板
  • 学院网站信息化建设总结朝阳住房和城乡建设官方网站
  • 【Android Gradle学习笔记】第八天:NDK的使用
  • OpenCV(十三):通道的分离与合并
  • 【猿辅导-注册安全分析报告-无验证方式导致安全隐患】
  • 基于YOLOv8与SCConv的轻量化目标检测模型-协同优化空间与通道特征重构
  • 卫计网站建设工作计划怎么做网页商城
  • 攻略做的比较好的网站邯郸电商设计
  • 青海某公路水渠自动化监测服务项目
  • 大厂级企业后端:配置变更与缓存失效的自动化处理方案
  • 打破协议壁垒:耐达讯自动化Modbus转Profinet网关实现光伏逆变器全数据采集
  • 深圳创新网站建设适合穷人的18个创业项目投资小