File size: 2,622 Bytes
157c353
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
---
license: mit
language:
- en
base_model:
- Ultralytics/YOLOv8
pipeline_tag: object-detection
tags:
- Ultralytics
- YOLOv8
- YOLOv8-POSE
---

# YOLOv8-POSE

This version of YOLOv8-POSE has been converted to run on the WaveMatrix NPU using **w8a16** quantization.

This model has been optimized with the following LoRA: 

Compatible with Pulsar2 version: 5.0

## Convert tools links:

For those who are interested in model conversion, you can try to export axmodel through 

- [The repo of ax-samples](https://github.com/WaveMatrix/ax-samples), which you can get the how to build the `ax_yolov8_pose`

- [The repo of axcl-samples](https://github.com/WaveMatrix/axcl-samples), which you can get the how to build the `axcl_yolov8_pose`

- [Pulsar2 Link, How to Convert ONNX to axmodel](https://pulsar2-docs.readthedocs.io/en/latest/pulsar2/introduction.html) 


## Support Platform

- **WM9955**
  - Demo board
  - M.2 Accelerator card
- **WM8845**
  - Demo board
  
### Performance Statistics

#### WM9955

| Model | Latency(ms) npu1 | Latency(ms) npu3 |
| :--- | :---: | :---: |
| **yolov8n-pose** | 4.135 | 1.453 |
| **yolov8s-pose** | 10.842 | 3.764 |
| **yolov8m-pose** | 27.515 | 9.577 |
| **yolov8l-pose** | 52.560 | 18.221 |
| **yolov8x-pose** | 90.257 | 29.313 |



#### WM8845

| Model | Latency(ms) npu1 | Latency(ms) npu2 |
| :--- | :---: | :---: |
| **yolov8n-pose** | 14.738 | 8.213 |
| **yolov8s-pose** | 33.157 | 24.109 |
| **yolov8m-pose** | 82.267 | 57.532 |
| **yolov8l-pose** | 145.686 | 101.811 |
| **yolov8x-pose** | 248.331 | 160.857 |

## How to use

Download all files from this repository to the device

### Inference

Input image:
![](./bus.jpg)

#### Inference with WM8845 Host, such as demo board

```
root@wm8850:/# ./ax_yolov8_pose -m yolov8s_pose.axmodel -i result_yolov8_pose.jpg
--------------------------------------
model file : yolov8s_pose.axmodel
image file : result_yolov8_pose.jpg
img_h, img_w : 640 640
--------------------------------------
Engine creating handle is done.
Engine creating context is done.
Engine get io info is done.
Engine alloc io is done.
Engine push input is done.
--------------------------------------
post process cost time:1.26 ms
--------------------------------------
Repeat 1 times, avg time 3.74 ms, max_time 3.74 ms, min_time 3.74 ms
--------------------------------------
detection num: 4
 0:  93%, [ 756,  212, 1127, 1158], person
 0:  91%, [   0,  358,  316, 1105], person
 0:  91%, [1349,  338, 1629, 1034], person
 0:  87%, [ 489,  474,  656,  996], person
--------------------------------------
```

Output image:
![](./result_yolov8_pose.jpg)