YOLO v5模型的yaml文件参数理解

YOLO v5模型的yaml文件参数理解



前言

最近在修改YOLO v5一些模型时候或者加入一些新的东西进去,发现YOLO v5的模型文件也需要我们非常熟悉,这样添加模块就不会出现错误.


一、YOLO v5网络配置文件

YOLO v5的配置文件为yaml类型,yolov5.yaml文件通过yolo.py解析文件配置模型的网络结构。yaml文件配置网络的好处是十分的方便不需要像YOLO v3的config设置网络一样进行叠加,只需要在yaml配置文件中的参数进行修改即可。然后我对YOLO v5的配置文件最近进行了梳理与应用。

1.模型深度与宽度

从github拉一下代码文件,数据集配置的文件在data文件目录下,YOLO v5模型的配置文件在models文件下,我们会看到四个YOLO v5模型的配置文件yolov5s.yaml、yolov5n.yaml、yolov5m.yaml、yolov5l.yaml,我就以yolov5s.yaml讲解一下模型配置文件的参数

nc: 1  # number of classes
depth_multiple: 0.33  # model depth multiple
width_multiple: 0.50  # layer channel multiple
  • nc: 目标的类别数目,也是你数据集中类别标签的数目。
  • depth_multiple:模型深度(控制模块的数量),当模块的数量number不为1时,模块的数量= depth_multiple * number。
  • width_multiple:模型的宽度(控制卷积核的数量), 卷积核的数量= 数量*width_multiple

2. anchors

anchors:
  - [10,13, 16,30, 33,23]  # P3/8
  - [30,61, 62,45, 59,119]  # P4/16
  - [116,90, 156,198, 373,326]  # P5/32

YOLO v5已经在yolov5s.yaml预设好了输入图像为640*640分辨率对应的anchor尺寸,yolov5的anchor也是在大特征图上检测小目标,在小特征图上检测大目标。三个特征图,每个特征图上的格子有三种尺寸的anchor。
其实还可以随机生成3中的不同检测框,可以用一下代码来代替:

anchors: 3

二、网络结构部分

1.Backbone

  • 区分 [-1, 1, Conv, [64, 6, 2, 2] 中的含义 与 该通道运行解析时的[3, 32, 6, 2, 2]含义。
backbone:
  # [from, number, module, args]                                 
  [[-1, 1, Conv, [64, 6, 2, 2]],                     # 0-P1/2      
   [-1, 1, Conv, [128, 3, 2]],                       # 1-P2/4      
   [-1, 3, C3, [128]],                               # 2          
   [-1, 1, Conv, [256, 3, 2]],                       # 3-P3/8      
   [-1, 6, C3, [256]],                               # 4           
   [-1, 1, Conv, [512, 3
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小啊磊_Vv

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

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

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

打赏作者

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

抵扣说明:

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

余额充值