Intel OpenVINO 导出#
本指南介绍如何将 YOLO26 模型导出为 OpenVINO 格式,该格式可将 CPU 速度提升至最高 3 倍,并加速 Intel GPU 和 NPU 硬件上的 YOLO 推理。
OpenVINO 是 Open Visual Inference & Neural Network Optimization toolkit 的缩写,是一个用于优化和部署 AI 推理模型的综合工具包。尽管名称中包含 Visual,OpenVINO 还支持语言、音频、时间序列等多种其他任务。
Watch: How to Export Ultralytics YOLO26 to Intel OpenVINO Format for Faster Inference 🚀
支持的任务#
OpenVINO 导出支持 Ultralytics 的全部七项任务。语义分割和深度估计仅适用于 YOLO26,因为 YOLO26 是唯一提供这些检测头的系列。
安装#
使用以下命令安装 OpenVINO 导出依赖项:
pip install "ultralytics[export-openvino]"这些依赖项也包含在 ultralytics[export] 中,并在导出需要时自动安装。
使用示例#
OpenVINO 格式支持 Export、Predict 和 Validate 模式。导出模型后,加载导出的模型,即可在 Intel CPU、集成式/独立式 GPU 或 NPU 上运行推理或验证其准确率。
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to OpenVINO format
model.export(format="openvino") # creates 'yolo26n_openvino_model/'from ultralytics import YOLO
# Load the exported OpenVINO model
model = YOLO("yolo26n_openvino_model/")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
# Run inference on a specific device, available devices: ["intel:gpu", "intel:npu", "intel:cpu"]
results = model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")from ultralytics import YOLO
# Load the exported OpenVINO model
model = YOLO("yolo26n_openvino_model/")
# Validate accuracy on the COCO8 dataset
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 | dataset YAML 文件的路径,是量化所必需的;分类任务则接受数据集目录或内置数据集名称。如果与 quantize=8 一起使用时未指定,Ultralytics 会为该模型任务选择默认校准数据集。 |
fraction | float、int 或 list | 1.0 | 校准子集可以按比例、图像数量或 [train, val, test] 的比例/数量指定。包含两个项目的列表会保留 test 的完整内容,同时跳过 0。 |
如需详细了解导出流程,请访问 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 文件:包含权重和偏置的二进制数据。
- 映射文件:保存原始模型输出张量与 OpenVINO 张量名称之间的映射。
你可以使用这些文件通过 OpenVINO Inference Engine 运行推理。
在部署中使用 OpenVINO 导出#
模型成功导出为 OpenVINO 格式后,你有两种主要的推理运行方式:
-
使用
ultralytics包,它提供高级 API 并封装 OpenVINO Runtime。 -
使用原生
openvino包,以更高级或更自定义地控制推理行为。
使用 Ultralytics 进行推理#
ultralytics 包允许你通过 predict 方法,使用导出的 OpenVINO 模型轻松运行推理。你还可以使用 device 参数指定目标设备(例如 intel:gpu、intel:npu、intel:cpu)。
from ultralytics import YOLO
# Load the exported OpenVINO model
ov_model = YOLO("yolo26n_openvino_model/") # the path of your exported OpenVINO model
# Run inference with the exported model
ov_model.predict(device="intel:gpu") # specify the device you want to run inference on当你不需要完全控制推理流程时,这种方式非常适合快速原型开发或部署。
使用 OpenVINO Runtime 进行推理#
OpenVINO Runtime 为所有受支持的 Intel 硬件提供统一的推理 API。它还提供跨 Intel 硬件负载均衡和异步执行等高级功能。有关运行推理的更多信息,请参阅 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 模型在 NPU 上仅支持采用 2xxV 系列和 3xx 系列及更高系列的 Intel® Core™ Ultra™ 系统。
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/图像) |
|---|---|---|---|---|---|---|
| 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/图像) |
|---|---|---|---|---|---|---|
| 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/图像) |
|---|---|---|---|---|---|---|
| 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
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
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 # Load a YOLO26n PyTorch model model = YOLO("yolo26n.pt") # Export the model 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 # Load the exported OpenVINO model ov_model = YOLO("yolo26n_openvino_model/") # Run inference results = ov_model("https://ultralytics.com/images/bus.jpg")如需了解更多详情,请参阅我们的 predict 模式文档。
Ultralytics YOLO26 针对高准确率和高速度的实时目标检测进行了优化。具体来说,与 OpenVINO 结合使用时,YOLO26 可提供:
- Intel CPU 上最高 3 倍的速度提升
- 在 Intel GPU 和 NPU 上实现无缝部署
- 不同导出格式之间一致且相当的准确率
如需深入了解性能分析,请查看我们在不同硬件上的详细 YOLO26 基准测试。
可以,你可以使用 PyTorch、TorchScript、ONNX 和 OpenVINO 等多种格式对 YOLO26 模型进行基准测试。使用以下代码片段,在你选择的数据集上运行基准测试:
示例from ultralytics import YOLO # Load a YOLO26n PyTorch model model = YOLO("yolo26n.pt") # Benchmark YOLO26n speed and [accuracy](https://www.ultralytics.com/glossary/accuracy) on the COCO8 dataset for all export formats results = model.benchmark(data="coco8.yaml")