yolov4

V4版本整合多种数据增强策略,如BOF、Mosaic和Mixup,以及DropBlock和LabelSmoothing以提升模型泛化能力。采用CIOU损失函数解决IOU损失问题,改进NMS算法,结合SPP、CBAM和PAN模块优化网络结构,提高检测效率和准确性。
摘要由CSDN通过智能技术生成

1 V4版本概述

在这里插入图片描述
集各种优秀方案于一身,嫁接了众多主流的目标识别方面的情况。

V4 贡献

在这里插入图片描述

3. 数据增强策略分析

BOF

Bag of freebies(BOF)
在这里插入图片描述

Mosiac 数据增强在这里插入图片描述

  • Mixup
    比如将狗和猫的两张图片混合,一半猫,一半狗。 label 也变成 Dog 0.5 , Cat 0.5
  • Cutout, 将狗的部分身体挡住,学习局部,提高难度
  • CutMix 将其他类别的如猫提出来挡住狗的一部分。 标签如改成Dog 0.6, Cat 0.4
    yolov4作者参考以上方法,参考CutMix,各个图像按照原有的图像增强方法进行增强,然后将4张图像拼接成一张进行训练。

数据增强

  • Random Erase
  • Hide and Seek
    在这里插入图片描述

4. DropBlock与标签平滑方法

  • 引入噪音干扰,增强当前的输入
    在这里插入图片描述

  • DropBlock
    Dropout: 为了防止过拟合,随机的杀死一些神经元
    DroBlack:杀死部分模块,比如将眼镜、耳朵等块挡住,降低过拟合风险,提高泛化能力。
    在这里插入图片描述

  • Label Smoothing
    神经网络自觉不错,经常过拟合
    修改标签,进行标签平滑,提高抗过拟合能力。使主要标签占大比例,如0.95
    在这里插入图片描述
    在这里插入图片描述

5. 损失函数遇到的问题

  • IOU损失
    在这里插入图片描述
    IOU=0,会出现梯度消失的情况
    引入C,C可以把A、B包含在内
    在这里插入图片描述

6. CIOU损失函数的定义

在这里插入图片描述
在这里插入图片描述
yolov4最终使用CIOU作为损失函数,同时考虑了重叠面积(IOU),中心距离和长宽比

7.NMS细节改进

在这里插入图片描述

在这里插入图片描述
NMS: 先找置信度值最大的,然后将其他的提出掉
Soft-NMS:算完DIOU-NMS后,图上绿色框大概率会被干掉。但是图上有2只🐎,绿色的应该要被保留。不满足要求的先不直接剔除掉,而是对其降分,然后在之后看其综合表现,如能达标,则留下,不能达标,则剔除。

8. SPP与CSP 网络结构

在这里插入图片描述## SPP
在这里插入图片描述
在这里插入图片描述
拆成两部分后,一部分正常走网络,数据量变小了,速度变快了。

CBAM

在这里插入图片描述
attention:百分比,挑重点

10 PAN模块

在这里插入图片描述
在这里插入图片描述

激活函数

在这里插入图片描述
在这里插入图片描述

整体网络架构

在这里插入图片描述

需要学习Windows系统YOLOv4的同学请前往《Windows版YOLOv4目标检测实战:原理与源码解析》,课程链接 https://edu.csdn.net/course/detail/29865【为什么要学习这门课】 Linux创始人Linus Torvalds有一句名言:Talk is cheap. Show me the code. 冗谈不够,放码过来!  代码阅读是从基础到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步优化和创新。YOLOv4是最近推出的基于深度学习的端到端实时目标检测方法。YOLOv4的实现darknet是使用C语言开发的轻型开源深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。【课程内容与收获】 本课程将解析YOLOv4的实现原理和源码,具体内容包括:- YOLOv4目标检测原理- 神经网络及darknet的C语言实现,尤其是反向传播的梯度求解和误差计算- 代码阅读工具及方法- 深度学习计算的利器:BLAS和GEMM- GPU的CUDA编程方法及在darknet的应用- YOLOv4的程序流程- YOLOv4各层及关键技术的源码解析本课程将提供注释后的darknet的源码程序文件。【相关课程】 除本课程《YOLOv4目标检测:原理与源码解析》外,本人推出了有关YOLOv4目标检测的系列课程,包括:《YOLOv4目标检测实战:训练自己的数据集》《YOLOv4-tiny目标检测实战:训练自己的数据集》《YOLOv4目标检测实战:人脸口罩佩戴检测》《YOLOv4目标检测实战:国交通标志识别》建议先学习一门YOLOv4实战课程,对YOLOv4使用方法了解以后再学习本课程。【YOLOv4网络模型架构图】 下图由白勇老师绘制  
需要学习ubuntu系统上YOLOv4的同学请前往:《YOLOv4目标检测实战:原理与源码解析》 【为什么要学习这门课】 Linux创始人Linus Torvalds有一句名言:Talk is cheap. Show me the code. 冗谈不够,放码过来! 代码阅读是从基础到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步优化和创新。YOLOv4是最近推出的基于深度学习的端到端实时目标检测方法。YOLOv4的实现darknet是使用C语言开发的轻型开源深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。【课程内容与收获】 本课程将解析YOLOv4的实现原理和源码,具体内容包括:- YOLOv4目标检测原理- 神经网络及darknet的C语言实现,尤其是反向传播的梯度求解和误差计算- 代码阅读工具及方法- 深度学习计算的利器:BLAS和GEMM- GPU的CUDA编程方法及在darknet的应用- YOLOv4的程序流程- YOLOv4各层及关键技术的源码解析本课程将提供注释后的darknet的源码程序文件。【相关课程】 除本课程《Windows版YOLOv4目标检测:原理与源码解析》外,本人推出了有关YOLOv4目标检测的系列课程,包括:《Windows版YOLOv4目标检测实战:训练自己的数据集》《Windows版YOLOv4-Tiny目标检测实战:训练自己的数据集》《Windows版YOLOv4目标检测实战:人脸口罩佩戴检测》《Windows版YOLOv4目标检测实战:国交通标志识别》建议先学习一门YOLOv4实战课程,对YOLOv4使用方法了解以后再学习本课程。【YOLOv4网络模型架构图】 下图由白勇老师绘制  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闪闪发亮的小星星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值