YOLO26 计算机视觉 - YOLO26 模型架构解析

大家好,我是 Java1234 小锋老师。最近正在更新《一天学会 YOLO26 计算机视觉 机器视觉 视频教程》系列专辑,感谢大家的支持与关注。

本课程将系统讲解 YOLO26 的完整知识体系,涵盖 YOLO26 简介、HelloWorld 项目实现、模型架构解析、图片与视频推理、摄像头实时检测、数据集与标注、训练自己的 YOLO26 模型、多任务(分割 / 姿态 / 分类 / OBB)以及模型导出等内容。

视频教程+课件+源码打包下载 :

链接:https://pan.baidu.com/s/1_NzaNr0Wln6kv1rdiQnUTg

提取码:0000

具体位置:进入【第三十一期】技术目录即可找到。

YOLO26 计算机视觉 - YOLO26 模型架构解析

1,整体架构:Backbone → Neck → Head

YOLO26 与所有 Ultralytics YOLO 模型一样,遵循经典的三段式流水线:

2,骨干网络 Backbone 详解

Backbone 负责从输入图像中提取多尺度语义特征,YOLO26 的骨干继承 YOLO11 设计并做了 SPPF 残差增强。

上图 :YOLO26 骨干网络 --- 逐层下采样 + C3k2 特征提取 + SPPF 空间池化 + C2PSA 注意力

2.1 各阶段详解
层索引 模块 输出尺度 通道数 作用
0 Conv s=2 P1/2 64 初始下采样
1-2 Conv + C3k2 P2/4 128→256 浅层特征
3-4 Conv + C3k2 P3/8 256→512 小目标特征 ★
5-6 Conv + C3k2 P4/16 512 中目标特征 ★
7-8 Conv + C3k2 P5/32 1024 大目标特征 ★
9 SPPF (残差) P5/32 1024 扩大感受野
10 C2PSA P5/32 1024 全局注意力

P3、P4、P5 三个尺度的特征图会被 Neck 和 Head 共同使用。P3 负责小物体,P5 负责大物体。

2.2 基础单元 Conv

所有大模块的基础单元是 Conv 块 (定义于 conv.py):

复制代码
Conv = Conv2d → BatchNorm → SiLU
  • Conv2d:标准 2D 卷积
  • BatchNorm:批归一化,稳定训练
  • SiLU (Swish):平滑激活函数,x · sigmoid(x)
2.3 SPPF 残差连接(YOLO26 新增)

SPPF(Spatial Pyramid Pooling - Fast)通过串联 3 次 MaxPool(kernel=5) 等效于 SPP(k=5,9,13),但计算量更低。

YOLO26 的创新:在 SPPF 输出端增加残差连接:

python 复制代码
# YOLO26 SPPF 伪代码
def forward(self, x):
    y = self.cv2(torch.cat([x, pool(x), pool²(x), pool³(x)], dim=1))
    return y + x  # ← YOLO26 新增残差 shortcut

c1 == c2 == 1024 时,输入输出通道一致,可以直接相加。这有助于:

  • 缓解深层网络的梯度消失
  • 保留原始空间信息

3,颈部网络 Neck:FPN + PAN

Neck 的核心任务是让不同尺度的特征图互相融合,使小物体也能获得大感受野的语义信息,大物体也能保留精细的空间定位。

图:Neck 的 FPN(自顶向下)+ PAN(自底向上)双向融合路径

3.1 FPN:自顶向下(Top-Down)

FPN 将高层语义信息传递到低层:

复制代码
P5 (1024ch) ──Upsample×2──┐
                           ├── Concat ── C3k2 ──→ 融合 P4
P4 (512ch)  ──────────────┘

融合 P4 ──Upsample×2──┐
                       ├── Concat ── C3k2 ──→ 融合 P3 (小目标)
P3 (512ch) ───────────┘

作用:让 P3 特征图"看到"全局语义,提升小目标检测能力。

3.2 PAN:自底向上(Bottom-Up)

PAN 将低层定位信息传递回高层:

复制代码
融合 P3 ──Conv s=2──┐
                     ├── Concat ── C3k2 ──→ 增强 P4
融合 P4 ────────────┘

增强 P4 ──Conv s=2──┐
                     ├── Concat ── C3k2 ──→ 增强 P5 (大目标)
P5 (1024ch) ────────┘

作用:让 P5 特征图保留精细空间细节,提升大目标定位精度。

3.3 Neck 输出

Neck 最终输出三个融合特征图,分别送入 Detect 头:

输出 尺度 步长 适合检测
层 16 P3/8 8 小物体 (< 32×32 px)
层 19 P4/16 16 中等物体
层 22 P5/32 32 大物体 (> 96×96 px)

4, 检测头 Detect:双头设计与端到端推理

YOLO26 检测头最大的架构变革是引入**双头(Dual-Head)**设计,实现原生 NMS-Free 推理。

图 :YOLO26 双头检测 --- One-to-One(推理)与 One-to-Many(训练辅助)

4.1 解耦头结构

每个金字塔层级上,Detect 头运行两个并行分支

复制代码
特征图 ──┬── Box Branch (cv2):  Conv 3×3 → Conv 3×3 → Conv2d(4, 1×1)
         │   输出: 4 个坐标 (x, y, w, h) --- 直接回归,无 DFL
         │
         └── Class Branch (cv3): DWConv → Conv 1×1 → DWConv → Conv2d(nc, 1×1)
             输出: nc 个类别分数
  • Box Branch:3 层卷积,最终输出 4 通道(直接坐标回归)
  • Class Branch:深度可分离卷积(DWConv),更轻量
4.2 One-to-One Head(默认推理头)
属性
输出形状 (N, 300, 6)
最大检测数 300 个/图
是否需要 NMS
标签分配 TAL topk=7 → topk2=1(唯一匹配)

每个真实目标只对应一个预测,模型内部自行处理重复框,推理时直接输出最终结果。

4.3 One-to-Many Head(训练辅助头)
属性
输出形状 (N, nc+4, 8400)
锚点数 8400 (80×80 + 40×40 + 20×20)
是否需要 NMS
标签分配 TAL topk=10(多正样本)

提供更丰富的正样本监督,帮助 One-to-One 头学习更好的特征表示。

4.4 双头设计的优势
复制代码
训练阶段:  One-to-Many (密集监督) + One-to-One (端到端监督)
                ↓ Progressive Loss 渐进过渡
推理阶段:  仅使用 One-to-One → 无 NMS → 更快更简单

这是一个精度-速度旋钮:追求极致精度可选 One-to-Many + NMS;追求部署简洁则用 One-to-One。

相关推荐
weixin_4462608514 分钟前
LLM数据智能体的追踪完整性:真实系统中可审计结构化推理的愿景
人工智能
阿龙AI日记16 分钟前
快速入门深度学习01:神经元和神经网络
人工智能·深度学习·神经网络
回眸&啤酒鸭17 分钟前
【回眸】AI新鲜事——Ox-Alpha 智能决策与场景化应用指南
人工智能
千里码aicood18 分钟前
基于CNN的音乐推荐系统设计与实现
人工智能·神经网络·cnn
2601_9662411626 分钟前
AI录音修音工具有哪些 录音修音用什么工具 AI音乐编辑器怎么选 录音修音一体的软件有哪些
人工智能
电商API_1800790524727 分钟前
自动化获取淘宝评论数据技术分享之API调用示例
大数据·运维·人工智能·自动化·网络爬虫
福建佰胜张工31 分钟前
西门子 ULTRAMAT23 分析仪 7MB2337‑0NH10‑3PW1 原理、调试、故障处理与现场运维全记录
大数据·运维·人工智能·自动化
__如果31 分钟前
医学大论文行文思路
人工智能
吨吨ai31 分钟前
Codex 实战:用 Git 分支 + pytest 构建可回滚的 AI 开发流程(2026年8月27日)
人工智能·git·pytest