yolov4简单介绍
yolo的原作者由于军事应用和对他人个人隐私风险而退出了yolo系列的研究,但是yolo因为目标检测能力强一直别其他人延续以及研究,yolov4加了创新以及吸收了目前主流的框架优点,下面的图展示yolov4目标检测能力明显领先与其他目标检测算法,下面我们看看yolov4的创新点。

yolov4对比yolov3的改进点与创新点
一、网络结构的升级
-
骨干网络替换:YOLOv3 采用的是 Darknet-53,而 YOLOv4 选用了 CSPDarknet53。CSP 结构(Cross Stage Partial Network)的引入,能够更高效地提取特征,同时大幅降低计算量,让模型在保持精度的前提下,运行速度更快。
-
特征融合与 Neck 部分优化:YOLOv4 引入了 SPP(空间金字塔池化)和 PAN(路径聚合网络) 结构。SPP 可以整合不同尺度的特征,增强模型对不同大小目标的检测能力;PAN 则能更高效地进行特征融合,让底层的定位信息和高层的语义信息更好地结合,提升检测的准确性。
二、训练策略的革新
-
多尺度训练与自对抗训练:YOLOv4 采用了 Mosaic 数据增强(多尺度拼接训练),丰富了训练数据的多样性,使模型对不同尺度、不同场景的目标具有更强的适应性。同时引入了 自对抗训练(SAT),让模型在训练过程中主动生成对抗样本,提升自身的鲁棒性。
-
损失函数与优化器调整:使用了 CIoU 损失函数 替代 YOLOv3 的 IoU 损失,CIoU 不仅考虑了边界框的重叠度,还融入了中心距离和宽高比等因素,让边界框的回归更加精准。优化器方面,采用了 Adam 等更高效的优化器,加快了模型的收敛速度。
三、数据增强的多样化
除了 Mosaic 增强,YOLOv4 还引入了 CutMix、MixUp 等数据增强方法,进一步扩充了训练数据的分布,提升了模型的泛化能力。同时,针对不同的任务场景,还可以灵活调整数据增强的策略,以适应不同的检测需求。
四、性能的全面提升
从性能对比来看,YOLOv4 在保持较高检测速度(FPS)的同时,mAP(平均精度)相比 YOLOv3 有了明显的提升。以常见的测试数据集为例,YOLOv4 的 mAP 通常能比 YOLOv3 提高 5-10 个百分点,而计算量却有所降低,真正实现了 “精度提升,效率不降” 的突破。
数据增强
-
Mosaic 增强:一次 “看” 四张图这是 YOLOv4 最具代表性的增强手段之一。它不再像传统方法那样单张图片输入训练,而是随机选取 4 张不同的图片,通过缩放、裁剪、拼接等方式合成一张新图。这种方式相当于让模型同时学习多个场景的特征,不仅丰富了背景多样性,还能强制模型适应小目标(拼接后部分目标会被压缩),尤其对多目标检测场景的鲁棒性提升明显。

-
CutMix,CutOut,MixUp:CutMix 会随机裁剪一张图片中的部分区域,并用另一张图片的对应区域替换,同时保留两张图的标签信息,CutOut与CotMix一样随机切割但是不替换图给模型增加难度;MixUp 则更直接,将两张图片按比例像素级混合,标签也按相同比例融合。CutMix与MixUp两种方法的核心是通过 “数据混搭”,让模型在训练中接触到更多 “非典型” 样本,减少对单一目标特征的依赖,从而降低过拟合风险,增强对遮挡、模糊等复杂场景的适应能力。

- Random Erase与Hide and Seek:Random Erase用随机值或训练集的平均像素值替换图像的区域,Hide and Seek:根据概率设置随机隐藏一些补丁

-
自对抗训练(Self-adversarial-training, SAT)
通过引入噪声点来增加模型训练的难度

-
针对性场景增强:按需 “定制” 训练数据除了上述通用方法,YOLOv4 还支持根据具体任务灵活调整增强策略。例如,针对夜间检测场景,会增加亮度调整、高斯噪声等模拟低光环境;针对小目标密集场景,会强化缩放、平移等操作,让模型更关注细节。这种 “按需增强” 的思路,让模型在特定领域的表现更突出。
yolo的正则化
DropBlock(YOLOv4 采用的正则化方法)
- 背景与提出:由谷歌于 2018 年提出,是针对卷积神经网络(CNN)的正则化技术,用于解决模型过拟合问题(即训练集表现好、测试集表现差的情况)。
- 原理与优势:
- 与传统 Dropout(随机屏蔽部分特征)不同,DropBlock 是对特征图随机屏蔽多个连续区域。
- 这种方式能减少神经网络中的冗余连接,迫使模型学习更鲁棒、更具泛化性的特征,从而提升模型在未知数据上的表现。
- 图示解读:
- 图 (a) 为原始输入图像(小狗);图 (b) 可理解为 Dropout 的屏蔽方式(随机分散屏蔽);图 (c) 为 DropBlock 的屏蔽方式(连续区域屏蔽),直观展现了两者在特征屏蔽逻辑上的差异。

标签平滑(YOLOv4 采用的正则化策略)
- 作用背景:神经网络易出现过拟合,标签平滑通过降低模型对标签的 “过度自信” 来缓解这一问题。
- 原理示例:若原标签为(0,1),通过公式
[0,1]×(1−0.1) + 0.1/2 = [0.05, 0.95]对标签进行平滑处理,使标签不再是绝对的 0 或 1,而是处于一个合理的区间内。

CIOU 损失(YOLOv4 对损失函数的改进)
- 核心改进:在目标检测的边界框回归任务中,CIOU 损失同时考虑了重叠面积(IoU)、中心点距离、长宽比三个几何因素,相比 YOLOv3 的 IoU 损失更全面。
- 公式解读

非极大值抑制的改进

网络整体结构说明
yolov4的整体网络结构,分为输入端、Backbone(骨干网络)、Neck(特征融合层)、Prediction(预测层) 四个模块,是目标检测 “特征提取 - 融合 - 预测” 流程的完整实现。

模块细节说明:
- 输入端:输入尺寸为 608*608*3 的图像,开启多尺度训练的基础。
- Backbone:采用 CSPDarknet53,由多个 CSPX 模块(含残差组件)和 SPP(空间金字塔池化)构成,负责提取不同尺度的特征(输出 76*76、38*38、19*19 三种尺度的特征图)。其中 CBM 模块(Conv+BN+Mish 激活)和 CBL 模块(Conv+BN+Leaky ReLU 激活)是基础组件,Mish 激活函数相比 ReLU 能保留更多梯度信息,提升训练稳定性。
- Neck:通过上采样和 Concat 操作进行特征融合,整合底层定位信息和高层语义信息,增强对不同大小目标的检测能力。
- Prediction:输出三个尺度的检测结果(76*76*255、38*38*255、19*19*255),分别对应小、中、大目标的检测,满足多尺度目标检测需求。
网络结构改进
SPP-Net(YOLOv4 网络结构的改进组件)
- 提出背景:由何凯明在论文《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》中提出,是针对卷积神经网络输入尺寸限制的突破性结构。
- 结构创新:在最后一个卷积层后接入金字塔池化层(Spatial Pyramid Pooling),引入 ROI 池化层,使网络输入可任意尺寸,输出仍为固定维数向量,解决了传统 CNN 对输入尺寸的严格限制问题。
- 图示解读:上方为传统 CNN(需固定输入尺寸),下方为 SPP-Net(支持任意输入尺寸,通过空间金字塔池化输出固定特征),直观展现了两者在输入适应性上的差异。

CSP-Net(YOLOv4 网络结构的改进组件)
- 核心改进:
- 结构拆分与融合:将每个 block 按特征图的 channel 维度拆分为两部分,一部分正常执行残差网络,另一部分直接 concat 到 block 的输出。
- 解决的问题:增强 CNN 学习能力、降低内存成本、减少计算瓶颈。通过将梯度变化从头至尾集成到特征图中,在减少计算量的同时保证准确率;在特征金字塔生成过程中采用跨通道池压缩特征映射,减少内存使用。
- 图示解读:图 (a) 为传统 ResNe (X) t 结构,图 (b) 为 CSPResNe (X) t 结构,直观展现了 CSP-Net 通过拆分 - 融合策略对传统残差网络的改进,体现其在轻量化与性能保持上的优势。


PAN(路径聚合网络)
- 与 FPN 对比:
- FPN(特征金字塔网络)是用于目标检测和语义分割的深度学习模型,采用自顶向下模式传递高层特征,通过多尺度处理构造特征金字塔,可在不同特征层对不同尺度目标进行预测,能在不增加计算量和内存开销的情况下提升检测精度。
- PAN 是对 FPN 的改进,引入自底向上的路径,形成双向特征传递,同时 YOLOv4 中对 PAN 的改进是将特征融合方式从 “加法” 改为 “拼接”,进一步增强特征表达能力。
- 核心作用:
- 让底层的定位信息和高层的语义信息更充分地融合,同时 “拼接” 操作能保留更丰富的特征细节,大幅增强模型对多尺度目标(尤其是小目标)的检测能力,使 YOLOv4 在复杂场景下的检测精度进一步提升。
- 结构优势:
- 自底向上的路径如同 “捷径”,让底层信息快速传递到顶部,避免了传统深层网络(如 ResNet)信息传递的长路径损耗,在保证特征完整性的同时提升了传递效率。
- 图示解读:结构图直观展示了 FPN 的自顶向下逻辑与 PAN 的双向特征聚合逻辑,以及 YOLOv4 中 PAN “拼接” 融合的改进,清晰体现其在特征传递和融合上的优势。

在整体网络上的体现

Mish 激活函数
- 核心特性:
- 公式为

- 相比 ReLU 的 “硬截断”(将负数直接置 0),Mish 对负数输入保留了一定的梯度信息,更符合实际特征分布,避免了 ReLU 可能导致的 “神经元死亡” 问题。
- 公式为
- 图示解读:右侧函数曲线直观展示了 Mish 的平滑特性,其在负数区间仍有非零输出,体现了 “给改过自新机会” 的设计理念,与 ReLU 的绝对截断形成鲜明对比。


6万+

被折叠的 条评论
为什么被折叠?



