人工智能|大白话YOLOv3,YOLOv4

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: YOLOv3采用全卷积+残差连接+多尺度融合架构,含Darknet-53骨干网、FPN颈部与三尺度检测头,支持任意32倍数输入(如416×416),输出13×13、26×26、52×52特征图,兼顾大中小目标检测。

 YOLOv3

        YOLOv3 的网络结构可分为三部分:骨干网络(Darknet-53)颈部网络(FPN 特征金字

塔)检测头部(多尺度输出),整体呈 “全卷积 + 残差连接 + 多尺度融合” 设计,无池化层、无

全连接层,灵活适配任意 32 倍数的输入尺寸(默认 416×416)。

image.gif

骨干网络

            输入图像首先经过基础CBL 模块进行初步特征提取。CBL 由卷积层、批量归一化层与激活

函数组合构成,是骨干网络的基础运算单元。完成初始卷积后,特征依次送入后续五组残差模块

每组残差模块内部先通过补零操作保证特征尺寸不变,再串联一层 CBL 模块,之后堆叠若干残差

单元。残差单元的结构设计与 ResNet 保持一致,依靠短路连接缓解深层网络的梯度消失问题。五

组残差模块内,残差单元的堆叠数量依次为 1、2、8、8、4。整体依靠多层残差结构逐层提取浅层

细节特征与深层语义特征,完成多尺度特征的高效编码。

(更直观一些)

Darknet‑53 = 全卷积 + 5 次下采样 + 16 个残差块 + 共 53 个卷积层

没有池化、没有全连接层(分类头会去掉)。

输入:416×416×3 图像。

输出:3 个特征图 → 13×13、26×26、52×52(送给 YOLOv3 检测头)。

CBL 块=Conv + BN + LeakyReLU

卷积:3×3 或 1×1

BN:加速训练、防梯度爆炸

LeakyReLU:带小斜率的激活,避免 “死亡神经元”

Residual 残差块

每个残差块是:

1×1 CBL → 降维(通道减半)

3×3 CBL → 升维(通道复原)

短路连接:输入直接加到输出上(add,不是 concat)

Add:数值相加,通道不变,用于残差。

Concat:通道拼接,通道变多,用于特征融合。

image.gif

输入 416×416×3
   CBL(32)
下采样(64) → Res×1
下采样(128) → Res×2
下采样(256) → Res×8 → 输出 52×52×256
下采样(512) → Res×8 → 输出 26×26×512
下采样(1024) → Res×4 → 输出 13×13×1024

image.gif

颈部网络        

   

      在骨干网络输出的 13×13 深层特征基础上,首先堆叠五层连续的 CBL 模块,随后衔接一层

CBL,最后通过普通卷积层进行维度变换,最终输出尺寸为13×13×225的特征张量,用于大目标检

测。同时,YOLOv3 会在五层 CBL 模块之后引出一条分支,该分支先经过一层 CBL 做特征调

整,再执行上采样操作。上采样能够将13×13的小尺寸特征图放大为26×26,以此提升特征分辨

率。常见的上采样方式包含两种:最近邻插值,通过直接复制邻近像素数值完成放大;双线性插

值,结合周边像素加权平均计算新像素,使放大效果更加平滑。放大后的特征图,会与骨干网络倒

数第二层输出的26×26浅层特征图进行通道拼接融合。拼接完成后,再次依次堆叠五层 CBL、一层

CBL 与普通卷积层,最终输出26×26×225的特征张量,负责中等目标检测。同理,模型继续在对

应五层 CBL 后开辟分支,将融合后的中层特征进一步上采样,并与骨干网络倒数第三层输出的

52×52浅层高分辨率特征完成拼接。经过相同的五层 CBL、单层 CBL 以及普通卷积层层级结构处

理后,输出52×52×225的特征张量,专门用于小目标检测。依托多尺度上采样与跨层特征拼接融合

的方式,YOLOv3 同时兼顾浅层细节信息与深层语义信息,大幅提升不同尺寸目标的检测精度。

image.gif

image.gif

原始图像输入骨干网络后,由浅至深逐层完成特征提取。随着网络层层下采样,特征图的空间分辨

率不断降低,通道语义信息持续增强。同时,骨干网络后方三组残差模块会分别引出分支,输出

52×52、26×26、13×13三种不同尺度的基础特征图,为后续多尺度融合提供原始特征。

再来看颈部网络结构,其整体遵循自上而下的融合逻辑:以骨干网络最顶层的小尺寸深层特征为起

点,通过上采样操作逐级放大特征图分辨率;再借助通道拼接的方式,将放大后的深层特征,与骨

干网络对应层级的浅层高分辨特征相互融合。

每一级特征融合完成后,都会保留独立分支,最终经过单层 CBL 模块与普通卷积层的映射变换,

生成三组不同尺度的预测张量,这一部分即为检测网络的Head 检测头

YOLOv3 的颈部网络核心采用FPN 特征金字塔结构。FPN 构建了一条自上而下的特征融合通路,

能够把深层网络丰富的强语义信息,逐层传递并融合到浅层细粒度特征中。既保留了浅层特征的位

置、轮廓等细节信息,又融入了深层特征的目标分类与全局语义能力,从而大幅提升模型对大、

中、小不同尺寸目标的检测效果。

image.gif

检测头部

模型最终会输出三组不同尺寸的三维预测特征矩阵,依托三种尺度的特征图开展多尺度检测。该设

计的核心目的,是让模型不仅能够精准识别图像中的大型目标,同时兼顾中等目标与小型目标的检

测能力,全面适配不同尺寸的检测需求。

每个网格单元对应一个255 维的特征张量,该维度信息平均分为三组,分别对应每个网格预设的 3

个锚框。单组锚框包含 85 个预测参数,涵盖目标坐标偏移、边框尺寸、置信度以及各类别概率信

息。

以 YOLOv3 某一层特征图为例(比如 13×13 大目标层):

第一段 85 维 → 负责第 1 号大锚框的微调预测

第二段 85 维 → 负责第 2 号中等锚框的微调预测

第三段 85 维 → 负责第 3 号超大锚框的微调预测

简单说:三个锚框,高矮、胖瘦、长宽比完全不一样。一个偏向宽框、一个偏向高框、一个偏向正

方框,专门适配现实里不同形状的物体。

同一个网格里,可能同时存在多个物体;

物体有大有小、有宽有窄,一个锚框不够用;

提前准备 3 种不同形状的锚框当模板;

三段向量,分别独立去修正各自锚框的位置、大小、置信度、类别。

13×13的深层特征图感受野范围最大,全局语义信息更强,主要用于检测画面内的大型目标;

26×26中等尺度特征图感受野适中,负责中等目标检测;52×52浅层高分辨率特征图细节丰富、感

受野更小,专门优化小目标识别。网络会为三种尺度特征图分别匹配尺寸适配的先验锚框,锚框规

格与预测框数量一一对应,通过合理分配锚框,进一步提升边界框回归精度,保障多尺度目标的检

测效果。

image.gif


YOLOv4

 CSPDarknet-53 就是 YOLOv4 的主干特征提取网络, 名字拆开:CSP + Darknet-53,Darknet-

53:YOLOv3 的主干,一共 53 个卷积层,用残差块(Residual)加深网络,不怕梯度消失。

CSP(跨阶段部分连接):YOLOv4 新加的核心技巧,把计算量砍了约 20%,还更好训练。

CBM层

其实就是把激活函数替换了,Mish激活函数更加的平滑,梯度收敛会更快。而且只用在网络的第一

层,其它层还是用CBL。

image.gif

残差单元

残差单元种的CBL变成了CBM。

image.gif

残差模块

残差模块的改动稍微的大一些,多了几个CBM,然后还做了一个拼接操作,残差模块的名字也变

成了CSP。

image.gif

空间金字塔池化(SPP)

其实就是用了3个不同尺寸的池化核,然后做了一个拼接操作。把通道数增加了。它的作用是一个

是13*13的卷积核显著增加了感受野,二是三种不同尺寸的池化核,完成了多种尺寸的特征提取。

解决了大目标检测强,小目标检测弱的问题,而且计算量很小可以加快推理速度。

image.gif

CSPDarknet-53

Neck部分

骨干网络输出完成后,首先接入三层连续的 CBL 模块,随后串联SPP 空间金字塔池化模块,再堆

三层 CBL 做特征整合,最终输出尺寸为 13×13×512的深层特征图

在此基础上,特征先经过一层 CBL 调整通道,再通过上采样操作,将特征图尺寸放大至 26×26

。放大后的特征,与骨干网络倒数第二层输出的 26×26浅层特征图进行通道拼接融合;融合完成

后,经过五层 CBL 模块进一步提纯特征,得到 26×26×256的特征张量。该特征继续经由一层

CBL 与上采样处理,分辨率提升至 52×52、通道压缩为 128,再和骨干网络倒数第三层输出的

52×52高分辨率特征拼接,完成浅层细节特征的融合增强。

与此同时,网络还存在反向下采样分支:从浅层特征开始,逐步通过卷积压缩特征图尺寸,与上层

融合后的特征依次拼接、互补。YOLOv4 的颈部网络存在两条双向融合路径:第一条为自上而下:

通过上采样逐级放大深层小尺寸特征,不断融合浅层高分辨率特征,强化细节信息;第二条为自下

而上:依靠卷积下采样逐步缩小浅层特征尺寸,逐层融合深层语义信息。双向双路径的特征融合结

构,结合 SPP 多尺度池化,充分结合浅层细节与深层语义,最终完成三组不同尺度预测张量的输

出,大幅提升多尺寸目标的检测能力。

image.gif

YOLOv3 的颈部网络仅采用单向 FPN 自上而下融合,依靠上采样逐级放大深层特征,融合浅层细

节信息。而 YOLOv4 在 Neck 模块额外新增了一条自下而上的下采样分支,通过卷积逐步缩小浅

层特征图尺寸,反向传递底层定位细节,与上层强语义特征相互融合。

这种自上而下 + 自下而上的双向特征融合结构,即为 PANet 结构。双向融合弥补了单向 FPN 的不

足:既利用深层特征的全局语义,又强化浅层特征的位置与轮廓信息,让大小目标的特征融合更充

分,有效提升多尺度目标的检测精度。

image.gif

image.gif

【1】参考

大白话讲明白YOLOv4的CSPDarknet-53网络架构 #YOLO #yolov4 #目标识别 #知识前沿派对 #深度学习 - 抖音


目录
相关文章
|
8天前
|
人工智能 自然语言处理 文字识别
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
Qwen3.7-Max是阿里云百炼面向智能体时代推出的新一代旗舰模型,对标GPT-5.5、Claude Opus 4.7等闭源旗舰。该模型支持百万级token上下文窗口,具备顶级推理能力、多模态搜索与视觉理解增强、流式输出低延迟响应等核心优势,覆盖编程、办公、长周期自主执行等复杂场景。同时支持OpenAI接口兼容,便于系统快速迁移。用户可通过Token Plan团队或节省计划等订阅方式灵活调用,适合企业级高要求场景使用。
3677 16
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
|
16天前
|
人工智能 开发工具 iOS开发
Claude Code 新手完全上手指南:安装、国产模型配置与常用命令全解
Claude Code 是一款运行在终端环境中的 AI 编程助手,能够直接在命令行中完成代码生成、项目分析、文件修改、命令执行、Git 管理等开发全流程工作。它最大的特点是**任务驱动、终端原生、轻量高效、多模型兼容**,无需图形界面、不依赖 IDE 插件,能够深度融入开发者日常工作流。
3602 13
|
10天前
|
人工智能 自然语言处理 供应链
|
12天前
|
人工智能 Linux BI
国内用 Claude Code 终于不用翻墙了:一行命令搞定,自动接 DeepSeek
JeecgBoot AI专题研究 一键脚本:Claude Code + JeecgBoot Skills + DeepSeek 全平台接入 一行命令装好 Claude Code + JeecgBoot Skills + DeepSeek 接入,无需翻墙使用 Claude Code,支持 Wind
2995 7
国内用 Claude Code 终于不用翻墙了:一行命令搞定,自动接 DeepSeek
|
19天前
|
Shell API 开发工具
Claude Code 快速上手指南(新手友好版)
AI编程工具卷疯啦!Claude Code凭借任务驱动+终端原生的特性,成了开发者的效率搭子。本文从安装、登录、切换国产模型到常用命令,手把手带新手快速上手,全程避坑,30分钟独立用起来。
3727 25
|
10天前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全+三种模式+记忆体系+实战工作流完整手册
Claude Code 是当前最流行的终端级 AI 编程助手,能够直接在命令行中完成代码生成、项目理解、文件修改、命令执行、错误修复等全流程开发工作。它不依赖图形界面、不占用额外资源,却能深度理解项目结构,自动生成规范代码,大幅提升研发效率。
1470 3
|
3天前
|
存储 定位技术 数据库
CodeGraph 如何让 Claude Code减少 7 成工具调用?
CodeGraph 为 Coding Agent 提供本地代码知识图谱,把函数、类、调用链和框架路由提前整理成“项目地图”,减少盲目搜索和文件读取。它不是新 Agent,而是上下文基础设施,让 Agent 更快找到正确代码路径,平均减少 7 成工具调用。
498 0
|
17天前
|
存储 Linux iOS开发
【2026最新】MarkText中文版Markdown编辑器使用图解(附安装包)
MarkText是一款免费开源、跨平台的Markdown编辑器,主打所见即所得实时预览,支持Windows/macOS/Linux。内置数学公式、流程图、代码高亮、多主题及PDF/HTML导出,是Typora的轻量免费替代首选。(239字)