yolov8学习笔记(一)网络结构

本文详细解读了YOLOv8的网络结构,包括backbone的C2f设计和C2F中的Bottleneck单元,以及head部分的10~21层结构。重点讲解了YOLOv8.yaml配置文件,涉及参数如nc、scales和loss计算。
摘要由CSDN通过智能技术生成

一、yolov8.yaml

YOLOv8详解 【网络结构+代码+实操】:

YOLOv8详解 【网络结构+代码+实操】-CSDN博客文章浏览阅读10w+次,点赞559次,收藏2.9k次。YOLOv8 算法的核心特性和改动可以归结为如下:提供了一个全新的 SOTA 模型,包括 P5 640 和 P6 1280 分辨率的目标检测网络和基于 YOLACT 的实例分割模型。和 YOLOv5 一样,基于缩放系数也提供了 N/S/M/L/X 尺度的不同大小模型,用于满足不同场景需求Backbone骨干网络和 Neck 部分可能参考了 YOLOv7 ELAN 设计思想,将 YOLOv5 的C3结构换成了梯度流更丰富的C2f结构,并对不同尺度模型调整了不同的通道数。_yolov8https://blog.csdn.net/zyw2002/article/details/128732494

YOLOv8源码逐行解读(yolov8.yaml):

YOLOv8源码逐行解读(yolov8.yaml)(更新中)-CSDN博客

yolov8官方文档:

主页 -Ultralytics YOLOv8 文档

yolov8.yaml是一个用于目标检测的模型配置文件,使用了YOLOv8算法。

该文件定义了网络的结构、超参数、输入输出等信息。

nc指定了目标检测任务中要识别的物体类别数,

scales定义了不同规模的模型参数,

backbone定义了模型【主干网络结构】,

head定义了目标检测任务的【头部网络结构】,

最后通过Detect函数输出检测结果。

这个模型可以根据不同的scale参数选择不同大小的模型进行训练和预测。

1、backbone

骨干网络和 Neck 部分可能参考了 YOLOv7 ELAN 设计思想,将 YOLOv5 的 C3 结构换成了梯度流更丰富的 C2f 结构,并对不同尺度模型调整了不同的通道数。

  # [from, repeats, module, args] 

from本层的来源,也就是输入。-1表示将上层的输出作为本层的输入。

repeats本层的重复次数。

module本层的名称。

args本层的参数。

Backbone和Neck的具体变化

a) 第一个卷积层的 kernel 从 6x6 变成了 3x3

b) 所有的 C3 模块换成 C2f,结构如下所示,可以发现多了更多的跳层连接和额外的 Split 操作

(1)特征图(计算公式)

(2)9层操作——卷积、C2f、SPPF

(2)C2f 

去掉了 Neck 模块中的 2 个卷积连接层

 

Bottleneck

YOLOv8的C2F使用了Bottleneck单元,但需要注意的是,Darknet所引入的Bottleneck不同于ResNet的Bottleneck。

此处大家记住一点即可,Bottleneck可以大大减少参数,降低计算量。

(2)SPPF

暂无

2、head

(1)10~21层

(1)22层——detect层

[15, 18, 21]代表将第15、18、21层的输出(分别是80*80*256、40*40*512、20*20*1024)作为本层的输入。

nc是数据集的类别数。

3、scales

4、网络模型解析

(1)Conv

  • 功能: 标准的卷积
  • 参数:输入通道数(c1), 输出通道数(c2), 卷积核大小(k,默认是1), 步长(s,默认是1), 填充(p,默认为None), 组(g, 默认为1), 扩张率(d,默认为1), 是否采用激活函数(act ,默认为True, 且采用SiLU为激活函数)

(1)Loss

Loss 计算过程包括 2 个部分: 正负样本分配策略和 Loss 计算。

笔记下载

https://wwm.lanzout.com/isyZD1p3puyj
密码:hoab

  • 12
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Pan_peter

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

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

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

打赏作者

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

抵扣说明:

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

余额充值