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とは • 前提条件 • YOLO26モデルの準備 • YOLO26で推論を実行 • マルチストリームのセットアップ • FAQ
Intel DL 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、mux/demux、コーデックサポートなどに対応する数百のGStreamerプラグイン
DL Streamerは、OpenVINO™形式のUltralytics YOLOファミリー全体(YOLOv5からYOLO26まで)を含む、多くのAIモデルをサポートしています。
DL Streamerは、System Requirements — Open Edge Platform Documentationで提供されているシステムで定期的に検証されています。
前提条件#
開始する前に、Intelシステムに以下がインストールおよび設定されていることを確認してください。
YOLO26モデルの準備#
DL StreamerはOpenVINO™ IR formatのモデルを使用します。Ultralytics YOLO26モデルは、Ultralytics exporterを使用してPyTorchからOpenVINO™ IRへエクスポートされます。DL Streamerは、Intelハードウェア向けに最適化されたエクスポートおよび推論機能を提供する、公式のUltralytics OpenVINO™ integrationを活用します。
~/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推論検出パイプラインを実行する前に、インタラクティブモードでDL StreamerのDockerイメージを実行してください。 YOLO26 Model Preparationのステップに従い、Pexelsデータベースから以下のビデオファイルをダウンロードしてください。
curl -L https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4 --output ~/intel/dlstreamer_demo/video1.mp4DL 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 exporterがキャリブレーションを自動的に処理します。
GPUでINT8を使用してYOLO26sを実行#
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でINT8を使用してYOLO26sを実行し、出力を動画ファイル(~/intel/dlstreamer_demo/yolo_video1_yolo26s_INT8_GPU.mp4)に保存します#
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でINT8を使用してYOLO26sを実行#
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
- サポート対象モデルの一覧
FAQ#
Installation Guideに従って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シリーズ、Bシリーズ)、およびNPU(AI Boost)での推論をサポートしています。
gvadetectのdeviceプロパティをCPU、GPU、またはNPUに変更するだけです。- FP16はGPU推論のデフォルトとして推奨されます。FP32に近い精度を保ちながら、スループットを約2倍に向上できます。
- INT8は、わずかな精度低下で最高のパフォーマンス(FP32比で2~3倍)を実現するため、最大スループットが優先される場合に適しています。INT8モデルは、Ultralyticsのエクスポート中に自動的にキャリブレーションされます。
DL StreamerはすべてのYOLO26タスクバリアントをサポートしています:
- Detection: yolo26n、yolo26s、yolo26m、yolo26l、yolo26x
- Oriented Bounding Box (OBB): yolo26s-obb(およびすべてのサイズバリアント)
- Instance Segmentation: yolo26s-seg(およびすべてのサイズバリアント)
- Pose Estimation: yolo26s-pose(およびすべてのサイズバリアント)
- Classification: yolo26s-cls(検出との複合パイプライン)
json出力オプションを使用して、検出結果をJSON Lines形式でファイルに書き込みます。./yolo_detect.sh yolo26s GPU input_video.mp4 json va-surface-sharing INT8または、カスタムパイプラインで
gvametapublish要素を使用して、メタデータをファイル、MQTT、またはKafkaに公開できます。