YOLOv10 vs. EfficientDet:技术对比
选择合适的物体检测模型是一个至关重要的决定,它需要在准确性、推理速度和计算成本之间取得平衡。本页详细比较了 YOLOv10(一种先进的实时检测器)和 EfficientDet(以架构效率著称的一系列模型)的技术差异。我们将分析它们的核心差异、性能指标和理想用例,以帮助您为项目选择最佳模型,并重点介绍 YOLOv10 在全面的 Ultralytics 生态系统中的优势。
YOLOv10:实时端到端效率
YOLOv10 由 清华大学 的研究人员于 2024 年 5 月推出,标志着实时对象检测领域取得了重大飞跃。它专为端到端效率而设计,解决了模型架构和后处理中的关键瓶颈,从而在不影响准确性的前提下提供卓越的速度。
技术细节:
- 作者: Ao Wang, Hui Chen, Lihao Liu, et al.
- 组织: 清华大学
- 日期: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- 文档: https://docs.ultralytics.com/models/yolov10/
架构和主要特性
YOLOv10 引入了几项突破性创新,以重新定义速度与精度的前沿:
- 无 NMS 训练:一个核心特性是它能够在没有非极大值抑制 (NMS)的情况下进行训练。通过使用一致性双重分配,YOLOv10 消除了对这个后处理步骤的需求,从而显著降低了推理延迟并简化了部署流程。
- 整体效率-精度设计: 该模型架构从头开始重新设计,以提高效率。这包括轻量级分类头和空间通道解耦降采样,从而减少计算冗余,同时增强模型特征提取能力。
- Ultralytics 生态系统集成: YOLOv10 已无缝集成到 Ultralytics 框架中。这为用户提供了简化的体验,包括简单的 Python API、强大的 CLI 命令 以及对 Ultralytics HUB 的访问,以实现无代码训练和部署。该生态系统可确保高效训练、轻松访问预训练权重以及丰富的 文档。
优势与劣势
优势:
- 卓越的推理速度: 针对实时性能进行了优化,使其成为需要在 GPU 硬件上实现低延迟的应用的理想选择。
- End-to-End Efficiency: 无 NMS 设计简化了部署并减少了计算开销。
- 卓越的性能平衡: 与许多竞争对手相比,以更少的参数和 FLOP 实现最先进的准确性。
- 易用性: 受益于维护良好的 Ultralytics 生态系统,该生态系统简化了从训练到部署的所有环节。
- 更低的内存需求: 专为高效内存使用而设计,可在更广泛的硬件上进行训练和推理。
弱点:
- 较新的模型: 作为一个最近发布的版本,与更成熟的模型相比,它的社区和第三方工具集成仍在增长。
理想用例
YOLOv10 的速度和效率使其成为要求苛刻的实时应用的完美选择:
- 自主系统: 为自动驾驶汽车和无人机中的感知提供动力,在这些应用中,快速决策至关重要。
- 机器人: 在动态环境中实现快速对象交互和导航,这是人工智能在机器人技术中的作用的关键方面。
- Edge AI: 部署在资源受限的设备上,如 NVIDIA Jetson 和 Raspberry Pi,用于设备端处理。
- 实时分析: 监控高流量区域,用于安全监控和智慧城市管理等应用。
EfficientDet:可扩展且高效的架构
EfficientDet 由 Google Brain 团队于 2019 年推出,是一系列可扩展且高效的目标检测器。其设计理念是创建一个高度优化的架构,可以向上或向下扩展以满足不同的计算预算。
技术细节:
- 作者: Mingxing Tan、Ruoming Pang 和 Quoc V. Le
- 组织: Google
- 日期: 2019-11-20
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: https://github.com/google/automl/tree/master/efficientdet
架构和主要特性
EfficientDet 的架构建立在三个关键组件之上:
- EfficientNet Backbone: 它使用高效的 EfficientNet 作为其特征提取的主干,该主干以其出色的准确性与计算比率而闻名。
- BiFPN (Bi-directional Feature Pyramid Network)(双向特征金字塔网络): EfficientDet 没有使用标准的 FPN,而是使用了加权双向 FPN,后者允许以更少的参数进行更有效的多尺度特征融合。
- 复合缩放 (Compound Scaling): 一种新颖的缩放方法,可统一缩放骨干网络、特征网络和预测头的深度、宽度和分辨率。这使得模型能够从小型 D0 变体扩展到大型 D7 变体,同时保持架构一致性。
优势与劣势
优势:
- 高参数效率: 擅长以极少的参数和FLOPs实现良好的准确性。
- 可扩展性: 复合缩放方法提供了一条清晰的路径,可以在各种模型(D0-D7)中权衡准确性和计算成本。
- 强大的精度:像 D6 和 D7 这样较大的变体在标准基准(如 COCO)上实现了较高的 mAP 分数。
弱点:
- 推理速度较慢: 尽管EfficientDet模型具有参数效率,但与YOLO模型相比,其推理延迟通常更高,尤其是在GPU上。
- 复杂架构: BiFPN 和复合缩放虽然有效,但会使模型不太容易修改或优化。
- 生态系统有限: 缺乏像 Ultralytics 那样统一且积极维护的生态系统,这使得开发者在训练、部署和支持方面面临更多挑战。
- 任务特定: 主要为目标检测而设计,缺乏像Ultralytics YOLOv8等框架中用于分割或姿势估计等其他任务的内置通用性。
理想用例
EfficientDet最适合于模型大小和FLOPs是最关键的约束,而实时速度不是主要目标的应用:
- 基于云的批量处理: 分析大量的图像数据集,其中延迟不是用户直接面临的问题。
- 学术研究: 研究模型缩放规律和架构效率。
- 移动应用: 当模型必须符合非常严格的设备端内存限制,并且可以容忍一定的延迟时。
性能正面交锋:速度 vs. 效率
在比较 YOLOv10 和 EfficientDet 时,推理速度和参数效率之间出现了明显的权衡。
模型 | 尺寸 (像素) |
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 |
EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
如表所示,YOLOv10 模型始终在现代硬件上提供卓越的性能。例如,YOLOv10-S 在 T4 GPU 上实现了 46.7 mAP,延迟仅为 2.66 毫秒,速度极快。相比之下,精度相似的 EfficientDet-d3 (47.5 mAP) 速度慢了 7 倍以上,为 19.59 毫秒。这种性能差距随着模型尺寸的增大而扩大,使 YOLOv10 成为任何以速度为关键因素的应用的明显赢家。虽然 EfficientDet 模型显示出具有竞争力的 CPU 速度,但它们的 GPU 性能明显落后于高度优化的 YOLO 架构。
结论:您应该选择哪种模型?
虽然 EfficientDet 在创建参数高效模型方面迈出了一大步,但 对于绝大多数现代计算机视觉应用来说,YOLOv10 是更优越的选择。 它的架构专为 GPU 上的高速、实时推理而设计,其端到端、无 NMS 的设计使其在生产部署中更加实用。
对于开发人员和研究人员来说,在 Ultralytics 生态系统中选择 YOLOv10 的优势是巨大的:
- 易用性: 凭借简单的 API 和丰富的文档,提供精简的用户体验。
- 维护良好的生态系统: 积极的开发、强大的社区支持以及与 Ultralytics HUB 等工具的无缝集成,可实现 MLOps。
- 性能平衡: 在速度和准确性之间实现了出色的权衡,适用于各种现实场景。
- 训练效率: 更快的训练时间和随时可用的预训练权重,以加速开发。
如果您正在寻找一款兼具卓越性能和无与伦比易用性的模型,YOLOv10 绝对是您的选择。对于那些有兴趣探索其他先进模型的用户,可以考虑查看功能多样的 Ultralytics YOLOv8 或最新的 YOLO11,以获得更高级的功能。您还可以探索其他对比,例如 YOLOv10 vs. YOLOv8 或 EfficientDet vs. YOLOv8,以获得更多见解。