cyrusbehr/YOLOv8-TensorRT-CPP

YOLOv8 TensorRT C++ Implementation

What it solves

このプロジェクトは、YOLOv8 モデルを実行するための高性能 C++ 実装を提供します。Python ベースの推論からコンパイル言語へ移行することで、速度と効率を向上させ、TensorRT API を使用した NVIDIA GPU を対象としています。

How it works

プロジェクトは PyTorch モデル(.pt)を ONNX 形式に変換し、TensorRT C++ API を用いて GPU 用の最適化エンジンファイルを生成します。前処理と後処理(バウンディングボックスのデコードや Non-Maximum Suppression など)はモデル内部ではなく C++ 側で行います。FP32、FP16、INT8(精度を保つためにキャリブレーションデータが必要)といった複数の精度モードをサポートします。

Who it’s for

NVIDIA ハードウェア搭載の Ubuntu 環境で、リアルタイムの物体検出、セマンティックセグメンテーション、または人体ポーズ推定をデプロイしたい開発者やエンジニア向けに設計されています。

Highlights

  • Multi-task Support: 物体検出、セグメンテーション、ポーズ推定モデルに対応。
  • Hardware Optimization: TensorRT を活用した GPU 加速推論。
  • C++ Implementation: Python 実装に比べてオーバーヘッドが削減。
  • Precision Flexibility: FP32、FP16、INT8 の量子化をサポートし、速度と精度のトレードオフに対応。
  • Real-time Capability: 画像処理とライブウェブカメラフィード用の実行ファイルを含む。