ホーム > ブログ > 技術解説

TensorRTで外観検査の推論速度を10倍にする方法

FP16/INT8量子化・パイプライン並列化で外観検査の推論速度を最大10倍に。Jetsonでのベンチマーク結果も公開。

2026.03.23 ・ 技術解説 ・ 読了時間:10分

TensorRTが外観検査に不可欠な理由

製造ラインの外観検査では、ラインタクトに合わせたリアルタイム推論が必須です。PyTorchやONNXのままでは推論速度が不足し、外観検査のタクトに追いつかないケースが多発します。

NVIDIA TensorRTは、学習済みモデルをJetsonやGPU向けに最適化する推論エンジンです。FP16/INT8への量子化、レイヤー融合、カーネル自動選択により、外観検査の推論速度を最大10倍に高速化できます。

TensorRTで外観検査を高速化する3つの手法

手法1:FP16量子化による外観検査の2倍速化

学習時のFP32(32ビット浮動小数点)をFP16(16ビット)に変換する最も手軽な最適化です。外観検査モデルの精度低下はほぼゼロで、推論速度は約2倍になります。Jetson AGX OrinはFP16演算に特化したTensorコアを搭載しており、外観検査との相性が抜群です。

手法2:INT8量子化で外観検査を4倍速に

さらに踏み込んだ最適化がINT8(8ビット整数)量子化です。キャリブレーションデータ(外観検査の代表的な画像100〜500枚)を使って、精度を維持しながら推論速度をFP32比で約4倍に向上させます。外観検査の良否判定のような二値分類タスクではINT8でも十分な精度が出ることが多いです。

手法3:パイプライン並列化で外観検査のスループットを最大化

外観検査の処理は「画像取得→前処理→推論→後処理→判定出力」の5段階で構成されます。これらを直列で実行すると、各ステージの待ち時間が累積します。TensorRTのCUDAストリームを活用し、前の画像の後処理と次の画像の前処理を並列実行することで、外観検査のスループットを2〜3倍に向上できます。

TensorRTで外観検査モデルを最適化する手順

Step 1:PyTorch → ONNX変換

学習済みの外観検査モデルをONNX形式でエクスポートします。torch.onnx.exportで動的入力サイズに対応させておくと、後のバッチ処理で柔軟に対応できます。

Step 2:TensorRT Engineの構築

trtexecコマンドまたはPython APIでONNXモデルをTensorRT Engineに変換します。FP16フラグ(--fp16)またはINT8フラグ(--int8 --calib)を指定して量子化レベルを選択。外観検査の要求精度とラインタクトのバランスで決定します。

Step 3:キャリブレーションデータの準備

INT8量子化を行う場合、外観検査の代表的な画像(良品・不良品を含む100〜500枚)をキャリブレーションデータとして用意します。データの偏りがあると量子化後の精度が低下するため、現場で実際に撮影した画像を使うことが重要です。

Step 4:推論パイプラインの実装

OpenCVで画像を取得し、CUDA上で前処理(リサイズ・正規化)→TensorRT Engine推論→後処理(NMS・閾値判定)→PLC出力のパイプラインを構築。CUDAストリームで各ステージを非同期実行します。

TensorRT外観検査の性能ベンチマーク

モデルFP32FP16INT8用途
YOLOv8n45 FPS120 FPS200 FPS外観検査(欠陥検出)
YOLOv8s30 FPS85 FPS150 FPS外観検査(多クラス分類)
ResNet5080 FPS200 FPS350 FPS外観検査(良否分類)

※Jetson AGX Orin 64GBでの実測値。外観検査の入力解像度640×640の場合。

TensorRTで外観検査を最適化する際の注意点

INT8量子化の精度検証は必須。外観検査では見逃し(False Negative)が致命的です。量子化後は必ず実データで精度検証を行い、FP32と比較して検出率の低下が許容範囲内であることを確認してください。

TensorRT Engineはデバイス固有。開発用PCで構築したEngineはJetsonでは動作しません。必ずデプロイ先のJetson上でEngine構築を行ってください。

動的バッチサイズの活用。外観検査で複数カメラの画像を同時に処理する場合、動的バッチサイズを有効にすることでGPU使用率を最大化できます。

TensorRT外観検査の実装で陥りやすい落とし穴

落とし穴1:キャリブレーションデータの偏り

INT8量子化のキャリブレーションデータに良品画像ばかり使うと、不良品の検出精度が低下します。外観検査では見逃し(False Negative)が最も避けるべき事象です。キャリブレーションデータには必ず不良品画像を含め、実際の不良発生比率に近い構成にしてください。

落とし穴2:前処理のボトルネック

TensorRTで推論を高速化しても、前処理(リサイズ・正規化)をCPUで実行していると、そこがボトルネックになります。外観検査のパイプライン全体を高速化するには、前処理もCUDA上で実行するか、NVIDIA DALI(Data Loading Library)を活用してGPU上で前処理を完結させることが重要です。

落とし穴3:モデル更新時のEngine再構築忘れ

外観検査のAIモデルを再学習した後、TensorRT Engineの再構築を忘れるケースがあります。PyTorchのモデルを更新しただけでは、Jetson上で動作するTensorRT Engineは古いままです。CI/CDパイプラインにEngine構築ステップを組み込むことで、モデル更新と同時にEngine再構築が自動実行されるようにしましょう。

外観検査の速度要件とTensorRT最適化レベルの対応表

ラインタクト必要FPS推奨最適化備考
2秒以上1〜10 FPSFP16で十分低速ラインや手動搬送
0.5〜2秒10〜30 FPSFP16推奨一般的な製造ライン
0.2〜0.5秒30〜100 FPSINT8推奨高速包装ライン
0.2秒以下100+ FPSINT8+軽量モデル超高速ラインは複数カメラ分散

TensorRT外観検査の将来展望

NVIDIAは次世代Jetson(Jetson Thor)でBlackwell GPUを搭載予定で、AI演算性能は現行Orinの最大7.5倍に向上する見込みです。TensorRTも継続的にアップデートされており、新しいモデルアーキテクチャ(Transformer系など)への最適化が強化されています。

外観検査の現場では、より大規模なVLM(Vision Language Model)をエッジで動かすニーズが高まっています。TensorRTの進化により、従来はクラウドでしか動かせなかったVLMベースの外観検査がJetson上で完結する時代が近づいています。Nsightでは既にVLMをTensorRTで最適化し、Jetson上でラベル文字認識・照合を実現しています。

外観検査のTensorRT最適化は一度実装すれば終わりではなく、モデルの進化・デバイスの世代交代に合わせて継続的に改善していくものです。NsightはNVIDIA Inception認定パートナーとして、最新のTensorRT技術を外観検査に適用し続けます。

TensorRT最適化もNsightにお任せ:外観検査モデルのTensorRT最適化から、Jetsonへのデプロイ、PLC連携まで一貫対応。元キーエンスの検査ノウハウとエッジAI実装を組み合わせた、現場で動く外観検査を構築します。お問い合わせはこちら →

関連記事

監修:元キーエンス画像処理部門エンジニア

Nsight株式会社の技術チームが監修。キーエンス画像処理部門での実務経験をもとに、製造業向けAI外観検査システムの設計・導入を行っている。会社概要 →

まずはサンプル画像で無料検証しませんか?

外観検査の推論速度でお困りの方、TensorRT最適化からPLC連携まで一貫サポートします。

無料サンプル検証を依頼する →