使用 OpenVINO™ 无缝部署 Ultralytics YOLO11

阿比拉米-维纳

5 分钟阅读

2025 年 7 月 1 日

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

人工智能的采用取决于人工智能解决方案的可及性,而可及性的一个重要部分就是让这些解决方案易于在人们已有的硬件上进行部署。就性能和并行处理能力而言,在 GPU(图形处理器)上运行人工智能模型是一个不错的选择。 

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

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

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

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

有了这种集成,导出和部署 YOLO11 模型变得更加容易,在 CPU 上的推理速度提高了 3 倍,在英特尔 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™(开放可视推理和神经网络优化)是一个开源工具包,用于在各种硬件上优化和部署人工智能推理。它使开发人员能够在各种英特尔平台上高效运行高性能推理应用,包括 CPU、集成和分立 GPU、NPU 和现场可编程门阵列 (FPGA)。

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

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

  • 模型转换器:该工具可转换和准备来自 PyTorch、ONNX、TensorFlow、PaddlePaddle 等流行框架的模型,以便进行优化,在英特尔硬件上实现高效推理。
  • 异构执行:您无需为不同的英特尔硬件重写代码。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_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:cpu"、"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 模型检测图像中的物体。

使用本地 OpenVINO 运行时

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

要使用本机运行时,您需要导出模型文件:.xml 文件(定义网络架构)和 .bin 文件(存储模型训练过的权重)。您还可以根据自己的应用配置其他参数,如输入维度或预处理步骤。

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

为什么选择 Ultralytics x OpenVINO 集成?

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

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

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

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

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

YOLO11 和 OpenVINO 输出格式的应用

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

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

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

图 6.使用 YOLO11 计数车辆。

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

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

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

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

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

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

主要收获

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

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

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

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

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

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

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