深圳Yolo 视觉
深圳
立即加入

使用 OpenVINO™ 无缝部署Ultralytics YOLO11

了解如何将Ultralytics YOLO11 输出为 OpenVINO™ 格式,从而在英特尔® 硬件上实现快如闪电的推理,提高速度、可扩展性和准确性。

人工智能的采用取决于人工智能解决方案的可访问性,其中很重要的一部分是使其易于在人们已有的硬件上部署。在 GPU(图形处理单元)上运行 AI 模型在性能和并行处理能力方面是一个不错的选择。 

然而,现实情况是,并非每个人都能使用高端 GPU,尤其是在边缘环境或日常笔记本电脑上。因此,优化模型以使其能够在更广泛使用的硬件(如中央处理器 (CPU)、集成 GPU 和神经处理单元 (NPU))上高效运行非常重要。

例如,计算机视觉是人工智能的一个分支,能让机器实时分析和理解图像和视频流。视觉人工智能模型,如 Ultralytics YOLO11 等视觉人工智能模型支持物体检测和实例分割等关键任务,为从零售分析到医疗诊断的各种应用提供支持。

图 1.使用Ultralytics YOLO11 detect 和segment 零售店内的物体。

为了让更多人能够使用计算机视觉技术,Ultralytics 发布了与OpenVINO 工具包的最新集成,OpenVINO 是一个开源项目,用于优化和运行跨 CPU、GPU 和 NPU 的人工智能推理。 

有了这一集成,导出和部署YOLO11 模型变得更加容易,在 CPU 上的推理速度提高了 3 倍,在Intel GPU 和 NPU 上的性能也得到了加速。在本文中,我们将介绍如何使用Ultralytics Python 软件包将YOLO11 模型导出为OpenVINO 格式并用于推理。让我们开始吧!

Ultralytics YOLO11概览

在深入了解Ultralytics 所支持的OpenVINO 集成细节之前,让我们先来看看是什么让YOLO11 成为一个可靠、有影响力的计算机视觉模型。YOLO11 是Ultralytics YOLO 系列中的最新型号,在速度和准确性方面都有显著提升。 

其主要亮点之一是效率。例如,Ultralytics YOLO11m 的参数数量比Ultralytics YOLOv8m 少 22%,但它在COCO 数据集上实现了更高的平均精度mAP)。这意味着它的运行速度更快,检测对象也更准确,非常适合对性能和响应速度要求较高的实时应用。

图 2. Ultralytics YOLO11的性能基准。

除物体检测外,YOLO11 还支持各种高级计算机视觉任务,如实例分割、姿势估计 估计、图像分类、物体跟踪和定向边界框检测。YOLO11 对开发人员也很友好,Ultralytics Python 软件包为训练、评估和部署模型提供了简单一致的界面。 

除此之外,Ultralytics Python 软件包还支持各种集成和多种导出格式,包括OpenVINO、ONNX 和TorchScript,让您可以轻松地将YOLO11 集成到各种部署管道中。无论您的目标是云基础设施、边缘设备还是嵌入式系统,导出过程都非常简单,并能适应您的硬件需求。

什么是 OpenVINO™?

OpenVINO™(开放可视推理和神经网络优化)是一个开源工具包,用于在各种硬件上优化和部署人工智能推理。它使开发人员能够在各种Intel 平台上高效运行高性能推理应用,包括 CPU、集成和分立 GPU、NPU 和现场可编程门阵列 (FPGA)。

OpenVINO 提供统一的运行时接口,通过特定设备插件抽象出硬件差异。这意味着开发人员只需编写一次代码,即可使用一致的应用程序接口在多个Intel 硬件目标上进行部署。 

以下是一些使OpenVINO 成为部署最佳选择的关键功能:

  • 模型转换器:该工具可转换和准备来自PyTorch、ONNX、TensorFlow、PaddlePaddle 等流行框架的模型,以便进行优化,在Intel 硬件上实现高效推理。
  • 异构执行:您无需为不同的Intel 硬件重写代码。OpenVINO 可让您轻松地在任何支持的硬件(从 CPU 到 GPU)上运行相同的模型。
  • 量化支持:该工具包支持降低精度的格式,如 FP16(默认)和 INT8,这有助于减小模型大小并加快推理速度,而不会显着影响准确性。
图 3. OpenVINO 支持多种部署选项。

探索Ultralytics xOpenVINO 集成

既然我们已经探究了OpenVINO 是什么及其意义,下面就让我们讨论一下如何将YOLO11 模型导出为OpenVINO 格式,并在Intel 硬件上运行高效推理。

步骤 1:安装Ultralytics Python 软件包

要将模型导出为OpenVINO 格式,首先需要安装Ultralytics Python 软件包。该软件包提供了训练、评估和导出YOLO 模型(包括YOLO11)所需的一切。 

在终端或命令提示符下运行"pip installultralytics"命令即可安装。如果你正在 Jupyter Notebook 或Google Colab 等交互式环境中工作,只需在命令前加上感叹号即可。 

此外,如果您在安装或导出过程中遇到任何问题,Ultralytics 文档和故障排除指南都是帮助您track工作的重要资源。

第 2 步:将YOLO11 模型导出为OpenVINO 格式

设置好Ultralytics 软件包后,下一步就是加载YOLO11 模型,并将其转换为与OpenVINO 兼容的格式。 

在下面的示例中,我们使用的是预先训练好YOLO11 模型("yolo11n.pt")。导出功能用于将其转换为OpenVINO 格式。运行此代码后,转换后的模型将保存在名为 "yolo11n_openvin_model "的新目录中。

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="openvino")

步骤 3:使用导出的模型运行推理

将YOLO11 模型导出为OpenVINO 格式后,您可以通过两种方式运行推论:使用Ultralytics Python 软件包或本地OpenVINO Runtime。

使用Ultralytics Python 软件包

导出的YOLO11 模型可以使用Ultralytics Python 软件包轻松部署,如下面的代码片段所示。这种方法非常适合在Intel 硬件上进行快速实验和简化部署。 

您还可以根据系统中可用的Intel 硬件,指定推理使用的设备,如intelcpu"、intel:gpu"或intel:npu"。

ov_model = YOLO("yolo11n_openvino_model/")

results = ov_model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")

运行上述代码后,输出图像将保存在 "runs/detect/predict "目录下。

图 4.使用导出的YOLO11 模型detect 图像中的物体。

使用本地OpenVINO 运行时

如果您正在寻找一种可定制的推理运行方式,尤其是在生产环境中运行推理,那么OpenVINO Runtime 可让您对模型的执行方式进行更多控制。它支持异步执行(并行运行多个推理请求)和负载均衡(在Intel 硬件上高效分配推理工作负载)等高级功能。

要使用原生运行时,你需要导出的模型文件:一个.xml文件(定义网络架构)和一个.bin文件(存储模型的训练权重)。你还可以根据你的应用配置额外的参数,如输入维度或预处理步骤。

典型的部署流程包括初始化OpenVINO 内核、为目标设备加载和编译模型、准备输入和执行推理。有关详细示例和分步指导,请参阅 Ultralytics OpenVINO 官方文档

为什么选择Ultralytics xOpenVINO 集成?

在探索Ultralytics 集成时,你会发现Ultralytics Python 软件包支持将YOLO11 模型导出为多种格式,如TorchScript、CoreML、TensorRT 和ONNX。那么,为什么要选择OpenVINO 集成呢?

以下是OpenVINO 导出格式非常适合在Intel 硬件上部署模型的一些原因:

  • 性能提升:
  • 无需重新训练
  • 专为扩展而构建: 同一个导出的模型可以部署在低功耗边缘设备和大规模云基础设施上,从而简化了可扩展的 AI 部署

您还可以在 OpenVINO™ Model Hub 上评估YOLO11 模型在一系列英特尔® 平台上的性能基准。OpenVINO Model Hub是供开发人员评估Intel 硬件上的人工智能模型的资源,可帮助开发人员发现OpenVINO 在Intel CPU、内置 GPU、NPU 和独立显卡上的性能优势。 

图 5.OpenVINO™ Model Hub:YOLO11 模型在一系列英特尔® 平台上的性能基准。

YOLO11 和OpenVINO 输出格式的应用

在OpenVINO 集成的帮助下,在实际情况中跨Intel 硬件部署YOLO11 模型变得更加简单。 

一个很好的例子是智能零售,YOLO11 可以帮助实时detect 空货架,track 哪些产品库存不足,并分析顾客在店内的流动情况。这使零售商能够改善库存管理,优化店面布局,从而提高购物者的参与度。

同样,在智慧城市中,YOLO11 可通过实时计算车辆、跟踪行人和检测闯红灯行为来监控交通。这些洞察力可以支持交通流优化,改善道路安全,并为自动执法系统提供帮助。

图 6.使用YOLO11 计数车辆。

另一个有趣的应用案例是工业检测,YOLO11 可以部署在生产线上,detect 视觉缺陷,如部件缺失、不对齐或表面损坏。这可以提高效率、降低成本并提高产品质量。

使用OpenVINO 工具包时应考虑的关键因素

在使用OpenVINO 部署YOLO11 模型时,要想获得最佳效果,需要注意以下几个重要事项:

  • 检查硬件兼容性:确保您的Intel 硬件(无论是CPU、集成GPU 还是 NPU)受OpenVINO 支持,以便模型高效运行。

  • 安装正确的驱动程序:如果使用的是Intel 图形处理器或 NPU,请仔细检查是否正确安装了所有必要的驱动程序并已更新。

  • 了解 精度 权衡:OpenVINO 支持 FP32、FP16 和 INT8 模型精度。每种精度都需要在速度和精度之间做出权衡,因此根据性能目标和可用硬件选择正确的选项非常重要。

主要要点

将Ultralytics YOLO11 输出为OpenVINO 格式,可以轻松地在Intel 硬件上运行快速、高效的视觉 AI 模型。您可以在 CPU、GPU 和 NPU 上进行部署,而无需重新训练或更改代码。这是一种既能提高性能,又能保持简单和可扩展性的好方法。

有了Ultralytics Python 软件包的支持,使用OpenVINO 导出和运行推理就变得简单易行了。只需几步,您就可以优化模型,并在各种Intel 平台上运行。无论您是从事智能零售、交通监控还是工业检测,该工作流程都能帮助您快速、自信地完成从开发到部署的整个过程。

加入YOLO 社区,查看Ultralytics GitHub 存储库,了解更多Ultralytics 支持的有影响力的集成。此外,请查看Ultralytics 许可选项,立即开始使用计算机视觉!

注册参加我们即将举行的网络研讨会,了解Ultralytics ×OpenVINO 集成的实际应用,并访问OpenVINO 网站,探索大规模优化和部署人工智能的工具。

让我们一起构建人工智能的未来!

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

免费开始