yolov8模型结构

本文详细解析了Yolov8的backbone结构,包括卷积层、池化操作、空间金字塔池化(SPPF)以及head连接部分。介绍了如何通过参数调整控制模型深度和宽度,以及特征图的计算方法。
摘要由CSDN通过智能技术生成

backbone结构:

from:

-n,代表是从前n层获得的输入

-1,表示从前一层获得输入

repeats:

表示模块的数目

Module:

表示网络模块的名称

args:

表示向不同模块内传递的参数

[输出通道数(ch_out),卷积核(kernel),步长(stride),padding(填充),groups(分组)]

这里没有输入通道数,原因是都是上一层的输出

具体的程序注释如下:

backbone:
  # [from, repeats, module, args]
  - [-1, 1, Conv, [64, 3, 2]]  # 0-P1/2         第0层,使用64个3x3的卷积核,步长为2进行卷积,得到P1/2特征图
  - [-1, 1, Conv, [128, 3, 2]]  # 1-P2/4        第1层,使用128个3x3的卷积核,步长为2进行卷积,得到P2/4特征图
  - [-1, 3, C2f, [128, True]]                  #第2层,进行3次池化操作,每次操作使用128个通道,最后一次操作使用降维(True)
  - [-1, 1, Conv, [256, 3, 2]]  # 3-P3/8        第3层,使用256个3x3的卷积核,步长为2进行卷积,得到P3/8特征图
  - [-1, 6, C2f, [256, True]]                  #第4层,进行6次池化操作,每次操作使用256个通道,最后一次操作使用降维(True)
  - [-1, 1, Conv, [512, 3, 2]]  # 5-P4/16       第5层,使用512个3x3的卷积核,步长为2进行卷积,得到P4/16特征图
  - [-1, 6, C2f, [512, True]]                  #第6层,进行6次池化操作,每次操作使用512个通道,最后一次操作使用降维(True)
  - [-1, 1, Conv, [1024, 3, 2]]  # 7-P5/32      第7层,使用1024个3x3的卷积核,步长为2进行卷积,得到P5/32特征图
  - [-1, 3, C2f, [1024, True]]                 #第8层,进行3次池化操作,每次操作使用1024个通道,最后一次操作使用降维(True)
  - [-1, 1, SPPF, [1024, 5]]  # 9               第9层,使用1024个通道的SPPF(空间金字塔池化)层,使用5个不同大小的池化核进行池化操作

然后,P1/2表示进行操作后的图形大小

举例,yolov8的输入为:3x640x640

args:为[64,3,2],[ch_out,kernel,stride]

特征图计算公式为:

Feature_new(W,H)=(Feature_old-kernel+2*padding)/stride+1

=(640-3+2*1)/(2+1)=320,为原图的一半

head结构:

head:连接部分

10,12,13,15,16,18,19,21层与backbone中层含义一样

11层的意思为:

[-1,6]:将上一层和第6层进行连接

1:重复次数为1

concat:层的名字(意思为连接)

14,17,20层以此类推

22层次的意思为:

[15,18,21]:15层,18层,21层,进行检测

[nc]:为目标的数量

scales部分

此部分为模型的参数,有n,s,m,l,x,5个不同的版本

[depth,width,max_channels]

depth:用于控制模型的深度,仅在repeats不等于1的时候启用

width:用于控制模型的宽度,主要用于args中的ch_out

举例:

以n模型下的,第一层和第三层为例,

 第一层:[-1, 1, Conv, [64, 3, 2]] # 0-P1/2

此时卷积核为64*0.25=16

第三层:[-1, 3, C2f, [128, True]]

此时的重复次数为3*0.33=1

最后附上官网的结构图

到此结束,随着学习会更新变化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值