TensorRT統合によるUltralytics YOLOモデルの最適化
TensorRT統合を使用してUltralytics YOLOモデルをエクスポートし、リアルタイムアプリケーション向けのNVIDIA GPU上で、より高速で効率的なAIパフォーマンスを実現する方法を解説します。

わずか数ミリ秒で、縁石から道路へ踏み出す歩行者を検出しなければならない、混雑した通りを走行する自動運転車を考えてみてください。同時に、木に部分的に隠れた一時停止標識を認識したり、近くの車両が車線に入り込んだ際に素早く反応したりする必要もあります。このような状況では、速度とリアルタイムの応答が重要です。
ここで重要な役割を果たすのが、人工知能(AI)、特にコンピュータービジョンです。コンピュータービジョンは、機械による視覚データの解釈を支援するAIの一分野です。コンピュータービジョンソリューションが現実世界の環境で確実に動作するには、情報を高速に処理し、複数のタスクを同時に処理し、メモリを効率的に使用する必要があります。
これを実現する方法の一つが、グラフィックスプロセッシングユニット(GPU)のような専用デバイスを使用してモデルを高速に実行する、ハードウェアアクセラレーションです。NVIDIA GPUは、低レイテンシと高スループットを実現できるため、このようなタスクで特によく知られています。
ただし、モデルをGPU上でそのまま実行しても、必ずしも最適なパフォーマンスが得られるとは限りません。ビジョンAIモデルは通常、ハードウェアデバイスの能力を最大限に活用するために最適化が必要です。特定のハードウェアで最大限のパフォーマンスを実現するには、そのハードウェア固有の命令セットを使用するようにモデルをコンパイルする必要があります。
例えば、TensorRTはNVIDIAが開発したエクスポート形式および最適化ライブラリで、高性能マシンでのパフォーマンスを向上させます。高度な手法を使用して、精度を維持しながら推論時間を大幅に短縮します。

図1。NVIDIA TensorRTにより、モデルをさまざまなNVIDIAデバイス上で最適に実行できます。
この記事では、UltralyticsがサポートするTensorRT統合について説明し、NVIDIAハードウェア上でより高速かつ効率的にデプロイできるよう、YOLO11モデルをエクスポートする方法を紹介します。始めましょう。
TensorRTの概要#
TensorRTは、AIモデルをNVIDIA GPU上でより高速かつ効率的に実行するためにNVIDIAが開発したツールキットです。自動運転車や製造業・製薬業界の品質管理など、速度とパフォーマンスが特に重要な現実世界のアプリケーション向けに設計されています。
TensorRTには、コンパイラやモデルオプティマイザーなどのツールが含まれており、モデルを低レイテンシで実行し、より高いスループットに対応できるよう、バックグラウンドで処理します。
UltralyticsがサポートするTensorRT統合は、精度の削減などの手法を使用してYOLOモデルを最適化し、GPU上でより効率的に実行します。これは、16ビット浮動小数点(FP16)や8ビット整数(INT8)などの低ビット形式でモデルデータを表現することを指します。これにより、精度への影響を最小限に抑えながらメモリ使用量を削減し、計算を高速化できます。
また、最適化されたTensorRTモデルでは、互換性のあるニューラルネットワーク層が融合され、メモリ使用量が削減されるため、より高速かつ効率的な推論が実現します。

図2。TensorRTの層融合技術。
TensorRTエクスポート形式の主な特徴#
Ultralytics YOLO11をTensorRT統合でエクスポートする方法を説明する前に、TensorRTモデル形式の主な特徴を見ていきましょう。
-
容易なフレームワーク統合: TensorRTは、PyTorch、Hugging Face、ONNXなどの主要なAIフレームワークとの直接統合をサポートし、最大6倍の高速化を実現します。また、MATLABもサポートしており、Jetson、NVIDIA DRIVE、データセンターなどのプラットフォームで高速AIエンジンを開発できます。
-
Tritonによるスケーラブルなデプロイ: TensorRT形式で最適化されたモデルは、NVIDIA Triton Inference Serverを使用して大規模にデプロイできます。入力バッチ処理、モデルの同時実行、モデルアンサンブルのサポート、リアルタイムのオーディオ/ビデオストリーミングなどの機能により、効率が向上します。
-
デバイス間で柔軟に利用可能: 小型のエッジデバイスから高性能サーバーまで、TensorRTはNVIDIAエコシステム全体で動作します。ビデオ向けのDeepStream、音声AI向けのRiva、サイバーセキュリティやレコメンデーションなどのツールもサポートしています。
TensorRT統合はどのように機能しますか?#
Ultralytics YOLO11などのUltralytics YOLOモデルをTensorRTモデル形式にエクスポートするのは簡単です。手順を見ていきましょう。
まず、‘pip’のようなパッケージマネージャーを使用してUltralytics Pythonパッケージをインストールします。コマンドプロンプトまたはターミナルで**“pip install ultralytics”**コマンドを実行することでインストールできます。
Ultralytics Pythonパッケージのインストールが完了すると、物体検出、分類、インスタンスセグメンテーションなど、さまざまなコンピュータービジョンタスク向けにモデルのトレーニング、テスト、ファインチューニング、エクスポート、デプロイを行えます。パッケージのインストール中に問題が発生した場合は、解決策やヒントについて一般的な問題のガイドを参照してください。
次のステップでは、NVIDIAデバイスが必要です。以下のコードスニペットを使用して、YOLO11を読み込み、TensorRTモデル形式にエクスポートします。事前トレーニング済みのYOLO11モデルのnanoバリアント(yolo11n.pt)を読み込み、TensorRTエンジンファイル(yolo11n.engine)としてエクスポートすることで、NVIDIAデバイス全体にデプロイできる状態にします。
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="engine")モデルをTensorRT形式に変換した後、さまざまなアプリケーションにデプロイできます。
以下の例では、エクスポートしたYOLO11モデル(yolo11n.engine)を読み込み、それを使用して推論を実行する方法を示します。推論とは、トレーニング済みモデルを使用して新しいデータに対する予測を行うことです。ここでは、犬の入力画像を使用してモデルをテストします。
tensorrt_model = YOLO("yolo11n.engine")
results = tensorrt_model("https://images.pexels.com/photos/1254140/pexels-photo-1254140.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)このコードを実行すると、次の出力画像がruns/detect/predictフォルダーに保存されます。

図3。TensorRT形式にエクスポートしたUltralytics YOLO11モデルを使用した推論の実行結果。
TensorRT統合を活用するタイミング#
Ultralytics Pythonパッケージは、YOLOモデルをTorchScript、CoreML、ONNX、TensorRTなどのさまざまな形式にエクスポートできる複数の統合をサポートしています。それでは、TensorRT統合はいつ選択すべきでしょうか?
TensorRTモデル形式を他のエクスポート統合オプションと差別化する要素をいくつか紹介します。
-
モデルサイズの縮小: INT8精度でYOLOモデルをTensorRT形式にエクスポートすると、モデルサイズを大幅に削減できます。FP32からINT8への量子化により、モデルサイズを4分の1に削減できる場合があり、ダウンロード時間の短縮、ストレージ要件の低減、デプロイ中のメモリフットプリントの削減につながります。
-
消費電力の低減: INT8量子化はモデルサイズを削減するだけでなく、消費電力も低減します。INT8にエクスポートしたYOLOモデルで低精度演算を行うと、FP32モデルと比較して消費電力を抑えられます。これは、ドローン、スマートフォン、エッジデバイスなど、バッテリー駆動のデバイスで特に有効です。
-
パフォーマンスの向上: YOLOの効率的なアーキテクチャとTensorRTのINT8最適化を組み合わせることで、推論速度を向上させられます。
Ultralytics YOLO11とTensorRTモデル形式のアプリケーション#
TensorRT形式にエクスポートしたUltralytics YOLOモデルは、現実世界の幅広いシナリオにデプロイできます。これらの最適化モデルは、高速で効率的なAIパフォーマンスが重要な場面で特に有用です。興味深い活用例をいくつか見ていきましょう。
小売店のスマートレジ#
小売店では、バーコードのスキャン、商品の計量、商品の梱包など、幅広いタスクが依然としてスタッフによって手作業で行われています。しかし、従業員だけに頼ると業務が遅れ、特にレジで顧客の不満につながる可能性があります。長い行列は買い物客にとっても店舗オーナーにとっても不便です。スマートセルフレジは、この問題に対する優れた解決策です。
これらのレジはコンピュータービジョンとGPUを使用して処理を高速化し、待ち時間の短縮に役立ちます。コンピュータービジョンにより、物体検出などのタスクを通じて、システムが周囲の環境を認識し理解できます。TensorRTなどのツールで最適化したUltralytics YOLO11のような高度なモデルは、GPUデバイス上で大幅に高速に実行できます。
これらのエクスポート済みモデルは、エッジAIアプリケーション向けに特別に設計されたNVIDIA Jetson Nanoのような、コンパクトながら高性能なハードウェアデバイスを使用するスマートリテール環境に適しています。

図4。スマートレジの例。
製造業における自動欠陥検出#
Ultralytics YOLO11のようなコンピュータービジョンモデルは、製造業で不良品を検出するようカスタムトレーニングできます。トレーニング後、モデルをTensorRT形式にエクスポートし、高性能AIシステムを備えた施設にデプロイできます。
製品がコンベヤーベルト上を移動すると、カメラが画像を撮影し、TensorRT形式で動作するUltralytics YOLO11モデルがリアルタイムで画像を解析して欠陥を検出します。この構成により、企業は問題を迅速かつ正確に発見し、エラーを削減して効率を向上させられます。
同様に、製薬業界などでは、この種のシステムを使用して医薬品包装の欠陥を特定しています。実際、スマート欠陥検出システムの世界市場は、2026年までに50億ドル規模へ成長すると見込まれています。

図5。製薬業界で欠陥を検出するためのYOLOの使用。
TensorRTの使用時に考慮すべき点#
TensorRT統合には、推論速度の向上やレイテンシの低減など多くの利点がありますが、考慮すべき制限事項もいくつかあります。
-
精度のわずかな低下: モデルをTensorRT形式にエクスポートすると、エクスポート後のモデルの精度が元のモデルより低くなる可能性があります。適合率、再現率、モデルの物体検出性能(mAPスコア)などのパフォーマンス指標がわずかに低下する場合があります。量子化の際に代表的なデータセットを使用することで、この影響を軽減できます。
-
デバッグの複雑さの増大: TensorRTによる最適化により、エラーの追跡や予期しない動作の理解が難しくなる場合があります。特に、元のモデルと結果を比較する際に顕著です。
-
バッチサイズへの感度: TensorRTによるパフォーマンス向上は、バッチサイズが大きいほど顕著です。単一画像や小さなバッチを処理するアプリケーションでは、パフォーマンスの改善がそれほど大きくない場合があります。
主なポイント#
Ultralytics YOLOモデルをTensorRT形式にエクスポートすると、モデルを大幅に高速かつ効率的に実行できるため、工場での欠陥検出、スマートレジの稼働、混雑した都市部の監視など、リアルタイムタスクに適しています。
この最適化により、予測が高速化され、メモリと消費電力が削減されるため、NVIDIA GPU上でのモデルのパフォーマンスが向上します。いくつかの制限事項はありますが、パフォーマンスの向上により、NVIDIAハードウェア上で高速なコンピュータービジョンシステムを構築するユーザーにとって、TensorRT統合は優れた選択肢となります。
AIについてさらに学びたい方は、GitHubリポジトリをご覧いただき、コミュニティに参加し、ライセンスオプションをご確認のうえ、コンピュータービジョンプロジェクトを始めてください。製造業におけるAIや物流業界におけるコンピュータービジョンなどのイノベーションについては、ソリューションページをご覧ください。









