YOLOv10 与 EfficientDet:技术比较
在过去几年中,物体检测技术发展迅速,从复杂的多级管道过渡到精简的实时架构。本对比探讨了 YOLOv10 和 YOLOv10 之间的技术差异。 YOLOv10和Google 在 2019 年推出的先锋架构EfficientDet 之间的技术差异。
EfficientDet 为当时的参数效率设定了基准,而YOLOv10 则突破了延迟和准确性的界限,引入了NMS 训练范例,大大提高了推理速度。本指南分析了它们的架构、性能指标和理想用例,帮助您为计算机视觉项目选择合适的模型。
YOLOv10:实时端到端物体检测
YOLOv10 是YOLO (You Only Look Once,你只看一次)系列的一次重大飞跃,它重点消除了非最大抑制NMS)后处理步骤,而这一步骤往往是推理速度的瓶颈。与之前的迭代版本相比,通过采用一致的双分配进行NMS 训练,它以更低的延迟实现了极具竞争力的性能。
技术细节:
- 作者: Ao Wang, Hui Chen, Lihao Liu, et al.
- 组织机构: 清华大学清华大学
- 日期: 2024-05-23
- Arxiv:YOLOv10:实时端到端物体检测
- GitHub:THU-MIG/yolov10
主要建筑特点
YOLOv10 引入了以效率和精度为导向的整体模型设计。核心创新在于其双重分配策略。在训练过程中,模型既使用一对多的分配(YOLOv8 中常用)来进行丰富的监督,也使用一对一的分配来确保在没有NMS 的情况下进行端到端部署。
- NMS 训练:传统的检测器需要NMS 来过滤重复的边界框,这会带来推理延迟。YOLOv10 的架构允许模型在推理过程中对每个对象精确预测一个边框,从而有效消除了这一开销。
- 效率驱动型设计:该模型利用轻量级分类头和空间通道解耦下采样来降低计算成本(FLOPs)和参数数量。
- 大内核卷积:通过有选择性地使用大核深度卷积,YOLOv10 增强了其感受野和detect 小物体的能力,而无需大量增加计算量。
NMS 为何重要
消除非最大抑制NMS)可创建真正的端到端流水线。这对于每毫秒都至关重要的边缘人工智能应用(如NVIDIA Jetson设备)来说至关重要,可确保稳定和可预测的延迟。
优势
- 卓越的速度:针对实时推理进行了优化,在GPU 硬件上明显优于旧版模型。
- Ultralytics 集成:作为Ultralytics 生态系统的一部分,YOLOv10 受益于简单的Python 应用程序接口,使其非常易于培训、验证和部署。
- 内存使用量更低:与transformer检测器(如 RT-DETR.
EfficientDet:可扩展且高效的架构
EfficientDetGoogle 大脑团队开发,旨在优化精度和效率。它引入了一个模型系列(D0-D7),采用复合缩放方法对分辨率、深度和宽度进行统一调整。
技术细节:
- 作者: Mingxing Tan、Ruoming Pang 和 Quoc V. Le
- 组织机构Google
- 日期: 2019-11-20
- Arxiv:EfficientDet:可扩展的高效物体检测
- GitHub:google
主要建筑特点
EfficientDet 建立在EfficientNet骨干之上,并引入了BiFPN(双向特征金字塔网络)。
- BiFPN与标准 FPN 不同,BiFPN 允许双向信息流,并使用可学习权重来融合不同尺度的特征。这样就能以更少的参数获得更好的多尺度特征表示。
- 复合扩展:这种方法可确保骨干网络、特征网络和箱体/类别预测网络一起高效扩展。D0 模型体积小,移动速度快,而 D7 模型则能在高资源环境中实现最先进的准确性。
优势与劣势
- 参数效率:EfficientDet 以实现高 mAP而著称。
- 可扩展性:D0-D7 系列为不同的计算预算提供了灵活性。
- 高延迟:尽管 FLOP 数较低,但与YOLO 模型的精简 CNN 架构相比,BiFPN 和深度可分离卷积中的复杂连接会导致 GPU 的延迟更高。
- 复杂性:与 Ultralytics 的直接设计相比,该架构更难定制或调整。 Ultralytics YOLOv8或YOLOv10 相比,架构更难定制或调整。
性能分析:速度与效率
在比较这两个模型时,理论效率(FLOPs)和实际速度(Latency)之间的区别变得非常明显。EfficientDet 擅长最小化 FLOPs,但在 GPU 等现代硬件上,YOLOv10 在实际推理速度方面占据优势。
下表显示,虽然 EfficientDet 模型结构紧凑,但YOLOv10 为实时应用提供了更好的权衡。例如,YOLOv10在 T4GPU 上提供了极具竞争力的 46.7%mAP ,延迟时间仅为 2.66ms,而EfficientDet-d3(47.5%mAP)的延迟时间为 19.59mAP,慢了近 7 倍。
| 模型 | 尺寸 (像素) | 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 |
口译
- GPU 优势: YOLOv10 采用了硬件感知设计,可以很好地映射GPU 架构,从而大大提高吞吐量。
- 精确度相当:新的训练策略使YOLOv10 的准确性可以与速度慢得多的 EfficientDet 变体相媲美,甚至超过它们。
- 部署: YOLOv10 的NMS 特性简化了向以下格式的导出过程 TensorRT和ONNX 等格式的导出过程,从而降低了部署管道的复杂性。
易用性和生态系统
对于开发人员来说,最关键的因素之一是围绕模型的生态系统。在这方面,Ultralytics 具有很大的优势。
Ultralytics 的优势
YOLOv10 集成到了Ultralytics Python 软件包中,提供了从数据注释到部署的无缝体验。
- 简单的应用程序接口:只需几行代码就能完成加载、训练和预测。
- 维护良好:频繁的更新、社区支持和丰富的文档可确保您在调试过程中不会遇到模糊的错误。
- 训练效率: Ultralytics 模型经过优化,可快速收敛。预训练权重随时可用,可在自定义数据集上进行有效的迁移学习。
使用Ultralytics培训YOLOv10
使用Ultralytics API 可以直接在COCO8 数据集上训练YOLOv10 模型。
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
相比之下,EfficientDet 依赖于较旧的TensorFlow 软件库或第三方PyTorch 实现,这些软件库或实现可能缺乏统一的支持,因此将其集成到现代MLOps管道中更具挑战性。
理想用例
在YOLOv10 和 EfficientDet 之间做出选择取决于您的具体限制条件。
何时选择YOLOv10
YOLOv10 是大多数现代计算机视觉应用的上佳选择,尤其是在以下应用中:
- 自主系统:自动驾驶汽车和无人机需要低延迟检测以确保安全。YOLOv10 的速度可确保快速反应。
- 视频分析:处理用于安全监控或交通监控的高帧频视频流。
- 边缘部署:在 Raspberry Pi 或NVIDIA Jetson 等嵌入式设备上部署,这些设备资源有限,但实时性能却不容忽视。
何时选择 EfficientDet
EfficientDet 仍适用于特定的利基方案:
- 学术研究:如果目标是研究复合缩放规律或高效神经网络设计原理。
- 严格的 FLOPs 限制:在极其特殊的硬件环境中,理论 FLOP 是硬瓶颈,而不是延迟或内存带宽。
结论
EfficientDet 是高效模型设计的里程碑、 YOLOv10代表了高性能对象检测的新标准。其创新的NMS 架构在推理速度上具有决定性的优势,同时又不影响准确性,使其在实际部署中更加实用。
此外,强大的Ultralytics 生态系统确保了YOLOv10 的工作效率和开发人员友好性。从简便的导出选项到全面的数据集管理指南,Ultralytics 使您能够更快地实现人工智能项目的愿景。
对于那些追求多功能性和高性能的用户,我们还建议他们了解 Ultralytics YOLO11,它以这些先进技术为基础,在检测、分割和姿势估计 任务方面提供了最先进的功能。