OpenVINO™を使用したUltralytics YOLO11のシームレスな導入

アビラミ・ヴィナ

5分で読める

2025年7月1日

Ultralytics YOLO11をOpenVINO™フォーマットにエクスポートすることで、Intel®ハードウェア上でいかに高速な推論が可能になり、スピード、スケーラビリティ、精度が向上するかをご覧ください。

AIの採用は、AIソリューションが利用しやすいかどうかにかかっており、その大部分は、人々がすでに持っているハードウェア上で簡単に展開できるようにすることである。GPU(グラフィック・プロセッシング・ユニット)上でAIモデルを実行することは、パフォーマンスと並列処理能力の面で素晴らしい選択肢だ。 

しかし現実には、特にエッジ環境や日常的なラップトップでは、誰もがハイエンドGPUを利用できるわけではありません。だからこそ、中央演算処理装置(CPU)、統合GPU、ニューラル・プロセッシング・ユニット(NPU)のような、より広く利用可能なハードウェアで効率的に実行できるようにモデルを最適化することが非常に重要なのです。

例えば、コンピュータ・ビジョンは、機械がリアルタイムで画像やビデオストリームを分析し、理解することを可能にするAIの一分野です。Ultralytics YOLO11の ようなビジョンAIモデルは、物体の検出やインスタンスのセグメンテーションなどの重要なタスクをサポートし、小売分析から医療診断までのアプリケーションを強力にサポートします。

図1.UltralyticsのYOLO11を使用して、小売店内の物体を検出し、セグメント化する。

これは、CPU、GPU、NPU間でAI推論を最適化して実行するためのオープンソースプロジェクトである。 

この統合により、CPU上では最大3倍高速な推論、Intel GPUやNPU上では高速化されたパフォーマンスで、YOLO11モデルのエクスポートとデプロイが容易になります。この記事では、Ultralytics Pythonパッケージを使用してYOLO11モデルをOpenVINOフォーマットにエクスポートし、推論に使用する方法を説明します。さっそく始めましょう!

ウルトラリティクス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™(Open Visual Inference and Neural Network Optimization)は、AI推論を最適化し、幅広いハードウェアに展開するためのオープンソースのツールキットです。開発者は、CPU、統合GPU、ディスクリートGPU、NPU、FPGA(Field-Programmable Gate Array)など、さまざまなインテルプラットフォームで高性能な推論アプリケーションを効率的に実行することができます。

OpenVINOは、デバイス固有のプラグインを通じてハードウェアの違いを抽象化する統一ランタイム・インターフェースを提供する。つまり、開発者は一度コードを書けば、一貫したAPIを使用して複数のインテル・ハードウェア・ターゲットにデプロイできる。 

OpenVINOをデプロイメントに最適な選択肢とする主な特徴をいくつか紹介しよう:

  • モデル・コンバーター:このツールは、PyTorch、ONNX、TensorFlow、PaddlePaddle などの一般的なフレームワークからモデルを変換して準備するため、インテル・ハードウェア上で効率的な推論ができるように最適化されます。
    ‍ 以下のようになります。
  • ヘテロジニアス実行:異なるIntelハードウェア用にコードを書き直す必要はありません。OpenVINOを使えば、CPUからGPUまで、サポートされているあらゆるハードウェア上で同じモデルを簡単に実行できます。
  • 量子化のサポート:ツールキットは、FP16(デフォルト)やINT8のような低精度フォーマットをサポートしており、精度に大きな影響を与えることなくモデルサイズを縮小し、推論を高速化することができます。
図3.OpenVINOは多様な展開オプションを可能にする。

Ultralytics x OpenVINOの統合を探る

さて、OpenVINOとは何か、その意義について説明したところで、YOLO11モデルをOpenVINOフォーマットにエクスポートし、Intelハードウェア上で効率的な推論を実行する方法について説明しよう。

ステップ1:Ultralytics Pythonパッケージをインストールする

モデルをOpenVINOフォーマットにエクスポートするには、まずUltralytics Pythonパッケージをインストールする必要があります。このパッケージは、YOLO11を含むYOLOモデルのトレーニング、評価、エクスポートに必要なすべてを提供します。 

ターミナルかコマンドプロンプトで「pip install ultralytics」コマンドを実行すればインストールできる。Jupyter NotebookやGoogle Colabのようなインタラクティブな環境で作業している場合は、コマンドの前に感嘆符をつけてください。 

また、インストール中やエクスポート中に問題が発生した場合は、Ultralyticsのドキュメントとトラブルシューティングガイドが素晴らしいリソースとなります。

ステップ2: YOLO11モデルをOpenVINOフォーマットにエクスポートする

Ultralyticsパッケージがセットアップされたら、次のステップは、YOLO11モデルをロードし、OpenVINOと互換性のあるフォーマットに変換することです。 

以下の例では、学習済みのYOLO11モデル("yolo11n.pt")を使用しています。エクスポート機能を使って、OpenVINO形式に変換します。このコードを実行すると、変換されたモデルは "yolo11n_openvino_model "という新しいディレクトリに保存されます。

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="openvino")

ステップ3: エクスポートされたモデルで推論を実行する

YOLO11モデルがOpenVINOフォーマットにエクスポートされると、Ultralytics PythonパッケージまたはネイティブのOpenVINO Runtimeの2つの方法で推論を実行することができます。

Ultralytics Pythonパッケージの使用

エクスポートされたYOLO11モデルは、以下のコード・スニペットに示すように、Ultralytics Pythonパッケージを使って簡単にデプロイできる。この方法は、迅速な実験とIntelハードウェア上での合理化されたデプロイに最適です。 

また、お使いのシステムで利用可能なインテルハードウェアに応じて、"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ランタイムは、モデルの実行方法をより自由にコントロールすることができます。非同期実行(複数の推論リクエストを並行して実行)やロードバランシング(推論ワークロードをインテルハードウェアに効率的に分散)などの高度な機能をサポートしています。

ネイティブ・ランタイムを使用するには、エクスポートされたモデル・ファイルが必要です。.xmlファイル(ネットワーク・アーキテクチャを定義)と.binファイル(モデルの学習済み重みを保存)です。また、アプリケーションに応じて、入力次元や前処理ステップなどの追加パラメーターを設定することもできる。

典型的なデプロイの流れは、OpenVINOコアの初期化、ターゲットデバイスのモデルのロードとコンパイル、入力の準備、推論の実行です。詳細な例とステップバイステップのガイダンスについては、Ultralytics OpenVINOの公式ドキュメントを参照してください。

なぜUltralytics x OpenVINOの統合を選ぶのか?

Ultralyticsの統合を調べていると、Ultralytics Pythonパッケージが、TorchScript、CoreML、TensorRT、ONNXといった様々なフォーマットへのYOLO11モデルのエクスポートをサポートしていることに気づくでしょう。では、なぜOpenVINO統合を選ぶのでしょうか?

OpenVINOエクスポート・フォーマットがIntelハードウェアでのモデル展開に最適である理由は以下の通りです:

  • パフォーマンスの向上: インテルCPUでは推論が最大3倍高速化され、統合GPUやNPUではさらにアクセラレーションが可能です。
  • 再トレーニングは必要ありません
    ‍ 既存のYOLO11モデルを修正したり再トレーニングすることなく、OpenVINOフォーマットに直接エクスポートできます。
  • スケールのために構築されています:同じエクスポートされたモデルを、低消費電力のエッジデバイスや大規模なクラウドインフラに展開できるため、スケーラブルなAIの展開が簡素化されます。

また、OpenVINO™ Model Hubでは、さまざまなインテル®プラットフォームにおけるYOLO11モデルの性能ベンチマークを評価することができます。OpenVINO Model Hubは、開発者がインテルハードウェア上でAIモデルを評価し、インテルCPU、内蔵GPU、NPU、ディスクリートグラフィックスにわたるOpenVINOのパフォーマンス上の優位性を発見するためのリソースです。 

図5.OpenVINO™モデル・ハブ:様々なインテル®プラットフォームにおけるYOLO11モデルのパフォーマンス・ベンチマーク。

YOLO11とOpenVINOエクスポート・フォーマットのアプリケーション

OpenVINOの統合により、インテル・ハードウェア上でのYOLO11モデルの展開がより簡単になります。 

その好例がスマートリテールで、YOLO11はリアルタイムで空の棚を検知し、どの商品が少なくなっているかを追跡し、顧客が店内をどのように移動するかを分析するのに役立つ。これにより、小売業者は在庫管理を改善し、店舗レイアウトを最適化することができる。

同様に、スマートシティでは、YOLO11を使用して、リアルタイムで車両をカウントし、歩行者を追跡し、赤信号違反を検出することにより、交通を監視することができる。これらの洞察は、交通フローの最適化をサポートし、交通安全を向上させ、自動取締システムを支援することができる。

図6.YOLO11を使った車両のカウント。

YOLO11を生産ラインに導入することで、部品の欠落、ズレ、表面の損傷などの視覚的欠陥を自動的に検出することができる。これにより、効率が向上し、コストが削減され、製品の品質が向上します。

OpenVINOツールキットを使用する際に考慮すべき主な要素

YOLO11モデルをOpenVINOでデプロイする際、最良の結果を得るために留意すべき重要な点をいくつか挙げよう:

  • ハードウェアの互換性チェック:CPU、統合GPU、NPUなど、お使いのインテルハードウェアがOpenVINOでサポートされていることを確認してください。

  • 正しいドライバをインストールする:インテルGPUまたはNPUを使用している場合は、必要なドライバがすべて正しくインストールされ、最新の状態であることを再確認してください。

  • 理解する 精度 トレードオフ:OpenVINOはFP32、FP16、INT8モデルの精度をサポートしています。それぞれ速度と精度のトレードオフがあるため、パフォーマンス目標と利用可能なハードウェアに基づいて適切なオプションを選択することが重要です。

要点

Ultralytics YOLO11をOpenVINOフォーマットにエクスポートすることで、高速で効率的なVision AIモデルをIntelハードウェア上で簡単に実行できます。CPU、GPU、NPUにまたがって、コードを再学習したり変更したりすることなくデプロイできます。シンプルでスケーラブルな状態を維持しながらパフォーマンスを向上させる素晴らしい方法です。

Ultralytics Pythonパッケージにサポートが組み込まれているため、OpenVINOでのエクスポートと推論の実行は簡単です。わずか数ステップでモデルを最適化し、様々なIntelプラットフォームで実行することができます。スマートリテール、交通監視、工業検査など、このワークフローは、開発から展開までのスピードと信頼性を高めます。

YOLOコミュニティに参加し、UltralyticsGitHubリポジトリをチェックして、Ultralyticsがサポートするインパクトのある統合の詳細をご覧ください。また、Ultralyticsのライセンスオプションもご覧ください!

UltralyticsとOpenVINOの統合を実際にご覧いただくには、近日中に開催されるウェビナーにご登録ください。また、OpenVINOのウェブサイトでは、AIを大規模に最適化して展開するためのツールをご覧いただけます。

AIの未来
を一緒に作りましょう!

機械学習の未来への旅を始めよう

無料で始める
クリップボードにコピーされたリンク