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

注
このガイドは、最新の安定版JetPackリリースであるJP6.1を実行しているNVIDIA Jetson Orin Nano Super Developer Kit、JetPackリリースJP5.1.3を実行しているNVIDIA Jetson Orin NX 16GBをベースにしたSeeed Studio reComputer J4012、JetPackリリースJP4.6.4を実行しているNVIDIA Jetson Nano 4GBをベースにしたSeeed Studio reComputer J1020 v2でテストされています。最新およびレガシーを含むすべてのNVIDIA Jetsonハードウェアラインナップで動作することが期待されます。
NVIDIA DeepStreamとは何ですか?
NVIDIAのDeepStream SDKは、AIベースのマルチセンサー処理、ビデオ、オーディオ、および画像の理解のためのGStreamerに基づく完全なストリーミング分析ツールキットです。ビジョンAI開発者、ソフトウェアパートナー、スタートアップ、およびIVA(インテリジェントビデオ分析)アプリとサービスを構築するOEMに最適です。 ニューラルネットワークや、トラッキング、ビデオエンコード/デコード、ビデオレンダリングなどの他の複雑な処理タスクを組み込んだストリーム処理パイプラインを作成できるようになりました。これらのパイプラインにより、ビデオ、画像、およびセンサーデータに関するリアルタイム分析が可能になります。 DeepStreamのマルチプラットフォームサポートにより、オンプレミス、エッジ、およびクラウドでビジョンAIアプリケーションとサービスをより迅速かつ簡単に開発できます。
前提条件
このガイドに従う前に:
- Ultralytics YOLO26でNVIDIA Jetsonデバイスをセットアップするには、ドキュメントのクイックスタートガイド: NVIDIA JetsonとUltralytics YOLO26をご覧ください。
- インストール DeepStream SDK JetPack のバージョンに応じて
- JetPack 4.6.4の場合は、DeepStream 6.0.1をインストールしてください。
- JetPack 5.1.3の場合は、DeepStream 6.3をインストールしてください。
- JetPack 6.1の場合は、DeepStream 7.1をインストールしてください。
ヒント
このガイドでは、JetsonデバイスにDeepStream SDKをインストールするDebianパッケージメソッドを使用しました。Jetson上のDeepStream SDK(アーカイブ)にアクセスして、DeepStreamのレガシーバージョンにアクセスすることもできます。
YOLO26のDeepStream構成
ここでは、marcoslucianops/DeepStream-Yolo GitHubリポジトリを使用しています。これには、YOLOモデル用のNVIDIA DeepStream SDKのサポートが含まれています。貢献してくれたmarcoslucianops氏の努力に感謝します!
必要な依存関係とともにUltralyticsをインストール
cd ~ pip install -U pip git clone https://github.com/ultralytics/ultralytics cd ultralytics pip install -e ".[export]" onnxslimDeepStream-Yoloリポジトリをクローンします
cd ~ git clone https://github.com/marcoslucianops/DeepStream-Yoloコピー
export_yolo26.pyファイルは以下から。DeepStream-Yolo/utilsディレクトリをultralyticsフォルダーcp ~/DeepStream-Yolo/utils/export_yolo26.py ~/ultralytics cd ultralyticsYOLO26リリースから、お好みのUltralytics YOLO26 detectモデル(.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の場合は、以下を削除してください。
--dynamicarg と useopset12以下。デフォルト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エンジンファイルの生成に時間がかかります。しばらくお待ちください。

ヒント
モデルをFP16精度に変換する場合は、単に以下を設定してください。 model-engine-file=model_b1_gpu0_fp16.engine および network-mode=2 内部 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_YoloCOCOデータセットの場合、をダウンロードしてください 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
マルチストリーム設定
見る: Ultralytics YOLO26を使用してDeepStream SDKでJetson Nano上で複数のストリームを実行する方法 🎉
単一のDeepStreamアプリケーションで複数のストリームを設定するには、 deepstream_app_config.txt ファイル:
必要なストリームの数に応じて、行と列を変更してグリッド表示を作成します。たとえば、4つのストリームの場合、2行と2列を追加できます。
[tiled-display] rows=2 columns=2セット
num-sources=4を変更し、uriエントリを4つのストリームすべてに追加します。[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 |
| 形式 | ステータス | 推論時間 (ms/im) |
|---|---|---|
| TensorRT(FP32) | ✅ | 14.53 |
| TensorRT(FP16) | ✅ | 7.91 |
| TensorRT(INT8) | ✅ | 6.05 |
| 形式 | ステータス | 推論時間 (ms/im) |
|---|---|---|
| TensorRT(FP32) | ✅ | 32.05 |
| TensorRT(FP16) | ✅ | 15.55 |
| TensorRT(INT8) | ✅ | 10.43 |
| 形式 | ステータス | 推論時間 (ms/im) |
|---|---|---|
| TensorRT(FP32) | ✅ | 39.68 |
| TensorRT(FP16) | ✅ | 19.88 |
| TensorRT(INT8) | ✅ | 13.64 |
| 形式 | ステータス | 推論時間 (ms/im) |
|---|---|---|
| TensorRT(FP32) | ✅ | 80.65 |
| TensorRT(FP16) | ✅ | 39.06 |
| TensorRT(INT8) | ✅ | 22.83 |
謝辞
このガイドは、当初、Seeed StudioのLakshanthaとElaineによって作成されました。
よくある質問
NVIDIA JetsonデバイスにUltralytics YOLO26をセットアップするにはどうすればよいですか?
NVIDIA JetsonデバイスにUltralytics YOLO26をセットアップするには、まずJetPackバージョンと互換性のあるDeepStream SDKをインストールする必要があります。YOLO26のデプロイ用にNVIDIA Jetsonを構成するには、クイックスタートガイドのステップバイステップガイドに従ってください。
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に変換するにはどうすればよいですか?
DeepStreamでデプロイするためにYOLO26モデルをONNX形式に変換するには、 utils/export_yolo26.py からのスクリプト DeepStream-Yolo リポジトリ。
コマンドの例を以下に示します。
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モデルを使用することの効率性と能力を強調しています。詳細については、ベンチマーク結果セクションを参照してください。