Configuration Parsing Warning:Invalid JSON for config file config.json

YOLO11

This version of YOLO11 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

Support Platform

Chips cost
AX650 25 ms
AX630C TBD ms

Performance Statistics

Tip: 表中 ONNX (mAP50) 数据来源于官方。经 coco-val2017 实测,实际运行的 ONNX 模型精度较该数值略低约 1.3%,因此 AXModel 的实际量化损失(精度跌幅)其实更小。

Model ONNX (mAP50) AXModel (mAP50) FPS CMM(MB) Latency(ms)
yolo11s 0.638 0.615 314 10.00 3.181
yolo11x 0.716 0.696 41 71.40 24.650

How to use

Download all files from this repository to the device

(axcl) axera@raspberrypi:~/samples/AXERA-TECH/YOLO11 $ tree -L 2
.
├── ax620e
│   └── yolo11s.axmodel.onnx
├── ax650
│   ├── yolo11s.axmodel
│   └── yolo11x.axmodel
├── ax_aarch64
│   └── ax_yolo11
├── axcl_aarch64
│   └── axcl_yolo11
├── axcl_x86_64
│   └── axcl_yolo11
├── config.json
├── cut-onnx.py
├── football.jpg
├── README.md
├── ssd_horse.jpg
├── yolo11_config.json
├── yolo11_out.jpg
├── yolo11s-cut.onnx
└── yolo11-test.py

6 directories, 15 files

Inference

Input image:

Inference with AX650 Host, such as M4N-Dock(爱芯派Pro)

root@ax650:~/samples/AXERA-TECH/YOLO11# ./ax_aarch64/ax_yolo11 -m ax650/yolo11x.axmodel -i football.jpg
--------------------------------------
model file : ax650/yolo11x.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.
--------------------------------------
post process cost time:4.20 ms
--------------------------------------
Repeat 1 times, avg time 24.56 ms, max_time 24.56 ms, min_time 24.56 ms
--------------------------------------
detection num: 9
 0:  94%, [ 757,  220, 1127, 1154], person
 0:  94%, [   0,  357,  314, 1112], person
 0:  93%, [1353,  339, 1629, 1037], person
 0:  91%, [ 494,  476,  659, 1001], person
32:  86%, [1231,  877, 1281,  922], sports ball
32:  73%, [ 774,  887,  828,  938], sports ball
32:  66%, [1012,  882, 1051,  927], sports ball
 0:  54%, [   0,  543,   83, 1000], person
 0:  46%, [1837,  696, 1877,  814], person
--------------------------------------

Output image:

Inference with M.2 Accelerator card

(axcl) axera@raspberrypi:~/samples/AXERA-TECH/YOLO11 $ ./axcl_aarch64/axcl_yolo11 -m ax650/yolo11x.axmodel -i football.jpg
--------------------------------------
model file : ax650/yolo11x.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: 3
    name: /model.23/Concat_output_0
        1 x 80 x 80 x 144

    name: /model.23/Concat_1_output_0
        1 x 40 x 40 x 144

    name: /model.23/Concat_2_output_0
        1 x 20 x 20 x 144

==================================================

Engine push input is done.
--------------------------------------
post process cost time:1.38 ms
--------------------------------------
Repeat 1 times, avg time 24.73 ms, max_time 24.73 ms, min_time 24.73 ms
--------------------------------------
detection num: 9
 0:  94%, [ 757,  220, 1127, 1154], person
 0:  94%, [   0,  357,  314, 1112], person
 0:  93%, [1353,  339, 1629, 1037], person
 0:  91%, [ 494,  476,  659, 1001], person
32:  86%, [1231,  877, 1281,  922], sports ball
32:  73%, [ 774,  887,  828,  938], sports ball
32:  66%, [1012,  882, 1051,  927], sports ball
 0:  54%, [   0,  543,   83, 1000], person
 0:  46%, [1837,  696, 1877,  814], person
--------------------------------------

COCO val2017 evaluation

The standalone scripts under src/ support single-image checks and complete COCO detection evaluation. The ONNX model uses FP32 NCHW input; the compiled axmodel uses U8 NHWC input. Both contracts require 640x640 input and three detection heads at strides 8, 16 and 32, with 144 channels (64 DFL + 80 classes). Both scripts use letterbox with right/bottom padding; the older single-image example uses direct resize, so its detections are not directly comparable.

Run FP32 ONNX inference on the host:

../../../venv/bin/python src/infer/yolo11_infer_onnx.py \
  --model yolo11s-cut.onnx --dataset ../../../datasets/val2017 \
  --output-dir results/onnx-val --full-output

Run axmodel inference on the target board:

python3 src/infer/yolo11_infer_axmodel.py \
  --axmodel ax650/yolo11s.axmodel --dataset val2017 \
  --output-dir results/ax-val --full-output

--full-output writes predictions.json, image_ids.json and timing JSON. It does not save dense output NPZ files. Without --full-output, dataset mode is fast mode and only times image read, preprocessing and model inference. Use --warmup N to exclude warmup runs from timing. Single-image mode writes detection.jpg; --debug, --dump-npz and --ref-npz are available only in that mode.

Evaluate with pycocotools:

../../../venv/bin/python src/tool/evaluate_yolo11.py \
  --predictions results/onnx-val/predictions.json \
  --annotations ../../../datasets/annotations_val2017/annotations/instances_val2017.json \
  --output-dir results/onnx-metrics

../../../venv/bin/python src/tool/evaluate_yolo11.py \
  --predictions results/onnx-val/predictions.json \
  --ax-predictions results/ax-val/predictions.json \
  --annotations ../../../datasets/annotations_val2017/annotations/instances_val2017.json \
  --output-dir results/compare

The evaluator writes backend prediction copies and metrics.json with COCO bbox AP/AR metrics. Use --subset only for an intentional partial-dataset test.

Complete ONNX model evaluation

For .pt checkpoints, export the complete FP32 ONNX model without cutting its heads. Each size has its own directory under results/onnx/<size>/: the model file is yolo11<size>.onnx, performance/host_timing.json holds the fast-mode baseline, full-output/ holds predictions and full-path timing, and metrics/ holds COCO bbox AP/AR. The existing yolo11s-cut.onnx results remain separate. The complete ONNX native [1,84,8400] output contains decoded xywh boxes and 80 class scores. --full-output applies class-wise NMS, maps COCO categories, and writes predictions.json plus image_ids.json; the evaluator calculates AP. Fast mode skips this postprocessing and cannot produce accuracy results.

../../../venv/bin/python src/tool/export_yolo11_onnx.py \
  --weights yolo11s.pt --output-dir results/onnx/s
../../../venv/bin/python src/tool/export_yolo11_onnx.py \
  --weights yolo11x.pt --output-dir results/onnx/x

../../../venv/bin/python src/infer/yolo11_infer_onnx.py \
  --model results/onnx/s/yolo11s.onnx --dataset ../../../datasets/val2017 \
  --output-dir results/onnx/s/performance
../../../venv/bin/python src/infer/yolo11_infer_onnx.py \
  --model results/onnx/x/yolo11x.onnx --dataset ../../../datasets/val2017 \
  --output-dir results/onnx/x/performance

../../../venv/bin/python src/infer/yolo11_infer_onnx.py \
  --model results/onnx/s/yolo11s.onnx --dataset ../../../datasets/val2017 \
  --output-dir results/onnx/s/full-output --full-output
../../../venv/bin/python src/tool/evaluate_yolo11.py \
  --predictions results/onnx/s/full-output/predictions.json \
  --annotations ../../../datasets/annotations_val2017/annotations/instances_val2017.json \
  --output-dir results/onnx/s/metrics

../../../venv/bin/python src/infer/yolo11_infer_onnx.py \
  --model results/onnx/x/yolo11x.onnx --dataset ../../../datasets/val2017 \
  --output-dir results/onnx/x/full-output --full-output
../../../venv/bin/python src/tool/evaluate_yolo11.py \
  --predictions results/onnx/x/full-output/predictions.json \
  --annotations ../../../datasets/annotations_val2017/annotations/instances_val2017.json \
  --output-dir results/onnx/x/metrics

Both runs processed all 5000 val2017 images on ONNX Runtime's CPUExecutionProvider with 640x640 RGB input and three warmup runs. Model loading and warmup are excluded. The existing fast-mode performance-only measurements below have a different timing scope from the full evaluation:

Size Complete ONNX model 5000-image timing Inference mean End-to-end mean End-to-end FPS
s yolo11s.onnx host_timing.json 62.509 ms 70.677 ms 14.149
x yolo11x.onnx host_timing.json 196.503 ms 203.363 ms 4.917

smoke-performance/ under each size contains an earlier two-image interface check; use performance/host_timing.json for the full-dataset results.

Downloads last month
66
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for AXERA-TECH/YOLO11

Quantized
(115)
this model

Collection including AXERA-TECH/YOLO11