YOLOv4之网络结构剖析

这篇具有很好参考价值的文章主要介绍了YOLOv4之网络结构剖析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.yolov4的网络结构

yolov4的网络结构包括

  • backbone
    • CSPDarknet53
  • Neck
    • SPP
    • PANet
  • Dence Prediction
    • yolo head

整个网络结构如下图1所示:

YOLOv4之网络结构剖析

图1 yolov4结构

1.1 BackBone

1.1.1 CSP模块

CSP在论文《CSP:A New Backbone that can Enhance Learning Capability of CNN 》提出,把CSP(Cross Stage Partial)应用到ResNe(X)t,模型结构如下图2所示。

YOLOv4之网络结构剖析

图2 CSP结构应用到ResNe(X)t

从结构上来看,CSP是将输入通道分成两部分,一部分经过常规Res(X)Block后跟另一部分进行通道拼接,拼接后进入transition layer。CSP将梯度的变化从头到尾地集成到特征图中,在减少了计算量的同时可以保证准确率(或有所提升)。其中transition layer是一个卷积加池化,用于整合学到的特征,降低特征图的尺寸。

1.1.2 CSPDarknet53

参考了yolov4源码的cfg文件,画了个cspdarknet53比较详细的结构图,如下所示:

YOLOv4之网络结构剖析

YOLOv4之网络结构剖析

图4 CSPDarknet53结构图

总体来看,每个CSP模块都有以下特点:

  • 相比于输入,输出featuremap大小减半
  • 相比于输入,输出通道数增倍
  • 经过第一个CBM后,featuremap大小减半,通道数增倍

CSP1和其他CSP有所不同:

  • 经过模块第二个CBM后,CSP1 featuremap大小和通道数都不变,但是其他模块featuremap大小不变,通道减半
  • 经过最后一个CBM后,CSP1 featuremap大小不变,通道数减半,但是其他模块featuremap大小通道数都不变

1.2 Neck

yolov4的Neck部分主要使用SPP和PANet模块。

1.2.1 SPP

SPP(空间金字塔)可以使得多个尺寸特征融合在一起,输入经过3个maxpool然后concat在一起,maxpool大小分别是13,9和5,yolov4中得SPP模块如下图5所示。

YOLOv4之网络结构剖析

图5 SPP

1.2.2 PANet

PANet的网络结构如图6所示,由5个核心模块组成。其中(a)是一个FPN,(b)是PAN增加的自底向上的特征融合层,©是自适应特征池化层,(d)是PANet的bounding box预测头,(e)是用于预测掩码的全连接融合层。

YOLOv4之网络结构剖析

图7 PaNet结构

PANet是加强版的FPN,通过融合自底向上和自顶向下两个路径增加模型的表征能力。

yolov4的PANnet结构如下图6所示,结构中包括了两次上采样和两次下采样,而与yolov3的Neck部分只包括上采样。

YOLOv4之网络结构剖析

图6 PANet

欢迎指正!

ref:

  • YOLOv4: Optimal Speed and Accuracy of Object Detection

  • CSPNet: A New Backbone that can Enhance Learning Capability of CNN

  • Path Aggregation Network for Instance Segmentation文章来源地址https://www.toymoban.com/news/detail-444417.html

到了这里,关于YOLOv4之网络结构剖析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 三万字硬核详解:yolov1、yolov2、yolov3、yolov4、yolov5、yolov7

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

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

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

    2024年02月12日
    浏览(55)
  • 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日
    浏览(43)
  • 目标检测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)
  • YOLOv8/YOLOv7/YOLOv5/YOLOv4/Faster-rcnn系列算法改进【NO.69】针对遥感图像目标检测中的小目标进行改进CATnet(ContextAggregation模块)

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

    2024年02月11日
    浏览(60)
  • 目标检测算法(R-CNN,fast R-CNN,faster R-CNN,yolo,SSD,yoloV2,yoloV3,yoloV4,yoloV5,yoloV6,yoloV7)

    深度学习目前已经应用到了各个领域,应用场景大体分为三类:物体识别,目标检测,自然语言处理。 目标检测可以理解为是物体识别和物体定位的综合 ,不仅仅要识别出物体属于哪个分类,更重要的是得到物体在图片中的具体位置。 为了完成这两个任务,目标检测模型分

    2024年02月02日
    浏览(49)
  • YOLOv3网络结构

    YOLOv3是一种基于深度学习的目标检测算法,由Joseph Redmon等人于2018年提出。YOLOv3是YOLO系列的第三个版本,相比于前两个版本,YOLOv3在速度和精度上都有了很大的提升,相较于YOLOv2的主要变化在于引入了多尺度的概念。 YOLOv3实现的大致原理是由卷积神经网络(CNN)网络的输出把

    2024年03月27日
    浏览(64)
  • YOLOv8 : 网络结构

    1. Backbone YOLOv8的Backbone同样 参考 了CSPDarkNet-53网络,我们可以称之为CSPDarkNet结构吧,与YOLOv5不同的是,YOLOv8使用C2f(CSPLayer_2Conv)代替了C3模块(如果你比较熟悉YOLOv5的网络结构,那YOLOv8的网络结构理解起来就easy了)。 如图1所示为YOLOv8网络结构图(引用自MMYOLO),对比图2的YOLOv5结构

    2024年02月12日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包