[YOLO] yolov3、yolov4、yolov5改进

您所在的位置:网站首页 yolov3结构详解 [YOLO] yolov3、yolov4、yolov5改进

[YOLO] yolov3、yolov4、yolov5改进

2023-03-09 07:12| 来源: 网络整理| 查看: 265

 yolov3网络结构图:

Yolov3的三个基本组件:

(1)CBL:Yolov3网络结构中的最小组件,由Conv+Bn+Leaky_relu激活函数三者组成。 (2)Res unit:借鉴Resnet网络中的残差结构,让网络可以构建的更深。 (3)ResX:由一个CBL和X个残差组件构成,是Yolov3中的大组件。每个Res模块前面的CBL都起到下采样的作用,因此经过5次Res模块后,得到的特征图是608->304->152->76->38->19大小。其他基础操作: (1)Concat:张量拼接,会扩充两个张量的维度,例如26×26×256和26×26×512两个张量拼接,结果是26×26×768。Concat和cfg文件中的route功能一样。 (2)Add:张量相加,张量直接相加,不会扩充维度,例如104×104×128和104×104×128相加,结果还是104×104×128。add和cfg文件中的shortcut功能一样。

  yolov4网络结构图:

Yolov4的五个基本组件: 

1. CBM:Yolov4网络结构中的最小组件,由Conv+Bn+Mish激活函数三者组成。 2. CBL:由Conv+Bn+Leaky_relu激活函数三者组成。 3. Res unit:借鉴Resnet网络中的残差结构,让网络可以构建的更深。 4. CSPX:借鉴CSPNet网络结构,由卷积层和X个Res unint模块Concat组成。 5. SPP:采用1×1,5×5,9×9,13×13的最大池化的方式,进行多尺度融合。其他基础操作:1. Concat:张量拼接,维度会扩充,和Yolov3中的解释一样,对应于cfg文件中的route操作。2. Add:张量相加,不会扩充维度,对应于cfg文件中的shortcut操作。

YoloV4的创新之处:

(1)输入端:这里指的创新主要是训练时对输入端的改进,主要包括Mosaic数据增强。 (2)BackBone主干网络:将各种新的方式结合起来,包括:CSPDarknet53、Mish激活函数、Dropblock (3)Neck:目标检测网络在BackBone和最后的输出层之间往往会插入一些层,比如Yolov4中的SPP模块、FPN+PAN结构 (4)Prediction:输出层的锚框机制和Yolov3相同,主要改进的是训练时的损失函数CIOU_Loss,以及预测框筛选的nms变为DIOU_nms

其他的改进之处:Eliminate grid sensitivity(消除网格敏感度)  IOU threshold(正样本匹配)

学习链接:

深入浅出Yolo系列之Yolov3&Yolov4&Yolov5&Yolox核心基础知识完整讲解_yolov5江大白_江大白*的博客-CSDN博客YOLOv4网络详解_yolov4网络结构图_太阳花的小绿豆的博客-CSDN博客

yolov5网络结构图(yolov5的版本较多,这里的是yolov5版本6.0之前的网络结构图):

YOLOv5在v6.0版本后相比之前版本有一个很小的改动,把网络的第一层(原来是Focus模块)换成了一个6*6大小的卷积层。两者在理论上其实等价的,但是对于现有的一些GPU设备(以及相应的优化算法)使用6*6大小的卷积层比使用Focus模块更加高效。

SPP结构也被SPPF取代。两者的作用是一样的,但后者效率更高。

 Yolov5的创新之处:

(1)输入端:数据增强(Mosaic、Copy paste、Random affine、MixUp)、自适应锚框计算 (2)Backbone:Focus结构,New CSP-Darknet53 (3)Neck:FPN+PAN结构 New CSP-PAN (4)Prediction:GIOU_Loss 损失函数

其他改进之处:

消除Grid敏感度 匹配正样本(Build Targets)

链接:

YOLOv5网络详解_太阳花的小绿豆的博客-CSDN博客

在有了yolov3的基础上,yolov4的网络结构还是很容易看懂的。

这篇博客写的整个yolov4的网络概况

【经典论文解读】YOLOv4 目标检测https://blog.csdn.net/qq_41204464/article/details/119673960?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167791613516800211577984%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167791613516800211577984&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-3-119673960-null-null.142%5Ev73%5Einsert_down2,201%5Ev4%5Eadd_ask,239%5Ev2%5Einsert_chatgpt&utm_term=cspdarknet53&spm=1018.2226.3001.4187

 这篇博客的CSPDarknet53的细节就更多一点,例如,第一个CSP模块其实与后面的CSP模块有所不同。

YOLOv4网络详解https://blog.csdn.net/qq_37541097/article/details/123229946结合Bubbliiiing大佬的代码可以看出:

睿智的目标检测30——Pytorch搭建YoloV4目标检测平台https://blog.csdn.net/weixin_44791964/article/details/106214657

首先就是几个基本的模块:

(1)CBM

 (2)Res unit

 (3)CSPX

 这里的代码分为两个部分,这里涉及到了参数first的bool值



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3