Ultralytics YOLOv10 YOLOv5:实时目标检测的进化之路
选择合适的物体检测模型需要权衡架构效率、部署限制和社区支持。本全面对比深入探讨了 YOLOv10(端到端检测领域的学术突破)与 YOLOv5——这个重新定义计算机视觉易用性的传奇行业标准——的技术差异。
这两款模型均代表YOLO 重大飞跃。YOLOv5 用户体验与可靠性的黄金标准,YOLOv10 通过从推理管道中移除非最大抑制(NMS)算法,YOLOv10 延迟极限。对于追求极致速度与端到端架构的开发者而言,新Ultralytics 在此基础上进一步优化,为边缘设备提供了卓越的性能提升。
性能指标比较
下表突显了两种架构在性能上的权衡取舍。YOLOv10 更高的准确率(mAP)并NMS ,YOLOv5 凭借其广泛的部署支持和成熟度YOLOv5 极强的竞争力。
| 模型 | 尺寸 (像素) | mAPval 50-95 | 速度 CPU ONNX (毫秒) | 速度 T4 TensorRT10 (毫秒) | 参数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| 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 |
YOLOv10:端到端创新者
YOLOv10 消除后处理阶段对非最大抑制(NMS)的需求YOLOv10 范式转变。这使得真正端到端的部署成为可能,从而降低了推理延迟和复杂度。
主要架构特性
- NMS训练:采用一致的双任务训练方案进行NMS训练,使模型能够直接预测独立的边界框。
- 整体效率设计:优化各组件(如主干和颈部)以减少计算冗余。
- 空间-通道解耦下采样:在特征图缩放过程中提升信息保留能力。
- 基于秩引导的区块设计:通过内在秩分析调整区块阶段以减少冗余。
作者:王洵、陈辉、刘立浩等。
机构:清华大学
日期:2024-05-23
链接:Arxiv|GitHub
端到端延迟
通过NMS YOLOv10 降低了推理波动性。在YOLO NMS 与检测到的目标数量成正比,这可能导致在拥挤场景中出现延迟激增。YOLOv10稳定的输出时间YOLOv10成为严格时间预算下实时系统的理想选择。
YOLOv5:行业标准
Ultralytics 发布的YOLOv5 不仅通过架构YOLOv5 该领域,更通过其易用性实现了突破。该模型优先实现了无缝的"开箱即用"体验、强大的可移植性,并构建了庞大的生态支持体系。
主要优势
- 成熟的生态系统:详尽的文档、教程和社区支持使故障排除变得轻松。
- 广泛兼容性:支持导出TFLite、CoreML、ONNX TensorRT 在几乎任何硬件上TensorRT 从iOS 到边缘TPU均可运行。
- 多功能性:原生支持实例分割、图像分类及检测功能。
- 训练稳定性:以对超参数变化具有鲁棒性而著称,并能在多样化的定制数据集上可靠收敛。
作者:格伦·乔克
机构:Ultralytics
日期:2020-06-26
链接:GitHub|文档
详细比较
架构与训练
YOLOv10 Transformer优化策略和先进的通道级特征区分度,在减少参数数量的同时实现了高精度。其"一致性双重分配"策略使其能在训练过程中学习一对一匹配,从而NMS (最小化重叠面积)NMS 。
YOLOv5 经典的CSPDarknet骨干网络与PANet颈部结构,在速度与精度之间实现了优化平衡。该模型基于锚点检测机制,需针对特定数据集进行精细的锚框调优以获得最佳性能,不过其自动锚点进化功能可为大多数用户自动完成此项操作。
用例与实际应用
YOLOv10的理想场景:
- 高密度人群: NMS 由于大量重叠的盒子NMS 会导致处理速度变慢。
- 低延迟机器人技术:在控制回路中,稳定的推理时间至关重要。
- 学术研究:用于研究端到端检测机制与标签分配策略。
YOLOv5理想场景:
- 移动端部署:基于TFLite CoreML的Android iOS 成熟管道方案。
- 工业检测:相较于尖端mAP,长期稳定性和可重复性更为关键。
- 入门项目:学习计算机视觉的学生最易上手的切入点。
易用性与生态系统
YOLOv5 Ultralytics 中的集成YOLOv5 。用户Comet 可视化训练过程,track ,并实现模型的无缝部署。Ultralytics 进一步简化了操作流程,提供无需编码的界面用于数据集管理和模型训练。
虽然YOLOv10 集成到Ultralytics Python ,支持熟悉的语法,但它主要属于学术研究范畴。因此,其更新频率及维护深度可能不及Ultralytics 核心Ultralytics ,例如 YOLO11 或前沿的YOLO26。
代码示例
两种模型均共享统一Ultralytics 使您能够轻松地在它们之间切换进行基准测试。
from ultralytics import YOLO
# Load a pretrained YOLOv10 model
model_v10 = YOLO("yolov10n.pt")
# Train YOLOv10 on a custom dataset
model_v10.train(data="coco8.yaml", epochs=100, imgsz=640)
# Load a pretrained YOLOv5 model (via the v8/v11/26 compatible loader)
model_v5 = YOLO("yolov5nu.pt")
# Train YOLOv5 using the modern Ultralytics engine
model_v5.train(data="coco8.yaml", epochs=100, imgsz=640)
结论:如何选择?
若您最重视尖端精度与延迟一致性,尤其在拥挤场景中, YOLOv10 堪称绝佳选择。其架构创新NMS检测技术未来发展提供了前瞻性视角。
然而,若您需要一款经过实战检验的解决方案,配备详尽的部署指南、广泛的硬件支持以及最高级别的稳定性, YOLOv5 依然是性能强劲的选择。
对于希望兼得两全之利的开发者——NMS、卓越Ultralytics 全面支持——我们强烈建议探索 YOLO26。该模型YOLOv10 继承了YOLOv10 开创的NMS设计YOLOv10 通过MuSGD优化器与优化后的损失函数CPU 提升高达43%。
了解更多模型
- YOLO11: 上一代SOTA产品,在各项任务中展现出卓越的多功能性。
- RT-DETR:transformer实时检测器,同时可消除NMS。
- YOLO26:Ultralytics最新且最先进的模型,具备端到端处理与边缘优化功能。