人工智能|大白话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 #目标识别 #知识前沿派对 #深度学习 - 抖音


目录
相关文章
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能 |手算CLIP模型
本文详解CLIP模型原理:突破传统CNN需重新训练的局限,通过4亿图文对联合训练文本与图像编码器,实现零样本迁移。利用对比学习对齐多模态特征,支持图文检索、零样本分类等应用,让AI像人一样理解未见过的概念。(239字)
35 3
|
1天前
|
人工智能 自然语言处理 计算机视觉
人工智能|大白话Meshed-Memory Transformer
M2Transformer是一种图像描述生成模型,由三部分构成:骨干编码器(Faster R-CNN)提取区域特征;记忆增强编码器(Transformer)对特征进行语义细化;网格解码器(Transformer)将增强特征转化为自然语言描述。结构清晰、层次分明,兼顾准确性与可解释性。(239字)
42 1
|
1天前
|
人工智能 运维 安全
Claude Code模型替换升级指南 接入DeepSeek V4-Pro实操与问题排查全解
当下终端AI编程工具Claude Code凭借轻量化、全流程代码处理、跨文件项目分析等优势,成为众多开发者日常编码、项目重构、漏洞修复、脚本编写的主流选择。原生状态下Claude Code绑定专属模型运行,虽然基础能力稳定,但在代码理解、长逻辑推理、中文场景适配、调用成本等方面仍存在优化空间。
|
1天前
|
机器学习/深度学习 算法 vr&ar
图解强化学习 |手算DQN
摘要:本文系统介绍了深度Q网络(DQN)算法及其改进方案。DQN通过神经网络替代Q表解决高维状态问题,采用经验回放和目标网络提升稳定性,但仍存在Q值高估等局限性。文章详细解析了DQN网络结构(4维输入→2维动作Q值输出)、基于时序差分的更新流程(含经验回放采样与双网络协同机制),并通过矩阵示例演示MSELoss计算过程。进一步探讨两种改进算法:DoubleDQN通过解耦动作选择与价值评估缓解过估计问题;DuelingDQN则创新性地拆分状态价值V与动作优势A分支,提升学习效率。二者均保持DQN基础框架,分别
30 0
|
1天前
|
人工智能 数据可视化 测试技术
【教程】阿里云轻量云服务器一键配置OpenClaw
如果你还没有部署自己的 OpenClaw,还可以通过购买腾讯的轻量云服务器,一键秒级部署指南一键秒级部署指南,一键即可在几秒内完成部署。
41 2
|
1天前
|
监控 固态存储 Java
Maven 本地仓库优化:SSD+ 目录结构调整最佳实践
本文深入讲解了 Maven 本地仓库优化的完整方案,包含 SSD 迁移、目录结构规划、清理策略、多版本管理等企业级最佳实践。通过真实案例展示了如何将 50GB 仓库优化到 20GB(减少 60%),构建时间从 12 分钟缩短到 2 分钟(提升 6 倍)。提供完整的迁移脚本、清理工具和监控方案,帮助开发者解决磁盘空间不足、I/O 性能瓶颈等问题。适合 Java 开发者、DevOps 工程师阅读。
|
1天前
|
人工智能 自然语言处理
阿里云Token plan支持哪些ai模型?一张表看懂ai大模型版本对照表
阿里云百炼Token Plan团队版支持多款主流AI大模型,包括Qwen3.7-Max、Qwen-Image-2.0-Pro、Wan2.7-Image、DeepSeek-V4-Pro、Kimi-K2.6、GLM-5.1、MiniMax-M2.5等,覆盖文本生成、视觉理解、图像生成等能力,按Credits统一计费,灵活切换。在阿里云百炼快速体验Tokenplan:https://t.aliyun.com/U/fPVHqY
|
1天前
|
人工智能 自然语言处理 Python
人工智能|BERT的简单介绍
BERT(2018年谷歌提出)是基于Transformer编码器的双向预训练语言模型,通过掩码语言建模(MLM)和下一句预测(NSP)任务学习深度上下文语义,在文本分类、问答、NER等理解型任务中表现卓越。
42 1
|
1天前
|
数据采集 机器学习/深度学习 人工智能
人工智能|YOLOv1的损失函数和非极大值抑制
YOLOv1将图像划分为7×7网格,每格预测2个边界框(共98个),含中心点、宽高、置信度及20类概率。损失函数由坐标(加权5)、置信度(含/不含物体分权重)和分类三部分构成,均采用带平衡系数的均方误差,并以IoU为核心匹配与评估依据。(239字)
35 1
|
1天前
|
数据采集 人工智能 计算机视觉
人工智能|YOLOv1的简单介绍
YOLOv1将输入图像划分为7×7网格,每个网格单元预测2个边界框(BBOX)及对应置信度,并输出20类概率。通过中心点归属、相对坐标偏移与归一化,实现端到端实时目标检测。(239字)
41 3