triple-mu/YOLOv8-TensorRT

YOLOv8 using TensorRT accelerate !

解決的問題

本專案提供 YOLOv8 模型的高性能推論實作,利用 NVIDIA 的 TensorRT 進行加速。使用者可將訓練完成的 Ultralytics YOLOv8 模型高效地在 Python 或 C++ 環境中執行,支援五種不同的電腦視覺任務。

工作原理

工作流程遵循三步驟程序:將 PyTorch 模型(.pt)匯出為 ONNX 格式,從該 ONNX 檔案建構 TensorRT 引擎,然後進行推論。專案包含針對檢測與分割的特定匯出指令碼,以建立內建非最大值抑制(NMS)的「End2End」引擎,其他任務則使用原始匯出。

它具備共享的 C++ 核心(libyolov8_core),負責管理 CUDA 資源並處理前處理與後處理。系統設計為與版本無關,可自動偵測已安裝的 TensorRT 與 OpenCV 版本,確保在不同硬體與軟體環境中的相容性。

適用對象

適合需要在 NVIDIA GPU 上以最大吞吐量與最小延遲部署 YOLOv8 模型的開發者與 AI 工程師,特別是那些在 C++ 生產環境或高效率 Python 應用中工作的使用者。

主要特色

  • 多任務支援:支援檢測、分割、姿態估計、方向性邊界框(OBB)與分類。
  • C++ 與 Python 支援:提供輕量級 C++ 二進位檔與彈性 Python 入口點用於推論。
  • 版本無關建構:相容 TensorRT 8 至 11 及多種 OpenCV 版本。
  • 效能工具:包含基準測試指令碼與逐層剖析功能,可分析延遲與吞吐量。
  • 部署彈性:包含 DeepStream bbox 解析外掛程式,並支援 NVIDIA Jetson 裝置。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案