--- license: mit pipeline_tag: object-detection --- # 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](https://github.com/wzf19947/QRCode_det), which you can get the detail of guide - [Pulsar2 Link, How to Convert ONNX to axmodel](https://pulsar2-docs.readthedocs.io/en/latest/pulsar2/introduction.html) - [The repo of AXera Platform](https://github.com/AXERA-TECH/ax-samples),which you can learn how to compile the C++ demo ## 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) - 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| ||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| ||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| ||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 ├── 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 │   │   ├── 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 │   │   ├── 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 │   ├── 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_onnx_infer_DEIMv2.py │   ├── QRCode_onnx_infer_Nanodet.py │   ├── QRCode_onnx_infer_v5.py │   ├── QRCode_onnx_infer_v8.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: ![alt text](py_result.png) ##### C++ ``` ./ax_xxx_qrcode_batch -m xxx_npu1.axmodel -i images/ ``` Output: ![alt text](cpp_result.png)