YOLOv8网络结构详解
深入浅出 YOLOv8 网络结构一张图看懂目标检测三件套Backbone / Neck / Head摘要本文面向目标检测入门者系统拆解 YOLOv8 的整体架构。从为什么选 YOLOv8谈起逐层讲清 Backbone特征提取、Neck特征融合实际藏在 head 段中、Head解耦头 Anchor-Free 检测头各自的作用与数据流并对照官方yolov8.yaml配置逐行解读帮助读者建立从原图到检测框的完整直觉。本文面向刚入门目标检测的同学把 YOLOv8 的整体架构拆成三层讲清楚。不涉及复杂公式重点是建立直觉。一、总概为什么大家都爱用 YOLOv8在众多 YOLO 系列YOLOv3/v5/v7/v8/v10/v11……先后出现的今天YOLOv8 依然是很多人做检测任务的首选。原因很简单它把好不好用这件事做到了极致社区最大、文档最全、教程最多你遇到的 99% 问题都能搜到现成答案兼容性最强主流数据集格式、训练框架都能接部署链路最成熟从 PyTorch 训练到 ONNX、TensorRT、量化、边缘端Jetson / 瑞芯微 / 安卓一条龙量化工具完善INT8 量化、剪枝方案成熟落地省心。所以即使有更新的 YOLO 陆续发布YOLOv8 依旧是工程落地最稳妥的青睐对象—— 学习它性价比最高。下面直接上 YOLOv8 的模型结构示意图图 1后文所有讲解都围绕它展开​二、整体架构三层的流水线先看下面这张整体网络架构图图 2整个 YOLOv8 就三层层级名称干啥的第 1 层Backbone骨干网络把图片转成模型更容易学的特征第 2 层Neck特征融合网络把不同尺度的特征融合生成融合图第 3 层Head检测头做最终判断目标是什么、在哪训练/推理过程就是一条流水线输入图像 → 第 1 层Backbone提取成各种特征图 → 第 2 层Neck把这些特征融合并生成特征融合图 → 第 3 层Head输出判断检测到的目标类别 位置框。记住这个三件套框架后面每一层都往里填内容就行。三、Backbone骨干网络1. 作用图像的特征提取工厂Backbone 的核心工作只有一句话输入一张图通过层层卷积和下采样把原始像素信息提取成不同尺度分辨率不同的特征图。对应三个关键输出尺度P380×80高分辨率保留细节 → 负责小目标、边缘纹理P440×40中分辨率兼顾细节与语义 → 负责中等目标P520×20低分辨率强语义 → 负责大目标、整体轮廓。2. 结构图与yolov8.yaml对照看先放一份标准的 YOLOv8n 配置文件你训练时用的就是这种# Parametersnc:1# number of classes你的类别数通用场景改成实际类别数量如 80scales:# model compound scaling constants, i.e. modelyolov8n.yaml will call yolov8.yaml with scale n# [depth, width, max_channels]n:[0.33,0.25,1024]# YOLOv8n summary: 225 layers, 3157200 parameters, 8.9 GFLOPs#s: [0.33, 0.50, 1024] # YOLOv8s summary: 225 layers, 11166560 parameters, 28.8 GFLOPs#m: [0.67, 0.75, 1024] # YOLOv8m summary: 295 layers, 25902640 parameters, 79.3 GFLOPs#l: [1.00, 1.00, 512] # YOLOv8l summary: 365 layers, 43691520 parameters, 165.7 GFLOPs#x: [1.00, 1.25, 512] # YOLOv8x summary: 365 layers, 68229648 parameters, 258.5 GFLOP# YOLOv8.0n backbonebackbone:# [from, repeats, module, args]-[-1,1,Conv,[64,3,2]]# 0-P1/2-[-1,1,Conv,[128,3,2]]# 1-P2/4-[-1,3,C2f,[128,True]]-[-1,1,Conv,[256,3,2]]# 3-P3/8-[-1,6,C2f,[256,True]]-[-1,1,Conv,[512,3,2]]# 5-P4/16-[-1,6,C2f,[512,True]]-[-1,1,Conv,[1024,3,2]]# 7-P5/32-[-1,3,C2f,[1024,True]]-[-1,1,SPPF,[1024,5]]# 9# YOLOv8.0n headhead:-[-1,1,nn.Upsample,[None,2,nearest]]-[[-1,6],1,Concat,[1]]# cat backbone P4-[-1,3,C2f,[512]]# 12-[-1,1,nn.Upsample,[None,2,nearest]]-[[-1,4],1,Concat,[1]]# cat backbone P3-[-1,3,C2f,[256]]# 15 (P3/8-small)-[-1,1,Conv,[256,3,2]]-[[-1,12],1,Concat,[1]]# cat head P4-[-1,3,C2f,[512]]# 18 (P4/16-medium)-[-1,1,Conv,[512,3,2]]-[[-1,9],1,Concat,[1]]# cat head P5-[-1,3,C2f,[1024]]# 21 (P5/32-large)-[[15,18,21],1,Detect,[nc]]# Detect(P3, P4, P5)小白提示scales里的n/s/m/l/x是模型大小档位[depth, width, max_channels]三个数控制网络多深、通道多宽、通道上限。你用的yolov8n就是最轻量的n档。从结构图图 3和配置对照看原图640×640×3分辨率 640×6403 个通道 RGB 三原色→ 经过第一个卷积Conv(k3, s2, p1)卷积核 3×3、步长 2、padding 1→ 输出320×320×64×w分辨率减半通道变成 64×w 个。这对应配置里的- [-1, 1, Conv, [64, 3, 2]] # 0-P1。下一个模块- [-1, 1, Conv, [128, 3, 2]] # 1-P2同理分辨率再减半、通道再翻倍。这里的w就是前面scales里的width宽度系数。比如 YOLOv8n 的width0.25配置写 64 通道实际就是64 × 0.25 16个通道。所以后面分析热力图时你看到的16 个通道就是这么来的。3. 细节拓展C2f 模块下面是 C2f 的细节结构图图 4它是 YOLOv8 引入的一种高效特征提取模块Split把输入通道分成两路——一路走shortcut直连一路进Bottleneck每个Bottleneck用 3×3 卷积提取空间特征且通道减半以减小运算量。这样能在不缩小分辨率的前提下把特征变得更干净、更有区分度C2f把每个 Bottleneck 的输出都拼接起来→ 多阶段特征全部保留避免特征丢失。4. 分析特征图与热力图现在能看出来了Backbone 层实际就是一系列 Conv 卷积核 C2f 模块对图片做改通道、改分辨率的操作。一张图会被转化成不同分辨率的特征图而且经过专门训练后部分通道的卷积核学成了边缘提取器部分学成了纹理 / 色彩梯度提取器。把单通道可视化出来就会出现边缘突出、色块区分明显的效果——这就是模型真正在看的东西。下面是第一个 Conv 核实际 16 个通道求均值生成的热力图关键直觉高分辨率特征图如 80×80每个像素对应原图很小一块区域只能看局部细节边缘、纹理看不到全局低分辨率特征图如 20×20每个像素对应原图很大一块区域感受野变大能看到物体整体轮廓和位置关系。⚠️ 注意模型最终是根据像素块转成的数字来做判断的不是直接看原图。随着不断卷积分辨率不断减小、通道数不断增加于是 Backbone 输出给 Neck 的三层P3 / P4 / P5分别携带小目标、中目标、大目标特征。下面是传递到 Neck 层的第 4/6/9 个模块处理后的图像P3 / P4 / P5可以明显看到SPPF 用更少的像素格表示了整张图低分辨率。举个例子原图一个小目标占 10 个像素 → 到 P3(80×80) 大约还有 1 个像素但到 P5(20×20) 会被压缩到不足 1 个像素特征直接丢失。所以P5 天然不负责小目标小目标交给高分辨率 P3P5 专攻大目标。四、Neck特征融合网络1. 作用特征的沟通协调官P3 / P4 / P5 传给 Neck 后做双向特征融合深层P5的强语义信息往浅层P3传递 → 帮小目标判断这到底是什么物体浅层P3的细节定位信息往深层P5传递 → 帮大目标修正物体的精确位置。下面是 Neck 层结构图图 7注意箭头方向是数据传递方向对应到配置注意 Ultralytics 把 Neck 写进了head段里# YOLOv8.0n headhead:-[-1,1,nn.Upsample,[None,2,nearest]]# 10 上采样-[[-1,6],1,Concat,[1]]# 11 cat backbone P4-[-1,3,C2f,[512]]# 12-[-1,1,nn.Upsample,[None,2,nearest]]# 13 上采样-[[-1,4],1,Concat,[1]]# 14 cat backbone P3-[-1,3,C2f,[256]]# 15 (P3/8-small)-[-1,1,Conv,[256,3,2]]# 16 下采样-[[-1,12],1,Concat,[1]]# 17 cat head P4-[-1,3,C2f,[512]]# 18 (P4/16-medium)-[-1,1,Conv,[512,3,2]]# 19 下采样-[[-1,9],1,Concat,[1]]# 20 cat head P5-[-1,3,C2f,[1024]]# 21 (P5/32-large)重要知识点YOLOv8 官方 YAML 只写backboneheadNeck 被包在 head 里面了即 Head Neck Detect。代码和模型结构对照方式和 Backbone 完全一样。2. 细节拓展上采样 拼接Concat看下图图 8Concat 是 C2f 和 Upsample 的合并输出结果可以明显看出Concat既有 P4 的特征也有 P5 的特征P4来自 6-C2f图像清晰知道目标在哪但不确定是啥P5来自 SPPF经 10-Upsample 放大到和 P4 同分辨率方便合并图像模糊知道是啥但不确定具体在哪。两者一融合就得到一张既知道位置、又知道类别的特征融合图。最终三个检测头Detect输入的 P3 / P4 / P5都已经是深浅层特征双向融合后的特征图但各自仍保留尺度偏向P3 偏小目标、P4 偏中目标、P5 偏大目标并不是完全一样的东西。五、Head检测头角色最终的决策裁判。核心工作接收 Neck 融合后的 P3 / P4 / P5 特征分别输出两类预测分类分支Cls.判断每个位置的目标是什么类别石头 / 树枝 / 叶子……回归分支Bbox.预测目标的精确位置和大小x、y、w、h。两个关键升级YOLOv8 相比旧版的重要改进解耦头Decoupled Head分类和回归完全分离成两个独立分支 → 避免任务冲突收敛更快、精度更高无锚框Anchor-Free直接预测目标中心不用再手动设计锚框anchor→ 训练更简单后处理 NMS 也更快。一句话总结Head 把融合后的特征转换成最终的目标类别 边界框坐标。六、小结把整篇串起来YOLOv8 就是一条三层流水线Backbone用 Conv C2f SPPF把原图变成 P3/P4/P5 三档特征小/中/大目标Neck藏在 head 里用上采样 拼接做双向融合让深浅特征互补Head解耦 无锚框输出类别和框。理解了三件套各自干什么再看任何一张 YOLO 结构图都不会懵。建议配合本文的yolov8.yaml配置边看边在本地把模型print出来对照印象会更深。参考资料Ultralytics 官方 YOLOv8 文档与yolov8.yaml源码。文中结构图与热力图为作者训练可视化所得。附一行代码看结构动手验证文中所有层级都能在本地打印出来对照跑下面这段即可需先pip install ultralyticsfromultralyticsimportYOLO# 加载模型并打印结构对应文中 yaml 各层层数 / 参数量 / GFLOPsmodelYOLO(yolov8n.yaml)# 看结构用 yaml看预训练权重用 yolov8n.ptmodel.info()# 终端会列出每一层的模块、输入输出通道、参数量把model.info()的输出和本文的backbone/head配置一行行对一遍三层流水线的理解会立刻扎实。创作声明本文由 AI 辅助整理与润色技术内容基于作者本人的目标检测训练实践与 Ultralytics 官方文档欢迎交流与指正。

相关新闻

基于FPGA的DDS信号发生器设计,生成频率可调的正弦波、三角波、锯齿波和方波

基于FPGA的DDS信号发生器设计,生成频率可调的正弦波、三角波、锯齿波和方波

一、需求概述采用EGo1 FPGA开发板,基于DDS原理,通过拨码开关选择输出的波形为正弦波(2’b00)、三角波(2’b01)、锯齿波(2’b10)或者矩形波(2’b11)&#xff0…

2026/8/10 8:57:51 阅读更多 →
华为交换机VLAN与Trunk配置实战指南

华为交换机VLAN与Trunk配置实战指南

1. 实验背景与核心目标 在中小型网络架构中,VLAN(虚拟局域网)技术是解决广播风暴和提高网络安全性的关键手段。本次实验通过两台交换机的级联配置,模拟企业办公网中常见的跨设备VLAN划分场景。不同于单台交换机的VLAN实验&#xf…

2026/8/10 8:57:51 阅读更多 →
3步快速解密网易云音乐NCM文件:ncmdump免费工具终极指南

3步快速解密网易云音乐NCM文件:ncmdump免费工具终极指南

3步快速解密网易云音乐NCM文件:ncmdump免费工具终极指南 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的加密NCM格式音乐文件无法在其他播放器播放而烦恼吗?ncmdump解密工具是你需要的…

2026/8/10 8:57:51 阅读更多 →

最新新闻

AI智能体协作新范式:策略相似性如何自发促进合作

AI智能体协作新范式:策略相似性如何自发促进合作

这次我们来看谷歌DeepMind团队在AI智能体协作领域的最新研究。这篇论文的核心不是介绍一个新模型或开源工具,而是通过一系列实验,揭示了一个反直觉的发现: 在重复博弈中,能力相似的AI智能体之间,更容易达成理性、稳定…

2026/8/10 9:46:18 阅读更多 →
学术人必会!AI 辅助搞定五大学术写作场景,效率翻倍(附专业提示词教程)

学术人必会!AI 辅助搞定五大学术写作场景,效率翻倍(附专业提示词教程)

各位同仁好,我是七哥。一个在高校里从事人工智能 相关领域研究,钻研用大模型AI实操的学术人。可以和七哥交流学术写作或Gemini、GPT、Claude 等大模型 学术实操相关问题,多多交流,相互成就,共同进步。 把AI用在学术写作上后,才发现是真的好用。有些做科研同仁,可能已…

2026/8/10 9:46:18 阅读更多 →
前端必会能力 - 网络请求  高可用封装  鉴权权限体系

前端必会能力 - 网络请求 高可用封装 鉴权权限体系

模块三:网络请求 & 高可用封装 & 鉴权权限体系 本模块为前端工程化核心基建,覆盖企业级Axios高可用封装、请求防抖/取消/重试、TS类型约束、双Token无感刷新、RBAC四层权限架构全体系。 解决项目请求混乱、重复请求、接口报错容错差、Token过期…

2026/8/10 9:46:18 阅读更多 →
GB/T 20986-2023 与 GB/Z 20986-2007 对比分析: 从“信息安全”到“网络安全”的范式升级

GB/T 20986-2023 与 GB/Z 20986-2007 对比分析: 从“信息安全”到“网络安全”的范式升级

GB/T 20986-2023 与 GB/Z 20986-2007 对比分析:从“信息安全”到“网络安全”的范式升级 一、背景 2023年12月1日,GB/T 20986-2023《信息安全技术 网络安全事件分类分级指南》正式实施,取代了沿用十六年之久的GB/Z 20986-2007。作为一线开发者和安全工程…

2026/8/10 9:46:18 阅读更多 →
C++变成的多线程同步

C++变成的多线程同步

C++多线编程通过上一节介绍的Release-Acquire抽象语义来保证共享变量的读写顺序,避免编译器/CPU乱序等的影响,除此之外我们还需要考虑多线程间同步的实现,本节我们介绍一下如何实现多线程同步。主要通过互斥锁和条件变量来实现 給出一段实例代码 #include <iostream>…

2026/8/10 9:46:18 阅读更多 →
AI时代最贵的不是算力,不是数据,不是模型——是知道“什么是对的“这件事本身

AI时代最贵的不是算力,不是数据,不是模型——是知道“什么是对的“这件事本身

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 让我们静下心来审视一下自己,是不是忙得有价值,忙得有意义,忙得有目的,看一看我们是不是因为忙而迷失了自己。如果我们仅是为了忙而忙,那不妨让…

2026/8/10 9:45:18 阅读更多 →

日新闻

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析&#xff1a;useGqlCSS、GqlCSS组件与getStyles实用指南 【免费下载链接】graphql-css A blazing fast CSS-in-GQL™ library. 项目地址: https://gitcode.com/gh_mirrors/gr/graphql-css GraphQL-CSS是一个基于GraphQL的CSS-in-GQL™库&#xff0…

2026/8/10 0:00:02 阅读更多 →
告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍&#xff1a;KISS Translator 双语翻译插件终极指南 【免费下载链接】kiss-translator A simple, open source bilingual translation extension & Greasemonkey script (一个简约、开源的 双语对照翻译扩展 & 油猴脚本) 项目地址: https://gitcode.com/…

2026/8/10 0:00:02 阅读更多 →
BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器&#xff1a;游戏插件配置的终极可视化解决方案 【免费下载链接】BepInEx.ConfigurationManager Plugin configuration manager for BepInEx 项目地址: https://gitcode.com/gh_mirrors/be/BepInEx.ConfigurationManager 你是否曾经因为游戏插件的复杂…

2026/8/10 0:00:02 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑&#xff1a;baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码&#xff08;维护中 rm repo&#xff09; 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/10 1:05:29 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片&#xff1a;Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/10 1:05:29 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身&#xff0c;而应重视模型外的系统搭建&#xff0c;即Harness。提出AgentModelHarness的实用公式&#xff0c;详细介绍Harness的四个层次&#xff1a;持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/10 1:05:29 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速&#xff1a;macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/9 17:05:02 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南&#xff1a;3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗&#xff1f;ncmdump解密工具帮你轻松解决这个困…

2026/8/10 1:05:29 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片&#xff1a;为英语学习 App 打造桌面级学习助手适用平台&#xff1a;HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0&#xff08;API 26 Beta&#xff09;新增了 AgentCard 智能体卡片能力&#xff0c;这是继 HMAF&#xff08;鸿蒙智能体框架&#x…

2026/8/9 17:05:02 阅读更多 →