ToB企服应用市场:ToB评测及商务社交产业平台

标题: YOLOv5网络模型的布局原理讲解(全) [打印本页]

作者: 忿忿的泥巴坨    时间: 2024-6-23 20:15
标题: YOLOv5网络模型的布局原理讲解(全)
前言

YOLOv5有几种不同的架构,各网络模型算法性能分别如下:

1. 根本概念

YOLOv5是一种目的检测算法,其模型布局重要包括以下构成部门:

总体来说,YOLOv5的模型布局相对简单,但其利用了多种技术和计谋,如CSP布局、FPN网络、Mish激活函数和Focal Loss丧失函数等,以进步模型的性能和鲁棒性。
配合代码可看我这篇文章:Yolov5 代码从入门到畅通(v6.2) 附代码解释
2. 输入端

输入端 重要由Mosaic 图像增强、自顺应锚框盘算 以及 自顺应图片缩放 构成
2.1 Mosaic 图像增强

  1. 补充:
  2. YOLOv5图像增强支持多种模式,包括以下几种:
  3. - Mosaic模式:将四张不同的图像拼接成一张图像,用于增加数据集的多样性。
  4. - Random模式:包含多种图像增强方式,如随机缩放、随机裁剪、随机旋转、随机亮度调整、随机对比度调整等,可以随机地选择其中一种或多种方式进行图像增强。
  5. - MixUp模式:将两张不同的图像进行混合,用于增加数据集的多样性和防止过拟合。
  6. - CutMix模式:将两张不同的图像进行裁剪混合,用于增加数据集的多样性和防止过拟合。
  7. - GridMask模式:通过在图像中加入遮罩,可以增加数据集的多样性和防止过拟合。
  8. - AutoAugment模式:通过搜索最优的数据增强策略来提高模型的性能。
复制代码

实战代码模块的YOLOv5s的项目代码中,设置了两种类型,分别是Mosaic4 load和Mosaic9 load,这是两种不同的数据增强方式,它们的区别在于利用的图像数量不同。

总之,Mosaic4 load和Mosaic9 load都是用于数据增强的方法,它们的区别在于利用的图像数量不同,Mosaic9 load利用的图像数量更多,相应地增加了练习集的多样性和难度,但也增加了盘算量和练习时间。
2.2 自顺应锚框盘算

在目的检测算法中,锚框是指在输入图像上定义的一些预先设定好的矩形框,用于检测不同尺度和宽高比的目的。
传统的目的检测算法中,通常必要手动设置锚框的大小和宽高比等参数。然而,这些参数的选择通常必要履历和调试,容易出现不稳固和禁绝确的情况。
为相识决这个问题,自顺应锚框的方法应运而生。自顺应锚框的头脑是通过学习的方式自动盘算出最适合输入图像的锚框参数,而不必要手动设置。这种方法可以进步目的检测的精度和鲁棒性。
自顺应锚框盘算的方法重要有两种:

总之,自顺应锚框的方法可以避免手动设置锚框参数的问题,进步目的检测的精度和鲁棒性。同时,自顺应锚框的方法也是目的检测领域的一个研究热门。
而 YOLOv5利用的是一种名为ATSS(Adaptive Training Sample Selection)的自顺应锚框盘算方法。

2.3 自顺应图片缩放

在YOLOv5中,自顺应图片缩放(Adaptive Image Scaling)是一种基于目的尺度的图像缩放方式,它可以自顺应地缩放输入图像的尺寸,以顺应不同尺度目的的检测。
以YOLOv5s为例,详细先容一下自顺应图片缩放的原理和步骤:
阶段过程预处置惩罚阶段首先,输入图像将被缩放到一个基准尺寸,即YOLOv5s中的默认基准尺寸是640x640像素

如果输入图像尺寸小于基准尺寸,则会通过插值算法将其缩放到基准尺寸;如果输入图像尺寸大于基准尺寸,则会将其缩放到一个较小的尺寸,并在后续的缩放过程中进行恰当调整。网络输入阶段在图像输入到网络之前,YOLOv5会根据图像中最大目的的尺度,动态地调整输入图像的尺寸。具体来说,YOLOv5会盘算出图像中最大目的的尺寸,然后根据肯定的缩放规则将图像缩放到一个恰当的尺寸,以确保最大目的的尺寸可以被检测到。

例如,在YOLOv5s中,如果最大目的的尺寸小于80x80像素,则将图像缩放到640x640像素;如果最大目的的尺寸大于80x80像素但小于160x160像素,则将图像缩放到1280x1280像素;如果最大目的的尺寸大于160x160像素,则将图像缩放到1920x1920像素。网络输出阶段在网络输出时,YOLOv5会根据猜测框的位置和尺寸,将检测效果映射回原始图像坐标系。由于输入图像的尺寸大概被缩放过,因此必要进行相应的反缩放操作,以便将检测效果映射回原始图像坐标系中。 总之,YOLOv5中的自顺应图片缩放是一种基于目的尺度的图像缩放方式,它可以自顺应地缩放输入图像的尺寸,以顺应不同尺度目的的检测。这种方法可以有效地办理目的检测中存在的尺度不划一问题,进步检测精度和鲁棒性。
3. Backbone层

Backbone层重要由Focus布局 以及 CSP布局 构成
3.1 Focus布局

YOLOv5中的Focus布局是一种用于特征提取的卷积神经网络层,用于将输入特征图中的信息进行压缩和组合,从而提取出更高条理的特征体现。
Focus布局是YOLOv5中的一种特殊卷积操作,它被用作网络中的第一个卷积层,用于对输入特征图进行下采样,以减少盘算量和参数量。

具体来说,Focus布局可以将输入特征图划分成四个子图,并将这四个子图进行通道拼接,从而得到一个更小的特征图。假设输入特征图的大小为N×N×C,其中N为特征图的尺寸,C为通道数,则Focus布局的盘算过程可以分为以下几个步骤:
由于Focus布局对输入特征图进行了下采样,因此可以有效地减少盘算量和参数量,同时保存了输入特征图中的告急信息,有助于进步模型的特征提取能力。在YOLOv5中,Focus布局被广泛用于各个卷积块的第一个卷积层,以实现对输入特征图的下采样和特征压缩。
特别注意的是:
YOLOv5的代码中偶尔会将Focus布局更换为卷积层。
这是因为Focus布局在实现上比较复杂,必要进行通道分离、卷积、通道拼接等操作,导致盘算量较大,倒霉于模型的练习和推理。
为了简化网络布局并进步运行效率,YOLOv5的作者采用了一种计谋,即将Focus布局更换为标准的卷积层,从而减少盘算量和参数量。
具体来说,YOLOv5中的卷积层是以步长为2的方式进行下采样的,与Focus布局类似,它可以实现对输入特征图的压缩和下采样。因此,将Focus布局更换为卷积层可以在肯定水平上进步模型的练习和推理效率,同时减少代码的复杂度和开辟难度。
必要注意的是,由于卷积层只能进行简单的特征压缩和下采样操作,大概会丧失一些输入特征图中的细节信息。因此,在某些必要较高特征提取能力的任务中,采用Focus布局大概会更加合适。
3.2 CSP布局

CSP(Cross Stage Partial)布局是YOLOv5中的一个告急构成部门,用于构建骨干网络(backbone)。CSP布局最初在CVPR 2020中提出,可以有效地减少网络参数和盘算量,同时进步特征提取的效率。
CSP布局的焦点头脑是将输入特征图分成两部门,一部门经过一个小的卷积网络(称为子网络)进行处置惩罚,另一部门则直接进行下一层的处置惩罚。然后将两部门特征图拼接起来,作为下一层的输入。
具体来说,CSP布局包括以下几个步骤:
CSP布局在YOLOv5中被广泛应用,包括骨干网络中的多个阶段以及头部网络(head)中的一些模块。它可以明显地减少网络的参数和盘算量,同时进步特征提取的效率,从而加快模型的练习和推理速率。
补充:
在CSP布局中,有两种不同的实现方式:CSPDarknet53和CSPResNet50。总的来说,CSPDarknet53和CSPResNet50都采用了CSP布局进行特征提取,但具体的实现方式略有不同。它们在YOLO系列目的检测模型中都取得了很好的效果。

两者 重要是 加入了CSP模块,用于进步特征提取的效率和减少模型的参数量。包括多个CSP模块,每个模块将输入特征图分成两部门,一部门进行子网络的处置惩罚,另一部门直接进行下一层的处置惩罚。然后将两部门特征图拼接起来,作为下一层的输入。如许可以将低条理的细节特征和高条理的抽象特征结合起来,进步特征提取的效率。
3. Neck网络

YOLOv5中的Neck网络是指在骨干网络的底子上加入的中央特征提取网络,重要用于增强模型的特征表达能力和感受野,进一步提升模型的检测性能。
YOLOv5中采用了两种不同的Neck网络布局:SPP和PAN。
Neck网络布局具体说明SPP(Spatial Pyramid Pooling)布局一种金字塔池化布局,可以对不同大小的特征图进行池化,从而增强模型对不同尺度目的的感知能力。具体地,SPP布局将输入特征图分别进行1x1、2x2和3x3的池化操作,并将不同尺度的池化效果拼接起来,作为SPP布局的输出。PAN(Path Aggregation Network)布局一种多尺度特征融合布局,它可以将不同条理的特征进行有效融合,而且避免信息丢失。具体地,PAN布局首先通过上采样将较高条理的特征图尺度与较低条理的特征图尺度对齐,然后通过特征融合模块将它们进行融合,并最终输出融合后的特征图。 在YOLOv5中,SPP和PAN布局可以相互配合利用,以进步模型的检测性能。SPP布局可以增强模型的感知能力和尺度稳固性,而PAN布局可以增强多尺度特征的融合能力。
3.1 SPP布局


3.2 PAN布局

PAN(Path Aggregation Network)是一种用于目的检测的特征金字塔网络布局,旨在通过多层级的特征融合,提升模型对不同尺度目的的感知能力。
PAN布局重要由两个模块构成:特征金字塔模块和特征融合模块。

总之,PAN布局通过特征金字塔和特征融合两个模块的组合,可以或许有效地提升目的检测的性能。
4. 输出端

YOLOv5的输出端重要是猜测框,每个猜测框由以下信息构成:

YOLOv5中的输出层一样平常包括三个不同尺度的特征图,每个特征图对应不同尺度的猜测框,每个猜测框包含的信息如上述所述。具体地,YOLOv5在输出层通过利用anchor box来猜测目的的界限框位置和大小,同时对每个anchor box对应的猜测效果利用softmax函数来盘算类别概率。
总之,YOLOv5的输出端可以输出图像中目的的位置、大小和类别等信息,以便后续的目的识别和跟踪等任务进行处置惩罚。
4.1 Bounding box丧失函数

YOLOv5中的Bounding box丧失函数采用IoU loss函数,重要用于衡量猜测的界限框与真实界限框之间的差异。
IoU loss是Intersection over Union(IoU)的一种变形,它是一种用于测量猜测界限框与真实界限框之间重叠水平的指标。在目的检测中,IoU通常被用来评估猜测框和真实框的重叠情况,以确定猜测框是否正确。
具体而言,对于每个猜测界限框,我们盘算其与所有真实界限框的IoU值,然后选择IoU最大的那个真实界限框作为其对应的匹配目的,从而盘算出其IoU loss。
其具体利用DIOU丧失函数,公式如下:


补充如下:
DIOU、GIOU和CIOU都是目的检测中用于盘算界限框间隔的指标,它们都是对传统的IoU(Intersection over Union)指标的改进和扩展。

总体来说,DIOU、GIOU和CIOU都是一种更加综合、更加正确的界限框间隔度量方式,可以有效地提升目的检测性能。
4.2 NMS非极大值抑制

在目的检测任务中,一个物体大概被多个猜测框检测出来,为了避免对同一个物体进行多次检测,必要对重复的猜测框进行过滤,这个过程就黑白极大值抑制(Non-maximum suppression,简称NMS)。
在YOLOv5中,NMS重要是通过以下几个步骤实现的:
NMS算法的焦点是通过比较重复猜测框之间的IOU值,去除冗余的猜测框,保存最优的效果。在YOLOv5中,NMS可以避免同一个物体被重复检测的问题,进步了检测的精度和效率。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4