NVIDIA Jetson上でのDeepStream SDKとTensorRTを使用したUltralytics YOLO26
Watch: How to use Ultralytics YOLO26 models with NVIDIA Deepstream on Jetson Orin NX 🚀
この包括的なガイドでは、DeepStream SDKとTensorRTを使用してNVIDIA JetsonデバイスにUltralytics YOLO26をデプロイするための詳細な手順を説明します。ここでは、Jetsonプラットフォームでの推論パフォーマンスを最大化するためにTensorRTを使用します。

This guide has been tested with NVIDIA Jetson Orin Nano Super Developer Kit running the latest stable JetPack release of JP6.1, Seeed Studio reComputer J4012 which is based on NVIDIA Jetson Orin NX 16GB running JetPack release of JP5.1.3 and Seeed Studio reComputer J1020 v2 which is based on NVIDIA Jetson Nano 4GB running JetPack release of JP4.6.4. It is expected to work across all the NVIDIA Jetson hardware lineup including latest and legacy.
NVIDIA DeepStreamとは何ですか?
NVIDIAのDeepStream SDKは、GStreamerに基づいたAIベースのマルチセンサー処理、ビデオ、オーディオ、画像理解のための完全なストリーミング分析ツールキットです。これは、IVA(インテリジェントビデオ分析)アプリやサービスを構築するビジョンAI開発者、ソフトウェアパートナー、スタートアップ、OEMに最適です。ニューラルネットワークや、トラッキング、ビデオのエンコード/デコード、ビデオレンダリングといった複雑な処理タスクを組み込んだストリーム処理パイプラインを作成できます。これらのパイプラインにより、ビデオ、画像、センサーデータに対するリアルタイム分析が可能になります。DeepStreamのマルチプラットフォームサポートにより、オンプレミス、エッジ、クラウド上でビジョンAIアプリケーションやサービスをより迅速かつ簡単に開発できます。
前提条件
本ガイドを始める前に:
- 当社のドキュメントQuick Start Guide: NVIDIA Jetson with Ultralytics YOLO26を参照し、NVIDIA JetsonデバイスにUltralytics YOLO26をセットアップしてください。
- JetPackのバージョンに合わせてDeepStream SDKをインストールしてください。
- JetPack 4.6.4の場合、DeepStream 6.0.1をインストールします。
- JetPack 5.1.3の場合、DeepStream 6.3をインストールします。
- JetPack 6.1の場合、DeepStream 7.1をインストールします。
- JetPack 7.1の場合、DeepStream 9.0をインストールします。
本ガイドでは、JetsonデバイスへのDeepStream SDKインストールにDebianパッケージ方式を使用しています。旧バージョンのDeepStreamについては、DeepStream SDK on Jetson (Archived)をご覧ください。
YOLO26用のDeepStream設定
ここでは、YOLOモデル用のNVIDIA DeepStream SDKサポートを含む、marcoslucianops/DeepStream-Yolo GitHubリポジトリを使用します。貢献してくださったmarcoslucianops氏の尽力に感謝いたします。
-
必要な依存関係とともにUltralyticsをインストールします
cd ~ pip install -U pip git clone https://github.com/ultralytics/ultralytics cd ultralytics pip install -e ".[export]" onnxslim -
DeepStream-Yoloリポジトリをクローンします
cd ~ git clone https://github.com/marcoslucianops/DeepStream-Yolo -
Copy the
export_yolo26.pyfile fromDeepStream-Yolo/utilsdirectory to theultralyticsfoldercp ~/DeepStream-Yolo/utils/export_yolo26.py ~/ultralytics cd ultralytics -
YOLO26リリースから、任意のUltralytics YOLO26検出モデル(.pt)をダウンロードしてください。ここではyolo26s.ptを使用します。
wget https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26s.pt
カスタムトレーニングされたYOLO26モデルを使用することも可能です。
-
モデルをONNXに変換します
python3 export_yolo26.py -w yolo26s.pt
DeepStream 5.1の場合、--dynamic引数を削除し、opset 12以下を使用してください。デフォルトのopsetは17です。
--opset 12推論サイズを変更する場合(デフォルト: 640)
-s SIZE
--size SIZE
-s HEIGHT WIDTH
--size HEIGHT WIDTH1280の例:
-s 1280
or
-s 1280 1280ONNXモデルを簡略化する場合(DeepStream 6.0以上)
--simplify動的バッチサイズを使用する場合(DeepStream 6.1以上)
--dynamic静的バッチサイズを使用する場合(バッチサイズ=4の例)
--batch 4-
生成された
.onnxモデルファイルとlabels.txtファイルをDeepStream-Yoloフォルダにコピーしますcp yolo26s.pt.onnx labels.txt ~/DeepStream-Yolo cd ~/DeepStream-Yolo -
インストールされているJetPackのバージョンに合わせてCUDAのバージョンを設定します
JetPack 4.6.4の場合:
export CUDA_VER=10.2JetPack 5.1.3の場合:
export CUDA_VER=11.4JetPack 6.1の場合:
export CUDA_VER=12.6 -
ライブラリをコンパイルします
make -C nvdsinfer_custom_impl_Yolo clean && make -C nvdsinfer_custom_impl_Yolo -
モデルに合わせて
config_infer_primary_yolo26.txtファイルを編集します(80クラスのYOLO26sの場合)[property] ... onnx-file=yolo26s.pt.onnx ... num-detected-classes=80 ... -
deepstream_app_configファイルを編集します... [primary-gie] ... config-file=config_infer_primary_yolo26.txt -
deepstream_app_configファイル内のビデオソースを変更することも可能です。ここではデフォルトのビデオファイルが読み込まれます... [source0] ... uri=file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h264.mp4
推論を実行します
deepstream-app -c deepstream_app_config.txt推論を開始する前にTensorRTエンジンファイルの生成に時間がかかる場合がありますので、しばらくお待ちください。

If you want to convert the model to FP16 precision, simply set model-engine-file=model_b1_gpu0_fp16.engine and network-mode=2 inside config_infer_primary_yolo26.txt
INT8キャリブレーション
推論にINT8精度を使用したい場合は、以下の手順に従う必要があります:
現在、INT8はTensorRT 10.xでは動作しません。このガイドのこのセクションは、動作が確認されているTensorRT 8.xで検証されています。
-
OPENCV環境変数を設定しますexport OPENCV=1 -
ライブラリをコンパイルします
make -C nvdsinfer_custom_impl_Yolo clean && make -C nvdsinfer_custom_impl_Yolo -
COCOデータセットについては、val2017をダウンロードし、解凍して
DeepStream-Yoloフォルダに移動してください -
キャリブレーション画像用の新しいディレクトリを作成します
mkdir calibration -
以下を実行して、COCOデータセットからランダムに1000枚の画像を選択し、キャリブレーションを実行します
for jpg in $(ls -1 val2017/*.jpg | sort -R | head -1000); do cp ${jpg} calibration/ done
NVIDIAは、良好な精度を得るために少なくとも500枚の画像を推奨しています。この例では、より高い精度を得るために1000枚を選択しました(画像が多いほど精度が向上します)。head -1000で設定可能です。例えば2000枚の場合はhead -2000とします。このプロセスには時間がかかる場合があります。
-
選択されたすべての画像を含む
calibration.txtファイルを作成しますrealpath calibration/*jpg > calibration.txt -
環境変数を設定します
export INT8_CALIB_IMG_PATH=calibration.txt export INT8_CALIB_BATCH_SIZE=1
INT8_CALIB_BATCH_SIZEの値が大きいほど、精度が向上しキャリブレーション速度が速くなります。GPUメモリに合わせて設定してください。
-
config_infer_primary_yolo26.txtファイルを更新します変更前
... model-engine-file=model_b1_gpu0_fp32.engine #int8-calib-file=calib.table ... network-mode=0 ...変更後
... model-engine-file=model_b1_gpu0_int8.engine int8-calib-file=calib.table ... network-mode=1 ...
推論を実行します
deepstream-app -c deepstream_app_config.txtマルチストリーム設定
Watch: How to Run Multi-Stream Inference with Ultralytics YOLO26 using NVIDIA DeepStream on Jetson Orin 🚀
単一のDeepStreamアプリケーションで複数のストリームをセットアップするには、deepstream_app_config.txtファイルに以下の変更を加えます:
-
必要なストリーム数に応じて、行と列を変更してグリッド表示を構築します。例えば4ストリームの場合、2行2列を追加できます。
[tiled-display] rows=2 columns=2 -
num-sources=4を設定し、4つのストリームすべてに対してuriエントリを追加します。[source0] enable=1 type=3 uri=path/to/video1.jpg uri=path/to/video2.jpg uri=path/to/video3.jpg uri=path/to/video4.jpg num-sources=4
推論を実行します
deepstream-app -c deepstream_app_config.txt
ベンチマーク結果
以下のベンチマークは、NVIDIA Jetson Orin NX 16GBにおいて、640x640の入力サイズでYOLO26モデルが各TensorRT精度レベルでどのように動作するかをまとめたものです。
比較チャート

詳細な比較表
| 形式 | ステータス | 推論時間 (ms/im) |
|---|---|---|
| TensorRT (FP32) | ✅ | 8.64 |
| TensorRT (FP16) | ✅ | 5.27 |
| TensorRT (INT8) | ✅ | 4.54 |
謝辞
本ガイドは、Seeed Studioの友人であるLakshantha氏とElaine氏によって作成されました。
FAQ
NVIDIA JetsonデバイスでUltralytics YOLO26をセットアップするにはどうすればよいですか?
To set up Ultralytics YOLO26 on an NVIDIA Jetson device, you first need to install the DeepStream SDK compatible with your JetPack version. Follow the step-by-step guide in our Quick Start Guide to configure your NVIDIA Jetson for YOLO26 deployment.
NVIDIA JetsonでYOLO26とともにTensorRTを使用するメリットは何ですか?
YOLO26でTensorRTを使用すると、推論用にモデルが最適化され、NVIDIA Jetsonデバイスにおける遅延が大幅に短縮され、スループットが向上します。TensorRTは、レイヤー融合、精度キャリブレーション、カーネル自動チューニングを通じて、高性能かつ低遅延のディープラーニング推論を実現します。これにより実行が高速かつ効率的になり、ビデオ分析や自律型マシンなどのリアルタイムアプリケーションに特に有用です。
異なるNVIDIA Jetsonハードウェア全体で、DeepStream SDKを使用してUltralytics YOLO26を実行できますか?
はい、DeepStream SDKとTensorRTを使用してUltralytics YOLO26をデプロイするガイドは、すべてのNVIDIA Jetsonラインナップと互換性があります。これには、JetPack 5.1.3を搭載したJetson Orin NX 16GBや、JetPack 4.6.4を搭載したJetson Nano 4GBなどが含まれます。詳細な手順については、YOLO26用のDeepStream設定のセクションを参照してください。
DeepStream用にYOLO26モデルをONNXに変換するにはどうすればよいですか?
To convert a YOLO26 model to ONNX format for deployment with DeepStream, use the utils/export_yolo26.py script from the DeepStream-Yolo repository.
コマンド例は以下の通りです:
python3 utils/export_yolo26.py -w yolo26s.pt --opset 12 --simplifyモデル変換の詳細については、モデルエクスポートセクションをご覧ください。
NVIDIA Jetson Orin NXでのYOLOのパフォーマンスベンチマークはどうなっていますか?
NVIDIA Jetson Orin NX 16GBにおけるYOLO26モデルのパフォーマンスは、TensorRTの精度レベルによって異なります。例えば、YOLO26sモデルでは以下のような結果が得られます:
- FP32精度: 14.6 ms/im, 68.5 FPS
- FP16精度: 7.94 ms/im, 126 FPS
- INT8精度: 5.95 ms/im, 168 FPS
これらのベンチマークは、NVIDIA JetsonハードウェアでTensorRT最適化されたYOLO26モデルを使用することの効率性と能力を裏付けています。詳細については、ベンチマーク結果のセクションをご覧ください。