YOLOV5模型详解

前言

YOLOV5有几种不同的架构,如:YOLOv5s、YOLOv5m、YOLOV5l、YOLOV5x四个版本。文件中,这几个模型的结构基本-样,不同的是depth multiple模型深度和width muliple模型宽度这两个参数。就和我们买衣服的尺码大小排序一样,YOLOV5s网络是YOLOV5系列中深度最小,特征图的宽度最小的网络。其他的三种都是在此基础上不断加深,不断加宽。
在这里插入图片描述
YOLOV5算法性能测试图:
在这里插入图片描述
YOLOV5特点:适合于移动端部署,模型小,速度快

一、网络结构

YOLOV5s的网络结构如下:
在这里插入图片描述(1) 输入端 : Mosaic 数据增强、自适应锚框计算、自适应图片缩放
(2) Backbone : Focus结构,CSP结构
(3) Neck : FPN+PAN结构
(4) Head : CIOU _Loss
基本组件:
Focus: 基本上就是YOLO V2的passthrough。
CBL: 由Conv+Bn+Leaky_relu激活函数三者组成
CSP1_X: 借鉴CSPNet网络结构,由三个卷积层和X个Res unint模块Concate组成。
CSP2_X:不再用Res unint模块,而是改为CBL。
SPP: 采用1x1,5x5,9x9,13x13的最大池化的方式,进行多尺度融合。

二、输入端

1.Mosaic数据增强
YOLOV5在输入端采用了Mosaic数据增强,Mosaic 数据增强算法将多张图片按照一定比例组合成一张图片,使模型在更小的范围内识别目标。Mosaic 数据增强算法参考 CutMix数据增算法。CutMix数据增算法使用两张图片进行拼接,而 Moaic 数据增强算法一般使用四张进行拼接,但两者的算法原理是非常相似的。
在这里插入图片描述
Mosaic数据增强的主要步骤为:
(1) 随机选取图片拼接基准点坐标 (xc,yc) ,另随机选取四张图片。
(2)四张图片根据基准点,分别经过尺寸调整和比例缩放后,放置在指定尺寸的大图的左上,右上,左下,右下位置。
(3) 根据每张图片的尺寸变换方式,将映射关系对应到图片标签上。
(4)依据指定的横纵坐标,对大图进行拼接。处理超过边界的检测框坐标。
采用Mosaic数据增强的方式有几个优点:
(1)丰富数据集: 随机使用4张图像,随机缩放后随机拼接,增加很多小目标,大大增加了数据多样性。。
(2) 增强模型鲁棒性: 混合四张具有不同语义信息的图片,可以让模型检测超出常规语境的目标。
(3)加强批归一化层 (Batch Normalization) 的效果: 当模型设置 BN 作后,训练时会尽可能增大批样本总量 (BatchSize),因为BN 原理为计算每一个特征层的均值和方差,如果批样本总量越大,那么 BN 计算的均值和方差就越接近于整个数据集的均值和方差,效果越好。
(4)Mosaic 数据增强算法有利于提升小目标检测性能: Mosaic 数据增图像四张原始图像拼接而成,这样每张图像会有更大概率自含小目标,从而提升了模型的检测能力。
2 自适应锚框计算
在目标检测算法中,锚框是指在输入图像上定义的一些预先设定好的矩形框,用于检测不同尺度和宽高比的目标。
传统的目标检测算法中,通常需要手动设置锚框的大小和宽高比等参数。然而,这些参数的选择往往需要经验和调试,容易出现不稳定和不准确的情况。
为了解决这个问题,自适应锚框的方法应运而生。自适应锚框的思想是通过学习的方式自动计算出最适合输入图像的锚框参数,而不需要手动设置。这种方法可以提高目标检测的精度和鲁棒性。
自适应锚框计算的方法主要有两种:
Anchor-free方法:该方法直接回归目标的位置和尺寸,不需要使用锚框。典型的Anchor-free方法包括CenterNet和CornerNet等。
Anchor-based方法:该方法使用锚框来检测目标,但是锚框的大小和宽高比等参数是根据输入图像自适应计算的。典型的Anchor-based方法包括RetinaNet和FSAF等。
总之,自适应锚框的方法可以避免手动设置锚框参数的问题,提高目标检测的精度和鲁棒性。同时,自适应锚框的方法也是目标检测领域的一个研究热点。
而 YOLOv5使用的是一种名为ATSS(Adaptive Training Sample Selection)的自适应锚框计算方法。
ATSS是一种基于Anchor-based的目标检测算法,它通过学习的方式自动计算出最适合输入图像的锚框参数,而不需要手动设置。ATSS算法的核心思想是,在训练过程中,根据样本与锚框的匹配度(即交并比IoU),自适应地选择正负样本,从而有效地降低了样本的影响,并提高了检测精度。ATSS算法在YOLOv5中的应用,使得YOLOv5在目标检测任务中取得了较为出色的性能表现。
3 自适应图片缩放
在YOLOv5中,自适应图片缩放(Adaptive Image Scaling)是一种基于目标尺度的图像缩放方式,它可以自适应地缩放输入图像的尺寸,以适应不同尺度目标的检测。
以YOLOv5s为例,详细介绍一下自适应图片缩放的原理和步骤:
在这里插入图片描述
总之,YOLOv5中的自适应图片缩放是一种基于目标尺度的图像缩放方式,它可以自适应地缩放输入图像的尺寸,以适应不同尺度目标的检测。这种方法可以有效地解决目标检测中存在的尺度不一致问题,提高检测精度和鲁棒性。

三、Backbone

(1)Focus结构
Focus模块在YOLOV5中是图片进入Backbone前,对图片进行切片操作,具体操作是在一张图片中每隔一个像素拿到一个值,类似于邻近 下采样,这样就拿到了四张图片,四张图片互补,长得差不多,但是没有信息丢失,这样一来,将W、H信息就集中到了通道空间,输入通道扩充了4倍,即拼接起来的图片相对于原先的RGB三通道模式变成了12个通道,最后将得到的新图片再经过卷积操作,最终得到了没有信息丢失情况下的二倍下采样特征图。
以YOLOV5s为例,原始的640 640 * 3的图像输入Focus结构,采用切片操作,先变成320 x 320 x 12的特征图,再经过一次卷积操作,最终变成320 x 320 x 32的特征图。
在这里插入图片描述
作用: 可以使信息不丢失的情况下提高计算力。
不足: Focus 对某些设备不支持且不友好,开销很大,另外切片对不产的话模型就崩了。
后期改进:在新版中,YOLOV5 将Focus 模块替换成了一 个6x6 的卷积层。两者的计算量是等价的,但是对于一些 GPU 设备,使用6x 6 的卷积会更加高效。
在这里插入图片描述
(2)CSP结构
YOLOv4网络结构中,借鉴了CSPNet的设计思路,在主千网络中设计了CSP结构。
在这里插入图片描述
YOLOV5与YOLOV4不同点在于,YOLOV4中只有主于网络使用了CSP结构。而YOLOV5中设计了两种CSP结构,以YOLOV5s网络为
例,CSP1_X结构应用于Backbone主干网络,另一种CSP2_X结构则应用于Neck中。
![在这里插入图片描述](https://img-blog.csdnimg.cn/9802309ca0ed4364be3462f932778342.png
在这里插入图片描述
3.Neck网络
YOLOv5中的Neck网络是指在骨干网络的基础上加入的中间特征提取网络,主要用于增强模型的特征表达能力和感受野,进一步提升模型的检测性能。
YOLOv5中采用了两种不同的Neck网络结构:SPP和PAN。
在这里插入图片描述
在YOLOv5中,SPP和PAN结构可以相互配合使用,以提高模型的检测性能。SPP结构可以增强模型的感知能力和尺度不变性,而PAN结构可以增强多尺度特征的融合能力。
五、Head
(1) Bounding box损失函数
YOLO V5采用CIOU LOSS 作为bounding box 的损失函
(2) NMS非极大值
NMS 的本质是搜索局部极大值,抑制非极大值元素。
非极大值抑制,主要就是用来抑制检测时几余的框。因为在目标测中,在同一目标的位置上会产生大量的候选框,这些候选框相互之间可能会有重叠,所以我们需要利用非极大值抑制找到最佳的目标边界框,消除几余的边界框.
算法流程:
1.对所有预测框的置信度降序排序
2.选出置信度最高的预测框,确认其为正确预测,并计算他与其他预测框的 IOU
3.根据步骤2中计算的OU 去除重香度高的,IOU > threshold 值就直接删除
4.剩下的预测框返回第1步,直到没有剩下的为止
SoftNMS:
当两个目标靠的非常近时,置信度低的会被置信度高的框所抑制,那么当两个目标靠的十分近的时候就只会识别出一个 BBoX。为了解决这个问题,可以使用 softNMS.
它的基本思想是用稍低一点的分数来代替原有的分数,而不是像 NMS 一样直接置零
在这里插入图片描述

总结

总结一下,YOLO v5和前YOLO系列相比的改进:
(1)增加了正样本: 方法是邻域的正样本anchor匹配策略。
(2) 通过灵活的配置参数,可以得到不同复杂度的模型。、
(3) 通过一些内置的超参优化策略,提升整体性能
。(4)和yolov4一样,都用了mosaic增强,提升小物体检测性能

  • 27
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值