Intel OpenVINO 导出#
在本指南中,我们介绍了将 YOLO26 模型导出为 OpenVINO 格式的方法,该格式最高可提供 3 倍的 CPU 速度提升,并能加速 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 中可用,这是唯一带有这些预测头的系列。
使用示例#
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 | False | 添加非极大值抑制 (NMS),这是准确高效的检测后处理所必需的。 |
batch | int | 1 | 指定导出模型的批处理推理大小,或导出的模型在 predict 模式下同时处理的最大图像数量。 |
data | str | None | 数据集 YAML 的路径,对量化至关重要;分类任务则需要数据集目录或内置数据集名称。如果在使用 quantize=8 时省略此项,Ultralytics 将为模型任务选择默认的校准数据集。 |
fraction | float、int 或 list | 1.0 | 校准子集作为比例、图像数量或 [train, val] 比例/数量;列表限制 train 或 val,而 test 保持完整。 |
有关导出过程的更多详细信息,请访问 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 等)上进行部署。
- 模型优化器 (Model Optimizer):OpenVINO 提供了一个模型优化器,可导入、转换和优化来自 PyTorch、TensorFlow、TensorFlow Lite、Keras、ONNX、PaddlePaddle 和 Caffe 等主流深度学习框架的模型。
- 易于使用:该工具包附带大量教程笔记本(包括 YOLO26 优化),讲授工具包的各个方面。
OpenVINO 导出结构#
当你将模型导出为 OpenVINO 格式时,会生成一个包含以下内容的目录:
- XML 文件:描述网络拓扑结构。
- BIN 文件:包含权重和偏差的二进制数据。
- 映射文件:保存原始模型输出张量到 OpenVINO 张量名称的映射。
你可以使用这些文件通过 OpenVINO Inference Engine 运行推理。
在部署中使用 OpenVINO 导出#
模型成功导出为 OpenVINO 格式后,你有两种主要方式运行推理:
-
使用
ultralytics包,它提供了一个高级 API 并封装了 OpenVINO 运行时 (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 运行时为所有受支持的 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 设备上的速度和准确性。
-
以下基准测试结果仅供参考,可能会根据系统的确切硬件和软件配置以及运行基准测试时的系统当前负载而有所不同。
-
所有基准测试均使用版本为 2026.2.1 的
openvinoPython 包运行。 -
NPU 上的 YOLO26 模型仅在配备 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) | 指标/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) | 指标/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) | 指标/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
# 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")有关更多详情,请参阅我们的预测模式文档。
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")