|
|
--- |
|
|
license: mit |
|
|
language: |
|
|
- en |
|
|
base_model: |
|
|
- Ultralytics/YOLO11 |
|
|
pipeline_tag: object-detection |
|
|
tags: |
|
|
- Ultralytics |
|
|
- YOLO11 |
|
|
- YOLO11-POSE |
|
|
--- |
|
|
|
|
|
# YOLO11-POSE |
|
|
|
|
|
This version of YOLO11-POSE has been converted to run on the Axera NPU using **w8a16** quantization. |
|
|
|
|
|
This model has been optimized with the following LoRA: |
|
|
|
|
|
Compatible with Pulsar2 version: 3.4 |
|
|
|
|
|
## 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/AXERA-TECH/ax-samples), which you can get the how to build the `ax_yolo11_pose` |
|
|
|
|
|
- [The repo of axcl-samples](https://github.com/AXERA-TECH/axcl-samples), which you can get the how to build the `axcl_yolo11_pose` |
|
|
|
|
|
- [Pulsar2 Link, How to Convert ONNX to axmodel](https://pulsar2-docs.readthedocs.io/en/latest/pulsar2/introduction.html) |
|
|
|
|
|
|
|
|
## Support Platform |
|
|
|
|
|
- AX650 |
|
|
- [M4N-Dock(η±θ―ζ΄ΎPro)](https://wiki.sipeed.com/hardware/zh/maixIV/m4ndock/m4ndock.html) |
|
|
- [M.2 Accelerator card](https://axcl-docs.readthedocs.io/zh-cn/latest/doc_guide_hardware.html) |
|
|
- AX630C |
|
|
- [η±θ―ζ΄Ύ2](https://axera-pi-2-docs-cn.readthedocs.io/zh-cn/latest/index.html) |
|
|
- [Module-LLM](https://docs.m5stack.com/zh_CN/module/Module-LLM) |
|
|
- [LLM630 Compute Kit](https://docs.m5stack.com/zh_CN/core/LLM630%20Compute%20Kit) |
|
|
|
|
|
|Chips|cost| |
|
|
|--|--| |
|
|
|AX650| 25 ms | |
|
|
|AX630C| TBD ms | |
|
|
|
|
|
## How to use |
|
|
|
|
|
Download all files from this repository to the device |
|
|
|
|
|
``` |
|
|
(axcl) axera@raspberrypi:~/samples/AXERA-TECH/YOLO11-Pose $ tree -L 2 |
|
|
. |
|
|
βββ ax620e |
|
|
βΒ Β βββ yolo11s-pose.axmodel |
|
|
βββ ax650 |
|
|
βΒ Β βββ yolo11x-pose.axmodel |
|
|
βββ ax_aarch64 |
|
|
βΒ Β βββ ax_yolo11_pose |
|
|
βββ axcl_aarch64 |
|
|
βΒ Β βββ axcl_yolo11_pose |
|
|
βββ axcl_x86_64 |
|
|
βΒ Β βββ axcl_yolo11_pose |
|
|
βββ config.json |
|
|
βββ football.jpg |
|
|
βββ README.md |
|
|
βββ yolo11_pose_config.json |
|
|
βββ yolo11_pose_out.jpg |
|
|
βββ yolo11s-pose-cut.onnx |
|
|
βββ yolo11s-pose.onnx |
|
|
|
|
|
6 directories, 12 files |
|
|
``` |
|
|
|
|
|
### Inference |
|
|
|
|
|
Input image: |
|
|
 |
|
|
|
|
|
#### Inference with AX650 Host, such as M4N-Dock(η±θ―ζ΄ΎPro) |
|
|
|
|
|
``` |
|
|
root@ax650:~/YOLO11-Pose# ./ax_aarch64/ax_yolo11_pose -m ax650/yolo11x-pose.axmodel -i football.jpg |
|
|
-------------------------------------- |
|
|
model file : ax650/yolo11x-pose.axmodel |
|
|
image file : football.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.40 ms |
|
|
-------------------------------------- |
|
|
Repeat 1 times, avg time 25.21 ms, max_time 25.21 ms, min_time 25.21 ms |
|
|
-------------------------------------- |
|
|
detection num: 6 |
|
|
0: 94%, [1350, 337, 1632, 1036], person |
|
|
0: 93%, [ 492, 477, 658, 1000], person |
|
|
0: 92%, [ 756, 219, 1126, 1154], person |
|
|
0: 91%, [ 0, 354, 314, 1108], person |
|
|
0: 73%, [ 0, 530, 81, 1017], person |
|
|
0: 54%, [ 142, 589, 239, 1013], person |
|
|
-------------------------------------- |
|
|
``` |
|
|
|
|
|
Output image: |
|
|
 |
|
|
|
|
|
#### Inference with M.2 Accelerator card |
|
|
|
|
|
``` |
|
|
(axcl) axera@raspberrypi:~/samples/AXERA-TECH/YOLO11-Pose $ chmod +x axcl_aarch64/axcl_yolo11_pose |
|
|
(axcl) axera@raspberrypi:~/samples/AXERA-TECH/YOLO11-Pose $ ./axcl_aarch64/axcl_yolo11_pose -m ax650/yolo11x-pose.axmodel -i football.jpg |
|
|
-------------------------------------- |
|
|
model file : ax650/yolo11x-pose.axmodel |
|
|
image file : football.jpg |
|
|
img_h, img_w : 640 640 |
|
|
-------------------------------------- |
|
|
axclrtEngineCreateContextt is done. |
|
|
axclrtEngineGetIOInfo is done. |
|
|
|
|
|
grpid: 0 |
|
|
|
|
|
input size: 1 |
|
|
name: images |
|
|
1 x 640 x 640 x 3 |
|
|
|
|
|
|
|
|
output size: 6 |
|
|
name: /model.23/Concat_1_output_0 |
|
|
1 x 80 x 80 x 65 |
|
|
|
|
|
name: /model.23/Concat_2_output_0 |
|
|
1 x 40 x 40 x 65 |
|
|
|
|
|
name: /model.23/Concat_3_output_0 |
|
|
1 x 20 x 20 x 65 |
|
|
|
|
|
name: /model.23/cv4.0/cv4.0.2/Conv_output_0 |
|
|
1 x 80 x 80 x 51 |
|
|
|
|
|
name: /model.23/cv4.1/cv4.1.2/Conv_output_0 |
|
|
1 x 40 x 40 x 51 |
|
|
|
|
|
name: /model.23/cv4.2/cv4.2.2/Conv_output_0 |
|
|
1 x 20 x 20 x 51 |
|
|
|
|
|
================================================== |
|
|
|
|
|
Engine push input is done. |
|
|
-------------------------------------- |
|
|
post process cost time:0.43 ms |
|
|
-------------------------------------- |
|
|
Repeat 1 times, avg time 25.05 ms, max_time 25.05 ms, min_time 25.05 ms |
|
|
-------------------------------------- |
|
|
detection num: 6 |
|
|
0: 94%, [1350, 337, 1632, 1036], person |
|
|
0: 93%, [ 492, 477, 658, 1000], person |
|
|
0: 92%, [ 756, 219, 1126, 1154], person |
|
|
0: 91%, [ 0, 354, 314, 1108], person |
|
|
0: 73%, [ 0, 530, 81, 1017], person |
|
|
0: 54%, [ 142, 589, 239, 1013], person |
|
|
-------------------------------------- |
|
|
``` |