YOLOV8n.yaml
时间: 2024-12-28 21:23:18 浏览: 13
### YOLOv8n YAML 文件内容及配置说明
#### 模型基本信息
Ultralytics YOLO 🚀, AGPL-3.0 license 表明此代码由 Ultralytics 发布并遵循 AGPL-3.0 开源协议。YOLOv8 是一种用于目标检测的模型,使用 P3-P5 作为输出层[^2]。
#### 目标类别数量
`nc: 80` 定义了模型支持的目标类别数量,默认为 80 类,这与 COCO 数据集兼容。
#### 模型规模设置
对于 `YOLOv8n.yaml` 文件而言,其特定于 nano 版本 (n),这是最小巧但速度最快的版本之一。以下是具体参数:
```yaml
# Model version and type
depth_multiple: 0.33 # model depth multiple
width_multiple: 0.25 # layer channel multiple
```
这些乘数决定了网络层数量以及每层通道的数量比例,使得 nano 版本具有较少的计算资源需求却能保持一定性能水平。
#### 主干网络 Backbone
主干部分定义了特征提取的基础架构,在 nano 版本中通常会简化一些复杂度较高的组件来减少运算负担:
```yaml
backbone:
- [focus, [64, 3]] # Focus wh information into c-space
- [conv, [128, 3, 2]]
- [csp1, [128]]
- [conv, [256, 3, 2]]
- [csp2, [256]]
- [conv, [512, 3, 2]]
- [spp, [512]] # Spatial Pyramid Pooling
- [csp2, [512]]
```
这里包含了焦点层(Focus)、卷积层(Conv)、跨阶段局部网路(CSPNet) 和空间金字塔池化(SPP)[^4]。
#### Neck 结构
Neck 部分连接 backbone 和 head,负责多尺度融合等功能:
```yaml
neck:
- [conv, [256, 1, 1]]
- [upsample, []]
- [cat, [-1, 7]] # Concatenate with CSP2 output from backbone
- [csp1, [256, False]]
- [conv, [128, 1, 1]]
- [upsample, []]
- [cat, [-1, 4]] # Concatenate with CSP1 output from backbone
- [csp1, [128, False]]
- [conv, [128, 3, 2]]
- [cat, [-1, 11]]
- [csp1, [256, False]]
- [conv, [256, 3, 2]]
- [cat, [-1, 9]]
- [csp1, [512, False]]
```
通过上采样操作和跳跃连接实现不同层次间的信息交互。
#### Head 输出头
最后是预测头部的设计,它将处理后的特征图转换为目标框坐标、分类得分等最终输出形式:
```yaml
head:
- [detect, [[nc], [anchors]]]
```
其中 `nc` 对应前面提到的目标类别数目;而 anchors 则是一组预设边界框尺寸,帮助算法更好地适应各种形状的对象。
阅读全文