yolov4——你总能在这找到你想要的答案

这篇具有很好参考价值的文章主要介绍了yolov4——你总能在这找到你想要的答案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一:前言

二:一些数据增强的方法

 三:自提议

四:dropout

         普通的dropout

         yolov4的dropblock

五:Label smothing 标签平滑

六: GIOU,DIOU,CIOU:

七: 对网络结构的改进

Spp结构

Cspnet

八:PANet

yolov3中的FPN特征金字塔结构

Bi-FPN

九:Mish激活函数(RuLu的改进)

所有项目代码+UI界面


一:前言

YOLOv4是一种目标检测算法,它是YOLO系列(You Only Look Once)的最新版本。YOLO算法是一种实时目标检测算法,能够在一次前向传播过程中同时进行目标检测和定位。YOLOv4在YOLOv3的基础上进行了改进和优化,提高了检测精度和速度。

以下是YOLOv4的一些主要改进和特点:

  1. 骨干网络改进:YOLOv4使用了更强大的骨干网络,如CSPDarknet53和CSPResNeXt50,以提高特征提取能力和检测性能。

  2. 特征金字塔网络(FPN):YOLOv4引入了特征金字塔网络,通过多尺度特征融合来处理不同尺度的目标,提高了对小目标的检测能力。

  3. PANet:YOLOv4结合了PANet(Path Aggregation Network)的思想,通过横向连接和级联结构来提高不同分辨率特征的信息传递和融合。

  4. 判别式特征:YOLOv4在网络中引入了判别式特征,使得网络更容易学习到具有判别性的特征,提高了检测的准确性。

  5. 精细化检测:YOLOv4采用了多尺度训练和测试,以便检测不同尺度的目标,并使用IoU损失函数进行更准确的目标定位。

  6. 数据增强:YOLOv4使用了更多的数据增强技术,如Mosaic数据增强、CutMix数据增强等,增强了网络的鲁棒性和泛化能力。

  7. 快速推理:YOLOv4通过优化网络结构、使用精细化的Anchor框和采用更高效的推理策略,提高了检测速度。

V4贡献:
        亲民政策,单GPU就能训练的非常好,接下来很多小模块都是这个出发点

        两大核心方法,从数据层面和网络设计层面来进行改善

        消融实验,感觉能做的都让他给做了,这工作量不轻
        全部实验都是单GPU完成,不用太担心设备了

yolov4——你总能在这找到你想要的答案

二:一些数据增强的方法

yolov4——你总能在这找到你想要的答案

先做数据增加,增强完之后再把四张图片拼接在一起

yolov4——你总能在这找到你想要的答案

给网络增加一些游戏难度,加目标的部分部位给遮挡住

yolov4——你总能在这找到你想要的答案

 三:自提议

yolov4——你总能在这找到你想要的答案

四:dropout

         普通的dropout

之前的dropout是随机丢弃一些神经元

yolov4——你总能在这找到你想要的答案

         yolov4的dropblock

yolov4——你总能在这找到你想要的答案

五:Label smothing 标签平滑

将标签数值减小一点点

yolov4——你总能在这找到你想要的答案

使用后:簇内更紧密,簇间更分离 

 yolov4——你总能在这找到你想要的答案

六: GIOU,DIOU,CIOU:

        可以避免损失为0停止训练。IOU(Intersection over Union)损失属于定位损失(Localization Loss)的一部分。

 yolov4——你总能在这找到你想要的答案

但是GIOU存在问题。。。。

改进开始使用DIOU(距离度量),使得分母和分子的距离都越近越好,p^2表示欧式距离

yolov4——你总能在这找到你想要的答案

但是DIOU还有一点点缺陷,,因为仅仅解决了当两个框完全一样的时候。没有考虑到长宽比。。。   

再改进,所以使用CIOU,a长宽比越大,av的值也就越大,iou损失也就越大

yolov4——你总能在这找到你想要的答案

 soft-MNS是意思是,我先不提除掉,先抑制一点你的这个框,就降低你一点分,然后通过后面你学习,最后看你综合表现,看你能不能学习回来大于我这个阈值,能学习回来就代表你有能力,

yolov4——你总能在这找到你想要的答案

七: 对网络结构的改进

Spp结构

yolov3x出现了spp结构

yolov4——你总能在这找到你想要的答案yolov4——你总能在这找到你想要的答案yolov4——你总能在这找到你想要的答案

  

Cspnet

把channel减小了,大大的减小了计算量,效率更高,很符合yolo的出发点。

 yolov4——你总能在这找到你想要的答案

 注意力机制:分别再channel,位置上,都给不同的特征图分配不一样的权重

yolov4——你总能在这找到你想要的答案

 yolov4——你总能在这找到你想要的答案

不过引入channel的attention的话会大大增加计算量,所以不用CBAM,而是引入了SAM只有空间的注意力机制。

然后又改进了SAM的一点点,把之前的maxpooling avgpooling变成之间卷积一步到位,主旨都是减小计算量。

yolov4——你总能在这找到你想要的答案

八:PANet

YOLOv3中使用的FPN使用自顶向下的路径来提取语义丰富的特征并将其与精确的定位信息结合起来。

但对于为大目标生成mask,这种方法可能会导致路径过于冗长,因为空间信息可能需要传播到数百个层。

PANet是一个加强版的FPN,它通过融合自底向上和自顶向下两条路径的方式增强了骨干网络的表征能力。 

yolov4——你总能在这找到你想要的答案

不用加法而是用乘法

yolov4——你总能在这找到你想要的答案

yolov4——你总能在这找到你想要的答案

 总而言之,YOLOv4中Panet模块使用拼接而不是加法,是为了更好地融合不同层级的特征信息,并提升目标检测的性能。

        Panet模块旨在解决多尺度特征的融合问题,它接收来自不同层级的特征图,并将它们进行拼接(concatenate),形成一个更丰富的特征表示。通过拼接而不是加法,可以保留每个层级特征的细节信息,并将它们有机地结合起来。

yolov3中的FPN特征金字塔结构

yolov4——你总能在这找到你想要的答案

         其对特征点进行不断的下采样后,拥有了一堆具有高语义内容的特征层,然后重新进行上采样,使得特征层的长宽重新变大,用大size的feature map去检测小目标。

        然不可以简单只上采样,因为这样上采样的结果对小目标的特征与信息也不明确了,因此我们可以将下采样中,与上采样中长宽相同的特征层进行堆叠,这样可以保证小目标的特征与信息。和U-net结构很相似。但多了堆叠的过程。

Bi-FPN


        在EfficientDet中提出了一种加权的双向特征金字塔网络,它允许简单和快速的多尺度特征融合。作者的目的是为了追求更高效的多尺度融合方式。

        以往的特征融合是平等地对待不同尺度特征,作者引入了权重(类似于attention),更好地平衡不同尺度的特征信息。在论文中作者也有与其他FPN的对比。

BiFPN(Bi-directional Feature Pyramid Network)使用了一种称为"weighted feature fusion"的操作,它综合了加法和concatenation(cat)的思想。

yolov4——你总能在这找到你想要的答案

总的来说 Bi-FPN相当于给各个层赋予了不同权重去进行融合,让网络更加关注重要的层次,而且还减少了一些不必要的层的结点连接。

九:Mish激活函数(RuLu的改进)

yolov4——你总能在这找到你想要的答案

 消除敏感度

yolov4——你总能在这找到你想要的答案

        sigmoid函数的作用是将输入映射到0到1之间的概率值,这样做可以对置信度进行归一化,使其表示一个概率的概念。值接近0表示低置信度,值接近1表示高置信度。

        这种处理方式有助于模型更好地区分物体和背景,以及判断预测框中是否存在物体。通过应用sigmoid函数,可以使置信度输出符合概率的定义,并更适合用于后续的阈值筛选或目标检测任务的处理。

         在 YOLOv3 中,不同尺度的特征图通过拼接(concatenation)的方式合并为一个整体的特征图。然后,通过这个整体特征图计算总体的损失,并进行一次梯度更新来同时更新所有层的参数。 虽然在梯度更新的过程中使用了整体特征图,但每个尺度上的损失是分别计算的。通过拼接后的特征图,不同尺度上的目标检测结果都对总体的损失有贡献,而参数的更新是基于总体损失计算的梯度进行的。因此,可以说是分别更新了不同尺度大小的梯度,以优化整个模型。

参数被更新完梯度后,这些参数保存哪了?

        在常见的深度学习框架中(如PyTorch、TensorFlow等),参数的更新是自动完成的,无需手动将更新后的参数传入网络层。优化器(如Adam、SGD等)会自动更新模型的参数,并在后续的训练过程中使用这些更新后的参数。

所有项目代码+UI界面

视频,笔记和代码,以及注释都已经上传网盘,放在主页置顶文章文章来源地址https://www.toymoban.com/news/detail-478824.html

到了这里,关于yolov4——你总能在这找到你想要的答案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何在GitHub上找到想要的项目?

    在github上,我们一般是通过一个项目所使用的的语言,项目描述,项目名称,项目简介,最后的更新时间,收藏数,等这些内容来寻找所需的项目的。这里我们可以通过一定的来限制搜索条件来进行筛选,找出所需的项目内容。一般都是一些语句,感觉有点类似SQL语句,这些

    2023年04月09日
    浏览(38)
  • 【YOLO系列】YOLOv4论文超详细解读2(网络详解)

     上一篇我们一起读了YOLOv4的论文《YOLOv4:Optimal Speed and Accuracy of Object Detection》(直通车→【YOLO系列】YOLOv4论文超详细解读1(翻译 +学习笔记)),有了初步的印象,论文里面涉及到很多tricks,上一篇介绍的比较简略,我们这篇来详细介绍一下。 一、YOLOv4的简介  二、YO

    2024年02月02日
    浏览(45)
  • 浅析目标检测入门算法:YOLOv1,SSD,YOLOv2,YOLOv3,CenterNet,EfficientDet,YOLOv4

    本文致力于让读者对以下这些模型的创新点和设计思想有一个大体的认识,从而知晓YOLOv1到YOLOv4的发展源流和历史演进,进而对目标检测技术有更为宏观和深入的认知。本文讲解的模型包括:YOLOv1,SSD,YOLOv2,YOLOv3,CenterNet,EfficientDet,YOLOv4。         候选区域         和R-CNN最

    2024年02月07日
    浏览(50)
  • 三万字硬核详解:yolov1、yolov2、yolov3、yolov4、yolov5、yolov7

    mAP是综合衡量Precision与Recall的一种指标值,理论上mAP的最优值=1。 举例理解:在所有预测图片中, 取某一个类别的P-R曲线图 P-R曲线图 :以Recall为横轴,Precision为纵轴,并将Precision [0, 1] 范围内的每个点对应recall的值连接起来形成一条折线。 如左图的蓝色曲线 曲线特点:随着

    2023年04月15日
    浏览(59)
  • VS+QT+Opencv使用YOLOv4对视频流进行目标检测

    对单张图像的检测,请参考:https://blog.csdn.net/qq_45445740/article/details/109659938

    2024年02月12日
    浏览(55)
  • 想要精通算法和SQL的成长之路 - 找到最终的安全状态

    想要精通算法和SQL的成长之路 - 系列导航 原题链接 我们从题目中可以看出来: 出度为0的,就是终端节点。 如果存在路径通向终端节点,那么该节点就是安全节点。那么终端节点本身也可以作为安全节点。 而题目要求我们返回的是安全节点。 满足题目要求的节点,一定是和

    2024年02月06日
    浏览(48)
  • opencv dnn模块 示例(16) 目标检测 object_detection 之 yolov4

    博客【opencv dnn模块 示例(3) 目标检测 object_detection (2) YOLO object detection】 测试了yolov3 及之前系列的模型,有在博客【opencv dnn模块 示例(15) opencv4.2版本dnn支持cuda加速(vs2015异常解决)】 说明了如何使用dnn模块进行cuda加速推理。 本文说明yolo v4的网络改进和测试情况。 yolo v1~

    2024年02月07日
    浏览(42)
  • 目标检测YOLO实战应用案例100讲-基于改进YOLOv4算法的自动驾驶场景 目标检测

    目录 前言 国内外目标检测算法研究现状  传统目标检测算法的发展现状 

    2024年02月06日
    浏览(54)
  • 【YOLOv8/YOLOv7/YOLOv5/YOLOv4/Faster-rcnn系列算法改进NO.64】即插即用新的注意力机制RFAConv

     前言 作为当前先进的深度学习目标检测算法YOLOv8,已经集合了大量的trick,但是还是有提高和改进的空间,针对具体应用场景下的检测难点,可以不同的改进方法。此后的系列文章,将重点对YOLOv8的如何改进进行详细的介绍,目的是为了给那些搞科研的同学需要创新点或者

    2024年02月02日
    浏览(73)
  • 基于Colab训练的yolov4-tiny自定义数据集(可用于OpenCV For Unity)

    参考资料文档和视频,Google colab、Goolge云端硬盘 1.打开文档,点击【文件】【在云端硬盘中保存一份副本】,即将文档复制到自己云端硬盘。 2.打开该文件,按文中提示进行。 【代码执行程序】【更改运行时类型】修改运行时为GPU(免费的GPU不好用,收费的好用,某宝上几十

    2024年04月09日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包