跳转至内容

YOLOX 与YOLOv8:物体检测演变的技术深探

计算机视觉领域瞬息万变,新架构不断突破速度和精度的极限。YOLOX 和YOLOv8 是这一历程中的两个重要里程碑。本对比探讨了 YOLOX 的无锚创新和 Ultralytics 的先进多功能性之间的技术细微差别。 Ultralytics YOLOv8.我们分析了它们的架构、性能指标和实际应用的适用性,以帮助您为机器学习项目选择合适的工具。

升级到最新技术

虽然YOLOv8 是一款功能强大的机型,但该领域仍在不断进步。查看 YOLO11它可以提供更高Ultralytics效率、更快的处理速度,并提高检测、分割和姿势估计 任务的准确性。

性能指标和基准

在评估物体检测模型时,推理速度和平均精度(mAP)之间的权衡至关重要。下表强调了这一点 Ultralytics YOLOv8一直以较低的延迟实现较高的准确率,而模型大小相当。

值得注意的是,YOLOv8 通过 ONNX为 CPU 推理提供了透明基准,这对于在没有专用 GPU 的硬件上部署至关重要。相比之下,标准的 YOLOX 基准主要关注GPU 性能,这为在标准处理器上针对边缘人工智能应用的用户留下了空白。

模型尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(毫秒)
参数
(M)
FLOPs
(B)
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8

YOLOX:无锚先锋

YOLOX 由 Megvii 的研究人员于 2021 年推出,它采用了无锚机制,为YOLO 系列带来了重大转变。这一设计方案消除了对预定义锚箱的需求,简化了训练过程,提高了在特定场景下的性能。

结构和优势

YOLOX 集成了一个解耦头,将分类和定位任务分开,以提高收敛速度和准确性。它利用SimOTA(简化最优传输分配)进行动态标签分配,将训练过程视为最优传输问题。虽然 YOLOX 在当时具有革命性意义,但它主要是一个物体检测模型,在同一代码库中缺乏对其他任务(如分割或姿势估计 )的本地支持。

了解更多关于 YOLOX 的信息

YOLOv8:视觉人工智能的现代标准

YOLOv8 由Ultralytics 于 2023 年初推出,是对效率、准确性和可用性进行广泛研究的结晶。它以无锚点传统为基础,并通过最先进的任务分配器和现代化的架构加以改进,在广泛的硬件范围内表现出色。

主要优势

YOLOv8 不仅仅是一个检测模型,还是一个统一的框架。它为图像分类实例分割姿势估计 面向对象检测(旋转框检测)提供本地支持这种多功能性使开发人员能够使用单一、连贯的应用程序接口来解决复杂的多模式问题。

了解更多关于 YOLOv8 的信息

架构比较和用例

了解这些架构之间的技术差异有助于为实时推理和生产系统选择合适的工具。

1.训练效率和记忆力

Ultralytics YOLO 模型的突出特点之一是其训练效率。YOLOv8 采用了先进的增强策略,如镶嵌和混合,经过优化,可在保持较高训练速度的同时防止过度拟合

最重要的是,与老式架构或transformer重型transformer模型相比,YOLOv8 在训练和推理过程中对内存的要求更低。这种效率使得在消费级 GPU 上训练自定义模型或在内存受限的边缘设备上部署这些模型变得可行。YOLOX 虽然效率高,但通常需要更多的超参数手动调整才能达到最佳稳定性。

2.生态系统和易用性

对于开发人员和研究人员来说,围绕模型的生态系统与架构本身同样重要。

  • YOLOX采用传统的研究资源库结构。对其进行设置通常需要复杂的配置文件和人工依赖管理。
  • Ultralytics YOLOv8易用性放在首位。它采用了 pip-installable 软件包、精简的Python API 和开箱即用的CLI 。

Ultralytics 应用程序接口的易用性

使用YOLOv8 运行预测非常简单,只需几行代码。

from ultralytics import YOLO

# Load a pretrained YOLOv8 model
model = YOLO("yolov8n.pt")

# Run inference on an image
results = model.predict("https://ultralytics.com/images/bus.jpg")

# Display the results
results[0].show()

3.维护良好的生态系统

选择YOLOv8 意味着进入一个维护良好的生态系统。Ultralytics 提供全面的文档、频繁的更新和积极的社区支持。与更广泛的Ultralytics 生态系统的集成简化了工作流程,包括数据注释、数据集管理以及将模型部署为以下格式 TensorRTOpenVINO.

真实世界的应用

YOLOv8 的卓越之处

  • 智能零售:利用细分功能,以像素级精度了解货架布局和产品摆放。
  • 体育分析:利用姿势估计 实时track 球员动作和生物力学,这是 YOLOX 原生无法完成的任务。
  • 工业检测:利用旋转框检测 模型高精度地detect 传送带上的旋转物体(如部件)。
  • 边缘部署: YOLOv8 卓越的速度-精度比使其成为移动应用程序和嵌入式系统(如 Raspberry Pi 或NVIDIA Jetson)的首选。

YOLOX 利基

YOLOX 仍然是专门从事无锚检测头理论方面学术研究的有力候选者。其代码库为研究 2021 年从基于锚的方法过渡到无锚方法的研究人员提供了明确的参考。

结论

YOLOX 在推广无锚检测方面发挥了关键作用、 Ultralytics YOLOv8代表了这一技术的自然发展。通过提供卓越的性能指标、通用的多任务学习框架和无与伦比的用户体验,YOLOv8 成为现代人工智能开发的最佳选择。

Ultralytics YOLOv8更新的YOLOv8,为寻求强大、面向未来的解决方案的开发人员提供了从快速原型开发到企业部署的扩展服务。 YOLO11-提供了成功的必要工具。

探索其他模型

通过这些比较,拓宽您对物体检测领域的了解:


评论