--- license: agpl-3.0 language: - en base_model: - YOLO26 pipeline_tag: object-detection tags: - Axera - YOLO26-OBB - NPU - Ultralytics - Oriented Object Detection - Rotated Bounding Box --- # YOLO26-OBB This version of **YOLOv26-OBB** (Oriented Bounding Box) has been converted to run on the Axera NPU using **w8a16** quantization. It is optimized for detecting rotated objects with high precision. 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 repo of AXera Platform](https://github.com/AXERA-TECH/ax-samples), where you can get the detailed guide. - [Pulsar2 Link, How to Convert ONNX to axmodel](https://pulsar2-docs.readthedocs.io/en/latest/pulsar2/introduction.html) ## Support Platform - **AX650N/AX8850** - [M4N-Dock(爱芯派Pro)](https://wiki.sipeed.com/hardware/zh/maixIV/m4ndock/m4ndock.html) - [M.2 Accelerator card](https://docs.m5stack.com/en/ai_hardware/LLM-8850_Card) - **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) - **AX615** - **AX637** ### Performance Statistics #### AX650N | Model | Latency(ms) npu1 | Latency(ms) npu3 | | :--- | :---: | :---: | | **yolo26n-obb** | 9.426 | 3.432 | | **yolo26s-obb** | 24.456| 9.612 | | **yolo26m-obb** | 69.012 | 27.254 | | **yolo26l-obb** | 88.472 | 36.599 | | **yolo26x-obb** | 196.579 | 71.008 | #### AX630C | Model | Latency(ms) npu1 | Latency(ms) npu2 | | :--- | :---: | :---: | | **yolo26n-obb**| 29.515 | 23.724 | | **yolo26s-obb**| 61.693 | 47.572 | | **yolo26m-obb**| 161.482] | 110.556 | | **yolo26l-obb**| 205.981 | 148.211 | | **yolo26x-obb**| 501.142 | 294.563 | #### AX615 | Model | Latency(ms) npu1 | | :--- | :---: | | **yolo26n-obb**| 54.514 | | **yolo26s-obb**| 156.599 | #### AX637 | Model | Latency(ms) | | :--- | :---: | | **yolo26s-obb**| 26.364 | | **yolo26l-obb**| 88.019 | | **yolo26x-obb**| 88.019 | ## How to use Download all files from this repository to the device. ### python env requirement #### pyaxengine https://github.com/AXERA-TECH/pyaxengine ```bash wget https://github.com/AXERA-TECH/pyaxengine/releases/download/0.1.3.rc2/axengine-0.1.3-py3-none-any.whl pip install axengine-0.1.3-py3-none-any.whl ``` ### Inference with AX650 Host, such as M4N-Dock(爱芯派Pro) Input image: ![](boats.jpg) run ```bash python3 ax_infer.py --model-path yolo26l-obb_npu3.axmodel --test-img boats.jpg ``` ```bash root@ax650:~/yolo26_obb# python3 ax_infer.py --model_path yolo26l-obb_npu3.axmodel --test_img boats.jpg [INFO] Available providers: ['AxEngineExecutionProvider', 'AXCLRTExecutionProvider'] usage: ax_infer.py [-h] [--model-path MODEL_PATH] [--test-img TEST_IMG] [--img-save-path IMG_SAVE_PATH] [--score-thres SCORE_THRES] [--nms-thres NMS_THRES] [--num-classes NUM_CLASSES] [--providers PROVIDERS] ax_infer.py: error: unrecognized arguments: --model_path yolo26l-obb_npu3.axmodel --test_img boats.jpg root@ax650:~/yolo26_obb# python3 ax_infer.py --model-path yolo26l-obb_npu3.axmodel --test-img boats.jpg [INFO] Available providers: ['AxEngineExecutionProvider', 'AXCLRTExecutionProvider'] [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: 5.2-dirty a6f1799a-dirty [YOLO26-OBB] [13:21:27.889] [DEBUG] Load model time = 485.62 ms [YOLO26-OBB] [13:21:27.934] [DEBUG] Pre-process time = 13.80 ms [YOLO26-OBB] [13:21:27.990] [DEBUG] Forward time = 55.92 ms [YOLO26-OBB] [13:21:28.004] [DEBUG] Post-process time = 12.79 ms [YOLO26-OBB] [13:21:28.034] [INFO] Draw Results (182 oriented objects): [YOLO26-OBB] [13:21:28.035] [INFO] ship conf=0.90 cx=770.3 cy=183.5 w=103.2 h=31.2 theta=+23.6deg ... [YOLO26-OBB] [13:21:28.144] [INFO] ship conf=0.25 cx=484.9 cy=5.2 w=26.2 h=15.6 theta=+13.1deg [YOLO26-OBB] [13:21:28.145] [INFO] ship conf=0.25 cx=1770.5 cy=660.5 w=105.5 h=35.2 theta=+23.6deg [YOLO26-OBB] [13:21:28.189] [INFO] Saved to result_yolo26_obb.jpg ``` Output image: ![](result_yolo26_obb.jpg) ```