YOLOv11 网络结构详解:一文看懂 Backbone、Head、C3k2、SPPF 和 Detect 检测头

YOLOv11 网络结构详解:一文看懂 Backbone、Head、C3k2、SPPF 和 Detect 检测头

前言

在使用 YOLOv11 进行目标检测时,我们经常会接触到 yolo11.yamlyolo11n.yaml 这样的模型配置文件。

很多初学者第一次看到这些配置时,可能会有几个疑问:

  • backbonehead 分别是什么意思?
  • ConvC3k2SPPFC2PSA 这些模块分别起什么作用?
  • P3/8、P4/16、P5/32 代表什么?
  • 为什么最后 Detect 要同时接收 3 个不同尺度的特征图?
  • YOLOv11n、YOLOv11s、YOLOv11m、YOLOv11l、YOLOv11x 的区别在哪里?

本文就结合 YOLOv11 的 yaml 配置文件,从网络结构的角度对 YOLOv11 进行拆解,帮助大家理解模型是如何完成目标检测的。


1. YOLOv11 的整体结构

YOLOv11 的目标检测网络整体可以分为三个主要部分:

  1. Backbone:主干特征提取网络
  2. Head:多尺度特征融合网络
  3. Detect:检测头,输出最终预测结果

简单来说,YOLOv11 的数据流向可以理解为:

输入图像
   ↓
Backbone 提取多层特征
   ↓
Head 融合不同尺度特征
   ↓
Detect 在 P3、P4、P5 三个尺度上进行检测
   ↓
输出目标类别、位置和置信度

其中,Backbone 负责从图像中提取特征,Head 负责融合不同层次的特征,Detect 则负责根据融合后的特征图输出检测结果。

需要注意的是,在 Ultralytics 的 yaml 配置中,head 部分不仅包含最终的检测头,也包含了常说的 Neck,也就是多尺度特征融合部分。


2. YOLOv11 的 yaml 文件怎么看?

在 YOLOv11 的 yaml 文件中,每一层通常采用下面这种格式:

[from, repeats, module, args]

例如:

- [-1, 1, Conv, [64, 3, 2]]

这四个部分分别表示:

字段 含义
from 当前层的输入来自哪一层
repeats 当前模块重复多少次
module 使用的模块类型
args 传入模块的参数

以上面这一行为例:

- [-1, 1, Conv, [64, 3, 2]]

它的含义是:

  • -1:输入来自上一层;
  • 1:该模块重复 1 次;
  • Conv:使用卷积模块;
  • [64, 3, 2]:输出通道数为 64,卷积核大小为 3,步长为 2。

由于步长为 2,因此这一层会对输入特征图进行下采样,使特征图的高和宽变为原来的一半。


3. scales:YOLOv11n、s、m、l、x 的区别

YOLOv11 的配置文件中有这样一部分:

scales:
  n: [0.50, 0.25, 1024]
  s: [0.50, 0.50, 1024]
  m: [0.50, 1.00, 512]
  l: [1.00, 1.00, 512]
  x: [1.00, 1.50, 512]

这里的 nsmlx 分别对应不同规模的模型:

  • YOLOv11n
  • YOLOv11s
  • YOLOv11m
  • YOLOv11l
  • YOLOv11x

它们不是完全不同的五套网络结构,而是在同一个基础结构上,通过深度和宽度缩放得到的不同模型。

其中:

[depth, width, max_channels]

分别表示:

参数 含义
depth 控制网络深度,影响模块重复次数
width 控制网络宽度,影响通道数
max_channels 限制最大通道数

一般来说:

  • YOLOv11n 参数量最小,速度最快,适合轻量化部署;
  • YOLOv11s 在速度和精度之间比较均衡;
  • YOLOv11m、YOLOv11l、YOLOv11x 模型更大,表达能力更强,但计算量和显存占用也更高。

因此,在实际项目中,并不是模型越大越好。

如果部署在边缘设备、嵌入式设备,或者对实时性要求比较高,可以优先考虑 YOLOv11n 或 YOLOv11s。

如果更关注检测精度,并且算力比较充足,可以尝试 YOLOv11m、YOLOv11l 或 YOLOv11x。


4. Backbone:主干特征提取网络

YOLOv11 的 Backbone 配置如下:

backbone:
  - [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
  - [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
  - [-1, 2, C3k2, [256, False, 0.25]]</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值