YOLOv5网络结构+代码+应用详解|CSDN创作打卡

深度学习入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。

这一篇文章属于是对YOLOv5系列的一个整理汇总。YOLOv5网络结构+代码+应用详解|CSDN创作打卡_第1张图片

目录

一、输入端分析

二、整体网络结构图以及总括介绍

三、Backbone

四、Neck

 五、Head

六、代码实现网络具体构建

七、利用YOLOv5训练自己的数据集


一、输入端分析

YOLOv5输入端(一)—— Mosaic数据增强|CSDN创作打卡_tt丫的博客-CSDN博客

YOLOv5输入端(二)|CSDN创作打卡_tt丫的博客-CSDN博客(自适应锚框计算+自适应图片缩放)


二、整体网络结构图以及总括介绍

网络结构图如下图所示:

(其中CBL的标注都是有关输出的)

在这里感谢博友352(兄弟你前面那个符号是啥我这边显示不出来,不好意思)的提醒

v5.0版本

YOLOv5网络结构+代码+应用详解|CSDN创作打卡_第2张图片

目前更新到v6.0版本

YOLOv5网络结构+代码+应用详解|CSDN创作打卡_第3张图片

(这里比较大的改动是:用CBL代替 Focus 层,主要是为了方便模型导出 )

YOLOv5网络结构分为3个部分,Backbone(主干部分),Neck和Head。

Backbone作用:特征提取

Neck作用:对特征进行一波混合与组合,并且把这些特征传递给预测层

Head作用:进行最终的预测输出


三、Backbone

Backbone主要由Focus,CBL,BottleneckCSP(/C3)以及SPP等组成。

Focus作用:进行一个下采样,并且减少计算量加快网络速度。(v5.0)

CBL作用:(就是我们常说的卷积啦,虽然这里的卷积不是直接意义上的nn.Conv2d。)获取特征。

有关Focus和CBL的分析可以康康博主之前写的博客

YOLOv5中的Focus层详解_tt丫的博客-CSDN博客

BottleneckCSP(/C3)作用:残差结构,学习更多的特征。

有关BottleneckCSP(/C3)的分析可以康康博主之前写的博客

YOLOv5中的CSP结构_tt丫的博客-CSDN博客

SPP/SPPF作用:空间金字塔池化,将前面得到的任意大小的特征图转换成固定大小的特征向量。

(v5.0是SPP,v6.0是SPPF)

有关SPP/SPPF的分析可以康康博主之前写的博客

YOLOv5中的SPP/SPPF结构详解_tt丫的博客-CSDN博客_spp yolov5


四、Neck

Neck说白了就是FPN+PAN结构的设计。

关于FPN和PAN可以看博主之前写的文章

深度学习中的FPN详解_tt丫的博客-CSDN博客

深度学习之PAN详解_tt丫的博客-CSDN博客

(这里v5.0和v6.0的区别请对照上图,懒得改了嘻嘻)

YOLOv5网络结构+代码+应用详解|CSDN创作打卡_第4张图片

YOLOv5网络结构+代码+应用详解|CSDN创作打卡_第5张图片


 五、Head

我理解的Head就是输出端。如果单从网络结构上来说的话,他就是对Neck出来的3个输出分别进行卷积操作。然而Head的主要部分在于它的输出推理及处理。具体的可以看博主之前的文章,里面有关于损失函数,NMS以及源码的解析。

YOLOv5的输出端详解_tt丫的博客-CSDN博客


六、代码实现网络具体构建

详见YOLOv5的模型构建源码详解|CSDN创作打卡_tt丫的博客-CSDN博客


七、利用YOLOv5训练自己的数据集

YOLOv5训练自己的数据集详解_tt丫的博客-CSDN博客


欢迎大家在评论区批评指正,谢谢大家~

你可能感兴趣的:(YOLOv5,深度学习,人工智能,神经网络,目标检测,计算机视觉)