Intel OpenVINO 导出#
本指南介绍如何将 YOLO26 模型导出为 OpenVINO 格式,该格式可将 CPU 速度提升至最高 3 倍,还能加速 YOLO 在 Intel GPU 和 NPU 硬件上的推理。
OpenVINO 是 Open Visual Inference & Neural Network Optimization toolkit 的简称,是一套用于优化和部署 AI 推理模型的综合工具包。尽管名称中包含 Visual,OpenVINO 还支持语言、音频、时间序列等多种其他任务。
观看: 如何将 Ultralytics YOLO26 导出为 Intel OpenVINO 格式以加快推理速度 🚀
支持的任务#
OpenVINO 导出支持全部七种 Ultralytics 任务。语义分割和深度估计仅适用于 YOLO26,因为只有 YOLO26 系列包含这些检测头。
安装#
使用以下命令安装 OpenVINO 导出依赖项:
pip install "ultralytics[export-openvino]"这些依赖项也包含在 ultralytics[export] 中,并会在导出需要时自动安装。
使用示例#
OpenVINO 格式支持 Export、Predict 和 Validate 模式。导出模型后,加载导出的模型,即可在 Intel CPU、集成/独立 GPU 或 NPU 上运行推理或验证模型精度。
from ultralytics import YOLO
# 加载 YOLO26 模型
model = YOLO("yolo26n.pt")
# 将模型导出为 OpenVINO 格式
model.export(format="openvino") # creates 'yolo26n_openvino_model/'from ultralytics import YOLO
# 加载导出的 OpenVINO 模型
model = YOLO("yolo26n_openvino_model/")
# 运行推理
results = model("https://ultralytics.com/images/bus.jpg")
# 在指定设备上运行推理,可用设备:["intel:gpu", "intel:npu", "intel:cpu"]
results = model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")from ultralytics import YOLO
# 加载导出的 OpenVINO 模型
model = YOLO("yolo26n_openvino_model/")
# 在 COCO8 数据集上验证准确率
metrics = model.val(data="coco8.yaml")导出参数#
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
format | str | 'openvino' | 导出模型的目标格式,用于定义与各种部署环境的兼容性。 |
imgsz | int 或 tuple | 640 | 模型输入所需的图像尺寸。正方形图像可使用整数;若要指定具体尺寸,则可使用元组 (height, width)。 |
quantize | int 或 str | None | 量化精度:16 (FP16) 或 8 (INT8/PTQ;需要校准 data/fraction);32/未设置时为 FP32。替代已弃用的 half/int8 标志。 |
dynamic | bool | False | 允许使用动态输入尺寸,从而更灵活地处理不同图像尺寸。 |
nms | bool,可选 | None | 选择原始输出(None,默认)、嵌入式 NMS(True)或无 NMS 检测头(False)。 |
batch | int | 1 | 指定导出模型的批量推理大小,或导出模型在 predict 模式下可同时处理的最大图像数。 |
data | str | None | 数据集 YAML 文件路径,量化时必须提供;分类任务则接受数据集目录或内置数据集名称。如果使用 quantize=8 时未指定,Ultralytics 会根据模型任务选择默认校准数据集。 |
fraction | float、int 或 list | 1.0 | 校准子集,可按比例、图像数量或 [train, val, test] 比例/数量指定。包含两个项目的列表会让 test 保持完整,而 0 会跳过它。 |
device | str | None | 指定导出设备:CPU (device=cpu),Apple 芯片上的 MPS (device=mps)。 |
有关导出流程的更多详情,请访问 Ultralytics 导出文档页面。
OpenVINO™ 兼容大多数 Intel® 处理器,但为确保最佳性能:
-
验证 OpenVINO™ 支持情况 使用 Intel 兼容性列表检查你的 Intel® 芯片是否获得 OpenVINO™ 官方支持。
-
识别你的加速器 参阅 Intel 硬件指南,确定你的处理器是否包含集成 NPU(神经网络处理器)或 GPU(集成 GPU)。
-
安装最新驱动程序 如果你的芯片支持 NPU 或 GPU,但 OpenVINO™ 无法检测到它,可能需要安装或更新相应的驱动程序。按照驱动程序安装说明操作,以启用完整的加速能力。
按照这三个步骤操作,即可确保 OpenVINO™ 在你的 Intel® 硬件上以最佳状态运行。
OpenVINO 的优势#
- 性能:OpenVINO 利用 Intel CPU、集成和独立 GPU 以及 FPGA 的强大性能,提供高性能推理。
- 异构执行支持:OpenVINO 提供 API,让你编写一次代码,即可部署到任何受支持的 Intel 硬件(CPU、GPU、FPGA、VPU 等)。
- 模型优化器:OpenVINO 提供模型优化器,可导入、转换和优化来自热门深度学习框架的模型,例如 PyTorch、TensorFlow、TensorFlow Lite、Keras、ONNX、PaddlePaddle 和 Caffe。
- 易于使用:该工具包提供大量教程笔记本(包括 YOLO26 优化),介绍该工具包的不同方面。
OpenVINO 导出结构#
将模型导出为 OpenVINO 格式后,会生成一个包含以下文件的目录:
- XML 文件:描述网络拓扑结构。
- BIN 文件:包含权重和偏置的二进制数据。
- 元数据文件:
metadata.yaml保存模型元数据,例如类别名称、图像尺寸和任务类型。Ultralytics 加载模型时会读取这些信息。
你可以使用这些文件通过 OpenVINO Runtime 运行推理。
在部署中使用 OpenVINO 导出模型#
模型成功导出为 OpenVINO 格式后,你可以通过以下两种主要方式运行推理:
-
使用
ultralytics包,它提供高级 API 并封装了 OpenVINO Runtime。 -
使用原生
openvino包,以便更高级或更灵活地控制推理行为。
使用 Ultralytics 进行推理#
ultralytics 包让你可以通过 predict 方法,轻松使用导出的 OpenVINO 模型运行推理。你还可以通过 device 参数指定目标设备(例如 intel:gpu、intel:npu、intel:cpu)。
from ultralytics import YOLO
# 加载导出的 OpenVINO 模型
ov_model = YOLO("yolo26n_openvino_model/") # 导出的 OpenVINO 模型的路径
# 使用导出的模型运行推理
ov_model.predict(device="intel:gpu") # 指定要在哪个设备上运行推理如果你不需要完全控制推理流程,这种方法非常适合快速原型开发或部署。
使用 OpenVINO Runtime 进行推理#
OpenVINO Runtime 为所有受支持的 Intel 硬件提供统一的推理 API。它还提供负载均衡和异步执行等高级功能。如需了解运行推理的更多信息,请参阅 YOLO26 笔记本。
请记住,你需要 XML 和 BIN 文件,以及输入尺寸、归一化缩放因子等任何特定于应用的设置,才能正确配置模型并通过 Runtime 使用模型。
在部署应用中,通常需要执行以下步骤:
- 通过创建
core = Core()来初始化 OpenVINO。 - 使用
core.read_model()方法加载模型。 - 使用
core.compile_model()函数编译模型。 - 准备输入(图像、文本、音频等)。
- 使用
compiled_model(input_data)运行推理。
如需更详细的步骤和代码示例,请参阅 OpenVINO 文档或 API 教程。
OpenVINO YOLO26 基准测试#
Ultralytics 团队对 YOLO26 在各种模型格式下进行了基准测试,并在兼容 OpenVINO 的不同 Intel 设备上评估了速度和精度精度。
-
以下基准测试结果仅供参考,可能会因系统的具体硬件和软件配置,以及运行基准测试时系统的当前负载而有所不同。
-
所有基准测试均使用
openvinoPython 包 2026.2.1 版本运行。 -
YOLO26 模型仅在搭载 2xxV 系列和 3xx 系列及更高版本的 Intel® Core™ Ultra™ 系统上支持 NPU。
Intel® Core™ Ultra#
Intel® Core™ Ultra™ 系列为高性能计算树立了新标杆,旨在满足现代用户不断变化的需求,涵盖游戏玩家、创作者以及借助 AI 的专业人士。这一新一代产品线不只是传统的 CPU 系列;它在单芯片中集成了强大的 CPU 核心、高性能集成 GPU 功能和专用神经网络处理器 (NPU),为各种高强度计算工作负载提供统一解决方案。
Intel® Core Ultra™ 架构的核心是混合设计,可在传统处理任务、GPU 加速工作负载和 AI 驱动操作中实现卓越性能。NPU 的加入增强了端侧 AI 推理能力,可在广泛的应用中实现更快速、更高效的机器学习和数据处理。
Core Ultra™ 系列包含针对不同性能需求设计的多种型号,既有节能型设计,也有以 “H” 标记的高功耗型号,非常适合需要强大计算能力的笔记本电脑和紧凑型设备。整个产品线通过 CPU、GPU 和 NPU 的协同集成,让用户获得出色的能效、响应速度和多任务处理能力。
作为 Intel 持续创新的一部分,Core Ultra™ 系列为面向未来的计算树立了新标准。该系列现有多种型号,未来还将推出更多产品,彰显了 Intel 致力于为新一代智能 AI 增强型设备提供尖端解决方案的承诺。
以下基准测试在 Intel® Core™ Ultra™ X7 358H、Intel® Core™ Ultra™ 7 258V 和 Intel® Core™ Ultra™ 7 155H 上以 FP32、FP16 和 INT8 精度运行。
Intel® Core™ Ultra™ X7 358H#
详细基准测试结果
| 模型 | 格式 | 精确率 | 状态 | 大小 (MB) | metrics/mAP50-95(B) | 推理时间 (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 29.28 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.7 | 0.4762 | 4.09 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4762 | 4.03 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4634 | 4.24 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 59.32 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 5.08 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.7 | 0.5616 | 5.14 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.5462 | 4.47 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 143.21 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.4 | 0.6166 | 7.1 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6166 | 7.06 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.6 | 0.6055 | 5.61 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6215 | 181.16 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.6205 | 8.45 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.6205 | 8.49 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5938 | 6.25 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 379.75 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.3 | 0.6568 | 13.03 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6568 | 12.98 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.6385 | 8.74 |
Intel® Core™ Ultra™ 7 258V#
详细基准测试结果
| 模型 | 格式 | 精确率 | 状态 | 大小 (MB) | metrics/mAP50-95(B) | 推理时间 (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 27.33 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.6 | 0.4764 | 3.33 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4764 | 3.34 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4634 | 3.46 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 60.2 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 4.66 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.6 | 0.5616 | 4.65 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.5462 | 3.99 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 152.87 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.4 | 0.6168 | 9.03 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6168 | 8.98 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.6 | 0.6055 | 5.7 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6215 | 201.57 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.6203 | 11.32 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.6203 | 11.36 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5938 | 7.45 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 431.04 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.2 | 0.6568 | 19.08 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6568 | 19.63 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.6385 | 13.69 |
Intel® Core™ Ultra™ 7 155H#
详细基准测试结果
| 模型 | 格式 | 精确率 | 状态 | 大小 (MB) | metrics/mAP50-95(B) | 推理时间 (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 33.19 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.6 | 0.4758 | 9.13 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4758 | 9.07 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4573 | 5.79 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 70.92 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 16.37 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.6 | 0.5616 | 16.65 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.545 | 9.27 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 192.45 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.4 | 0.6167 | 34.47 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6167 | 35.71 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.6 | 0.6039 | 15.46 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6215 | 239.19 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.621 | 43.24 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.621 | 43.4 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5999 | 19.72 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 511.89 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.2 | 0.6552 | 79.49 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6552 | 79.45 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.642 | 34.66 |
复现我们的结果#
如需在所有导出格式下复现上述 Ultralytics 基准测试,请运行以下代码:
from ultralytics import YOLO
# 加载 YOLO26n PyTorch 模型
model = YOLO("yolo26n.pt")
# 在 COCO128 数据集上对 YOLO26n 的所有导出格式进行速度和精度基准测试
results = model.benchmark(data="coco128.yaml")请注意,基准测试结果可能会因系统的具体硬件和软件配置,以及运行基准测试时系统的当前负载而有所不同。为获得最可靠的结果,请使用包含大量图像的数据集,例如 data='coco.yaml'(5000 张验证图像)。
结论#
基准测试结果清楚地表明,将 YOLO26 模型导出为 OpenVINO 格式具有明显优势。在不同模型和硬件平台上,OpenVINO 格式的推理速度始终优于其他格式,同时保持了相近的准确率。
基准测试凸显了 OpenVINO 作为深度学习模型部署工具的有效性。将模型转换为 OpenVINO 格式后,开发者可以显著提升性能,从而更轻松地将这些模型部署到实际应用中。
如需了解使用 OpenVINO 的详细信息和操作说明,请参阅OpenVINO 官方文档。
常见问题#
将 YOLO26 模型导出为 OpenVINO 格式可以显著提升 CPU 速度,并在 Intel 硬件上启用 GPU 和 NPU 加速。你可以使用 Python 或 CLI 进行导出,如下所示:
示例from ultralytics import YOLO # 加载 YOLO26n PyTorch 模型 model = YOLO("yolo26n.pt") # 导出模型 model.export(format="openvino") # creates 'yolo26n_openvino_model/'如需了解更多信息,请参阅导出格式文档。
将 Intel 的 OpenVINO 工具套件与 YOLO26 模型搭配使用有以下几项优势:
- 性能:CPU 推理速度最高可提升 3 倍,还可以利用 Intel GPU 和 NPU 加速。
- 模型优化器:转换、优化并执行来自 PyTorch、TensorFlow 和 ONNX 等主流框架的模型。
- 易于使用:提供大量教程笔记本,帮助用户快速入门,其中也包括 YOLO26 教程。
- 异构执行:通过统一的 API 在各种 Intel 硬件上部署模型。
如需详细了解性能对比,请访问我们的基准测试部分。
将 YOLO26n 模型导出为 OpenVINO 格式后,你可以使用 Python 或 CLI 运行推理:
示例from ultralytics import YOLO # 加载导出的 OpenVINO 模型 ov_model = YOLO("yolo26n_openvino_model/") # 运行推理 results = ov_model("https://ultralytics.com/images/bus.jpg")如需了解更多详情,请参阅我们的预测模式文档。
Ultralytics YOLO26 针对实时目标检测进行了优化,兼具高准确率和速度。具体来说,与 OpenVINO 搭配使用时,YOLO26 可以实现:
- Intel CPU 上最高 3 倍的速度提升
- 在 Intel GPU 和 NPU 上轻松部署
- 在各种导出格式下保持稳定且相近的准确率
如需深入分析性能,请查看我们针对不同硬件的详细 YOLO26 基准测试。