YOLO的演变:从YOLOv1到YOLOv12

YOLOv1:开创实时检测先河

2016 年推出的 YOLOv1 ,首次将整个物体检测流程整合至一个卷积网络内。通过直接回归的方式,快速获取目标的位置信息与类别分类信息,大幅降低计算量,实现了 45FPS 的检测速度,其 Fast YOLO 版本更是达到 155FPS 。算法先将输入图片缩放至 448×448×3 尺寸,经卷积网络骨干提取特征图,再通过两层全连接层,输出 7×7×30 的特征图。具体而言,将图片划分为 7×7 的网格,物体中心所在网格负责该物体检测,每个网格预测 2 个边框。

网络架构

骨干网络采用 GoogLeNet,由 24 个卷积层与 2 个全连接层构成,首卷积层使用 7×7 卷积。

虽然 YOLOv1 检测速度快、迁移能力强,但其对密集小物体检测效果欠佳,定位误差大,对不常见角度目标泛化能力弱。

2. YOLOv2/YOLO9000(2017年)

2017 年的 YOLOv2 从准确性、速度和识别对象数量三个维度对 YOLOv1 进行改进。

思路

更准确

加入了批量归一化的正则化手段,加速了收敛速度,提升了收敛效果,同时提升了精确度。

原来的YOLOv1直接回归预测框的坐标,由于不同物体的尺寸不同,导致YOLOv1在精确定位方面表现较差,在YOLOv2中放弃了全连接层预测边界框而采用了anchor boxes机制来预测边界框,同时去掉了一个池化层,使卷积层输出更高的分辨率。

使用anchor box后,其框的尺寸会随着训练不断自我调节,由于框的大小不一,所以不采用标准的欧氏距离而是box和聚类中心box之间的iou作为距离指标。YOLOv2虽然引入了anchor box来预测box,但是所用的方法还是YOLOv1中的直接预测相对于网格坐标位置的方式。

更快

将分类网络换成了Darknet-19,整体上卷积操作比YOLOv1中要少,减少了运算量。

识别更多对象

扩展到能检测9000种不同对象。

网络结构

这一版本在一定程度上增强了小目标检测能力,降低计算量,但仍未采用残差网络,对密集小目标检测效果有待提升。

3. YOLOv3 (2018年)

2018 年的 YOLOv3 采用 Darknet - 53 主干网,引入多尺度预测。引入多尺度预测。仅使用卷积层,通过调节卷积步长控制特征图尺寸,借助 FPN 架构输出三个不同尺度的特征图,融合高低级语义信息,实现对不同大小物体的有效检测。

网络结构

同时,通过划分正例、负例和忽略样例,优化训练过程中的损失计算,在速度与精度上取得较好平衡,基本解决小目标检测问题 。

4. YOLOv4 (2020年)

YOLOv4 通过跨阶段部分网络(CSP)、空间金字塔池化(SPP)和路径聚合网络(PAN)等增强功能进一步优化了检测管道。这些创新提高了准确性和速度,解决了类不平衡和改进特征融合等难题。

思路

  1. 将CSP结构融入Darknet53中,生成了新的主干网络CSPDarkent53,可以有效增强网络的学习能力,降低成本。同时增加了Droblock,缓解过拟合现象。
  2. Neck结构主要采用了SPP模块,FPN+PAN的方式,SPP模块指的是用不同尺度的最大池化方式连接不同尺寸的特征图,可以显著分离上下文的特征,此外FPN和PAN起到了特征聚合的作用。
  3. 引入了Mish激活函数,可以增加精度。
  4. 输入部分采用了Mosaic数据增强,随机采用四张图片随机缩放后随机拼接,丰富了数据集,增强了模型的鲁棒性。
  5. 预测部份采用了CIOU_Loss替换了IOU_Loss,DIOU_nms替换了nms抑制,充分考虑了边框不重合,中心点距离,以及边框宽高比的问题。

网络结构

5. YOLOv5(2020年)

YOLOv5 由 Ultralytics 在 PyTorch 平台上发布,强调易用性、模块化和部署灵活性。它提供了从纳米到超大型的多种模型尺寸,使用户能够根据不同的硬件能力在速度和准确性之间取得平衡。

同样在 2020 年发布的 YOLOv5 由 Ultralytics 基于 PyTorch 开发,注重易用性、模块化和部署灵活性。加入 focus 框架加速训练,将 CSP 模块应用于 neck 结构,用 SPPF 结构代替 SPP。anchor box 采用训练时自适应生成方式,填充增强环节自适应添加最少黑边,并提供多种模型尺寸,满足不同硬件条件下速度与准确性的平衡需求。

网络结构

6. YOLOv6 (2022年)

2022 年的 YOLOv6 针对工业应用进行优化,骨干网络替换为 EfficientRep,Neck 采用基于 Rep 和 PAN 构建的 Rep - PAN,检测头模仿 YOLOX 进行解耦和优化。这些改进进一步提升算法计算效率,使其更适用于对实时性要求高的工业场景。

7. YOLOv7 (2022年)

YOLOv7 继续演进,对特征聚合进行了微调,并引入了新型模块,以提高速度和准确性。它在训练技术和层优化方面的改进使其成为实时物体检测(尤其是在边缘设备上)的顶级竞争者。

网络结构

2022 年的 YOLOv7 通过 E - ELAN 结构提升网络学习能力,提出计划的模型结构重参化,借鉴多种优化方法高效利用参数和计算量,并引入新的标签分配方法。在特征聚合和训练技术上的改进,使其成为实时物体检测尤其是边缘设备上的优秀选择。

8. YOLOv8(2023年)

YOLOv8 通过整合分割、图像分类甚至姿态估计等功能,将模型的多功能性扩展到了物体检测之外。它建立在 YOLOv5 和 YOLOv7 的基础上,同时在广泛的应用中提供更好的可扩展性和鲁棒性。

网络结构

2023 年的 YOLOv8 将功能扩展到物体检测之外,涵盖分割、图像分类和姿态估计等领域。骨干网络和 Neck 部分参考 YOLOv7 ELAN 设计,采用 C2f 结构并调整通道数;Head 部分换成解耦头结构,转为 Anchor - Free 模式;Loss 计算采用新的正样本分配策略并引入 Distribution Focal Loss;训练数据增强借鉴 YOLOX 的策略,提升模型性能和可扩展性 。

9. YOLOv9 (2024年)

YOLOv9 引入了可编程梯度信息(PGI)和广义高效层聚合网络(GELAN)等关键架构创新。这些变化提高了网络的效率和准确性,特别是在轻量级模型中保留了重要的梯度信息。

改进点

  • 从可逆函数角度理论上分析了现有的CNN架构,基于这种分析,设计了PGI(包括主分支、辅助可逆分支和多级辅助信息),解决了深度监督只能用于极深的神经网络架构的问题,因此使得新的轻量级架构才更适合落地。

  • 设计了GELAN模块。

网络结构

10. YOLOv10 (2024年)

YOLOv10 进一步完善了设计,通过一对一的头部方法消除了推理过程中对非最大抑制(NMS)的需求。该版本通过采用轻量级分类头和空间通道解耦下采样等先进技术,优化了速度和准确性之间的平衡。不过,其严格的一对一预测策略有时会使其在处理重叠对象时效果不佳。

网络结构

2024 年的 YOLOv10 通过一对一头部方法消除推理时对 NMS 的需求,采用轻量级分类头和空间通道解耦下采样技术,优化速度与准确性平衡。后处理提出 NMSfree 训练的一致双分配,实现端到端高效检测,并引入整体效率精度驱动的模型设计策略。

11. YOLOv11(2024年9月)

YOLOv11 是 Ultralytics 发布的另一个版本,它集成了跨阶段部分自注意(C2PSA)等现代模块,并用更高效的替代模块(如 C3k2 模块)取代了旧模块。这些改进提高了模型的特征提取能力和检测小型重叠物体的能力,为 YOLO 系列树立了新的标杆。

网络结构

2024 年 9 月的 YOLOv11 由 Ultralytics 发布,集成 C2PSA 等现代模块,用 C3k2 模块替代旧模块。C3k2 模块优化信息流,C2PSA 模块提升特征提取能力,增强对小型重叠物体的检测效果 。

12. YOLOv12(2025年2月)

最新版本 YOLOv12 引入了以注意力为中心的设计,以实现最先进的实时检测。YOLOv12 融合了区域注意力(A2)模块和残差高效层聚合网络(R-ELAN)等创新技术,在高精度和快速推理之间取得了平衡。虽然其复杂的架构增加了计算开销,但它为在物体检测中实现更细致的上下文理解铺平了道路。

网络结构

创新点

  • 区域注意力(Area Attention)

为了克服传统自注意力机制的高计算成本问题, 将特征图水平或垂直划分为大小相等的区域(默认分为 4 部分)。这种简单而有效的方法在保留大感受野的同时,显著降低了计算复杂度。

  • 残差高效层聚合网络(Residual Efficient Layer Aggregation Networks,R-ELAN)

R-ELAN 是早期 ELAN 架构的演进版本,它通过引入块级残差连接和缩放技术,解决了训练过程中的不稳定性问题。这种重新设计的特征聚合方法,使得即使是更深更宽的模型版本也能稳定训练。

YOLOv1-v12教程【2025最新YOLO算法教程】一口气讲完目标检测yolov1-v11,100集算法原理+项目实战,通俗易懂,草履虫听了都点头!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值