YOLOv5网络模型的结构原理讲解(全)

这篇具有很好参考价值的文章主要介绍了YOLOv5网络模型的结构原理讲解(全)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

YOLOv5有几种不同的架构,各网络模型算法性能分别如下:
YOLOv5网络模型的结构原理讲解(全)

1. 基本概念

YOLOv5是一种目标检测算法,其模型结构主要包括以下组成部分:

  • 输入端:YOLOv5的Head网络由3个不同的输出层组成,分别负责检测大中小尺度的目标。

  • Backbone网络:YOLOv5使用CSPDarknet53作为其主干网络,其具有较强的特征提取能力和计算效率。

  • Neck网络:YOLOv5使用的是FPN(FPN网络能够在不同的特征图层次上进行检测,可以提高目标检测的性能)网络,可以融合来自不同特征图层次的信息。

  • 输出端:损失函数,YOLOv5使用的是Focal Loss损失函数,该函数可以缓解目标检测中类别不平衡的问题,提高模型的性能。非极大值抑制(NMS),YOLOv5在输出结果后,会对重叠的目标框进行NMS处理,以得到最终的检测结果。

  • 激活函数,YOLOv5使用的是Mish激活函数,该函数是一种替代ReLU的激活函数,可以提高模型的性能。

总体来说,YOLOv5的模型结构相对简单,但其使用了多种技术和策略,如CSP结构、FPN网络、Mish激活函数和Focal Loss损失函数等,以提高模型的性能和鲁棒性。

配合代码可看我这篇文章:Yolov5 代码从入门到畅通(v6.2) 附代码注释

2. 输入端

输入端 主要由Mosaic 图像增强、自适应锚框计算 以及 自适应图片缩放 组成

2.1 Mosaic 图像增强

补充:
YOLOv5图像增强支持多种模式,包括以下几种:

- Mosaic模式:将四张不同的图像拼接成一张图像,用于增加数据集的多样性。

- Random模式:包含多种图像增强方式,如随机缩放、随机裁剪、随机旋转、随机亮度调整、随机对比度调整等,可以随机地选择其中一种或多种方式进行图像增强。

- MixUp模式:将两张不同的图像进行混合,用于增加数据集的多样性和防止过拟合。

- CutMix模式:将两张不同的图像进行裁剪混合,用于增加数据集的多样性和防止过拟合。

- GridMask模式:通过在图像中加入遮罩,可以增加数据集的多样性和防止过拟合。

- AutoAugment模式:通过搜索最优的数据增强策略来提高模型的性能。
  • 基本概念:Mosaic图像增强是一种目标检测中常用的数据增强方法,它可以通过组合多个不同的图像来生成新的训练图像。

  • 主要作用:Mosaic图像增强可以增加训练集的多样性和难度,有助于提高目标检测模型的鲁棒性和泛化能力。同时,Mosaic图像增强还可以降低过拟合风险,提高模型的训练效果。

  • 主要步骤:随机选择四张不同的图像,将这四张图像随机拼接成一张大图像,其中每个小图像的位置和大小都是随机的。(对于大图像中的每个目标,重新计算其在大图像中的位置和大小。在大图像中标注每个目标的新位置和大小,并生成新的标注信息。)

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

  • Mosaic4 load会随机选择4张不同的图像,并将它们拼接在一起,形成一张包含4个不同图像的大图像。然后,将大图像作为训练集中的一张图像,对其进行数据增强操作,如随机裁剪、大小变换等。这样可以增加训练集的多样性和难度,提高目标检测模型的鲁棒性和泛化能力。

  • Mosaic9 load则会随机选择9张不同的图像,并将它们拼接在一起,形成一张包含9个不同图像的大图像。然后,对大图像进行数据增强操作,如随机裁剪、大小变换等。这样可以进一步增加训练集的多样性和难度,提高模型的鲁棒性和泛化能力。

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

2.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在目标检测任务中取得了较为出色的性能表现。

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中的一种特殊卷积操作,它被用作网络中的第一个卷积层,用于对输入特征图进行下采样,以减少计算量和参数量。
YOLOv5网络模型的结构原理讲解(全)

具体来说,Focus结构可以将输入特征图划分成四个子图,并将这四个子图进行通道拼接,从而得到一个更小的特征图。假设输入特征图的大小为N×N×C,其中N为特征图的尺寸,C为通道数,则Focus结构的计算过程可以分为以下几个步骤:

  1. 将输入特征图进行通道分离,得到两个大小为N×N×C/4的特征图,记为x和y。

  2. 对x和y分别进行横向和纵向的步长为2的卷积操作,得到两个大小为N/2×N/2×C/4的特征图,记为x’和y’。

  3. 将x’和y’进行通道拼接,得到一个大小为N/2×N/2×C/2的特征图,记为z。

  4. 对z进行横向和纵向的步长为2的卷积操作,得到一个大小为N/4×N/4×C/2的特征图,即为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结构包括以下几个步骤:

  1. 将输入特征图分成两部分,一部分进行子网络的处理,另一部分直接进行下一层的处理。

  2. 在子网络中,先使用一个卷积层将输入特征图进行压缩,然后进行一系列卷积操作,最后再使用一个卷积层进行扩张。这样可以提取出相对较少的高层次特征。

  3. 在下一层中,将经过子网络处理的特征图与直接处理的特征图进行拼接,然后再进行一系列卷积操作。这样可以将低层次的细节特征和高层次的抽象特征结合起来,提高特征提取的效率。

CSP结构在YOLOv5中被广泛应用,包括骨干网络中的多个阶段以及头部网络(head)中的一些模块。它可以显著地减少网络的参数和计算量,同时提高特征提取的效率,从而加快模型的训练和推理速度。

补充:

在CSP结构中,有两种不同的实现方式:CSPDarknet53和CSPResNet50。总的来说,CSPDarknet53和CSPResNet50都采用了CSP结构进行特征提取,但具体的实现方式略有不同。它们在YOLO系列目标检测模型中都取得了很好的效果。

  • CSPDarknet53是YOLOv4中提出的一种骨干网络,CSPDarknet53的结构类似于Darknet53
  • CSPResNet50是YOLOv5中提出的一种骨干网络,CSPResNet50的结构类似于ResNet50

两者 主要是 加入了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结构

  • SPP(Spatial Pyramid Pooling)结构是一种金字塔池化结构,可以对不同大小的特征图进行池化,从而增强模型对不同尺度目标的感知能力。
    SPP结构的主要思想是通过对输入特征图进行不同大小的池化操作,将不同尺度的信息进行融合。
    常见的SPP结构有SPP1x1、SPP3x3和SPP5x5等,其中SPP1x1相当于全局平均池化,SPP3x3和SPP5x5则分别对特征图进行3x3和5x5的池化操作。

  • SPPF(Spatial Pyramid Pooling Fusion)结构则是在SPP结构的基础上进一步引入了特征融合模块,以进一步提升模型的感知能力和检测性能。具体地,SPPF结构首先对输入特征图进行不同大小的池化操作,然后通过卷积操作将不同尺度的池化结果进行融合,并最终输出融合后的特征图。SPPF结构的特点是可以自适应地融合不同尺度的特征信息,从而增强模型的特征表达能力和感知能力。

3.2 PAN结构

PAN(Path Aggregation Network)是一种用于目标检测的特征金字塔网络结构,旨在通过多层级的特征融合,提升模型对不同尺度目标的感知能力。

PAN结构主要由两个模块组成:特征金字塔模块和特征融合模块。

  • 特征金字塔模块通常由多个不同大小的卷积层和池化层组成,用于生成不同尺度的特征图。不同尺度的特征图可以提供不同粒度的目标信息,同时也可以克服特征图上的位置偏差。

  • 特征融合模块用于将不同尺度的特征图进行融合,以提升模型的特征表达能力和感知能力。
    常见的特征融合方法有横向特征融合和纵向特征融合。
    1.横向特征融合主要是将不同尺度的特征图进行级联,形成多尺度特征图。
    2.纵向特征融合主要是将不同尺度的特征图进行聚合,通过加权平均等方式进行融合。
    PAN结构中的特征融合模块使用了自上而下的特征聚合方式,即从上往下通过特征融合模块逐层融合特征,从而形成更为强大的特征表示。

总之,PAN结构通过特征金字塔和特征融合两个模块的组合,能够有效地提升目标检测的性能。

4. 输出端

YOLOv5的输出端主要是预测框,每个预测框由以下信息组成:

  • 置信度(confidence score):表示该框内是否存在目标的概率,取值范围为0到1。

  • 类别概率(class probabilities):表示该框内目标属于各个类别的概率,一般是预先定义好的类别数量。

  • 边界框位置(bounding box coordinates):表示目标的位置和大小,一般用矩形框来表示。

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损失函数,公式如下:
YOLOv5网络模型的结构原理讲解(全)
YOLOv5网络模型的结构原理讲解(全)

补充如下:

DIOU、GIOU和CIOU都是目标检测中用于计算边界框距离的指标,它们都是对传统的IoU(Intersection over Union)指标的改进和扩展。

  • DIOU(Distance IoU)是在IoU的基础上引入了中心点距离,它可以有效地缓解定位误差对目标检测性能的影响。具体而言,DIOU的计算公式如下:
    YOLOv5网络模型的结构原理讲解(全)
    其中, I o U ( A , B ) IoU(A,B) IoU(A,B)表示边界框 A A A B B B之间的IoU值, d c ( A , B ) d_c(A,B) dc(A,B)表示边界框 A A A B B B之间的中心点距离, ω \omega ω表示图像对角线长度。

  • GIOU(Generalized IoU)在DIOU的基础上进一步引入了边界框面积的比率,可以有效地缓解尺度变化对目标检测性能的影响。具体而言,GIOU的计算公式如下:
    YOLOv5网络模型的结构原理讲解(全)
    其中, c ( A , B ) c(A,B) c(A,B)表示边界框 A A A B B B之间的最小包含框的面积, α \alpha α是一个可调的参数,用于平衡中心点距离和尺度比率对目标检测性能的影响。

  • CIOU(Complete IoU)在GIOU的基础上进一步引入了角点距离的概念,可以有效地缓解旋转和倾斜对目标检测性能的影响。具体而言,CIOU的计算公式如下:
    YOLOv5网络模型的结构原理讲解(全)
    其中, s ( A , B ) s(A,B) s(A,B)表示边界框 A A A B B B之间的角点距离, α \alpha α是一个可调的参数,用于平衡中心点距离、尺度比率和角点距离对目标检测性能的影响。

总体来说,DIOU、GIOU和CIOU都是一种更加综合、更加准确的边界框距离度量方式,可以有效地提升目标检测性能。

4.2 NMS非极大值抑制

在目标检测任务中,一个物体可能被多个预测框检测出来,为了避免对同一个物体进行多次检测,需要对重复的预测框进行过滤,这个过程就是非极大值抑制(Non-maximum suppression,简称NMS)。

在YOLOv5中,NMS主要是通过以下几个步骤实现的:

  1. 首先,对所有预测框按照置信度从高到低进行排序。

  2. 然后,从置信度最高的预测框开始,依次遍历每个预测框,判断该预测框与后面所有预测框之间的IOU值是否大于一定的阈值(一般为0.5或0.6)。

  3. 如果IOU值大于阈值,则将该预测框从候选框列表中剔除,否则保留该预测框。

  4. 继续遍历下一个预测框,重复上述步骤,直到所有预测框都被遍历一遍。

  5. 最终,保留下来的预测框就是经过NMS处理后的结果,即每个物体只对应一个预测框。

NMS算法的核心是通过比较重复预测框之间的IOU值,去除冗余的预测框,保留最优的结果。在YOLOv5中,NMS可以避免同一个物体被重复检测的问题,提高了检测的精度和效率。文章来源地址https://www.toymoban.com/news/detail-454269.html

到了这里,关于YOLOv5网络模型的结构原理讲解(全)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • YOLOv5代码解析——模型结构篇

    YOLOv5🚀出到第七个版本了( •̀ ω •́ )✧,同时支持 图片分类 、 目标检测 与 实例分割 ;我们在跑通过模型训练与推理后,可以尝试改进模型😀,或者根据任务需求来修改网络结构与损失函数等等。 本文分享一下,在模型结构方面,如何快速理解源码。 https://github.com/s

    2023年04月26日
    浏览(91)
  • YOLOv5网络结构完全解读【源码+手绘网络结构+模块结构】

    🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 YOLOv5网络结构详解 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 虽然寒假前就用YOLOv5跑完好几个数据集了,但是一直没有深究其网络结构及特点。开学后的一个多

    2024年02月03日
    浏览(40)
  • pytorch yolov5网络结构

    2024年02月12日
    浏览(38)
  • YOLOv5网络结构,训练策略详解

    前面已经讲过了Yolov5模型目标检测和分类模型训练流程,这一篇讲解一下yolov5模型结构,数据增强,以及训练策略。 官方地址 :https://github.com/ultralytics/yolov5 yolov5模型训练流程 :https://blog.csdn.net/qq_45066628/article/details/129470290?spm=1001.2014.3001.5501 Yolov5 (v6.2) 使用自己的数据训练分类

    2023年04月18日
    浏览(53)
  • yolov5目标检测神经网络——损失函数计算原理

    前面已经写了4篇关于yolov5的文章,链接如下: 1、基于libtorch的yolov5目标检测网络实现——COCO数据集json标签文件解析 2、基于libtorch的yolov5目标检测网络实现(2)——网络结构实现 3、基于libtorch的yolov5目标检测网络实现(3)——Kmeans聚类获取anchor框尺寸 4、C++实现Kmeans聚类算法获

    2024年02月02日
    浏览(46)
  • YOLOv5源码中的参数超详细解析(2)— 配置文件yolov5s.yaml(包括源码+网络结构图)

    前言: Hello大家好,我是小哥谈。 配置文件yolov5s.yaml在YOLOv5模型训练过程中发挥着至关重要的作用,属于初学者必知必会的文件!在YOLOv5-6.0版本源码中,配置了5种不同大小的网络模型,分别是YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,其中YOLOv5n是网络深度和宽度最小但检测速度

    2024年02月08日
    浏览(51)
  • 改进YOLOv5:自研网络新结构,可作为创新点 | ALFNet YOLO | 创新必备

    在计算机视觉领域,深度学习已经取得了显著的进展,尤其是在目标检测任务中。然而,随着网络结构不断加深和复杂化#

    2024年02月03日
    浏览(57)
  • 配置使用云服务器训练神经网络模型——在阿里GPU服务器训练yolov5模型

    对于没有GPU训练机的人来讲,使用云服务器训练自己的模型应该最最优选择,只是在训练的时候开个按时计费的服务器,训练完成后保存环境镜像之后,可以完全停掉服务器,期间不产生任何费用,下次再训练时,启动环境就可以,很容易保护好自己的训练环境不受污染。

    2024年02月06日
    浏览(63)
  • YOLOv5改进实战 | 更换主干网络Backbone(四)之轻量化模型MobileNetV3

    前言 轻量化网络设计 是一种针对移动设备等资源受限环境的深度学习模型设计方法。下面是一些常见的轻量化网络设计方法: 网络剪枝 :移除神经网络中冗余的连接和参数,以达到模型压缩和加速的目的。 分组卷积 :将卷积操作分解为若干个较小的卷积操作,并将它们分

    2024年02月07日
    浏览(49)
  • YOLOv5源码逐行超详细注释与解读(6)——网络结构(1)yolo.py

    在上一篇中,我们简单介绍了YOLOv5的配置文件之一 yolov5s.yaml ,这个文件中涉及很多参数,它们的调用会在这篇 yolo.py 和下一篇 common.py 中具体实现。 本篇我们会介绍 yolo.py ,这是YOLO的特定模块,和网络构建有关。 在 YOLOv5源码中,模型的建立是依靠 yolo.py 中的函数和对象完

    2023年04月15日
    浏览(77)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包