跳转至内容

YOLOv10 vs.YOLOv10:深入了解物体检测的演变

选择正确的对象检测模型是一项关键决策,会影响到从部署成本到用户体验的方方面面。本技术比较探讨了阿里巴巴集团的研究驱动模型YOLOYOLOv10 之间的差异。 YOLOv10之间的差异。Ultralytics 是由清华大学研究人员开发并集成到Ultralytics 生态系统中的最新实时端到端检测器。

虽然这两种模型都旨在优化速度与精度之间的权衡,但它们采用的架构策略却大相径庭。本分析将深入探讨它们的技术规格、性能指标和理想用例,帮助您在计算机视觉的复杂环境中游刃有余。

性能指标

下表直接比较了COCO 数据集的效率和准确性。主要结论包括参数效率和推理速度,其中 YOLOv10因其NMS 设计而具有明显优势。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

DAMO-YOLO:研究驱动的创新

YOLO 于 2022 年底发布,代表了阿里巴巴集团通过先进的神经架构搜索和新颖的特征融合技术推动YOLO探测器发展的重大努力。

技术细节:
作者:徐先哲蒋奕琪、陈伟华等Xianzhe Xu, Yiqi Jiang, Weihua Chen, et al.
Organization:Alibaba Group
Date:2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444v2
GitHub:YOLO

了解更多关于 DAMO-YOLO 的信息

架构和主要特性

YOLO 融合了多个前沿概念来实现其性能:

  1. 神经架构搜索(NAS):与手动设计骨干网的模型不同,DAMO-YOLO 利用 MAE-NAS 自动发现高效的网络结构,针对特定的硬件限制优化网络的深度和宽度。
  2. RepGFPN Neck:这种特征金字塔网络采用了重新参数化技术来有效管理特征融合。它允许将复杂的训练时结构折叠成较简单的推理时块,从而在提高速度的同时保持准确性。
  3. ZeroHead & AlignedOTA:该模型采用 "ZeroHead "设计来降低检测头的复杂性,并采用 AlignedOTA(最优传输分配)来处理训练过程中的标签分配,从而解决分类和回归任务之间的错位问题。

复杂性考虑

虽然YOLO 带来了令人印象深刻的创新,但它对 NAS 和专用组件的依赖会使培训管道变得更加复杂,对于需要快速定制或在不同硬件上部署而无需进行大量调整的开发人员来说,就不那么容易使用了。

优势与劣势

  • 优势: YOLO 具有很高的精确度,特别是在发布时间方面,并引入了新的概念,如针对较小模型的蒸馏增强。
  • 弱点:围绕YOLO 的生态系统主要与 MMDetection 框架相关联,与用户友好的Ultralytics 生态系统相比,学习曲线可能会比较陡峭。此外,它还需要传统的NMS 后处理,这增加了延迟。

YOLOv10:端到端实时检测时代

清华大学研究人员于 2024 年 5 月发布的YOLOv10 代表了YOLO 系列的范式转变。通过消除对非最大抑制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的更多信息

架构与创新

YOLOv10 注重整体效率,同时针对架构和后处理管道:

  1. NMS 设计:通过一种名为 "一致的双重分配"(Consistent Dual Assignments)的策略,YOLOv10 在训练时同时使用一对多和一对一的标签分配。这样,模型就能在推理过程中为每个对象预测一个最佳框,从而使NMS 变得过时。这对于实时推理来说是一个至关重要的优势,因为在实时推理中,后处理往往会成为瓶颈。
  2. 整体效率-精度设计:该架构采用轻量级分类头和空间通道解耦下采样。与前几代产品相比,这些优化减少了计算冗余,从而降低了FLOP和参数数量。
  3. 梯度引导块设计:该模型根据不同阶段的冗余度调整内部区块设计,在需要提高效率的地方使用紧凑倒置区块 (CIB),在需要增强功能的地方使用部分自关注区块 (PSA)。

Ultralytics的易用性

YOLOv10 最显著的优势之一是与Ultralytics 生态系统的无缝集成。开发人员可以使用与YOLOv10 相同的简单应用程序接口来培训、验证和部署YOLOv10 。 YOLOv8YOLO11.

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Train the model on your custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model("path/to/image.jpg")

比较分析

在比较YOLO 和YOLOv10 时,它们的区别在于效率方法和运营生态系统。

速度和延迟

YOLOv10 在实际延迟方面具有明显优势。标准YOLO 模型(和YOLO-YOLO)需要非最大抑制(NMS)来过滤重叠的边界框。NMS 的执行时间随检测到的对象数量而变化,从而导致不可预测的延迟。YOLOv10 的端到端设计提供了确定的延迟,使其成为自动驾驶或高速工业机器人等对时间要求极高的应用的理想选择。

资源效率

如性能表所示,YOLOv10s实现的mAP (46.7%)高于YOLO实现的mAP (46.0%),而使用的参数(7.2M 对 16.3M)却不到DAMO-YOLO-S的一半。这种内存占用的减少对边缘部署至关重要。Ultralytics 模型因其在训练和推理过程中对内存的要求较低而闻名,因此可以在消费级 GPU 上进行训练,而其他架构可能会因内存不足 (OOM) 错误而陷入困境。

生态系统和支持

YOLO 是一项强大的学术贡献,而YOLOv10 则受益于维护良好的Ultralytics 生态系统。这包括

  • 积极开发:频繁更新和修正错误。
  • 社区支持:GitHub 和 Discord 上拥有庞大的开发者社区。
  • 文档:丰富的文档资料涵盖从数据增强到部署的方方面面。
  • 训练效率:简化例程,支持自动混合精度 (AMP) 和GPU GPU 训练等功能。

超越检测

如果您的项目需要边界框以外的多功能性,例如实例分割姿势估计 定向对象检测(旋转框检测),请考虑使用 YOLO11。 YOLO11YOLOv8.YOLOv10 擅长纯检测,而更广泛的Ultralytics 系列则为这些复杂的多任务需求提供了最先进的解决方案。

理想用例

何时选择YOLOv10

  • 边缘人工智能和物联网:参数数量少(例如,YOLOv10n 的参数数量为 2.3M),非常适合 Raspberry Pi 或NVIDIA Jetson 等设备。
  • 实时视频分析:取消NMS 可确保帧频一致,这对交通监控或安全传输至关重要。
  • 快速发展: 需要快速从数据到部署的团队将受益于直观的 ultralytics Python API 和 Ultralytics HUB.

何时考虑 DAMO-YOLO

  • 学术研究:研究神经架构搜索(NAS)或特征金字塔优化的研究人员可能会发现YOLO 的架构具有重要的参考价值。
  • 传统管道:已经深度集成到 MMDetection 框架中的项目可能会发现,采用YOLO 比转换框架更容易。

结论

这两个模型都是计算机视觉领域的重要里程碑。YOLO 在 2022 年展示了 NAS 和高级特征融合的威力。然而,对于 2024 年及以后的现代应用而言、 YOLOv10提供了更具吸引力的解决方案。它的NMS 端到端架构解决了物体检测中长期存在的瓶颈问题,同时与Ultralytics 生态系统的集成确保了它的可访问性、可维护性和易部署性。

对于寻求速度、准确性和易用性最佳平衡的开发人员而言,YOLOv10多功能的 YOLO11-是构建强大的人工智能解决方案的最佳选择。


评论