YOLOv2、YOLOv3、YOLOv4、YOLOv5 全面对比与总结

一、为什么要把 YOLOv2 到 YOLOv5 放在一起看

YOLO 系列是目标检测领域最具影响力的单阶段检测器之一。从 YOLOv2 到 YOLOv5,短短几年时间里,这个系列在精度、速度、工程可用性上完成了多次跃迁。把它们放在一起对比,能清楚地看到目标检测技术演进的几条主线:更强的骨干网络、更精细的多尺度特征、更丰富的训练技巧,以及越来越成熟的工程化落地能力。

本文不贴代码,只从设计思想、网络结构、训练策略和实际表现四个维度,梳理 YOLOv2、YOLOv3、YOLOv4、YOLOv5 之间的差异,并在最后给出选型建议。

二、四个版本的核心定位

YOLOv2:从"能用"到"好用"

YOLOv1 速度很快,但定位精度和召回率都不理想。YOLOv2 的核心任务是补齐这些短板。它提出了 Better、Faster、Stronger 三个方向:用 Batch Normalization、高分辨率分类器、Anchor Boxes、维度聚类、细粒度特征、多尺度训练等手段提升精度;用 Darknet-19 骨干网络提升速度;用联合训练机制让模型能检测更多类别。

YOLOv2 最重要的贡献是引入了 Anchor 机制 和 维度聚类,让检测框的初始尺寸更贴合真实数据分布,这一步直接影响了后续所有版本的设计思路。

YOLOv3:多尺度检测的里程碑

YOLOv3 的最大变化是引入了 FPN 式的多尺度预测,在三个不同尺度的特征图上分别做检测,大幅提升了对小目标的检测能力。骨干网络换成了更深的 Darknet-53,并借鉴残差结构缓解深层网络的退化问题。

此外,YOLOv3 把分类损失从 Softmax 换成了 Logistic 分类器,支持多标签分类,这对存在类别重叠的数据集更友好。整体上,YOLOv3 在保持实时性的同时,把精度推到了一个新高度,成为工业界长期使用的基线模型。

YOLOv4:训练技巧的集大成者

YOLOv4 的定位不是提出某个颠覆性结构,而是把当时目标检测领域大量有效的技巧系统性地整合起来,并验证它们在单 GPU 训练条件下的可用性。它的两大关键词是 Bag of Freebies (不增加推理成本、只提升精度的训练技巧)和 Bag of Specials(少量增加推理成本但显著提升精度的模块)。

结构上,YOLOv4 使用 CSPDarknet53 作为骨干,配合 SPP 模块和 PANet 路径聚合结构,形成更强的特征金字塔。训练侧引入了 Mosaic 数据增强、CIoU 损失、CmBN、SAT 自对抗训练等。最终 YOLOv4 在 COCO 上实现了精度与速度的良好平衡,被认为是"工程上最实用的一代"。

YOLOv5:工程化与易用性的代表

YOLOv5 由 Ultralytics 团队推出,严格来说它并非学术论文产物,而是对前代思想的工程化重构。它的核心价值在于 极佳的易用性:基于 PyTorch 实现,提供从数据准备、训练、验证到导出部署的完整工具链,并给出 n/s/m/l/x 五种不同规模的模型,方便按算力选择。

结构上,YOLOv5 延续了 CSP 骨干和 PANet 颈部,引入了 Focus 切片结构(后续版本调整为卷积)、自适应 Anchor 计算、自动学习边界框回归等改进。它的精度与 YOLOv4 相当甚至略优,但训练和部署体验明显更好,因此在工业界迅速普及。

三、关键维度横向对比

对比维度 YOLOv2 YOLOv3 YOLOv4 YOLOv5
发布年份 2016 2018 2020 2020
骨干网络 Darknet-19 Darknet-53 CSPDarknet53 CSP 结构(可调规模)
检测头 单尺度 Anchor 三尺度多 Anchor 三尺度 + SPP + PANet 三尺度 + PANet
特征融合 直连细粒度特征 FPN 上采样融合 SPP + PANet 双向融合 PANet 双向融合
分类方式 Softmax Logistic 多标签 Logistic 多标签 Logistic 多标签
数据增强 常规增强 常规增强 Mosaic、SAT 等 Mosaic、MixUp 等
损失函数 均方误差为主 交叉熵 + MSE CIoU Loss CIoU / GIoU 可选
框架生态 Darknet Darknet Darknet PyTorch
工程易用性 一般 一般 中等 很高

1. 骨干网络:从浅到深,从深到高效

YOLOv2 的 Darknet-19 只有 19 层卷积,追求极致速度;YOLOv3 的 Darknet-53 加深到 53 层并引入残差,精度显著提升;YOLOv4 的 CSPDarknet53 通过跨阶段部分连接减少重复梯度,在保持深度的同时降低计算量;YOLOv5 则把 CSP 思想进一步模块化,并提供不同宽度和深度的模型变体。

这条演进线的本质是:在有限算力下,如何让网络既深又高效。

2. 多尺度检测:小目标检测的分水岭

YOLOv2 只有单一尺度的检测输出,小目标检测能力较弱。YOLOv3 引入三尺度预测后,小目标召回率明显改善,这是它被长期使用的重要原因。YOLOv4 和 YOLOv5 在此基础上加入 SPP 和 PANet,让不同尺度的特征双向流动,进一步增强了特征表达能力。

3. 训练技巧:从结构创新到技巧整合

YOLOv2 和 YOLOv3 的改进更多体现在结构层面;YOLOv4 则系统性地整合了数据增强、损失函数、正则化等训练技巧,证明了"组合拳"的威力;YOLOv5 把这些技巧工程化、默认化,让使用者无需深入调参就能获得不错的效果。

4. 工程生态:决定落地成败的关键

从 Darknet 到 PyTorch 的转变,是 YOLOv5 迅速流行的关键。PyTorch 生态意味着更丰富的预训练模型、更成熟的部署工具(ONNX、TensorRT、TorchScript)以及更活跃的社区。对于实际项目而言,这一点的价值往往不亚于精度提升。

四、精度与速度的权衡

在 COCO 数据集上,从 YOLOv2 到 YOLOv5,mAP 呈现持续上升的趋势,而推理速度在同等硬件条件下保持在同一量级。需要强调的是,不同版本、不同模型规模之间的对比必须放在相同输入分辨率、相同硬件和相同评测协议下才有意义。

一个实用的判断方式是:

  • 追求极致速度:YOLOv2 或 YOLOv5n 这类轻量模型仍有价值。
  • 平衡精度与速度:YOLOv4 和 YOLOv5s/m 是常见选择。
  • 追求更高精度:YOLOv5l/x 或后续版本更合适。

五、各版本的局限与适用场景

YOLOv2 的局限

单尺度检测、骨干较浅,小目标和密集场景表现一般。适合算力极度受限、目标尺寸较大的场景,如今更多作为教学和理解演进脉络的参考。

YOLOv3 的局限

结构相对固定,缺乏系统的训练技巧整合,在复杂场景下的精度上限有限。但由于实现成熟、资料丰富,仍是很多工业项目的稳定基线。

YOLOv4 的局限

基于 Darknet 框架,生态相对封闭,部署和二次开发的门槛高于 PyTorch 方案。技巧众多也意味着调参空间大,对使用者的经验有一定要求。

YOLOv5 的局限

并非严格意义上的学术创新,部分改进来自对前代方法的工程优化。此外版本迭代较快,不同小版本之间存在接口差异,需要固定版本以保证复现性。

六、总结

回顾 YOLOv2 到 YOLOv5 的演进,可以提炼出三条主线:

  1. 结构上,从单尺度到多尺度、从简单骨干到 CSP 高效骨干,特征表达能力持续增强。
  2. 训练上,从单一损失到多种损失组合,从常规增强到 Mosaic 等强增强,训练策略越来越系统。
  3. 工程上,从专用框架走向主流深度学习生态,易用性和可部署性成为核心竞争力。

如果今天要启动一个新项目,YOLOv5 及之后的版本通常是更务实的选择;如果目标是理解目标检测的设计思想,从 YOLOv2 和 YOLOv3 读起会更有收获。技术演进从来不是简单的"新版替代旧版",而是在精度、速度、成本之间不断寻找更优的平衡点。

相关推荐
微尘hjx12 小时前
【ByteTrack 04】多轨迹算法ByteTrack改进点
算法·yolo·目标检测·目标跟踪·bytetrack·ultralytics·车跟踪
fl17683120 小时前
工业玻璃不同形状类别玻璃检测数据集VOC+YOLO格式1012张4类别
人工智能·yolo·机器学习
微尘hjx1 天前
【StrongSort 03】多轨迹算法StrongSort改进点
人工智能·算法·yolo·视觉检测·ultralytics·strongsort·轨迹算法
迪菲赫尔曼1 天前
【基础篇 08】让VS Code连接服务器:界面在本地,文件保存到远端
运维·服务器·vscode·yolo·论文·教程·ultralyt
yyk333241 天前
YOLOv3算法
人工智能·yolo·目标跟踪
宿州派大星1 天前
目标检测:YOLOv1架构原理与损失函数全解析
人工智能·yolo·目标检测
神仙别闹1 天前
基于Python Yolo实现绝缘子目标检测程序
python·yolo·目标检测
微尘hjx2 天前
【AI视觉软件 03】基于 Ultralytics + DeepSORT 的多目标跟踪与改进(支持YOLO全系列,重点车跟踪)
人工智能·yolo·目标跟踪·视觉检测·deepsort·ultralytics·车跟踪
迪菲赫尔曼2 天前
【基础篇 04】第一次使用终端:命令在哪里输入,电脑现在又“站”在哪里?
python·yolo·目标检测