QRCode_det
This version of QRCode detetion model 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: 5.1
Convert tools links:
For those who are interested in model conversion, you can try to export axmodel through
-
The original repo, which you can get the detail of guide
-
The repo of AXera Platform,which you can learn how to compile the C++ demo
Support Platform
- AX650
- AX630C
- AX637
| Chips | model | cost |
|---|---|---|
| yolov5n | 1.73 ms | |
| yolov8n | 3.64 ms | |
| yolov9t | 4.75 ms | |
| AX650 | yolov10n | 3.67 ms |
| yolo11n | 3.42 ms | |
| yolo12n | 6.87 ms | |
| yolo26n | 3.24 ms | |
| NanodetPlus | 2.16 ms | |
| DEIMv2_femto(u16) | 3.76 ms | |
| yolov5n | 5.79 ms | |
| yolov8n | 9.26 ms | |
| yolov9t | 11.6 ms | |
| AX630C | yolov10n | 9.71 ms |
| yolo11n | 9.65 ms | |
| yolo12n | 20.24 ms | |
| yolo26n | 10.04 ms | |
| NanodetPlus | 5.93 ms | |
| yolov5n | 2.11 ms | |
| yolov8n | 4.04 ms | |
| yolov9t | 4.91 ms | |
| AX637 | yolov10n | 4.05 ms |
| yolo11n | 3.84 ms | |
| yolo12n | 6.40 ms | |
| yolo26n | 3.50 ms | |
| NanodetPlus | 2.38 ms |
How to use
Download all files from this repository to the device
.
├── config.json
├── CPP
│ ├── ax_deimv2_qrcode_batch
│ ├── ax_nanodetplus_qrcode_batch
│ ├── ax_yolov5_qrcode_batch
│ ├── ax_yolov8_qrcode_batch
│ └── ax_yolo26_qrcode_batch
├── cpp_result.png
├── images
│ ├── qrcode_01.jpg
│ ├── qrcode_02.jpg
│ ├── qrcode_03.jpg
| ├── ...
│ └── qrcode_55.jpg
├── model
│ ├── AX620E
│ │ ├── nanodet-plus-m_630_npu1.axmodel
│ │ ├── yolo11n_630_npu1.axmodel
│ │ ├── yolo12n_630_npu1.axmodel
│ │ ├── yolo26n_630_npu1.axmodel
│ │ ├── yolov10n_630_npu1.axmodel
│ │ ├── yolov5n_630_npu1.axmodel
│ │ ├── yolov8n_630_npu1.axmodel
│ │ └── yolov9t_630_npu1.axmodel
│ ├── AX637
│ │ ├── nanodet-plus-m_637_npu1.axmodel
│ │ ├── yolo11n_637_npu1.axmodel
│ │ ├── yolo12n_637_npu1.axmodel
│ │ ├── yolo26n_637_npu1.axmodel
│ │ ├── yolov10n_637_npu1.axmodel
│ │ ├── yolov5n_637_npu1.axmodel
│ │ ├── yolov8n_637_npu1.axmodel
│ │ └── yolov9t_637_npu1.axmodel
│ └── AX650
│ ├── deimv2_femto_650_npu1_u16.axmodel
│ ├── nanodet-plus-m_650_npu1.axmodel
│ ├── yolo11n_650_npu1.axmodel
│ ├── yolo12n_650_npu1.axmodel
│ ├── yolo26n_650_npu1.axmodel
│ ├── yolov10n_650_npu1.axmodel
│ ├── yolov5n_650_npu1.axmodel
│ ├── yolov8n_650_npu1.axmodel
│ └── yolov9t_650_npu1.axmodel
├── py_result.png
├── python
│ ├── QRCode_axmodel_infer_DEIMv2.py
│ ├── QRCode_axmodel_infer_Nanodet.py
│ ├── QRCode_axmodel_infer_v5.py
│ ├── QRCode_axmodel_infer_v8.py
│ ├── QRCode_axmodel_infer_26.py
│ ├── QRCode_onnx_infer_DEIMv2.py
│ ├── QRCode_onnx_infer_Nanodet.py
│ ├── QRCode_onnx_infer_v5.py
│ ├── QRCode_onnx_infer_v8.py
│ ├── QRCode_onnx_infer_26.py
│ └── requirements.txt
└── README.md
Inference
Input Data:
|-- images
| `-- qrcode_01.jpg
| `-- qrcode_02.jpg
| `-- qrcode_03.jpg
| `-- qrcode_04.jpg...
Inference with AX650 Host, such as M4N-Dock(爱芯派Pro)
Python
run with python3 QRCode_axmodel_infer_xxx.py
root@ax650:~/QRCode# python3 QRCode_axmodel_infer_DEIMv2.py
[INFO] Available providers: ['AxEngineExecutionProvider']
[INFO] Using provider: AxEngineExecutionProvider
[INFO] Chip type: ChipType.MC50
[INFO] VNPU type: VNPUType.DISABLED
[INFO] Engine version: 2.12.0s
[INFO] Model type: 2 (triple core)
[INFO] Compiler version: 4.2 b98901c3
识别成功!
图片 ./qrcode_test/qrcode_01.jpg 处理耗时: 0.2165 秒
识别成功!
图片 ./qrcode_test/qrcode_02.jpg 处理耗时: 0.1540 秒
识别成功!
图片 ./qrcode_test/qrcode_03.jpg 处理耗时: 0.1456 秒
识别成功!
图片 ./qrcode_test/qrcode_05.jpg 处理耗时: 0.1449 秒
Output:

C++
./ax_xxx_qrcode_batch -m xxx_npu1.axmodel -i images/
Output:
