Yolo系列算法学习笔记——YOLOv4 知识点梳理与总结
回到目录[算法学习笔记系列索引]目录一、核心思想博采众长的优化集成YOLOv3 的局限 → YOLOv4 的改进方向改进过程演化二、网络架构CSPDarknet53 SPP PANet️ BackboneCSPDarknet53什么是CSP结构Darknet-53 → CSPDarknet53 的演进 NeckSPP PANet核心升级1. SPP模块空间金字塔池化2. PANet路径聚合网络三、损失函数CIoU Loss核心改进CIoU的数学公式为什么CIoU比MSE/IoU更好四、训练策略Bag of Freebies免费午餐1. Mosaic数据增强核心创新2. CutMix数据增强3. DropBlock正则化4. 自对抗训练SAT5. CmBNCross-iteration Batch Normalization6. 其他优化五、YOLOv3 vs. YOLOv4 全面对比六、总结一、核心思想博采众长的优化集成YOLOv4的核心理念是“集大成者”——它没有提出颠覆性的理论而是系统性地筛选并整合了当时计算机视觉领域大量被验证有效的“tricks”精准解决了YOLOv3的痛点实现了精度AP提升10%速度FPS提升12%的跨越式进步。YOLOv3 的局限 → YOLOv4 的改进方向YOLOv3的局限YOLOv4的改进Darknet-53特征提取能力有提升空间引入CSPDarknet53更强更高效仅用FPN单向融合浅层细节传递衰减引入SPP PANet多尺度感受野双向融合边界框损失函数不够精确MSE/IoU采用CIoU Loss考虑中心距和长宽比训练策略和数据增强相对传统引入Mosaic、CutMix、DropBlock、CmBN等改进过程演化%%{init: { theme: base, themeVariables: { fontSize: 16px }, flowchart: { useMaxWidth: false, padding: 6, nodeSpacing: 35, rankSpacing: 35 } }}%% graph TD A[YOLOv3 的局限] -- B[主干网络不够强] A -- C[单尺度FPN融合不足] A -- D[损失函数不够精确] A -- E[训练策略传统] B -- F[引入 CSPDarknet53] C -- G[引入 SPP PANet] D -- H[引入 CIoU Loss] E -- I[引入 Mosaic、CutMix、DropBlock、CmBN] F -- J[YOLOv4] G -- J H -- J I -- J J -- K[精度 AP ↑ 10%] J -- L[速度 FPS ↑ 12%]二、网络架构CSPDarknet53 SPP PANetYOLOv4的整体架构可以清晰地分为三个部分Backbone主干网络→ Neck特征融合→ Head检测头。️ BackboneCSPDarknet53CSPDarknet53是YOLOv4的主干网络它是在Darknet53的基础上引入了CSPCross Stage Partial结构。什么是CSP结构CSP结构本质上是一种网络设计范式通过“拆分-处理-合并”三步走在降低计算量的同时保持精度。以一个CSP残差块为例输入尺寸 112×112×128步骤操作张量尺寸变化说明1. 拆分Split沿通道维度一分为二128 → 64 64分支1进入残差块分支2直接跳过2. 分支1处理1×1降维(64→32) → 3×3卷积(32) → 1×1升维(32→64) → Add残差(112,112,64)只有一半数据经过昂贵计算3. 分支2跳过不做任何计算(112,112,64)原始特征直接保留4. 合并Concat通道维度拼接64 64 128输出尺寸不变但计算量降低约20%CSP的价值计算量降低只有一半通道进入残差块FLOPs降低约20%梯度流更丰富拼接操作为梯度提供了额外“高速公路”缓解梯度消失特征重用保留DenseNet“特征重用”的优点同时截断冗余梯度信息Darknet-53 → CSPDarknet53 的演进对比维度Darknet-53 (YOLOv3)CSPDarknet53 (YOLOv4)残差块结构标准瓶颈1×1→3×3→1×1残差CSP瓶颈拆分→半通道处理→拼接计算量基准降低约20%特征提取能力强更强梯度流优化参数量基准略有减少 NeckSPP PANet核心升级YOLOv4的Neck部分是对YOLOv3的FPN的重大升级引入了SPP模块和PANet结构。1. SPP模块空间金字塔池化目标在不改变空间尺寸的前提下极大扩展感受野融合多尺度特征。计算过程以输入 19×19×1024 为例# 输入特征图 x: (B, 1024, 19, 19) # 四个并行的最大池化层步长1填充自动匹配 pool1 MaxPool2d(kernel1, stride1, padding0) # → (B,1024,19,19) pool2 MaxPool2d(kernel5, stride1, padding2) # → (B,1024,19,19) pool3 MaxPool2d(kernel9, stride1, padding4) # → (B,1024,19,19) pool4 MaxPool2d(kernel13, stride1, padding6) # → (B,1024,19,19) # 通道维度拼接 out torch.cat([pool1(x), pool2(x), pool3(x), pool4(x)], dim1) # → (B, 4096, 19, 19) # 通道数翻4倍关键数学原理保持空间尺寸不变池化输出尺寸公式输出 (输入 2×Padding - Kernel) / Stride 1当Stride1Padding (K-1)/2时K1, Pad0 → 输出 (190-1)/11 19 ✅K5, Pad2 → 输出 (194-5)/11 19 ✅K9, Pad4 → 输出 (198-9)/11 19 ✅K13, Pad6 → 输出 (1912-13)/11 19 ✅物理效果每一个输出点都融合了 1×1原始、5×5局部、9×9区域、13×13几乎全局四个尺度的“最强响应”感受野大幅扩展。2. PANet路径聚合网络目标在FPN自顶向下的基础上增加自底向上的路径让浅层的位置信息也能高效传递到深层。YOLOv3的FPN单向13×13 (深层语义) ──上采样──→ 26×26 ──上采样──→ 52×52 (浅层细节)→ 语义信息从上往下传但位置信息无法从下往上传递YOLOv4的PANet双向自顶向下语义传递 13×13 ──上采样→ 26×26 ──上采样→ 52×52 自底向上位置传递 52×52 ──下采样→ 26×26 ──下采样→ 13×13→ 两条路径融合形成信息闭环语义和位置充分交融注YOLOv4在PANet中融合方式采用拼接Concat而非原始PANet论文的相加以保留更完整的特征信息。三、损失函数CIoU Loss核心改进YOLOv4采用CIoU LossComplete IoU Loss替代了YOLOv3的MSE/IoU Loss从三个几何维度全面评估预测框与真实框的相似度。CIoU的数学公式\text{CIoU} \text{IoU} - \frac{\rho^2(b, b^{gt})}{c^2} - \alpha \cdot v符号含义物理意义\text{IoU}交并比衡量重叠面积\frac{\rho^2(b, b^{gt})}{c^2}中心点距离/对角线长度²衡量中心点距离\alpha \cdot v权重 × 长宽比一致性衡量长宽比差异其中v \frac{4}{\pi^2} \left( \arctan\frac{w^{gt}}{h^{gt}} - \arctan\frac{w}{h} \right)^2长宽比惩罚项\alpha \frac{v}{(1 - \text{IoU}) v}权衡权重CIoU Loss 1 - CIoU为什么CIoU比MSE/IoU更好损失函数考虑重叠面积考虑中心距离考虑长宽比问题MSE (V3)❌ 间接❌❌坐标独立回归缺乏整体性IoU Loss✅❌❌两框无重叠时梯度为0GIoU Loss✅❌❌无法区分中心对齐差异DIoU Loss✅✅❌长宽比不一致时仍有偏差CIoU Loss (V4)✅✅✅全面评估最精准四、训练策略Bag of Freebies免费午餐YOLOv4引入了一系列强大的训练策略在不增加推理成本的前提下大幅提升精度。1. Mosaic数据增强核心创新操作将4张图片随机缩放、裁剪、排布后拼接成1张新图片效果极大丰富小目标训练样本减少对大Batch Size的依赖4张拼1张 等效Batch Size翻4倍让模型同时学习不同尺度和背景2. CutMix数据增强操作将一张图片的部分区域裁剪掉用另一张图片的对应区域填充效果提升模型鲁棒性防止过拟合比MixUp更有效3. DropBlock正则化操作连续丢弃特征图上的矩形区域而非Dropout的随机点效果迫使网络学习更鲁棒的特征防止过拟合4. 自对抗训练SAT操作对图像添加微小扰动生成对抗样本效果增强模型对干扰的抵抗能力5. CmBNCross-iteration Batch Normalization操作在多个迭代之间统计BN信息效果小Batch Size训练时保持稳定6. 其他优化Mish激活函数替代Leaky ReLU提供更平滑的非线性标签平滑防止过拟合提升泛化能力五、YOLOv3 vs. YOLOv4 全面对比模块YOLOv3YOLOv4改进效果主干网络Darknet-53CSPDarknet53计算量↓20%特征提取↑Neck结构FPNSPP PANet感受野↑特征融合↑激活函数Leaky ReLUMish精度↑损失函数MSE / IoU LossCIoU Loss定位精度↑↑数据增强基础方法Mosaic, CutMix泛化能力↑↑正则化DropoutDropBlock防过拟合↑BN策略标准BNCmBN小Batch训练稳定↑六、总结“YOLOv4的本质是在YOLOv3的基础上做了全方位的‘精准补强’①主干网络用CSP结构对Darknet53进行改造在降低计算量的同时增强了梯度流②Neck结构用SPP扩大感受野用PANet打通双向信息通道让多尺度特征融合更充分③损失函数用CIoU取代MSE同时考虑重叠面积、中心距离和长宽比定位更精准④训练策略引入Mosaic、CutMix、DropBlock等一系列‘免费午餐’在不增加推理成本的前提下大幅提升泛化能力。YOLOv4没有发明新的理论但它把当时所有被验证有效的tricks用到了极致实现了精度和速度的双重跨越。”

相关新闻

C++ STL map与multimap:红黑树实现、核心操作与实战场景详解

C++ STL map与multimap:红黑树实现、核心操作与实战场景详解

1. 项目概述:从“字典”到“关联数组”的思维跃迁在C的世界里,处理数据对(Key-Value Pair)的需求无处不在。想象一下,你要写一个学生成绩管理系统,需要根据学号快速查到对应的姓名和分数;或者你…

2026/10/25 3:40:38 阅读更多 →
2026 三亚实体转型新思路,AI+GEO 数字化适配本地文旅业态

2026 三亚实体转型新思路,AI+GEO 数字化适配本地文旅业态

在数字化浪潮席卷全球的当下,实体行业纷纷寻求转型之道。对于三亚而言,如何利用先进技术适配本地独特的文旅业态,实现实体转型的新突破,成为了亟待解决的重要课题。其中,AI与GEO的融合为三亚实体转型带来了新思路。 一…

2026/10/23 22:29:17 阅读更多 →
Runway背景替换精准度提升92%的底层逻辑(Alpha通道校准与光照一致性算法深度拆解)

Runway背景替换精准度提升92%的底层逻辑(Alpha通道校准与光照一致性算法深度拆解)

更多请点击: https://intelliparadigm.com 第一章:Runway背景替换精准度提升92%的技术突破概览 Runway近期发布的Gen-3模型在视频背景替换任务中实现了质的飞跃——基于大规模多模态对齐数据集与自适应掩码优化机制,整体像素级IoU&#xff0…

2026/10/25 11:09:41 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/26 12:00:21 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/25 22:36:10 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/26 4:52:12 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/26 12:00:21 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/26 5:00:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/26 3:16:46 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 12:00:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 13:21:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 8:34:37 阅读更多 →