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) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
精度与效率
YOLO11 代表了“效率与准确性”权衡中的范式转变。
- 小目标检测:YOLO11凭借其改进的特征提取层,与YOLOv5相比显著改进了小目标检测。
- 计算效率:YOLO11l 仅用 25.3M 参数即可达到 53.4 mAP。相比之下,YOLOv5l 需要 53.2M 参数才能达到较低的 49.0 mAP。这种在更高精度下 参数减少 50% 的优势意味着更低的内存使用和更快的训练时间。
无锚框与基于锚框
最显著的技术差异之一是检测头机制。YOLOv5 采用基于锚点的方法,这需要预定义的锚框,必须针对特定数据集进行调整才能实现最佳性能。
YOLO11采用了无锚点设计。这消除了手动计算锚框的需要,简化了训练流程,并在无需超参数调优的情况下提高了在多样化数据集上的泛化能力。
模型架构与设计
这两种模型之间的架构差异反映了 计算机视觉 研究在过去几年中的进展。
YOLOv5:久经考验的标准
YOLOv5YOLOv5 引入了用户友好的PyTorch 实现,使大众也能进行对象检测。
- 主干网络:利用改进的 CSPDarknet53,该网络非常有效,但计算量比现代替代方案更大。
- 侧重点:优先平衡速度和准确性,这在2020年发布时具有革命性意义。
- 传统:对于已深度集成其特定输入/输出格式的系统来说,它仍然是一个“安全选择”。
YOLO11:尖端技术
YOLO11集成了最新的深度学习技术,以最大化特征重用并最小化计算开销。
- C3k2 块:作为 CSP 瓶颈的演进,该块允许更有效的梯度流和特征融合。
- C2PSA 模块:引入了空间注意力机制,使模型能够关注图像的关键区域,以实现更好的对象定位。
- 多任务头部:与需要为不同任务单独模型分支的 YOLOv5 不同,YOLO11 在统一框架中原生支持目标 detect、实例 segment、姿势估计、旋转框检测 (obb)和分类。
比较表:技术规格
| 特性 | YOLOv5 | YOLO11 |
|---|---|---|
| 架构 | CSPDarknet 主干网络 | 采用 C3k2 和 C2PSA 的改进型骨干网络 |
| 检测头 | 基于锚点 | 无锚点 |
| 任务 | 检测、分割、分类 | 检测、分割、分类、姿势估计、旋转框检测、跟踪 |
| 许可证 | AGPL-3.0 | AGPL-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 包中。这提供了对高级功能的即时访问:
- 一键导出:使用单个命令即可导出到ONNX、OpenVINO、TensorRT和CoreML。
- 跟踪:内置对象跟踪支持(BoT-SORT, ByteTrack),无需外部存储库。
- 探索器:使用Ultralytics Explorer API,通过SQL和语义搜索来可视化和查询您的数据集。
理想用例
选择合适的模型取决于您项目的具体限制和要求。
何时选择 YOLO11
YOLO11 是95% 新项目的推荐选择。
- 新进展:如果您从头开始,YOLO11 提供了最佳的未来适应性、精度和速度。
- CPU 部署:对于运行在 CPU 上的边缘设备(例如树莓派、手机),YOLO11n 比 YOLOv5n 明显更快、更准确。
- 复杂任务:需要姿势估计或旋转框检测(例如,航空影像、文档分析)的项目由YOLO11原生支持。
- 云与服务器:YOLO11 的高吞吐量使其成为实时处理海量视频流的理想选择。
何时坚持使用 YOLOv5
YOLOv5 仍然是适用于特定传统场景的可行选择。
- 传统维护:如果您的生产系统与特定的 YOLOv5 代码库或输出格式紧密耦合。
- 特定硬件调优: 一些较旧的嵌入式加速器可能具有经过高度优化的固件,专门针对YOLOv5层进行了验证(尽管大多数现代运行时,如OpenVINO,现在更青睐较新的架构)。
- 学术基准: 研究人员在与历史基准进行比较时,通常会引用 YOLOv5,因为它在文献中长期存在。
迁移到 YOLO11
从 YOLOv5 迁移到 YOLO11 非常简单。数据集格式 (YOLO TXT) 保持不变,这意味着您可以无需修改地重用现有标注数据集。python API 结构也非常相似,通常只需更改模型名称字符串(例如,从 yolov5su.pt 到 yolo11n.pt 在 ultralytics 包)。
探索其他选项
Ultralytics 支持除了 YOLO11 和 YOLOv5 之外的广泛模型。根据您的具体需求,您可以考虑:
- YOLOv8: 是YOLO11的直接前身,在功能和广泛的行业应用方面实现了很好的平衡。
- YOLOv10: 一种专注于无 NMS 训练的架构,旨在降低特定实时应用中的延迟。
- RT-DETR: 一种基于 Transformer 的 detector,在推理速度不如最大精度重要的情况下,它在精度方面表现出色。
- YOLOv9: 以其可编程梯度信息 (PGI) 概念而闻名,在困难的detect任务上提供强大的性能。
结论
从 YOLOv5 到 YOLO11 的转变标志着计算机视觉历史上的一个重要里程碑。YOLOv5 普及了人工智能,使目标检测人人可及。YOLO11 则完善了这一愿景,提供了一个更快、更轻、更准确的模型。
对于寻求最佳每瓦性能和最多功能特性集的开发者而言,YOLO11 显然是赢家。它与活跃的 Ultralytics 生态系统的集成确保您能够访问最新的工具、简单的API以及一个蓬勃发展的社区,以支持您的AI之旅。
准备升级?查阅YOLO11 文档或探索GitHub 仓库,立即开始。