Ultralytics YOLO27:

DL Streamer Pipeline FrameworkとOpenVINO™を使用したIntel Core Ultra Series 3でのUltralytics YOLO26#

この包括的なガイドでは、DL Streamer Pipeline FrameworkとOpenVINO™ toolkitを使用して、Intel Core Ultra Series 3プラットフォームにUltralytics YOLO26をデプロイする手順を詳しく説明します。ここではOpenVINO™を使用して、Intel CPU、内蔵GPU、ディスクリートGPU、NPUでの推論性能を最大限に高めます。

Intel DL Streamer

目次: Intel DL Streamerとは • 前提条件 • YOLO26モデルの準備 • YOLO26で推論を実行する • マルチストリームのセットアップ • よくある質問

Intel DL Streamerとは#

Deep Learning Streamer(DL Streamer)Pipeline Frameworkは、GStreamerマルチメディアフレームワークを基盤としたオープンソースのストリーミングメディア分析フレームワークで、クラウドまたはエッジ向けの複雑なメディア分析パイプラインを構築するために設計されています。

DL Streamerを使用すると、オーディオストリームやビデオストリームを分析して、オブジェクト、イベント、人を検出、分類、追跡、識別、カウントできます。Intelハードウェア向けに最適化されており、さまざまなバックエンドライブラリを基盤とするGStreamerプラグイン間の相互運用性を提供します:

  • 推論: Intel CPU、GPU、NPU向けに最適化されたOpenVINO™推論エンジン
  • ビデオのエンコード/デコード: VA-APIによるGPUアクセラレーション
  • 画像処理: VA-APIによるGPUアクセラレーション
  • メタデータ: 推論結果を構造化するGStreamer Analytics
  • エコシステム: メディアI/O、マルチプレクサー/デマルチプレクサー、コーデックのサポートなどに対応した数百種類のGStreamerプラグイン

DL Streamerは、OpenVINO™形式のUltralytics YOLOファミリー(YOLOv5からYOLO26まで)全モデルを含む、多数のAIモデルをサポートしています。

DL Streamerは、システム要件 — Open Edge Platform Documentationに記載されたシステムで定期的に検証されています。

前提条件#

作業を始める前に、Intelシステムに次のソフトウェアがインストールされ、設定されていることを確認してください:

YOLO26モデルの準備#

DL Streamerでは、OpenVINO™ IR形式のモデルを使用します。Ultralytics YOLO26モデルは、Ultralyticsエクスポーターを使用してPyTorchからOpenVINO™ IRにエクスポートします。DL Streamerは、Intelハードウェア向けに最適化されたエクスポート機能と推論機能を提供する、公式のUltralytics OpenVINO™統合を活用します。

  1. ~/intel/dlstreamer_demoフォルダーを作成し、仮想環境にOpenVINO™とUltralyticsをインストールします
mkdir -p ~/intel/dlstreamer_demo && cd ~/intel/dlstreamer_demo
python3 -m venv .dls-venv && source .dls-venv/bin/activate
pip install openvino==2026.2.0 ultralytics==8.4.92
  1. UltralyticsからPyTorch YOLO26sモデルをダウンロードし、OpenVINO™ IR形式に変換して、INT8精度のバリアントを生成します。
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yaml

モデルは~/intel/dlstreamer_demo/yolo26s_int8_openvino_modelフォルダーにエクスポートされます。

モデルの精度#

DL StreamerはFP32、FP16、INT8の精度のモデルをサポートしています。それぞれ個別にエクスポートする必要があります。

# FP32 (default precision, highest accuracy)
yolo export model=yolo26s.pt format=openvino dynamic=True

# FP16 (recommended for GPU inference, good accuracy/performance balance)
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=16

# INT8 (maximum performance, requires calibration dataset)
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yaml

以下の例では、準備手順でエクスポートしたINT8モデルを使用します。FP32またはFP16モデルを使用する場合は、モデルパスを適宜置き換えてください(例: yolo26s_openvino_model/yolo26s.xml)。

YOLO26で推論を実行する#

DL StreamerのYOLO26推論検出パイプラインを実行する前に、DL StreamerのDockerイメージを対話モードで実行してください。 YOLO26モデルの準備の手順に従い、Pexelsデータベースから以下の動画ファイルをダウンロードしたことを確認してください。

curl -L https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4 --output ~/intel/dlstreamer_demo/video1.mp4

DL StreamerのDockerイメージを対話モードで実行してください。

注

このコマンドは、GPU(iGPU)とNPUを内蔵したIntel Core Ultra Series 3プロセッサー搭載システム向けです。

docker run -it --rm \
  -v ~/intel/dlstreamer_demo:/home/dlstreamer/demo \
  -v "$HOME/.Xauthority:/root/.Xauthority:rw" \
  -e DISPLAY=$DISPLAY \
  -e XDG_RUNTIME_DIR=/tmp \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  --device /dev/dri \
  --group-add $(stat -c "%g" /dev/dri/render*) \
  --device /dev/accel \
  --group-add $(stat -c "%g" /dev/accel/accel*) \
  -e ZE_ENABLE_ALT_DRIVERS=libze_intel_npu.so \
  intel/dlstreamer:latest

INT8精度(最大パフォーマンス)#

INT8量子化では、モデルの重みを8ビット整数にすることで、最高のスループットを実現します。Ultralyticsエクスポーターがキャリブレーションを自動的に処理します。

GPUでYOLO26sをINT8で実行する#

gst-launch-1.0 filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU ! queue ! vapostproc ! gvawatermark ! gvafpscounter ! autovideosink sync=false
Intel DL Streamer GPU

GPUでYOLO26sをINT8で実行し、出力を動画ファイルに保存する#

gst-launch-1.0 filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU ! queue ! vapostproc ! gvawatermark ! gvafpscounter ! vah264enc ! h264parse ! mp4mux ! filesink location=/home/dlstreamer/demo/yolo_video1_yolo26s_INT8_GPU.mp4

NPUでYOLO26sをINT8で実行する#

gst-launch-1.0 filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=NPU ! queue ! vapostproc ! gvawatermark ! gvafpscounter ! autovideosink sync=false
Intel DL Streamer NPU

マルチストリームのセットアップ#

DL Streamerはマルチストリーム処理をサポートしており、複数の動画ソースを同時にデコードして推論できます。GStreamerのvacompositor要素を使用して複数のストリームを組み合わせ、複数のパイプラインを並行して起動できます。

複数のパイプラインを並行実行する(4ストリーム、GPU)#

gst-launch-1.0 vacompositor name=comp sink_0::xpos=0 sink_0::ypos=0 sink_1::xpos=660 sink_1::ypos=0 sink_2::xpos=0 sink_2::ypos=380 sink_3::xpos=660 sink_3::ypos=380 ! autovideosink sync=false \
  filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU model-instance-id=inf0 scheduling-policy="latency" ! queue ! gvawatermark ! gvafpscounter ! comp.sink_0 \
  filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU model-instance-id=inf0 scheduling-policy="latency" ! queue ! gvawatermark ! gvafpscounter ! comp.sink_1 \
  filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU model-instance-id=inf0 scheduling-policy="latency" ! queue ! gvawatermark ! gvafpscounter ! comp.sink_2 \
  filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU model-instance-id=inf0 scheduling-policy="latency" ! queue ! gvawatermark ! gvafpscounter ! comp.sink_3
Intel DL Streamer Multistream GPU

その他のリソース#

よくある質問#

  • インストールガイドに従ってDL Streamerをインストールし、source /opt/intel/dlstreamer/scripts/setup_dls_env.shで環境をセットアップして、UltralyticsとOpenVINO™をインストールし、download_ultralytics_models.shを使用してモデルをダウンロードします。次に、YOLO26推論パイプラインを実行するためのすぐに使えるスクリプトを提供するDL Streamerのサンプルアプリケーションyolo_detect.shで推論を実行します。実行方法については、短いチュートリアルをご覧ください。

  • OpenVINO™は、グラフ最適化、レイヤー融合、ハードウェア固有のカーネル調整などの手法により、Intelハードウェア向けにYOLO26モデルを最適化します。DL StreamerのVA-APIによる高速デコードとゼロコピーのva-surface-sharing前処理を組み合わせることで、動画分析パイプライン全体のスループットは、最適化されていないフレームワークと比べて大幅に向上します。

  • はい。DL Streamerは、複数世代のIntelプラットフォームで、Intel CPU(Core、Core Ultra、Xeon)、内蔵GPU(Iris Xe、Arc)、ディスクリートGPU(Arc A-Series、B-Series)、NPU(AI Boost)での推論をサポートしています。gvadetectのdeviceプロパティをCPU、GPU、またはNPUに変更するだけです。

    • FP16はGPU推論のデフォルトとして推奨されます。FP32に近い精度を保ちながら、スループットが約2倍向上します。
    • INT8は、精度をわずかに犠牲にすることで最高のパフォーマンス(FP32の2~3倍)を実現するため、最大スループットを優先する場合に最適です。INT8モデルはUltralyticsのエクスポート時に自動的にキャリブレーションされます。
  • DL Streamerは、すべてのYOLO26タスクバリアントをサポートしています。

    • 検出: yolo26n、yolo26s、yolo26m、yolo26l、yolo26x
    • 方向付きバウンディングボックス(OBB): yolo26s-obb(すべてのサイズバリアントを含む)
    • インスタンスセグメンテーション: yolo26s-seg(すべてのサイズバリアントを含む)
    • 姿勢推定: yolo26s-pose(すべてのサイズバリアントを含む)
    • 分類: yolo26s-cls(検出との複合パイプライン)
  • json出力オプションを使用して、検出結果をJSON Lines形式でファイルに書き込みます。

    ./yolo_detect.sh yolo26s GPU input_video.mp4 json va-surface-sharing INT8

    または、カスタムパイプラインでgvametapublish要素を使用して、メタデータをファイル、MQTT、またはKafkaに送信します。

コメント