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をデプロイする方法を説明します。Intel CPU、統合GPU、ディスクリートGPU、NPUで推論性能を最大限に高めるため、ここではOpenVINO™を使用します。
目次: 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は、DL Streamerのシステム要件に記載されたシステムで定期的に検証されています。
前提条件#
作業を始める前に、Intelシステムに次のソフトウェアがインストールされ、設定されていることを確認してください:
-
Intel GPU/NPUドライバーをインストールしたUbuntu 24.04
YOLO26モデルの準備#
DL StreamerはOpenVINO™ IR形式のモデルを使用します。Ultralytics YOLO26モデルは、Ultralytics exporterを使ってPyTorchからOpenVINO™ IRにエクスポートします。DL Streamerは、Intelハードウェア向けに最適化されたエクスポート機能と推論機能を提供する、公式のUltralytics OpenVINO™統合を使用します。
~/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- 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 検出パイプラインを実行する前に、YOLO26 Model Preparation の手順を完了し、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:latestINT8精度(最大パフォーマンス)#
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
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.mp4NPUで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
マルチストリームのセットアップ#
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
その他のリソース#
- DL Streamer GitHubリポジトリ
- DL Streamerドキュメント
- DL Streamerのエレメント
- OpenVINO™ Toolkit
- Ultralytics YOLO26
- GStreamer Framework
- サポート対象モデル一覧
よくある質問#
インストールガイドに従って 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に変更します。- GPU推論のデフォルトにはFP16を推奨します。高いスループットを実現しながら、FP32に近い精度を維持できます。
- INT8は、精度をわずかに犠牲にすることで最高のパフォーマンスを実現し、最大スループットを優先する場合に最適です。INT8モデルはUltralyticsのエクスポート中に自動でキャリブレーションされます。
DL Streamer は、次の YOLO26 タスクバリアントをサポートしています。
- 検出: yolo26n、yolo26s、yolo26m、yolo26l、yolo26x
- インスタンスセグメンテーション: yolo26s-seg(すべてのサイズバリアントを含む)
- 分類: yolo26s-cls(検出との複合パイプライン)
- 姿勢推定: yolo26s-pose(すべてのサイズバリアントを含む)
- 方向付きバウンディングボックス(OBB): yolo26s-obb(すべてのサイズバリアントを含む)
json出力オプションを使用して、検出結果をJSON Lines形式でファイルに書き込みます。./yolo_detect.sh yolo26s GPU input_video.mp4 json va-surface-sharing INT8または、カスタムパイプラインで
gvametapublish要素を使用して、メタデータをファイル、MQTT、またはKafkaに送信します。
コメント
質問したり、結果を共有したり、ほかの人をサポートしたりできます。