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。

相关推荐
代码方舟13 小时前
零信任架构实战:基于天远人企关联构建自动化供应链核心企业关联穿透与利益冲突审查网关
java·人工智能·架构·自动化
m4Rk_13 小时前
【论文阅读】Agent 记忆机制(113):Agentic Memory Management——从“检索相关信息”走向“管理 Agent 内部记忆”
论文阅读·人工智能·学习·开源·github
奈落2413 小时前
Dify 管对话、n8n 管执行:把‘大脑+手脚‘的组合架构对照三方平台资料读清楚
人工智能·架构·agent·ai 办公
虎鲸不是鱼13 小时前
AI 自动化逆向(三十一)函数体不可读 ≠ 函数不可命名
人工智能·自动化·大模型·逆向·ai逆向
dozenyaoyida13 小时前
AI与大模型新闻日报 | 2026-10-25
人工智能·ai·大模型·新闻
qianbo_insist13 小时前
# 在 Qwen3.5-2B 上把 GDN-1 无损换成 GDN-2:一次完整的架构手术实验(负结果)
人工智能·pytorch·python·架构
Solange__13 小时前
航天科普怎么用AI生成3D场景?从科学约束、尺度分层到网页展示的完整方案
图像处理·人工智能·游戏·3d·ai·自然语言处理·关卡设计
一个简单的TTS开发者13 小时前
搭建自媒体AI配音工作流选型指南:聚合工具与统一接口怎么选
人工智能·音频·媒体·tts
waterfeeling13 小时前
假目标也能验:独立验收、双 Bot 会诊、18:00 人闸
人工智能
镭封13 小时前
自媒体内容生产怎么提速?文案整理、配音与剪辑流程
人工智能·小程序·音视频·语音识别·媒体