云计算百科
云计算领域专业知识百科平台

深度学习篇---YOLOv8n网络参数详细解析

YOLOv8 网络参数详细解析

一、整体架构概览

这是一个 YOLOv8n(Nano) 模型的配置文件,具有 129层,315万参数,计算量 8.9 GFLOPS。

整体结构:
┌─────────────────┐
│ Input 640×640 │
├─────────────────┤
│ │
│ Backbone │───► 特征提取(10层)
│ │
├─────────────────┤
│ │
│ Neck │───► 特征融合(12层)
│ │
├─────────────────┤
│ │
│ Head │───► 检测输出(1层)
│ │
└─────────────────┘

二、参数详解

2.1 基本参数

nc: 80 # 检测类别数(COCO数据集80类)
scales:
n: [0.33, 0.25, 1024] # 深度因子, 宽度因子, 最大通道数

缩放参数含义:

  • 深度因子 0.33:将基础模块的重复次数缩放为原来的0.33倍

  • 宽度因子 0.25:将通道数缩放为原来的0.25倍

  • 最大通道数 1024:通道数的上限

2.2 骨干网络(Backbone)解析

2.2.1 骨干网络结构表
序号fromrepeatsmoduleargs输出特征图说明
0 -1 1 Conv [64, 3, 2] 320×320×64 P1/2 – 2倍下采样
1 -1 1 Conv [128, 3, 2] 160×160×128 P2/4 – 4倍下采样
2 -1 3 C2f [128, True] 160×160×128 特征提取
3 -1 1 Conv [256, 3, 2] 80×80×256 P3/8 – 8倍下采样
4 -1 6 C2f [256, True] 80×80×256 特征提取
5 -1 1 Conv [512, 3, 2] 40×40×512 P4/16 – 16倍下采样
6 -1 6 C2f [512, True] 40×40×512 特征提取
7 -1 1 Conv [1024, 3, 2] 20×20×1024 P5/32 – 32倍下采样
8 -1 3 C2f [1024, True] 20×20×1024 特征提取
9 -1 1 SPPF [1024, 5] 20×20×1024 空间金字塔池化
2.2.2 关键模块说明

1. Conv模块:

# args: [输出通道, 卷积核大小, 步长]
Conv(输入通道, 输出通道, 卷积核=3, 步长=2, padding=1)

2. C2f模块(改进的CSP结构):

# args: [输出通道, shortcut]
C2f(输入通道, 输出通道, n=重复次数, shortcut=True)

  • n=3/6:Bottleneck模块的重复次数

  • shortcut=True:使用残差连接

  • 相比C3模块,C2f有更多的分支连接

3. SPPF模块(空间金字塔快速池化):

# args: [输出通道, 池化核大小]
SPPF(输入通道, 输出通道, k=5)

  • 将输入分别通过5×5、5×5、5×5的最大池化

  • 然后拼接结果,增加感受野

2.3 颈部网络(Neck)解析

2.3.1 颈部网络结构表
序号fromrepeatsmoduleargs输入来源输出特征图说明
10 -1 1 nn.Upsample [None, 2, "nearest"] 层9 40×40×1024 2倍上采样
11 [-1, 6] 1 Concat [1] 层10,6 40×40×1536 拼接P4特征
12 -1 3 C2f [512] 层11 40×40×512 特征融合
13 -1 1 nn.Upsample [None, 2, "nearest"] 层12 80×80×512 2倍上采样
14 [-1, 4] 1 Concat [1] 层13,4 80×80×768 拼接P3特征
15 -1 3 C2f [256] 层14 80×80×256 P3/8输出
16 -1 1 Conv [256, 3, 2] 层15 40×40×256 下采样
17 [-1, 12] 1 Concat [1] 层16,12 40×40×768 拼接中间特征
18 -1 3 C2f [512] 层17 40×40×512 P4/16输出
19 -1 1 Conv [512, 3, 2] 层18 20×20×512 下采样
20 [-1, 9] 1 Concat [1] 层19,9 20×20×1536 拼接P5特征
21 -1 3 C2f [1024] 层20 20×20×1024 P5/32输出
2.3.2 特征金字塔结构(FPN+PAN)

[骨干网络]

P5: 20×20×1024

SPPF(层9)

┌──────┴──────┐
│ │
Upsample 保留P5
(2倍上采样) │
│ │
Concat(P4) │
(层11: 40×40×1536) │
│ │
C2f(层12) │
(40×40×512) │
│ │
┌───┴──────┐ │
│ │ │
Upsample 保留P4 │
(2倍上采样) (40×40×512) │
│ │ │
Concat(P3) │ │
(层14: 80×80×768) │ │
│ │ │
C2f(层15) │ │
(80×80×256)───┐ │ │
│ │ │ │
Conv下采样 │ │ │
(层16: 40×40×256) │ │
│ │ │ │
Concat(层12) │ │
(层17: 40×40×768) │ │
│ │ │ │
C2f(层18) │ │
(40×40×512)───┐ │ │
│ │ │ │
Conv下采样 │ │ │
(层19: 20×20×512) │ │
│ │ │ │
Concat(层9) │ │
(层20: 20×20×1536)│ │
│ │ │ │
C2f(层21) │ │
(20×20×1024) │ │
│ │ │
└──────────┴──────┘

Detect(层22)
[P3, P4, P5 三尺度检测]

2.4 检测头(Head)

– [[15, 18, 21], 1, Detect, [nc]] # 检测层

Detect模块参数:

  • 输入:[层15, 层18, 层21] 三个尺度的特征图

  • 输出:每个尺度预测框的位置、置信度、类别

三尺度检测:

  • P3/8(层15):80×80分辨率 → 检测小目标

    • 高分辨率,细节丰富

    • 适合小物体检测

  • P4/16(层18):40×40分辨率 → 检测中目标

    • 中等分辨率

    • 平衡细节和语义信息

  • P5/32(层21):20×20分辨率 → 检测大目标

    • 低分辨率,语义信息强

    • 适合大物体检测

  • 三、特征图维度变化

    假设输入图像为 640×640×3:

    阶段 层数 操作 输出维度 下采样倍数
    ——————————————————————–
    输入 – – 640×640×3 1x
    P1/2 0 Conv, stride=2 320×320×64 2x
    P2/4 1 Conv, stride=2 160×160×128 4x
    2 C2f×3 160×160×128 4x
    P3/8 3 Conv, stride=2 80×80×256 8x
    4 C2f×6 80×80×256 8x
    P4/16 5 Conv, stride=2 40×40×512 16x
    6 C2f×6 40×40×512 16x
    P5/32 7 Conv, stride=2 20×20×1024 32x
    8 C2f×3 20×20×1024 32x
    9 SPPF 20×20×1024 32x
    ——————————————————————–
    Neck 10 Upsample×2 40×40×1024 16x
    11 Concat(P4) 40×40×1536 16x
    12 C2f×3 40×40×512 16x
    13 Upsample×2 80×80×512 8x
    14 Concat(P3) 80×80×768 8x
    15 C2f×3 80×80×256 8x ← P3输出
    16 Conv, stride=2 40×40×256 16x
    17 Concat(层12) 40×40×768 16x
    18 C2f×3 40×40×512 16x ← P4输出
    19 Conv, stride=2 20×20×512 32x
    20 Concat(层9) 20×20×1536 32x
    21 C2f×3 20×20×1024 32x ← P5输出

    四、计算量分析

    4.1 参数分布

    总参数: 3,157,200
    ├── 骨干网络: ~45%
    ├── 颈部网络: ~50%
    └── 检测头: ~5%

    4.2 计算复杂度

    总计算量: 8.9 GFLOPS
    骨干网络主要计算层:
    1. 层4 (C2f×6): ~1.2 GFLOPS
    2. 层6 (C2f×6): ~2.4 GFLOPS
    3. 层8 (C2f×3): ~2.0 GFLOPS

    五、设计特点

    5.1 创新点

  • C2f模块:代替C3,更多的跨层连接

  • SPPF代替SPP:计算效率更高

  • 解耦头:分类和回归任务分离(在Detect内部实现)

  • Anchor-Free:不需要预设锚框

  • 5.2 性能优势

  • 多尺度检测:P3/8, P4/16, P5/32三个尺度

  • 特征融合充分:FPN+PAN结构,双向特征金字塔

  • 计算效率高:深度可分离卷积、轻量级设计

  • 5.3 适用场景

    • 小目标检测:关注P3/8输出

    • 实时检测:8.9 GFLOPS适合移动端

    • 通用检测:平衡速度与精度

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 深度学习篇---YOLOv8n网络参数详细解析
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!