Intel OpenVINOへのエクスポート#
このガイドでは、最大3倍のCPU高速化を実現できるOpenVINO形式へのYOLO26モデルのエクスポートと、IntelのGPUおよびNPUハードウェアでのYOLO推論の高速化について説明します。
OpenVINOは、Open Visual Inference & ニューラルネットワーク最適化ツールキットの略称で、AI推論モデルを最適化およびデプロイするための包括的なツールキットです。名称にVisualが含まれていますが、OpenVINOは言語、音声、時系列など、さまざまな追加タスクもサポートしています。
視聴: 推論を高速化するためにUltralytics YOLO26をIntel OpenVINO形式にエクスポートする方法 🚀
対応タスク#
OpenVINOへのエクスポートは、Ultralyticsの7つすべてのタスクをサポートしています。セマンティックセグメンテーションと深度推定を利用できるのは、これらのヘッドを搭載している唯一のファミリーであるYOLO26のみです。
インストール#
OpenVINOへのエクスポートに必要な依存関係を、次のコマンドでインストールします。
pip install "ultralytics[export-openvino]"これらの依存関係はultralytics[export]にも含まれており、エクスポートで必要になった場合に自動的にインストールされます。
使用例#
OpenVINO形式は、エクスポート、予測、検証の各モードをサポートしています。モデルをエクスポートしてから、エクスポート済みモデルを読み込み、推論を実行するか、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 | raw出力(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]の比率/件数として指定します。2項目のリストでは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™が検出しない場合は、関連するドライバーのインストールまたは更新が必要なことがあります。完全なアクセラレーションを有効にするには、ドライバーのインストール手順に従ってください。
この3つの手順に従うことで、OpenVINO™をIntel®ハードウェア上で最適に動作させることができます。
OpenVINOのメリット#
- パフォーマンス: OpenVINOは、Intel CPU、内蔵およびディスクリートGPU、FPGAの性能を活用し、高性能な推論を実現します。
- ヘテロジニアス実行のサポート: OpenVINOは、一度記述すればサポート対象のあらゆるIntelハードウェア (CPU、GPU、FPGA、VPUなど)にデプロイできるAPIを提供します。
- モデルオプティマイザー: OpenVINOは、PyTorch、TensorFlow、TensorFlow Lite、Keras、ONNX、PaddlePaddle、Caffeなど、一般的なディープラーニングフレームワークのモデルをインポート、変換、最適化するモデルオプティマイザーを提供します。
- 使いやすさ: このツールキットには、さまざまな機能を学べる多数のチュートリアルノートブック (YOLO26の最適化を含む)が用意されています。
OpenVINOエクスポートの構成#
モデルをOpenVINO形式にエクスポートすると、以下を含むディレクトリが生成されます。
- XMLファイル: ネットワークのトポロジーを記述します。
- BINファイル: 重みとバイアスのバイナリデータを含みます。
- メタデータファイル:
metadata.yamlには、クラス名、画像サイズ、タスクなどのモデルメタデータが格納されており、Ultralyticsはモデルの読み込み時にこの情報を読み取ります。
これらのファイルを使用して、OpenVINO Runtimeで推論を実行できます。
デプロイでOpenVINOエクスポートを使用する#
モデルをOpenVINO形式に正常にエクスポートしたら、推論を実行する方法は主に2つあります。
-
高レベルAPIを提供し、OpenVINO Runtimeをラップする
ultralyticsパッケージを使用します。 -
推論動作をより高度に、または柔軟に制御するには、ネイティブの
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を提供します。また、Intelハードウェア間の負荷分散や非同期実行などの高度な機能も備えています。推論の実行方法について詳しくは、YOLO26ノートブックを参照してください。
Runtimeでモデルを正しく設定して使用するには、XMLファイルとBINファイルに加え、入力サイズや正規化のスケール係数など、アプリケーション固有の設定が必要です。
デプロイアプリケーションでは、通常、以下の手順を実行します。
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を使用して実行しました。 -
NPUでのYOLO26モデルのサポートは、2xxVシリーズおよび3xxシリーズ以降を搭載したIntel® Core™ Ultra™システムに限られます。
Intel® Core™ Ultra#
Intel® Core™ Ultra™シリーズは、ゲーマーやクリエイターからAIを活用する専門家まで、現代のユーザーの変化するニーズに応えるよう設計された、高性能コンピューティングの新たな基準です。この次世代製品群は、従来のCPUシリーズにとどまりません。強力なCPUコア、高性能な内蔵GPU機能、専用のニューラルプロセッシングユニット (NPU)を1つのチップに統合し、多様で負荷の高いコンピューティングワークロードに対応する統合ソリューションを提供します。
Intel® Core Ultra™アーキテクチャの中核をなすのは、従来の処理タスク、GPUアクセラレーションを利用するワークロード、AI駆動型の処理において優れたパフォーマンスを発揮するハイブリッド設計です。NPUを搭載することでオンデバイスAI推論が強化され、幅広いアプリケーションで、より高速かつ効率的な機械学習とデータ処理が可能になります。
Core Ultra™ファミリーには、さまざまなパフォーマンス要件に合わせたモデルがあり、省電力設計から「H」の名称が付いた高出力モデルまで選択できます。高い処理能力が求められるノートPCや小型フォームファクターに最適です。製品群全体を通じて、CPU、GPU、NPUの統合による相乗効果を活かし、優れた効率性、応答性、マルチタスク機能を実現します。
Intelの継続的なイノベーションの一環として、Core Ultra™シリーズは将来を見据えたコンピューティングの新たな基準を確立します。複数のモデルが提供され、今後もさらに登場する予定であり、このシリーズは次世代のインテリジェントなAI強化デバイスに最先端のソリューションを提供するというIntelの取り組みを示しています。
以下のベンチマークは、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/'詳細については、エクスポート形式のドキュメントを参照してください。
YOLO26モデルでIntelのOpenVINOツールキットを使用すると、次のようなメリットがあります。
- パフォーマンス: CPU推論を最大3倍高速化でき、Intel GPUやNPUを活用してさらに高速化できます。
- Model Optimizer: 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")詳細については、predictモードのドキュメントを参照してください。
Ultralytics YOLO26は、高精度かつ高速なリアルタイム物体検出向けに最適化されています。特に、OpenVINOと組み合わせることで、YOLO26は次の特長を発揮します。
- Intel CPUで最大3倍の高速化
- Intel GPUおよびNPUへのシームレスなデプロイ
- さまざまなエクスポート形式で一貫した同等の精度
詳細なパフォーマンス分析については、さまざまなハードウェアで実施したYOLO26の詳細なベンチマークをご確認ください。
はい。PyTorch、TorchScript、ONNX、OpenVINOなど、さまざまな形式のYOLO26モデルをベンチマークできます。選択したデータセットでベンチマークを実行するには、次のコードスニペットを使用してください。
例from ultralytics import YOLO # YOLO26n PyTorchモデルを読み込む model = YOLO("yolo26n.pt") # COCO8データセットで、すべてのエクスポート形式を対象にYOLO26nの速度と精度をベンチマークします results = model.benchmark(data="coco8.yaml")詳細なベンチマーク結果については、ベンチマークのセクションとエクスポート形式のドキュメントを参照してください。