--- license: agpl-3.0 language: - en base_model: - YOLO11 pipeline_tag: object-detection tags: - Axera - YOLO11-OBB - NPU - Ultralytics - Oriented Object Detection - Rotated Bounding Box --- # YOLO11-OBB This version of **YOLO11-OBB** (Oriented Bounding Box) has been converted to run on the Axera NPU using **w8a16** quantization. It is optimized for detecting rotated objects such as ships, harbors, vehicles, and other DOTA-style targets with oriented bounding boxes. Compatible with Pulsar2 version: 6.0. ## 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 This repository currently provides axmodels for the following Axera platforms only: - **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) - **AX637** ## Model files The converted axmodels are organized by target platform: ```text yolo11_obb/ ├── 650/ │ ├── yolo11n-obb_640x640_npu1.axmodel │ ├── yolo11n-obb_640x640_npu3.axmodel │ ├── yolo11s-obb_640x640_npu1.axmodel │ ├── yolo11s-obb_640x640_npu3.axmodel │ ├── yolo11m-obb_640x640_npu1.axmodel │ ├── yolo11m-obb_640x640_npu3.axmodel │ ├── yolo11l-obb_640x640_npu1.axmodel │ ├── yolo11l-obb_640x640_npu3.axmodel │ ├── yolo11x-obb_640x640_npu1.axmodel │ └── yolo11x-obb_640x640_npu3.axmodel ├── 637/ │ ├── yolo11n-obb_640x640_npu1.axmodel │ ├── yolo11s-obb_640x640_npu1.axmodel │ ├── yolo11m-obb_640x640_npu1.axmodel │ ├── yolo11l-obb_640x640_npu1.axmodel │ └── yolo11x-obb_640x640_npu1.axmodel ├── ax_infer.py ├── boats.jpg └── result_yolo11_obb_ax.jpg ``` ## Performance Statistics Latency data is left blank and can be filled in after benchmark testing. ### AX650N/AX8850 | Model | Latency(ms) npu1 | Latency(ms) npu3 | | :--- | :---: | :---: | | **yolo11n-obb** | 3.491 | 1.383 | | **yolo11s-obb** | 9.008 | 3.240 | | **yolo11m-obb** | 26.086 | 8.958 | | **yolo11l-obb** | 33.724 | 11.496 | | **yolo11x-obb** | 73.796 | 25.168 | ### AX637 | Model | Latency(ms) | | :--- | :---: | | **yolo11n-obb** | 4.191 | | **yolo11s-obb** | 11.068 | | **yolo11m-obb** | 27.316 | | **yolo11l-obb** | 35.625 | | **yolo11x-obb** | 79.141 | ## How to use Download all files from this repository to the device, then choose the axmodel that matches your target platform. ### 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 on board Input image: ![](boats.jpg) Run with an AX650N/AX8850 model: ```bash python3 ax_infer.py -m 650/yolo11m-obb_640x640_npu3.axmodel -i boats.jpg ``` Run with an AX637 model: ```bash python3 ax_infer.py -m 637/yolo11m-obb_640x640_npu1.axmodel -i boats.jpg ``` Example output from AX637: ```bash root@ax637:~/11obb# python3 ax_infer.py -m yolo11m-obb_640x640_npu3.axmodel -i boats.jpg [INFO] Available providers: ['AxEngineExecutionProvider'] [INFO] Using provider: AxEngineExecutionProvider [INFO] Chip type: ChipType.M57H [INFO] VNPU type: VNPUType.DISABLED [INFO] Engine version: 2.12.0s [INFO] Model type: 0 (single core) [INFO] Compiler version: 6.0 93b95f7f Load model: 844.4 ms Forward+post: 194.9 ms Found 167 oriented objects. ship conf=0.84 cx=1707.6 cy=792.9 w=105.7 h=34.9 theta=+26.0 ship conf=0.84 cx=1790.4 cy=573.8 w=117.8 h=36.5 theta=+24.5 ship conf=0.84 cx=1723.6 cy=760.6 w=108.8 h=31.4 theta=+24.5 ship conf=0.84 cx=1782.8 cy=620.8 w=112.0 h=35.7 theta=+25.0 ship conf=0.82 cx=1487.2 cy=694.4 w=97.2 h=31.3 theta=+21.0 ... harbor conf=0.29 cx=824.3 cy=184.2 w=230.5 h=521.3 theta=+24.0 ship conf=0.29 cx=1219.5 cy=246.9 w=85.7 h=24.0 theta=+23.0 ship conf=0.29 cx=1652.9 cy=276.2 w=80.3 h=26.1 theta=+20.5 ship conf=0.29 cx=1190.1 cy=307.0 w=91.3 h=28.6 theta=+21.0 harbor conf=0.27 cx=1535.8 cy=388.2 w=221.8 h=953.5 theta=+20.5 ship conf=0.26 cx=1517.0 cy=274.2 w=84.8 h=24.2 theta=+21.5 ship conf=0.26 cx=1522.8 cy=252.3 w=89.5 h=29.9 theta=+19.5 Saved: result_yolo11_obb_ax.jpg ``` Output image: ![](result_yolo11_obb_ax.jpg)