Ultralytics YOLO11 NVIDIA Jetson上でDeepStream SDKとTensorRT
見るんだ: Jetson Nano上でDeepStream SDKを使用して複数のストリームを実行する方法Ultralytics YOLO11
この包括的なガイドでは、DeepStream SDK およびTensorRT を使用して、NVIDIA Jetson デバイス上にUltralytics YOLO11 をデプロイするための詳細なウォークスルーを提供します。ここでは、TensorRT を使用して、Jetson プラットフォームでの推論パフォーマンスを最大化します。
注
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は、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をインストールします。
- For JetPack 6.1, install DeepStream 7.1
チップ
このガイドでは、DeepStream SDKをJetsonデバイスにインストールする方法として、Debianパッケージを使用しています。レガシーバージョンのDeepStreamにアクセスするには、DeepStream SDK on Jetson (Archived)を参照してください。
のDeepStream構成YOLO11
ここでは、YOLO モデルのためのNVIDIA DeepStream SDK サポートを含むmarcoslucianops/DeepStream-YoloGitHub リポジトリを使用しています。marcoslucianops 氏の貢献に感謝します!
-
Install Ultralytics with necessary dependencies
-
Clone the DeepStream-Yolo repository
-
Copy the
export_yoloV8.py
file fromDeepStream-Yolo/utils
directory to theultralytics
フォルダ注
export_yoloV8.py
works for both YOLOv8 and YOLO11 models. -
Download Ultralytics YOLO11 detection model (.pt) of your choice from YOLO11 releases. Here we use yolo11s.pt.
注
また、カスタムで訓練されたYOLO11 モデルを使用することもできる。
-
モデルをONNX
上記のコマンドに以下の引数を渡す
DeepStream 6.0.1 では、オペセット 12 以下を使用します。既定のオペセットは 16 です。
推論サイズを変更するには(デフォルト:640)
1280の例:
ONNX モデルを単純化する (DeepStream >= 6.0)
ダイナミック・バッチ・サイズを使用する手順 (DeepStream >= 6.1)
静的バッチサイズを使用する場合(バッチサイズ=4の例)
-
Copy the generated
.onnx
model file andlabels.txt
file to theDeepStream-Yolo
フォルダ -
インストールされているJetPackのバージョンに応じてCUDA 。
JetPack 4.6.4用:
JetPack 5.1.3用:
For Jetpack 6.1:
-
ライブラリをコンパイルする
-
を編集する
config_infer_primary_yoloV8.txt
file according to your model (for YOLO11s with 80 classes) -
を編集する
deepstream_app_config
ファイル -
でビデオソースを変更することもできます。
deepstream_app_config
ファイルを読み込む。ここでは、デフォルトのビデオファイルが読み込まれます。
推論を実行する
注
推論を開始する前に、TensorRT エンジンファイルを生成するのに長い時間がかかります。気長にお待ちください。
チップ
If you want to convert the model to FP16 precision, simply set model-engine-file=model_b1_gpu0_fp16.engine
そして network-mode=2
内部 config_infer_primary_yoloV8.txt
INT8キャリブレーション
INT8精度を推論に使用したい場合は、以下の手順を踏む必要がある。
注
Currently INT8 does not work with TensorRT 10.x. This section of the guide has been tested with TensorRT 8.x which is expected to work.
-
セット
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つのストリームのうち
推論を実行する
ベンチマーク結果
The following benchmarks summarizes how YOLO11 models perform at different TensorRT precision levels with an input size of 640x640 on NVIDIA Jetson Orin NX 16GB.
比較表
詳細比較表
パフォーマンス
フォーマット | ステータス | 推論時間(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 のパフォーマンス・ベンチマークは?
The performance of YOLO11 models on NVIDIA Jetson Orin NX 16GB varies based on TensorRT precision levels. For example, YOLO11s models achieve:
- FP32 Precision: 14.6 ms/im, 68.5 FPS
- FP16精度:7.94ms/im、126 FPS
- INT8 Precision: 5.95 ms/im, 168 FPS
これらのベンチマークは、NVIDIA Jetsonハードウェア上でTensorRT-最適化されたYOLO11 モデルを使用することの効率性と能力を強調するものです。詳細については、ベンチマーク結果のセクションをご覧ください。