深圳尤洛视觉
深圳
立即加入

使用 OpenVINO™ 无缝部署 Ultralytics YOLO11

Abirami Vina

5 分钟阅读

2025年7月1日

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

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

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

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

图 1. 使用 Ultralytics YOLO11 检测和分割零售店中的物体。

为了使计算机视觉更广泛地普及,Ultralytics 发布了与 OpenVINO 工具包的更新集成,OpenVINO 工具包是一个开源项目,用于优化和运行跨 CPU、GPU 和 NPU 的 AI 推理。 

通过这种集成,可以更轻松地导出和部署 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™(开放视觉推理和神经网络优化)是一个开源工具包,用于优化和部署跨各种硬件的 AI 推理。它使开发人员能够在各种英特尔平台上高效地运行高性能推理应用程序,包括 CPU、集成和独立 GPU、NPU 以及现场可编程门阵列 (FPGA)。

OpenVINO 提供了一个统一的运行时接口,通过特定于设备的插件来抽象硬件差异。这意味着开发人员可以编写一次代码,并使用一致的 API 跨多个英特尔硬件目标进行部署。 

以下是一些使OpenVINO成为部署的绝佳选择的关键特性:

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

探索 Ultralytics x OpenVINO 集成

既然我们已经探讨了OpenVINO是什么及其重要性,那么让我们讨论如何将YOLO11模型导出为OpenVINO格式,并在英特尔硬件上运行高效的推理。

步骤 1:安装 Ultralytics Python 包

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

您可以通过在终端或命令提示符中运行命令“pip install ultralytics”来安装它。如果您在 Jupyter Notebook 或 Google Colab 等交互式环境中工作,只需在命令前添加一个感叹号即可。 

此外,如果您在安装或导出过程中遇到任何问题,Ultralytics 文档和故障排除指南是帮助您重回正轨的绝佳资源。

步骤 2:将您的 YOLO11 模型导出为 OpenVINO 格式

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

在下面的示例中,我们使用预训练的 YOLO11 模型(“yolo11n.pt”)。导出功能用于将其转换为 OpenVINO 格式。运行此代码后,转换后的模型将保存在名为“yolo11n_openvino_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:cpu"、"intel:gpu" 或 "intel:npu",具体取决于您的系统上可用的 Intel 硬件。

ov_model = YOLO("yolo11n_openvino_model/")

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

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

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

使用原生 OpenVINO Runtime

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

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

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

为什么要选择 Ultralytics x OpenVINO 集成?

在探索 Ultralytics 集成时,您会注意到 Ultralytics Python 包支持将 YOLO11 模型导出为各种格式,例如 TorchScript、CoreML、TensorRT 和 ONNX。那么,为什么要选择 OpenVINO 集成呢?

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

  • 性能提升:在 Intel CPU 上,您可以体验高达 3 倍的推理速度提升,并且在集成 GPU 和 NPU 上还可获得额外的加速。
  • 无需重新训练:您可以将现有的 YOLO11 模型直接导出为 OpenVINO 格式,而无需修改或重新训练。
  • 专为扩展而构建: 同一个导出的模型可以部署在低功耗边缘设备和大规模云基础设施上,从而简化了可扩展的 AI 部署

您还可以在 OpenVINO™ Model Hub 上评估 YOLO11 模型在各种 Intel® 平台上的性能基准。 OpenVINO Model Hub 是一个供开发人员在 Intel 硬件上评估 AI 模型,并了解 OpenVINO 在 Intel CPU、内置 GPU、NPU 和独立显卡上的性能优势的资源。 

图 5. OpenVINO™ 模型中心:YOLO11 模型在各种 Intel® 平台上的性能基准。

YOLO11 和 OpenVINO 导出格式的应用

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

一个很好的例子是智能零售,YOLO11 可以在其中帮助实时检测空货架,跟踪哪些产品即将售罄,并分析顾客如何在商店中移动。这使零售商能够改进库存管理并优化商店布局,从而更好地吸引购物者。

同样,在智慧城市中,YOLO11 可用于通过计算车辆、跟踪行人以及实时检测闯红灯行为来监控交通。这些见解可以支持交通流量优化、提高道路安全并协助自动化执法系统。

图 6. 使用 YOLO11 计数车辆。

另一个有趣的用例是工业检测,其中 YOLO11 可以部署在生产线上,以自动检测视觉缺陷,例如缺少组件、未对准或表面损坏。这提高了效率,降低了成本,并支持更好的产品质量。

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

在使用 OpenVINO 部署 YOLOv11 模型时,以下是一些需要记住的重要事项,以获得最佳结果:

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

  • 安装正确的驱动程序: 如果您使用的是 Intel GPU 或 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 网站 以探索用于大规模优化和部署 AI 的工具。

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

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

免费开始
链接已复制到剪贴板