forked from triple-Mu/YOLOv8-TensorRT
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
76 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
# YOLOv8-pose Model with TensorRT | ||
|
||
The yolov8-pose model conversion route is : | ||
YOLOv8 PyTorch model -> ONNX -> TensorRT Engine | ||
|
||
***Notice !!!*** We don't support TensorRT API building !!! | ||
|
||
# Export Orin ONNX model by ultralytics | ||
|
||
You can leave this repo and use the original `ultralytics` repo for onnx export. | ||
|
||
### 1. Python script | ||
|
||
Usage: | ||
|
||
```python | ||
from ultralytics import YOLO | ||
|
||
# Load a model | ||
model = YOLO("yolov8s-pose.pt") # load a pretrained model (recommended for training) | ||
success = model.export(format="engine", device=0) # export the model to engine format | ||
assert success | ||
``` | ||
|
||
After executing the above script, you will get an engine named `yolov8s-pose.engine` . | ||
|
||
### 2. CLI tools | ||
|
||
Usage: | ||
|
||
```shell | ||
yolo export model=yolov8s-pose.pt format=engine device=0 | ||
``` | ||
|
||
After executing the above command, you will get an engine named `yolov8s-pose.engine` too. | ||
|
||
## Inference with c++ | ||
|
||
You can infer with c++ in [`csrc/pose/normal`](../csrc/pose/normal) . | ||
|
||
### Build: | ||
|
||
Please set you own librarys in [`CMakeLists.txt`](../csrc/pose/normal/CMakeLists.txt) and modify `KPS_COLORS` and `SKELETON` and `LIMB_COLORS` in [`main.cpp`](../csrc/pose/normal/main.cpp). | ||
|
||
Besides, you can modify the postprocess parameters such as `score_thres` and `iou_thres` and `topk` in [`main.cpp`](../csrc/pose/normal/main.cpp). | ||
|
||
```c++ | ||
int topk = 100; | ||
float score_thres = 0.25f; | ||
float iou_thres = 0.65f; | ||
``` | ||
|
||
And build: | ||
|
||
``` shell | ||
export root=${PWD} | ||
cd src/pose/normal | ||
mkdir build | ||
cmake .. | ||
make | ||
mv yolov8-pose ${root} | ||
cd ${root} | ||
``` | ||
|
||
Usage: | ||
|
||
``` shell | ||
# infer image | ||
./yolov8-pose yolov8s-pose.engine data/bus.jpg | ||
# infer images | ||
./yolov8-pose yolov8s-pose.engine data | ||
# infer video | ||
./yolov8-pose yolov8s-pose.engine data/test.mp4 # the video path | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters