YOLOv5 与YOLOv5:全面技术比较
选择最佳的物体检测架构是计算机视觉开发的关键一步,需要对精度、推理速度和集成复杂度进行仔细评估。本分析将阿里巴巴集团开发的高精度模型YOLO 与 Ultralytics YOLOv5进行了比较,Ultralytics YOLOv5 是一种行业标准架构,因其在性能、速度和对开发人员友好的生态系统之间的平衡而广受赞誉。我们探讨了它们的架构创新、基准指标和理想应用场景,以帮助您做出明智的决定。
DAMO-YOLO:精确度驱动架构
作者:徐先哲、蒋一琪、陈伟华、黄一伦、张远、孙秀玉Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, and Xiuyu Sun
组织:阿里巴巴集团
日期:2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444v2
GitHub:https://github.com/tinyvision/DAMO-YOLO
文档:DAMO-YOLO README
YOLO 代表了阿里巴巴集团为在保持合理延迟的同时提高检测精度所做出的巨大努力。它集成了先进的神经架构搜索(NAS)技术和新颖的特征融合策略,在静态基准测试中表现优于许多同类产品。
建筑创新
YOLO 的与众不同之处在于它采用了多个技术复杂的组件,旨在最大限度地发挥网络的性能:
- MAE-NAS 主干网:与人工设计骨干网的模型不同,DAMO-YOLO 采用了以最大熵原则为指导的神经架构搜索(NAS)。这就产生了一种骨架结构,专门针对不同约束条件下的特征提取效率进行了优化。
- 高效的 RepGFPN:该模型采用了重新参数化的广义特征金字塔网络(RepGFPN)。这一先进的颈部模块改进了标准 FPN,优化了不同尺度的特征融合,并利用重新参数化来减少推理延迟,同时不影响精度。
- ZeroHead:为了最大限度地降低检测头的计算成本,DAMO-YOLO 引入了ZeroHead,这是一种轻量级解耦头,可高效处理分类和回归任务。
- AlignedOTA: Aligned Optimal Transport Assignment(AlignedOTA)是一种动态标签分配策略,能比静态匹配规则更有效地将预测锚点与地面实况对象对齐,从而提高了训练的稳定性和准确性。
- 蒸馏增强:训练过程通常涉及知识提炼,即由较大的 "教师 "模型指导较小的 "学生 "模型的学习,传授更丰富的特征表征。
以研究为导向的设计
YOLO 经过大量优化,可在COCO 等基准上实现高mAP 。它对 NAS 和蒸馏的使用使其成为学术研究和应用场景的强大工具,在这些应用场景中,精确度的每零点几个百分点都很重要,即使这需要以训练的复杂性为代价。
优势与劣势
YOLO 的主要优势在于其原始检测精度。通过利用 NAS 和先进的颈部设计,它的平均精度 (mAP)分数往往高于同代的同类模型。它擅长在复杂场景中识别物体,在这种场景中,细粒度的特征识别至关重要。
然而,这些收益是有代价的。对 NAS 主干网和蒸馏管道的依赖增加了培训和集成的复杂性。与某些替代方案的即插即用性质不同,为YOLO 设置自定义培训管道可能会耗费大量资源。此外,其生态系统相对较小,这意味着与更成熟的框架相比,其社区资源、教程和第三方集成较少。
Ultralytics YOLOv5:实用人工智能的标准
作者:Glenn JocherGlenn Jocher
组织:Ultralytics
日期:2020-06-26
GitHubyolov5
文档yolov5
自发布以来 Ultralytics YOLOv5已经成为现实世界中计算机视觉应用的首选解决方案。它在速度、准确性和可用性之间取得了传奇性的平衡,并以一个生态系统为后盾,简化了从数据集整理到部署的机器学习生命周期的每一个阶段。
架构和可用性
YOLOv5 利用CSPDarknet53 主干网和PANet 颈网,这些架构因其在GPU 和CPU 硬件上的鲁棒性和效率而被选中。YOLOv5 采用基于锚点的检测技术,这是一种经过验证的方法,其真正的威力在于它的工程设计和生态系统:
- 简化用户体验: YOLOv5 以其 "从零到英雄 "的理念而闻名。开发人员只需几行代码就能设置环境、在自定义数据集上进行训练并运行推理。
- 多功能性:除了标准的物体检测外,YOLOv5 还支持实例分割和图像分类,使用户能够在一个框架内完成多项视觉任务。
- 可导出性模型支持无缝导出为多种格式,包括 ONNX, TensorRT、CoreML 和TFLite 等多种格式,确保在从云服务器到边缘设备的所有设备上轻松部署。
- 内存效率:与transformer复杂架构或 NAS 重型模型相比,Ultralytics 模型在训练过程中的内存使用率通常较低,因此可以在更多硬件上使用。
生态系统优势
Ultralytics 生态系统是一个巨大的开发加速器。凭借丰富的文档资料、活跃的社区论坛和频繁的更新,开发人员可以减少调试时间,将更多时间用于创新。与Ultralytics HUB等工具的集成进一步简化了模型管理和培训。
开发人员为何选择YOLOv5
YOLOv5 始终是首选,因为它将易用性和训练效率放在首位。预训练的权重随时可用,而且非常强大,可以实现快速迁移学习。它的推理速度非常快,是视频分析、自主导航和工业检测等实时应用的理想选择。
而较新的型号,如 YOLO11等新型号引入了无锚架构并进一步提高了性能,但YOLOv5 仍然是无数生产系统中可靠、支持良好、功能强大的主力产品。
性能对比
通过直接比较,两种模型之间的区别变得非常明显:YOLO -YOLO 偏重于最大化验证准确性mAP),而YOLOv5 则优化推理速度和部署实用性。下表显示,虽然YOLO 模型在参数数量相近的情况下通常能获得更高的mAP 分数,但YOLOv5 模型(尤其是 Nano 和 Small 变体)在CPU 和GPU 上的速度更快,这通常是边缘部署的决定性因素。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| 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 |
真实世界应用代码
Ultralytics 模型最有力的论据之一就是集成的简易性。下面是一个经过验证的示例,说明如何使用PyTorch Hub 轻松加载YOLOv5 模型并将其用于推理,从而展示了生态系统对开发人员的友好性。
import torch
# Load YOLOv5s from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Define an image source (URL or local path)
img = "https://ultralytics.com/images/zidane.jpg"
# Run inference
results = model(img)
# Print results to console
results.print()
# Show the results
results.show()
结论
这两种架构在计算机视觉领域发挥着不同的作用。YOLO是学术研究和竞赛的有力选择,在这些领域中,达到最先进的精度是唯一目标,而且基于 NAS 的训练管道的复杂性是可以接受的。
然而,对于绝大多数开发人员、研究人员和企业而言,Ultralytics 的功能却并不强大、 Ultralytics YOLOv5(及其后续版本 YOLO11)仍然是最值得推荐的产品。维护良好的生态系统的优势怎么强调都不为过:简单的应用程序接口、全面的文档和无缝的导出选项大大缩短了产品上市时间。Ultralytics 模型既能有效处理实时限制,又能在细分和分类等任务中发挥多功能性,从而为构建实用的人工智能解决方案奠定了坚实、面向未来的基础。
对于那些追求绝对最新性能和功能的人,我们强烈推荐探索 YOLO11,它在YOLOv5 的基础上进一步提高了准确性和效率。
探索其他比较
要进一步评估最适合您需求的机型,请浏览这些详细的比较: