Ultralytics YOLO11 NVIDIA Jetson上でDeepStream SDKとTensorRT
見るんだ: Jetson Nano上でDeepStream SDKを使用して複数のストリームを実行する方法Ultralytics YOLO11
この包括的なガイドでは、DeepStream SDK およびTensorRT を使用して、NVIDIA Jetson デバイス上にUltralytics YOLO11 をデプロイするための詳細なウォークスルーを提供します。ここでは、TensorRT を使用して、Jetson プラットフォームでの推論パフォーマンスを最大化します。
注
このガイドは、NVIDIA JetsonOrin Nano Super Developer Kitで最新の安定版 JetPack リリースJP6.1 を動作させてテストしています、 Seeed Studio reComputer J4012はNVIDIA Jetson Orin NX 16GB をベースに JetPack リリースJP5.1.3を、Seeed Studio reComputer J1020 v2はNVIDIA Jetson Nano 4GB をベースに JetPack リリースJP4.6.4 を動作させています。最新およびレガシーを含む、NVIDIA Jetsonハードウェアの全ラインナップで動作する見込みです。
NVIDIA DeepStreamとは?
NVIDIAのDeepStream SDKは、AIベースのマルチセンサー処理、ビデオ、オーディオ、画像理解のためのGStreamerベースの完全なストリーミング分析ツールキットです。ビジョンAI開発者、ソフトウェア・パートナー、新興企業、IVA(Intelligent Video Analytics)アプリやサービスを構築するOEMに最適です。ニューラルネットワークや、トラッキング、ビデオエンコード/デコード、ビデオレンダリングなどの複雑な処理タスクを組み込んだストリーム処理パイプラインを作成できるようになりました。これらのパイプラインにより、ビデオ、画像、センサーデータのリアルタイム分析が可能になります。DeepStreamのマルチプラットフォーム対応により、オンプレミス、エッジ、クラウドでビジョンAIアプリケーションとサービスをより迅速かつ容易に開発できます。
前提条件
このガイドに従う前に
- クイックスタートガイドをご覧ください: NVIDIA Jetson withUltralytics YOLO11 を参照して、 NVIDIA Jetson デバイスをセットアップしてください。Ultralytics YOLO11
-
JetPack のバージョンに従ってDeepStream SDK をインストールします。
- JetPack 4.6.4の場合は、DeepStream 6.0.1をインストールします。
- JetPack 5.1.3の場合は、DeepStream 6.3をインストールします。
- JetPack 6.1の場合は、DeepStream 7.1をインストールします。
チップ
このガイドでは、DeepStream SDKをJetsonデバイスにインストールする方法として、Debianパッケージを使用しています。レガシーバージョンのDeepStreamにアクセスするには、DeepStream SDK on Jetson (Archived)を参照してください。
のDeepStream構成YOLO11
ここでは、YOLO モデルのためのNVIDIA DeepStream SDK サポートを含むmarcoslucianops/DeepStream-YoloGitHub リポジトリを使用しています。marcoslucianops 氏の貢献に感謝します!
-
必要な依存関係とともにUltralytics をインストールする。
-
DeepStream-Yolo リポジトリをクローンします。
-
をコピーする。
export_yoloV8.py
ファイルDeepStream-Yolo/utils
ディレクトリをultralytics
フォルダ注
export_yoloV8.py
YOLOv8 、YOLO11 の両モデルに対応。 -
Ultralytics YOLO11 検出モデル (.pt) をYOLO11 リリースからお好みのものをダウンロードしてください。ここではyolo11s.pt を使用します。
注
また、カスタムで訓練されたYOLO11 モデルを使用することもできる。
-
モデルをONNX
上記のコマンドに以下の引数を渡す
DeepStream 6.0.1 では、オペセット 12 以下を使用します。既定のオペセットは 16 です。
推論サイズを変更するには(デフォルト:640)
1280の例:
ONNX モデルを単純化する (DeepStream >= 6.0)
ダイナミック・バッチ・サイズを使用する手順 (DeepStream >= 6.1)
静的バッチサイズを使用する場合(バッチサイズ=4の例)
-
生成された
.onnx
モデルファイルとlabels.txt
ファイルをDeepStream-Yolo
フォルダ -
インストールされているJetPackのバージョンに応じてCUDA 。
JetPack 4.6.4用:
JetPack 5.1.3用:
Jetpack 6.1用:
-
ライブラリをコンパイルする
-
を編集する
config_infer_primary_yoloV8.txt
ファイル(80クラスを持つYOLO11の場合)。 -
を編集する
deepstream_app_config
ファイル -
でビデオソースを変更することもできます。
deepstream_app_config
ファイルを読み込む。ここでは、デフォルトのビデオファイルが読み込まれます。
推論を実行する
注
推論を開始する前に、TensorRT エンジンファイルを生成するのに長い時間がかかります。気長にお待ちください。

チップ
モデルをFP16精度に変換したい場合は、単に model-engine-file=model_b1_gpu0_fp16.engine
そして network-mode=2
内部 config_infer_primary_yoloV8.txt
INT8キャリブレーション
INT8精度を推論に使用したい場合は、以下の手順を踏む必要がある。
注
現在、INT8はTensorRT 10.xでは動作しません。このセクションのガイドはTensorRT 8.xでテストされており、動作が期待されます。
-
セット
OPENCV
環境変数 -
ライブラリをコンパイルする
-
COCOデータセットについては バル2017に移動する。
DeepStream-Yolo
フォルダ -
校正画像用の新しいディレクトリを作る
-
以下を実行して、COCOデータセットから1000枚のランダム画像を選択し、校正を実行する。
注
NVIDIA は、良い精度を得るために少なくとも500枚の画像を推奨しています。この例では、より高い精度を得るために1000枚の画像が選ばれています(より多くの画像=より高い精度)。頭-1000から設定できます。例えば、2000枚の画像の場合、頭-2000とします。この処理には時間がかかります。
-
を作成する。
calibration.txt
選択されたすべての画像を含むファイル -
環境変数の設定
注
INT8_CALIB_BATCH_SIZE の値が大きいほど、精度が高くなり、較正速度が速くなります。GPU のメモリに合わせて設定してください。
-
を更新する。
config_infer_primary_yoloV8.txt
ファイルより
へ
推論を実行する
マルチストリームのセットアップ
1つのディープストリーム・アプリケーションで複数のストリームをセットアップするには、以下のように deepstream_app_config.txt
ファイル
-
希望するストリーム数に応じて、行と列を変更してグリッド表示を構築する。例えば、4ストリームなら、2行2列を追加する。
-
セット
num-sources=4
を追加する。uri
4つのストリームのうち
推論を実行する

ベンチマーク結果
以下のベンチマークは、NVIDIA Jetson Orin NX 16GB上で、入力サイズ640x640でTensorRT の精度レベルを変えた場合のYOLO11 モデルのパフォーマンスをまとめたものです。
比較表

詳細比較表
パフォーマンス
フォーマット | ステータス | 推論時間(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の友人であるラクシャンタとエレインによって作成された。
よくあるご質問
NVIDIA Jetson デバイスでUltralytics YOLO11 を設定するには?
NVIDIA JetsonデバイスでUltralytics YOLO11 を設定するには、まず、お使いのJetPackバージョンと互換性のあるDeepStream SDKをインストールする必要があります。クイックスタートガイドのステップバイステップガイドに従って、NVIDIA JetsonをYOLO11 デプロイ用に設定します。
NVIDIA JetsonでYOLO11 、TensorRT を使用するメリットは何ですか?
YOLO11 でTensorRT を使用すると、推論用のモデルが最適化され、NVIDIA Jetson デバイスでのレイテンシが大幅に短縮され、スループットが向上します。TensorRT は、レイヤ・フュージョン、高精度キャリブレーション、カーネル自動チューニングにより、高性能で低レイテンシのディープラーニング推論を提供します。これにより、より高速で効率的な実行が可能になり、特にビデオ分析や自律型マシンなどのリアルタイム・アプリケーションに役立ちます。
NVIDIA Jetsonハードウェア間で、Ultralytics YOLO11 をDeepStream SDKで実行できますか?
はい、Ultralytics YOLO11 を DeepStream SDK とTensorRT でデプロイするためのガイドは、NVIDIA Jetson の全ラインナップと互換性があります。これには、JetPack 5.1.3搭載のJetson Orin NX 16GBやJetPack 4.6.4搭載のJetson Nano 4GBなどのデバイスが含まれます。詳細な手順については、DeepStream Configuration forYOLO11のセクションを参照してください。
DeepStream 用のYOLO11 モデルをONNX に変換する方法を教えてください。
DeepStream での展開用にYOLO11 モデルをONNX 形式に変換するには utils/export_yoloV8.py
スクリプトを ディープストリームYolo リポジトリ
以下にコマンドの例を挙げる:
モデル変換の詳細については、モデル・エクスポートのセクションをご覧ください。
NVIDIA Jetson Orin NX上のYOLO のパフォーマンス・ベンチマークは?
NVIDIA Jetson Orin NX 16GB上のYOLO11 モデルの性能は、TensorRT 精度レベルによって異なる。例えば、YOLO11s モデルでは、次のような結果が得られます:
- FP32精度:14.6ms/im、68.5FPS
- FP16精度:7.94ms/im、126 FPS
- INT8精度:5.95ms/im、168FPS
これらのベンチマークは、NVIDIA Jetsonハードウェア上でTensorRT-最適化されたYOLO11 モデルを使用することの効率性と能力を強調するものです。詳細については、ベンチマーク結果のセクションをご覧ください。