python深度学习-YOLOv5

一、YoLov5图像识别技术

YOLOv5是一种单阶段目标检测算法,该算法在YOLOv4的基础上添加了一些新的改进思路,使其速度与精度都得到了极大的性能提升。主要的改进思路如下所示:
输入端:在模型训练阶段,提出了一些改进思路,主要包括Mosaic数据增强、自适应锚框计算、自适应图片缩放;
基准网络:融合其它检测算法中的一些新思路,主要包括:Focus结构与CSP结构;
Neck网络:目标检测网络在BackBone与最后的Head输出层之间往往会插入一些层,Yolov5中添加了FPN+PAN结构;
Head输出层:输出层的锚框机制与YOLOv4相同,主要改进的是训练时的损失函数GIOU_Loss,以及预测框筛选的DIOU_nms。

Yolov5图像识别技术优点如下:

1、识别率高
使用Pytorch框架,能够方便地训练自己的数据集,相对于YOLO V4采用的Darknet框架,Pytorch框架技术更加全面,识别精准度更优
2、误报率低
YOLO V5s高达140FPS的对象识别速度很快,识别率高,误报率低。
3、代码易读
代码易读,整合了大量的计算机视觉技术,非常有利于算法编写人员学习和借鉴。能够直接对单个图像,批处理图像,视频甚至网络摄像头端口输入进行有效推理。
4、格式转化方便
能够轻松的将Pytorch权重文件转化为安卓使用的ONXX格式,然后可以转换为OPENCV的使用格式,或者通过CoreML转化为IOS格式,直接部署到手机应用端。
5、工作效率高
不仅易于配置环境,模型训练也非常快速,并且批处理推理产生实时结果。

二、YoLov5网络结构图
在这里插入图片描述
1、输入端
①数据增强:Mosaic数据增强
②自适应锚定框Auto Learning Bounding Box Anchors网络在初始锚框的基础上,基于训练数据 输出预测框
③自适应图片缩放
2、Backbone
①Focus结构
②CSP结构主要从网络结构设计的角度解决推理中计算量很大的问题。
3、Neck
FPN+PAN,网络特征融合的能力更强

三、Yolov5算法性能测试图

Yolov5官方代码中,给出的目标检测网络中一共有4个版本,分别是Yolov5s、Yolov5m、Yolov5l、Yolov5x四个模型,下图为Yolov5算法性能测试图:
在这里插入图片描述
在这里插入图片描述
1、Yolov5s网络最小,速度最少,AP精度也最低。但如果检测的以大目标为主,追求速度,倒也是个不错的选择。

2、其他的三种网络,在此基础上,不断加深加宽网络,AP精度也不断提升,但速度的消耗也在不断增加。

3、目前使用下来,yolov5s的模型十几M大小,速度很快,线上生产效果可观,嵌入式设备可以使用。

四、Yolov5中的CSP结构
Yolov5中设计了两种CSP结构,以Yolov5s网络为例,CSP1_X结构应用于Backbone主干网络,另一种CSP2_X结构则应用于Neck中。
在这里插入图片描述
CSPNet(Cross Stage Partial Network):跨阶段局部网络,以缓解以前需要大量推理计算的问题。

增强了CNN的学习能力,能够在轻量化的同时保持准确性。
降低计算瓶颈。
降低内存成本。
CSPNet通过将梯度的变化从头到尾地集成到特征图中,在减少了计算量的同时可以保证准确率。

CSPNet和PRN都是一个思想,将feature map拆成两个部分,一部分进行卷积操作,另一部分和上一部分卷积操作的结果进行concate。
五、Yolov5四种网络深度
在这里插入图片描述
在上图中,展示了两种CSP结构,CSP1和CSP2,其中CSP1结构主要应用于Backbone中,CSP2结构主要应用于Neck中。
需要注意的是,四种网络结构中每个CSP结构的深度都是不同的。
a.以yolov5s为例,第一个CSP1中,使用了1个残差组件,因此是CSP1_1。而在Yolov5m中,则增加了网络的深度,在第一个CSP1中,使用了2个残差组件,因此是CSP1_2。
而Yolov5l中,同样的位置,则使用了3个残差组件,Yolov5x中,使用了4个残差组件。
其余的第二个CSP1和第三个CSP1也是同样的原理。
b.在第二种CSP2结构中也是同样的方式,以第一个CSP2结构为例,Yolov5s组件中使用了2×X=2×1=2个卷积,因为X=1,所以使用了1组卷积,因此是CSP2_1。
而Yolov5m中使用了2组,Yolov5l中使用了3组,Yolov5x中使用了4组。
其他的四个CSP2结构,也是同理。
Yolov5中,网络的不断加深,也在不断增加网络特征提取和特征融合的能力。

六、Yolov5四种网络宽度
在这里插入图片描述
在Yolo算法中,针对不同的数据集,都会有初始设定长宽的锚框。
如上图表格中所示,四种yolov5结构在不同阶段的卷积核的数量都是不一样的,因此也直接影响卷积后特征图的第三维度,即厚度,大白这里表示为网络的宽度。
a.以Yolov5s结构为例,第一个Focus结构中,最后卷积操作时,卷积核的数量是32个,因此经过Focus结构,特征图的大小变成30430432。

而yolov5m的Focus结构中的卷积操作使用了48个卷积核,因此Focus结构后的特征图变成30430448。yolov5l,yolov5x也是同样的原理。
b. 第二个卷积操作时,yolov5s使用了64个卷积核,因此得到的特征图是15215264。而yolov5m使用96个特征图,因此得到的特征图是15215296。yolov5l,yolov5x也是同理。
c. 后面三个卷积下采样操作也是同样的原理,这样大白不过多讲解。
四种不同结构的卷积核的数量不同,这也直接影响网络中,比如CSP1,CSP2等结构,以及各个普通卷积,卷积操作时的卷积核数量也同步在调整,影响整体网络的计算量。
当然卷积核的数量越多,特征图的厚度,即宽度越宽,网络提取特征的学习能力也越强。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

时间的情敌

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

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

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

打赏作者

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

抵扣说明:

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

余额充值