cyrusbehr/YOLOv8-TensorRT-CPP

YOLOv8 TensorRT C++ Implementation

What it solves

此專案提供高效能的 C++ 實作,用於執行 YOLOv8 模型。它讓開發者能從基於 Python 的推論轉移到編譯語言,以獲得更佳的速度與效能,並專門針對使用 TensorRT API 的 NVIDIA GPU。

How it works

專案會將 PyTorch 模型(.pt)轉換為 ONNX 格式,接著使用 TensorRT C++ API 為 GPU 產生最佳化的 engine 檔案。前處理與後處理(例如邊界框解碼與非極大值抑制)在 C++ 中完成,而非在模型內部。它支援多種精度模式,包括 FP32、FP16 與 INT8(需要校正資料以維持準確度)。

Who it’s for

此套件設計給需要在搭配 NVIDIA 硬體的 Ubuntu 系統上部署 YOLOv8 以進行即時目標偵測、語意分割或人體姿勢估計的開發者與工程師。

Highlights

  • Multi-task Support: 支援目標偵測、分割與姿勢估計模型。
  • Hardware Optimization: 利用 TensorRT 進行 GPU 加速推論。
  • C++ Implementation: 相較於 Python 實作減少額外開銷。
  • Precision Flexibility: 支援 FP32、FP16 與 INT8 量化,以因應不同的速度‑準確度取捨。
  • Real-time Capability: 包含影像處理與即時 webcam 串流的可執行檔。