File size: 5,009 Bytes
f8d2192 8c875dd |
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 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 |
---
license: mit
language:
- en
base_model:
- Ultralytics/YOLOv8
pipeline_tag: object-detection
tags:
- Ultralytics
- YOLOv8
- YOLOv8-Seg
---
# YOLOv8-Seg
This version of YOLOv8-Seg 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 AXera Platform](https://github.com/AXERA-TECH/ax-samples), which you can get the detial of guide
- [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|yolov8s-seg|
|--|--|
|AX650| 4.6 ms |
|AX630C| TBD ms |
## How to use
Download all files from this repository to the device
```
root@ax650:~/YOLOv8-Seg# tree
.
|-- ax650
| `-- yolov8s-seg.axmodel
|-- ax_yolov8_seg
|-- football.jpg
`-- yolov8_seg_out.jpg
```
### Inference
Input image:

#### Inference with AX650 Host, such as M4N-Dock(爱芯派Pro)
```
root@ax650:~/samples/AXERA-TECH/YOLOv8-Seg# ./ax_yolov8_seg -m ax650/yolov8s_seg.axmodel -i football.jpg
--------------------------------------
model file : ax650/yolov8s_seg.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.
--------------------------------------
input size: 1
name: images [UINT8] [BGR]
1 x 640 x 640 x 3
output size: 7
name: /model.22/Concat_1_output_0 [FLOAT32]
1 x 80 x 80 x 144
name: /model.22/Concat_2_output_0 [FLOAT32]
1 x 40 x 40 x 144
name: /model.22/Concat_3_output_0 [FLOAT32]
1 x 20 x 20 x 144
name: /model.22/cv4.0/cv4.0.2/Conv_output_0 [FLOAT32]
1 x 80 x 80 x 32
name: /model.22/cv4.1/cv4.1.2/Conv_output_0 [FLOAT32]
1 x 40 x 40 x 32
name: /model.22/cv4.2/cv4.2.2/Conv_output_0 [FLOAT32]
1 x 20 x 20 x 32
name: output1 [FLOAT32]
1 x 32 x 160 x 160
post process cost time:16.21 ms
--------------------------------------
Repeat 1 times, avg time 4.69 ms, max_time 4.69 ms, min_time 4.69 ms
--------------------------------------
detection num: 8
0: 92%, [1354, 340, 1629, 1035], person
0: 91%, [ 5, 359, 314, 1108], person
0: 91%, [ 759, 220, 1121, 1153], person
0: 88%, [ 490, 476, 661, 999], person
32: 73%, [1233, 877, 1286, 923], sports ball
32: 63%, [ 772, 888, 828, 937], sports ball
32: 63%, [ 450, 882, 475, 902], sports ball
0: 55%, [1838, 690, 1907, 811], person
--------------------------------------
```
Output image:

#### Inference with M.2 Accelerator card
```
(base) axera@raspberrypi:~/lhj/YOLOv8-Seg $ ./axcl_aarch64/axcl_yolov8_seg -m ax650/yolov8s_seg.axmodel -i football.jpg
--------------------------------------
model file : ax650/yolov8s_seg.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: 7
name: /model.22/Concat_1_output_0
1 x 80 x 80 x 144
name: /model.22/Concat_2_output_0
1 x 40 x 40 x 144
name: /model.22/Concat_3_output_0
1 x 20 x 20 x 144
name: /model.22/cv4.0/cv4.0.2/Conv_output_0
1 x 80 x 80 x 32
name: /model.22/cv4.1/cv4.1.2/Conv_output_0
1 x 40 x 40 x 32
name: /model.22/cv4.2/cv4.2.2/Conv_output_0
1 x 20 x 20 x 32
name: output1
1 x 32 x 160 x 160
==================================================
Engine push input is done.
--------------------------------------
post process cost time:3.67 ms
--------------------------------------
Repeat 1 times, avg time 4.85 ms, max_time 4.85 ms, min_time 4.85 ms
--------------------------------------
detection num: 8
0: 92%, [1354, 340, 1629, 1035], person
0: 91%, [ 5, 359, 314, 1108], person
0: 91%, [ 759, 220, 1121, 1153], person
0: 88%, [ 490, 476, 661, 999], person
32: 73%, [1233, 877, 1286, 923], sports ball
32: 63%, [ 772, 888, 828, 937], sports ball
32: 63%, [ 450, 882, 475, 902], sports ball
0: 55%, [1838, 690, 1907, 811], person
--------------------------------------
```
Output image:

|