Skip to content

Latest commit

 

History

History
84 lines (55 loc) · 3.08 KB

README-en.md

File metadata and controls

84 lines (55 loc) · 3.08 KB

TensorRT deploy YOLOv8 detect, pose, segment, track

Introduction

  • Based on TensorRT-v8 , deploy detect, pose, segment of YOLOv8;

  • Support Jetson series, also Linux x86_64;

  • This project does not need to compile and install CUDA-supported OpenCV, all tensor operations related to pre and post processing are implemented by cuda programming;

  • Mode convert: .pth -> .onnx -> .plan(.engine);

  • I use Python and C++ 2 apis to do the implementation;

  • All of them adopt object-oriented, which is easy to combine with other projects;

  • The C++ version will also be compiled as a dynamic link library, which is easy to call as an interface in other projects;

Effect

input image detect
004 004_detect
pose segment
004_pose 004_seg
  • ByteTrack

result

Speed

detect pose segment
C++ 4 ms 5 ms 8 ms
python 15 ms 15 ms 58 ms
  • The inference time here includes pre-processing, model inference, and post-processing
  • The inference time here base on x86_64 Linux Ubuntu,GPU is GeForce RTX 2080 Ti

Environment

  1. Base requirements:
  • TensorRT 8.0+
  • OpenCV 3.4.0+

If the basic requirements are met, you can directly go to each directory and run each task

Environment construction can refer to the following:

  1. If Linux x86_64, docker is recommended
docker pull nvcr.io/nvidia/tensorrt:22.04-py3
  • This docker image contains:
CUDA cuDNN TensorRT python
11.6.2 8.4.0.27 8.2.4.2 3.8.10
  • Then install opencv yourself
  1. If Jetson, such as Jetson Nano
  • The burned system image is Jetpack 4.6.1,original environment is as follows:
CUDA cuDNN TensorRT OpenCV
10.2 8.2 8.2.1 4.1.1

Run