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 流的可执行文件。