跳转至内容

YOLO11 与 YOLOv5:最先进目标检测的演进

实时目标检测的发展深受 Ultralytics YOLO 系列的影响。YOLOv5 于 2020 年发布,在易用性、速度和可靠性方面树立了全球标准,成为历史上部署最广泛的视觉 AI 模型之一。最新迭代的 YOLO11 在这一传奇基础上进一步发展,提供了前所未有的准确性、效率和多功能性。

本指南对这两个强大的模型进行了详细的技术比较,帮助开发人员和研究人员理解各自的架构转变、性能提升和理想用例。

性能分析

YOLO11 和 YOLOv5 之间的性能差距突显了神经网络设计的快速进步。虽然 YOLOv5 仍然是一个有能力的模型,但 YOLO11 在所有模型规模上始终优于它,尤其是在 CPU 推理速度和 detect accuracy 方面。

关键性能指标

下表展示了在COCO数据集上的直接对比。一个关键的观察是YOLO11n的效率,它实现了39.5 mAP,显著超越了YOLOv5n的28.0 mAP,同时在CPU硬件上运行更快。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
YOLO11n64039.556.11.52.66.5
YOLO11s64047.090.02.59.421.5
YOLO11m64051.5183.24.720.168.0
YOLO11l64053.4238.66.225.386.9
YOLO11x64054.7462.811.356.9194.9
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

精度与效率

YOLO11 代表了“效率与准确性”权衡中的范式转变。

  • 小目标检测:YOLO11凭借其改进的特征提取层,与YOLOv5相比显著改进了小目标检测。
  • 计算效率:YOLO11l 仅用 25.3M 参数即可达到 53.4 mAP。相比之下,YOLOv5l 需要 53.2M 参数才能达到较低的 49.0 mAP。这种在更高精度下 参数减少 50% 的优势意味着更低的内存使用和更快的训练时间。

无锚框与基于锚框

最显著的技术差异之一是检测头机制。YOLOv5 采用基于锚点的方法,这需要预定义的锚框,必须针对特定数据集进行调整才能实现最佳性能。

YOLO11采用了无锚点设计。这消除了手动计算锚框的需要,简化了训练流程,并在无需超参数调优的情况下提高了在多样化数据集上的泛化能力。

模型架构与设计

这两种模型之间的架构差异反映了 计算机视觉 研究在过去几年中的进展。

YOLOv5:久经考验的标准

YOLOv5YOLOv5 引入了用户友好的PyTorch 实现,使大众也能进行对象检测。

  • 主干网络:利用改进的 CSPDarknet53,该网络非常有效,但计算量比现代替代方案更大。
  • 侧重点:优先平衡速度和准确性,这在2020年发布时具有革命性意义。
  • 传统:对于已深度集成其特定输入/输出格式的系统来说,它仍然是一个“安全选择”。

了解更多关于 YOLOv5 的信息

YOLO11:尖端技术

YOLO11集成了最新的深度学习技术,以最大化特征重用并最小化计算开销。

  • C3k2 块:作为 CSP 瓶颈的演进,该块允许更有效的梯度流和特征融合。
  • C2PSA 模块:引入了空间注意力机制,使模型能够关注图像的关键区域,以实现更好的对象定位。
  • 多任务头部:与需要为不同任务单独模型分支的 YOLOv5 不同,YOLO11 在统一框架中原生支持目标 detect实例 segment姿势估计旋转框检测 (obb)和分类。

了解更多关于 YOLO11 的信息

比较表:技术规格

特性YOLOv5YOLO11
架构CSPDarknet 主干网络采用 C3k2 和 C2PSA 的改进型骨干网络
检测头基于锚点无锚点
任务检测、分割、分类检测、分割、分类、姿势估计、旋转框检测、跟踪
许可证AGPL-3.0AGPL-3.0
发布日期2020 年 6 月2024年9月
易用性高(命令行和PyTorch Hub)非常高(统一的 python SDK 和 CLI)

训练与生态系统

两种模型都受益于强大的Ultralytics 生态系统,该系统提供无缝的数据管理、训练和部署工具。

训练效率

YOLO11 的设计旨在比 YOLOv5 训练更快、收敛更快。

  • 智能默认设置:Ultralytics 引擎根据数据集和模型大小自动配置超参数,减少了手动超参数调优的需求。
  • 内存使用: 由于参数数量减少,YOLO11 模型在训练期间通常消耗更少的 GPU 显存,从而可以在消费级硬件上实现更大的 批次大小

代码示例:训练 YOLO11

YOLO11 的训练通过...得到简化 ultralytics Python 包。以下示例演示了如何在 COCO8 数据集上训练 YOLO11n 模型。

from ultralytics import YOLO

# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")

# Train the model
# The device argument can be 'cpu', 0 for GPU, or [0, 1] for multi-GPU
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)

生态系统集成

尽管 YOLOv5 因其发布时间较早而拥有大量的第三方教程,但 YOLO11 原生集成到现代 Ultralytics 包中。这提供了对高级功能的即时访问:

  • 一键导出:使用单个命令即可导出到ONNXOpenVINO、TensorRT和CoreML。
  • 跟踪:内置对象跟踪支持(BoT-SORT, ByteTrack),无需外部存储库。
  • 探索器:使用Ultralytics Explorer API,通过SQL和语义搜索来可视化和查询您的数据集。

理想用例

选择合适的模型取决于您项目的具体限制和要求。

何时选择 YOLO11

YOLO11 是95% 新项目的推荐选择

  1. 新进展:如果您从头开始,YOLO11 提供了最佳的未来适应性、精度和速度。
  2. CPU 部署:对于运行在 CPU 上的边缘设备(例如树莓派、手机),YOLO11n 比 YOLOv5n 明显更快、更准确。
  3. 复杂任务:需要姿势估计旋转框检测(例如,航空影像、文档分析)的项目由YOLO11原生支持。
  4. 云与服务器:YOLO11 的高吞吐量使其成为实时处理海量视频流的理想选择。

何时坚持使用 YOLOv5

YOLOv5 仍然是适用于特定传统场景的可行选择。

  1. 传统维护:如果您的生产系统与特定的 YOLOv5 代码库或输出格式紧密耦合。
  2. 特定硬件调优: 一些较旧的嵌入式加速器可能具有经过高度优化的固件,专门针对YOLOv5层进行了验证(尽管大多数现代运行时,如OpenVINO,现在更青睐较新的架构)。
  3. 学术基准: 研究人员在与历史基准进行比较时,通常会引用 YOLOv5,因为它在文献中长期存在。

迁移到 YOLO11

从 YOLOv5 迁移到 YOLO11 非常简单。数据集格式 (YOLO TXT) 保持不变,这意味着您可以无需修改地重用现有标注数据集。python API 结构也非常相似,通常只需更改模型名称字符串(例如,从 yolov5su.ptyolo11n.ptultralytics 包)。

探索其他选项

Ultralytics 支持除了 YOLO11 和 YOLOv5 之外的广泛模型。根据您的具体需求,您可以考虑:

  • YOLOv8: 是YOLO11的直接前身,在功能和广泛的行业应用方面实现了很好的平衡。
  • YOLOv10: 一种专注于无 NMS 训练的架构,旨在降低特定实时应用中的延迟。
  • RT-DETR: 一种基于 Transformer 的 detector,在推理速度不如最大精度重要的情况下,它在精度方面表现出色。
  • YOLOv9: 以其可编程梯度信息 (PGI) 概念而闻名,在困难的detect任务上提供强大的性能。

结论

从 YOLOv5 到 YOLO11 的转变标志着计算机视觉历史上的一个重要里程碑。YOLOv5 普及了人工智能,使目标检测人人可及。YOLO11 则完善了这一愿景,提供了一个更快、更轻、更准确的模型。

对于寻求最佳每瓦性能和最多功能特性集的开发者而言,YOLO11 显然是赢家。它与活跃的 Ultralytics 生态系统的集成确保您能够访问最新的工具、简单的API以及一个蓬勃发展的社区,以支持您的AI之旅。

准备升级?查阅YOLO11 文档或探索GitHub 仓库,立即开始。


评论