YOLOv10 与YOLO-YOLO:技术比较
选择最佳物体检测模型是一项关键决策,需要在精度、速度和计算成本之间权衡取舍。本页将对 YOLOv10和阿里巴巴集团的强大Ultralytics YOLO 进行了详细的技术比较。我们将分析它们的架构、性能指标和理想使用案例,帮助您为计算机视觉项目做出明智的选择。
YOLOv10:实时端到端检测
清华大学研究人员于 2024 年 5 月推出的YOLOv10 标志着在实时对象检测领域迈出了重要一步。它的主要创新是通过消除对非最大抑制(NMS)的需求实现端到端检测,从而减少后处理开销并降低推理延迟。
技术细节:
作者: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
Docsultralytics
架构和主要特性
YOLOv10 建立在强大的Ultralytics 框架之上,继承了其易用性和强大的生态系统。其架构引入了几项关键改进,以实现更高的效率和性能:
- NMS 培训: YOLOv10 在训练过程中对标签采用一致的双重分配。这使得模型无需NMS 后处理步骤即可生成准确的预测结果,从而简化了部署流程,实现了真正的端到端。
- 整体效率-精度设计: 模型架构经过全面优化,以减少计算冗余。这包括轻量级分类头和空间通道解耦降采样,从而提高速度和能力。
- 无缝集成Ultralytics :作为Ultralytics 生态系统的一部分,YOLOv10 受益于简化的用户体验。这包括简单的Python API、丰富的文档、高效的训练流程以及随时可用的预训练权重。这种集成使开发人员能够非常容易地上手、快速部署模型。
NMS 为何重要
传统的物体检测器通常会为一个物体预测多个边界框。非最大值抑制NMS) 是一个后处理步骤,用于过滤掉这些重复数据。通过消除NMS,YOLOv10 大幅降低了推理延迟和复杂性,尤其是在毫秒必争的边缘部署场景中。
DAMO-YOLO:NAS 驱动的效率
YOLO 是阿里巴巴集团开发的一种快速、精确的物体检测模型。该模型于 2022 年 11 月发布,它引入了多项新技术来推动YOLO检测器的性能极限,主要侧重于通过搜索算法进行架构优化。
技术细节:
作者:徐先哲、蒋奕琪、陈伟华等Xianzhe Xu, Yiqi Jiang, Weihua Chen, et al.
Organization:Alibaba Group
Date:2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444
GitHub:https://github.com/tinyvision/DAMO-YOLO
DocsYOLO
架构和主要特性
YOLO 探索先进的技术,以改善速度与精度之间的权衡。其架构特点如下
- 神经架构搜索(NAS): YOLO 的骨干网络是通过 NAS 生成的,它可以为检测任务量身定制高度优化的特征提取网络。
- 高效 RepGFPN 颈:它采用了一种名为 RepGFPN 的新型特征金字塔网络 (FPN)设计,可有效融合不同尺度的特征。
- ZeroHead 和 AlignedOTA:该模型使用简化的零参数磁头和改进的标签分配策略 AlignedOTA(对齐最佳传输分配)来提高检测精度和定位能力。
- 知识提炼: YOLO 利用知识蒸馏技术,通过从更大的教师网络中学习,进一步提高小型模型的性能。
性能正面交锋
下表比较了各种YOLOv10 和YOLO 模型大小在COCO 数据集上的性能。YOLOv10 始终表现出卓越的性能,以更低的延迟和更少的参数提供更高的准确性。
| 模型 | 尺寸 (像素) | 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 |
| 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 |
数据显示,YOLOv10 型号的效率普遍高于YOLO 型号。例如,YOLOv10 实现了更高的 mAP(46.7 对 46.0),但速度明显更快(2.66 毫秒对 3.45 毫秒),参数数量也不到YOLO 的一半(7.2M 对 16.3M)。这一趋势在所有大小的模型中都是如此,最终YOLOv10 的mAP 达到了最高的 54.4。
优缺点分析
YOLOv10 的优势
- 最先进的效率: YOLOv10 在速度和准确性之间实现了出色的平衡,通常以更少的参数和更低的延迟超越竞争对手。
- 易用性:得益于与Ultralytics 生态系统的整合,该模型的用户界面非常友好。
- 端到端部署: NMS 设计简化了从训练到推理的整个工作流程,使其成为边缘设备实际应用的理想选择。
- 更低的内存要求:与更复杂的架构相比,YOLOv10 在训练和推理过程中都能高效地使用内存。
YOLO 的优势
- 高性能: DAMO-YOLO 实现了具有竞争力的准确性和速度,使其成为对象检测领域的有力竞争者。
- 创新技术:它采用了最先进的研究理念,如 NAS 和先进的标签分配策略,这对学术探索非常有价值。
弱点
- YOLOv10:虽然YOLOv10 在物体检测方面非常出色,但它目前只专注于这一单一任务,而不像多用途的 Ultralytics YOLO11不同,YOLOv10 支持分割、分类和姿势估计 。
- YOLO- YOLOv10:与YOLOv10 相比,该模型的架构和训练管道更为复杂。 它主要在特定的研究工具箱中提供,这对于那些更喜欢Ultralytics 提供的集成度更高、用户界面更友好的解决方案的开发人员来说,可能是一个障碍。
Ultralytics 的优势
虽然这两个型号都令人印象深刻,但Ultralytics 型号(如YOLOv10 和旗舰型号 YOLO11等 Ultralytics 型号为开发人员和研究人员提供了明显的优势:
- 统一的生态系统: Ultralytics 提供了一个具有凝聚力的平台,可实现数据注释、培训和部署的无缝对接。
- 易于使用:通过简单的Python 应用程序接口,只需几行代码即可加载模型并运行推理。
- 多功能性: Ultralytics 支持多种任务,包括实例分割、图像分类、姿势估计 和定向边框(旋转框检测)。
- 社区支持:充满活力的社区和丰富的文档可确保您不会被问题困扰太久。
使用示例:使用Ultralytics的YOLOv10
使用Ultralytics Python 软件包运行YOLOv10 非常简单。以下是加载预训练模型并在图像上运行预测的方法:
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Perform object detection on an image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
结论
YOLOv10 和YOLO 都是强大的物体检测模型。YOLO 为研究基于 NAS 的架构和高级特征融合提供了极好的参考。然而,为了提高实际部署和MLOps的效率、 YOLOv10是更优越的选择。其NMS 架构与全面的Ultralytics 生态系统相结合,可确保您以更快的速度和更好的性能从概念转向生产。
对于需要在多种视觉任务中实现更多功能的用户,我们强烈推荐探索 YOLO11,它为YOLO 系列定义了当前最先进的技术。
探索其他模型对比
要了解这些型号与其他领先架构的比较,请查看这些比较:
- YOLO11 vs DAMO-YOLO
- YOLOv8 vs. DAMO-YOLO
- RT-DETR vs. DAMO-YOLO
- YOLOX 与 DAMO-YOLO 对比
- YOLOv10 vs.RT-DETR
- YOLOv10 vs. YOLOX