YOLOv5 vs YOLO11:全面的技术比较
在快速发展的计算机视觉领域,选择合适的物体 detect 模型对于项目成功至关重要。该领域最重要的两个里程碑是 YOLOv5 和最近发布的 YOLO11。尽管 YOLOv5 确立了易用性和速度的传奇标准,YOLO11 则凭借多年的研发成果,突破了准确性和效率的界限。
本指南对这两种架构进行了详细的技术分析,帮助开发人员、研究人员和工程师为其AI应用做出明智决策。
Ultralytics YOLOv5:可靠的主力
YOLOv5 于 2020 年发布,彻底改变了目标检测的可访问性。它是第一个在 PyTorch 中原生实现的“You Only Look Once”模型,这使得开发人员可以极其轻松地进行训练和部署。其速度和准确性的平衡使其成为从工业检测到自动驾驶汽车等各种应用的首选。
技术细节:
- 作者: Glenn Jocher
- 组织:Ultralytics
- 日期: 2020-06-26
- GitHub:https://github.com/ultralytics/yolov5
- 文档:https://docs.ultralytics.com/models/yolov5/
主要特性和架构
YOLOv5 采用基于锚框的架构。它引入了 CSPDarknet 主干网络,与之前的迭代相比,显著改善了梯度流并降低了计算成本。该模型采用路径聚合网络 (PANet) 颈部网络来增强信息流,并在训练期间集成了 Mosaic 数据增强,这项技术已成为提高模型对小物体鲁棒性的标准方法。
优势
YOLOv5 以其稳定性与成熟度而闻名。经过多年的社区测试,其教程、第三方集成和部署指南生态系统非常庞大。对于已针对其架构进行特定硬件优化的传统系统或边缘设备而言,它是一个绝佳选择。
Ultralytics YOLO11:最先进的演进
YOLO11将于2024年末推出,代表了视觉AI的尖端技术。它借鉴了YOLOv5和YOLOv8的经验,旨在提供一个更快、更准确、计算效率更高的模型。
技术细节:
- 作者: Glenn Jocher, Jing Qiu
- 组织:Ultralytics
- 日期: 2024-09-27
- GitHub:https://github.com/ultralytics/ultralytics
- 文档:https://docs.ultralytics.com/models/yolo11/
架构和主要特性
YOLO11 引入了显著的架构改进,包括 C3k2 块和 C2PSA(跨阶段部分空间注意力)模块。与 YOLOv5 不同,YOLO11 采用无锚点检测头,通过消除手动计算锚框的需要来简化训练过程。这种设计转变增强了泛化能力,并使模型能够更好地适应多样化的数据集。
无与伦比的多功能性
YOLO11的一个显著特点是其在单一框架内对多种计算机视觉任务的原生支持。YOLOv5主要侧重于detection(后来支持segmentation),而YOLO11从一开始就旨在处理:
这种多功能性使开发人员无需切换框架即可解决复杂的机器人和分析问题。
性能对比
从 YOLOv5 到 YOLO11 的转变带来了显著的性能提升。各项指标表明,YOLO11 在速度和准确性之间提供了更优的权衡。
精度与效率
YOLO11 在 COCO 数据集上始终比同等大小的 YOLOv5 模型实现更高的 平均精度均值 (mAP)。例如,YOLO11m 模型在精度上超越了体积更大的 YOLOv5x(51.5 vs 50.7 mAP),同时参数量仅为其一小部分(20.1M vs 97.2M)。模型尺寸的这种大幅减小意味着在训练和推理过程中对内存的需求更低,这对于在资源受限的边缘 AI 硬件上部署至关重要。
推理速度
得益于优化的架构选择,YOLO11 在 CPU 推理速度方面表现出色。YOLO11n 模型在 CPU 上使用 ONNX 仅需 56.1 毫秒,为实时应用树立了新的基准,显著快于其前身。
内存效率
Ultralytics YOLO11 模型旨在实现最佳内存使用。与 RT-DETR 等基于 Transformer 的检测器相比,YOLO11 在训练期间所需的 CUDA 内存显著更少,这使得拥有标准消费级 GPU 的开发者也能使用它。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
训练与开发者体验
两种模型都受益于全面的Ultralytics 生态系统,该系统以其“易用性”而闻名。
无缝集成
YOLO11 已集成到现代 ultralytics Python 包,它通过一个简单的 API 统一了所有任务。这使得只需几行代码即可进行训练、验证和部署。
from ultralytics import YOLO
# Load a COCO-pretrained YOLO11n model
model = YOLO("yolo11n.pt")
# Train on a custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
尽管 YOLOv5 拥有自己的专用仓库,但它也可以通过PyTorch Hub轻松加载,或在较新的生态系统中用于特定任务。这两种模型的完善文档确保无论是进行超参数调优还是导出到OpenVINO,过程都得到简化。
生态系统效益
选择 Ultralytics 模型意味着获得一套维护良好的工具。从与 Comet 集成进行实验 track 到无缝数据集管理,该生态系统支持整个 MLOps 生命周期。这种积极的开发确保了安全补丁和性能改进的定期交付。
理想用例
何时选择 YOLOv5
- 传统硬件:如果您有现有的边缘设备(例如较旧的树莓派),其管道已专门针对 YOLOv5 架构进行了优化。
- 成熟的工作流程: 对于处于深度维护模式的项目,更新核心模型架构将产生显著的重构成本。
- 特定GPU优化: 在极少数情况下,特定的TensorRT引擎针对YOLOv5的精确层结构进行了深度优化。
何时选择 YOLO11
- 新进展:对于几乎所有新项目,YOLO11 是推荐的起点,因为它具有卓越的精度计算比。
- 实时 CPU 应用: 在笔记本电脑或云实例等标准处理器上运行的应用,从 YOLO11 的 CPU 速度优化中受益匪浅。
- 复杂任务:需要实例分割或姿势估计以及detect的项目。
- 高精度要求:在医学影像或卫星图像分析等领域,高精度检测小目标至关重要。
结论
YOLOv5 仍然是高效且易于访问的 AI 设计的典范,在过去几年中为无数创新提供了动力。然而,YOLO11 代表着未来。凭借其先进的无锚点架构、卓越的 mAP 分数和增强的多功能性,它为开发者提供了更强大的工具集,以解决现代计算机视觉挑战。
采用 YOLO11,您不仅能获得更好的性能,还能在蓬勃发展的 Ultralytics 生态系统中确保您的应用面向未来。
探索其他模型
如果您有兴趣将这些架构与其他领先模型进行比较,请查阅我们的详细比较: