YOLO11 与YOLOv5:最新物体检测技术的演变
Ultralytics YOLO 系列产品极大地推动了实时物体检测技术的发展。 YOLOv5于 2020 年发布,在易用性、速度和可靠性方面树立了全球标准,成为历史上部署最多的视觉人工智能模型之一。 YOLO11的最新迭代,在这一传奇基础上提供了前所未有的准确性、效率和多功能性。
本指南对这两款强大的软件进行了详细的技术比较,帮助开发人员和研究人员了解每款软件的架构转变、性能提升和理想用例。
性能分析
YOLO11 与YOLOv5 之间的性能差距凸显了神经网络设计的飞速发展。虽然YOLOv5 仍然是一个有能力的模型,但YOLO11 在所有模型规模上的表现都超过了它,尤其是在CPU 推理速度和检测准确性方面。
关键绩效指标
下表列出了在COCO 数据集上进行的正面比较。一个重要的观察结果是YOLO11n 的效率,它达到了39.5mAP,大大超过了 YOLOv5n 的 28.0mAP,同时在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 代表着 "效率与精度 "权衡的范式转变。
- 小物体检测:与YOLOv5 相比,YOLOv5 通过改进特征提取层,大大提高了对小物体的检测能力。
- 计算效率:YOLO11l 仅用 25.3M 个参数就实现了 53.4mAP 。相比之下,YOLOv5l 需要 5320 万个参数才能达到较低的 49.0mAP 。为获得更高精度而减少 50%的参数,这意味着更低的内存使用率和更快的训练时间。
无锚与有锚
最重要的技术差异之一是检测头机制。 YOLOv5使用的是基于锚点的方法,这种方法需要预定义的锚点框,而这些锚点框必须针对特定的数据集进行调整,以达到最佳性能。
YOLO11采用无锚设计。这样就无需手动计算锚点框,简化了训练流程,并提高了在不同数据集上的泛化能力,而无需调整超参数。
模型结构与设计
这两种模型在结构上的差异反映了几年来计算机视觉研究的进展。
YOLOv5:久经考验的标准
YOLOv5YOLOv5 引入了用户友好的PyTorch 实现,使大众也能进行对象检测。
- 主干网利用改进的 CSPDarknet53,它非常有效,但计算量比现代替代方案大。
- 重点:优先考虑速度和准确性之间的平衡,这在 2020 年发布时具有革命性意义。
- 传统:对于已经与其特定输入/输出格式深度集成的系统来说,它仍然是一个 "安全的选择"。
YOLO11:尖端科技
YOLO11集成了最新的深度学习技术,最大限度地提高了特征重用率,并将计算开销降至最低。
- C3k2 块:作为 CSP 瓶颈的进化版,该模块可实现更高效的梯度流和特征融合。
- C2PSA 模块:引入空间注意力机制,使模型能够专注于图像的关键区域,从而更好地定位目标。
- 多任务头: YOLOv5 需要为不同的任务建立单独的模型分叉,而YOLO11 则不同,它在一个统一的框架中原生支持对象检测、实例分割、姿势估计 、定向边框(旋转框检测)和分类。
对比表:技术规格
| 特点 | YOLOv5 | YOLO11 |
|---|---|---|
| 架构 | CSPDarknet 骨干网 | 含 C3k2 和 C2PSA 的精制骨架 |
| 检测头 | 以锚为基础 | 无锚 |
| 任务 | 检测、分段、分类 | Detect, Segment, Classify,姿势估计,旋转框检测, Track |
| 许可证 | AGPL-3.0 | AGPL-3.0 |
| 发布日期 | 2020 年 6 月 | 2024 年 9 月 |
| 易用性 | 高(命令行和PyTorch Hub) | 非常高(统一Python SDK 和CLI |
训练与生态系统
这两种模式都受益于强大的Ultralytics 生态系统,该系统为数据管理、培训和部署提供了无缝工具。
培训效率
YOLO11 在设计上比YOLOv5 训练更快,收敛更快。
- 智能默认值: Ultralytics 引擎会根据数据集和模型大小自动配置超参数,从而减少了手动调整超参数的需要。
- 内存使用:由于减少了参数数量,YOLO11 模型在训练过程中消耗的GPU VRAM 一般较少,因此可以在消费级硬件上使用更大的批次。
代码示例:培训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 ExplorerAPI,使用 SQL 和语义搜索对数据集进行可视化查询。
理想用例
选择正确的模式取决于项目的具体限制和要求。
何时选择YOLO11
95% 的新项目都建议选择YOLO11 。
- 新发展:如果您是从零开始,YOLO11 将为您提供最佳的面向未来性、准确性和速度。
- CPU 部署:对于在CPU 上运行的边缘设备(如 Raspberry Pi、手机),YOLO11n 比 YOLOv5n 明显更快、更准确。
- 复杂任务:需要姿势估计 或 旋转框检测(YOLO11 原生支持航空图像和文件分析)。
- 云和服务器: YOLO11 的高吞吐量使其成为实时处理海量视频流的理想选择。
何时坚持使用YOLOv5
YOLOv5 仍是特定传统方案的可行选择。
- 传统维护:如果您的生产系统与特定的YOLOv5 代码库或输出格式高度耦合。
- 特定硬件调整:一些较旧的嵌入式加速器可能有专门针对YOLOv5 层进行验证的高度优化固件(尽管大多数现代运行时(如OpenVINO )现在更倾向于较新的架构)。
- 学术基线:与历史基线进行比较的研究人员经常引用YOLOv5 ,因为它在文献中存在已久。
迁移到YOLO11
从YOLOv5 迁移到YOLO11 非常简单。数据集格式YOLO TXT)保持一致,这意味着您可以重新使用现有的注释数据集而无需修改。Python API 结构也非常相似,通常只需要更改模型名称字符串(例如从 yolov5su.pt 到 yolo11n.pt 内 ultralytics 包)。
探索其他选择
除了YOLO11 和YOLOv5 之外,Ultralytics 还支持多种模型。根据您的具体需求,您可以考虑:
- YOLOv8: YOLO11 的直接前身,提供了非常均衡的功能,并被业界广泛采用。
- YOLOv10:一种专注于NMS 训练的架构,可降低特定实时应用中的延迟。
- RT-DETR: transformer检测器,在推理速度比最大精度更重要的情况下,精度更为出色。
- YOLOv9:以其可编程梯度信息 (PGI) 概念著称,在困难的检测任务中表现出色。
结论
从YOLOv5 到YOLO11 的过渡标志着计算机视觉发展史上的一个重要里程碑。 YOLOv5将人工智能平民化,使每个人都能进行物体检测。 YOLO11完善了这一愿景,提供了一个更快、更轻、更准确的模型。
对于追求绝对最佳每瓦性能和最多功能的开发人员来说,YOLO11 是当之无愧的赢家。Ultralytics 与活跃的Ultralytics 生态系统相集成,确保您可以使用最新的工具、简单的应用程序接口和繁荣的社区来支持您的人工智能之旅。
准备升级?查看YOLO11 文档或访问GitHub 存储库,立即开始。