绿色检查
链接复制到剪贴板

如何对Ultralytics YOLO 模型(如YOLO11)进行基准测试

了解如何对Ultralytics YOLO11 进行基准测试,比较不同设备的性能,并探索不同的导出格式,以优化速度、准确性和效率。

如今,人工智能模型的数量越来越多,为特定的人工智能应用选择最合适的模型对于获得准确可靠的结果至关重要。每个模型在速度、准确性和整体性能方面都不尽相同。那么,我们如何确定哪个模型最适合特定任务呢?这对于自动驾驶汽车、安全解决方案和机器人等实时系统尤为重要,因为在这些系统中,快速可靠的决策至关重要。

基准测试通过在不同条件下评估模型来帮助回答这个问题。它能让我们深入了解模型在不同硬件设置和配置下的表现,从而做出更明智的决策。

例如 Ultralytics YOLO11是一种计算机视觉模型,支持对象检测和实例分割等各种视觉数据分析任务。要充分了解它的功能,可以在不同的设置上对其性能进行基准测试,看看它将如何处理真实世界的场景。

在本文中,我们将探讨如何对YOLO11 等Ultralytics YOLO11 型号进行基准测试,比较它们在不同硬件上的性能,并了解不同的导出格式会如何影响它们的速度和效率。让我们开始吧!

什么是模型基准?

在实际应用中使用视觉人工智能模型时,如何判断它是否足够快速、准确和可靠?对模型进行基准测试可以提供答案。模型基准测试是对不同人工智能模型进行测试和比较的过程,以确定哪种模型性能最佳。 

这包括设定比较基线、选择正确的性能指标(如准确性或速度)以及在相同条件下测试所有模型。测试结果有助于确定每个模型的优缺点,从而更容易决定哪个模型最适合您的特定人工智能解决方案。特别是,基准数据集通常用于提供公平的比较,并评估模型在不同真实世界场景中的表现。

图 1.为什么要对计算机视觉模型进行基准测试?图片由作者提供。

在监控或机器人等实时应用中,即使是轻微的延迟也会影响决策,这就是基准测试至关重要的一个明显例子。基准测试有助于评估模型是否能在快速处理图像的同时提供可靠的预测。 

基准测试在识别性能瓶颈方面也发挥着关键作用。如果模型运行缓慢或占用过多资源,基准测试可以揭示问题是否源于硬件限制、模型配置或导出格式。这些见解对于选择最有效的设置至关重要。

模型基准与模型评估和测试的比较

模型基准、评估和测试是同时使用的人工智能流行术语。它们虽然相似,但并不相同,而且具有不同的功能。模型测试通过在测试数据集上运行单个模型并测量其准确性和速度等因素,来检查该模型的性能如何。与此同时,模型评估则更进一步,通过分析结果来了解模型的优缺点以及在实际情况下的运行效果。两者一次都只关注一个模型。

而模型基准测试则是使用相同的测试和数据集对多个模型进行并列比较。它通过强调不同模型在准确性、速度和效率方面的差异,帮助找出最适合特定任务的模型。测试和评估的重点是单一模型,而基准测试则通过公平比较不同选项,帮助选择正确的模型(或最佳模型)。

图 2.模型基准测试与评估和测试有何不同。图片由作者提供。

Ultralytics YOLO11概览

Ultralytics YOLO11 是一款可靠的视觉人工智能模型,可准确执行各种计算机视觉任务。它在早期YOLO 模型版本的基础上进行了改进,并具备有助于解决实际问题的各种功能。例如,它可用于检测物体、图像分类、分割区域、跟踪运动等。它还可用于从安防到自动化和分析等多个行业的应用中。

图 3.使用YOLO11 对图像中的人物进行分割的示例。

Ultralytics YOLO11 的主要优势之一是它非常易于使用。只需几行代码,任何人都可以将其集成到自己的人工智能项目中,而无需处理复杂的设置或高级专业技术知识。 

它还能在不同硬件上流畅运行,在 CPU(中央处理器)、GPU(图形处理器)和其他专用人工智能加速器上高效运行。无论是部署在边缘设备还是云服务器上,它都能提供强大的性能。 

YOLO11 有多种型号,每种型号都针对不同任务进行了优化。基准测试有助于确定哪个版本最适合您的特定需求。例如,基准测试可以揭示的一个关键信息是,较小的型号(如 nano 或 small)往往运行得更快,但可能会牺牲一些准确性。

如何对YOLO11型号(如YOLO11)进行基准测试

既然我们已经了解了什么是基准及其重要性。让我们来了解一下如何对YOLO 模型(如YOLO11 )进行基准测试,并评估其效率以收集有价值的见解。

要开始使用,可以在终端或命令提示符下运行以下命令来安装Ultralytics Python 软件包:"pip installultralytics"。如果在安装过程中遇到任何问题,请查看我们的《常见问题指南》,了解故障排除技巧。

安装软件包后,您只需编写几行Python 代码,就能轻松地对YOLO11进行基准测试

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

运行上面显示的代码时,它会计算模型处理图像的速度、一秒钟内能处理多少帧图像以及检测物体的准确度。 

代码中提到的 "coco8.yaml "指的是基于COCO8(Common Objects in Context,上下文中的通用对象)数据集的数据集配置文件,它是完整 COCO 数据集的一个小型样本版本,通常用于测试和实验。

如果您要测试YOLO11 的特定应用,如交通监控或医疗成像,使用相关数据集(如交通数据集或医疗数据集)将能提供更准确的见解。使用 COCO 进行基准测试可以大致了解性能,但为了获得最佳结果,您可以选择一个反映实际使用情况的数据集。

了解YOLO11 基准产出

对YOLO11 进行基准测试后,下一步就是解释测试结果。运行基准测试后,您将在结果中看到各种数字。这些指标有助于评估YOLO11 在准确性和速度方面的表现。 

以下是一些值得注意的YOLO11 基准指标:

  • mAP50-95:衡量物体检测的准确性。
  • accuracy_top5:通常用于分类任务。
  • 推理时间:处理单张图像所需的时间,以毫秒为单位。数值越小,表示处理速度越快。
图 4.显示YOLO11基准性能的图表。

设定YOLO11基准时应考虑的其他因素YOLO11 

单看基准测试结果只能说明部分问题。要想更好地了解性能,比较不同的设置和硬件选项很有帮助。以下是几个需要注意的重要事项:

  • GPU 与CPU: GPU 处理图像的速度比 CPU 快得多。基准测试可帮助您了解CPU 的速度是否足以满足您的需求,或者使用GPU 是否会让您受益。
  • 精度设置(FP32、FP16、INT8): 这些设置控制模型处理数字的方式。较低的精度(如 FP16 或 INT8)会使模型运行更快,使用的内存更少,但可能会略微降低精度。
  • 导出格式: 将模型转换为TensorRT 等格式可使其在某些硬件上运行得更快。如果要在特定设备上优化速度,这一点非常有用。

如何在不同硬件上对YOLO11 进行基准测试

通过Ultralytics Python 软件包,您可以将YOLO11 模型转换成不同的格式,以便在特定硬件上更高效地运行,从而提高速度和内存使用率。每种导出格式都针对不同的设备进行了优化。 

一方面,ONNX 格式可以提高各种环境下的性能。另一方面,OpenVINO 可以提高Intel 硬件的效率,而CoreML 或TF SavedModel 等格式则是苹果设备和移动应用的理想选择。 

让我们来看看如何以特定格式对YOLO11 进行基准测试。下面的代码以ONNX 格式对YOLO11 进行了基准测试,该格式被广泛用于在 CPU 和 GPU 上运行人工智能模型。

from ultralytics.utils.benchmarks import benchmark  

# Benchmark a specific export format (e.g., ONNX)  
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, format="onnx")  

除了基准测试结果,选择正确的格式还取决于系统的规格和部署需求。例如,自动驾驶汽车需要快速的物体检测。如果您计划使用NVIDIA ®)图形处理器来加速性能,那么TensorRT 格式是在NVIDIA )GPU上运行YOLO11 理想选择。

图 5.在自动驾驶汽车中使用YOLO11 进行物体检测。

主要收获

Ultralytics Python 软件包通过提供可为您处理性能测试的简单命令,使YOLO11 基准测试变得简单。只需几个步骤,您就可以看到不同的设置对模型速度和准确性的影响,从而帮助您做出明智的选择,而无需深厚的专业技术知识。

正确的硬件和设置也能带来巨大的不同。通过调整模型大小和数据集等参数,您可以对YOLO11 进行微调,以获得最佳性能,无论您是在高端GPU 上运行,还是在本地边缘设备上运行。

我们的 GitHub 存储库中我们的社区联系,探索最前沿的人工智能项目。通过我们的解决方案页面了解人工智能对农业的影响以及计算机视觉在制造业中的作用。了解我们的许可计划,现在就开始您的人工智能之旅!

LinkedIn 徽标Twitter 徽标Facebook 徽标复制链接符号

在此类别中阅读更多内容

让我们共同打造人工智能的未来

开始您的未来机器学习之旅