| --- |
| license: agpl-3.0 |
| library_name: edgefirst |
| pipeline_tag: object-detection |
| tags: |
| - edge-ai |
| - npu |
| - tflite |
| - onnx |
| - int8 |
| - yolo |
| - edgefirst |
| - nxp |
| - hailo |
| - jetson |
| - embedded |
| model-index: |
| - name: yolov8-det |
| results: |
| - task: |
| type: object-detection |
| dataset: |
| name: COCO val2017 |
| type: coco |
| metrics: |
| - name: "mAP@0.5 (Nano ONNX FP32)" |
| type: map_50 |
| value: 50.49 |
| - name: "mAP@0.5-0.95 (Nano ONNX FP32)" |
| type: map |
| value: 35.83 |
| - name: "mAP@0.5 (Small ONNX FP32)" |
| type: map_50 |
| value: 59.4 |
| - name: "mAP@0.5-0.95 (Small ONNX FP32)" |
| type: map |
| value: 43.22 |
| - name: "mAP@0.5 (Medium ONNX FP32)" |
| type: map_50 |
| value: 64.68 |
| - name: "mAP@0.5-0.95 (Medium ONNX FP32)" |
| type: map |
| value: 48.45 |
| --- |
| |
| # YOLOv8 Detection — EdgeFirst Model Zoo |
|
|
| YOLOv8 Detection models trained on [COCO 2017](https://edgefirst.studio/public/projects/1684/home) (80 classes) and validated on real edge hardware through the EdgeFirst Profiler + Validator pipeline. Each row in the tables below cites the EdgeFirst Studio validation session (`v-XXXX`) that produced the measurement. |
|
|
| Part of the [EdgeFirst Model Zoo](https://huggingface.co/spaces/EdgeFirst/Models). |
|
|
| > [!TIP] |
| > **Training experiment**: [View on EdgeFirst Studio](https://edgefirst.studio/public/projects/1684/experiment/training/list?exp_id=2114) — dataset, training configuration, metrics, and exported artifacts. |
|
|
| > [!NOTE] |
| > Anchor-free DFL detection head. Detection and instance-segmentation variants. |
|
|
| [](https://huggingface.co/spaces/EdgeFirst/Models) [](https://huggingface.co/spaces/EdgeFirst/Models) [](https://huggingface.co/spaces/EdgeFirst/Models) [](https://huggingface.co/spaces/EdgeFirst/Models) [](https://huggingface.co/spaces/EdgeFirst/Models) [](https://huggingface.co/spaces/EdgeFirst/Models) [](https://huggingface.co/spaces/EdgeFirst/Models) [](https://huggingface.co/spaces/EdgeFirst/Models) |
| --- |
|
|
| ## Reference accuracy — ONNX FP32 |
|
|
| Accuracy ceiling for each size, measured against COCO `val2017` (5,000 images) with `pycocotools`. Quantized and compiled artifacts (TFLite INT8, HEF, etc.) are graded against this reference per the EdgeFirst publication rule. |
|
|
| | Size | Params | GFLOPs | mAP@0.5 | mAP@0.5-0.95 | mAP@0.75 | Source | |
| |------|--------|--------|---------|--------------|----------|--------| |
| | Nano | 3.2M | 8.9 | 50.49% | 35.83% | 38.84% | [v-a88](https://edgefirst.studio/public/validation/v-a88/details?mode=charts) | |
| | Small | 11.2M | 28.8 | 59.40% | 43.22% | 46.68% | [v-a8f](https://edgefirst.studio/public/validation/v-a8f/details?mode=charts) | |
| | Medium | 25.9M | 79.3 | 64.68% | 48.45% | 52.62% | [v-a96](https://edgefirst.studio/public/validation/v-a96/details?mode=charts) | |
| | Large | 43.7M | 165.7 | — | — | — | — | |
| | XLarge | 68.2M | 258.5 | — | — | — | — | |
|
|
| > **Sizes.** The EdgeFirst Model Zoo currently validates **Nano, Small, and Medium**. The Large and XLarge variants are not evaluated at this time — their parameter and GFLOP counts are listed above for reference, with accuracy shown as `—`. |
|
|
| ### Accuracy methodology & relation to Ultralytics |
|
|
| Every model in this zoo uses the **official Ultralytics pretrained weights, byte-for-byte** — there is no re-training. These are the *same models* Ultralytics ships, measured on the **deployment-realistic path**: a fixed-input ONNX graph (square letterbox, `rect=False`), stock `pycocotools` `AP@[maxDets=100]`, and COCO crowd regions scored as normal detections. Ultralytics' headline COCO numbers use their internal validator (rectangular inference, crowd-ignored, `maxDets=300`), so a small, fully-explained offset on identical weights is expected — not an accuracy deficit. |
|
|
| Reconciling **nano** detection (COCO `val2017`, mAP@0.5:0.95, FP32): |
|
|
| | Source | Nano mAP@0.5:0.95 | What it measures | |
| |--------|-------------------|------------------| |
| | **EdgeFirst (this zoo)** | 35.83% | Full deployment path — fixed-input ONNX + `pycocotools` | |
| | Ultralytics-validator proxy | 36.71% | Portable re-implementation of the Ultralytics validator | |
| | Ultralytics (official) | 37.3% | Ultralytics' published COCO figure | |
|
|
| The ~1 pp spread decomposes into a ~0.6–0.7 pp **methodology** leg (square-letterbox / crowd / `maxDets`) and a ~0.5–0.9 pp **deployment-decode** leg. The methodology leg is measured, not assumed: a `rect=True` + crowd-ignored parity pass reproduces the official figure (e.g. YOLOv5n → 34.4 vs 34.3 official). The decode leg shrinks toward zero for the NMS-free YOLO26, which already matches its official number. None of the offset reflects a weight or training difference. |
|
|
| --- |
|
|
| ## On-target validation results |
|
|
| Each row is one EdgeFirst Studio validation session. Click the **Source** link to inspect the full session — model artifact, dataset version, parameters, per-stage Perfetto trace, and the host hardware description (hostname, kernel version, SoC, NPU, profiler version). |
|
|
| Row conventions in the table below: |
|
|
| - **Rows whose `Δ` cell reads `ref`** are the float reference runs each quantized/compiled measurement is graded against. |
| - **Rows without a number** under the metric columns are validation sessions currently in progress, or a session not yet linked to its ONNX FP32 reference. The Studio Source link tracks the current status. |
| - **Rows whose `Δ vs FP32` cell carries a ⚠** are below our accuracy expectations for that platform (more than 10 percentage points under the float reference). The numbers are real measurements on real hardware, reproducible from the linked Studio session, and we publish them as-is; we are investigating the results to make improvements, and the next snapshot of this card will reflect any recovered accuracy. |
| - **Precision** varies by target: the ONNX reference rows are FP32; macOS CoreML and NVIDIA Jetson TensorRT run FP16; the NXP i.MX 8M Plus, NXP i.MX 95 Neutron, and Hailo NPUs run INT8. The NXP Ara240 DNPU runs a **mixed INT8/INT16** scheme — most of the model is INT8, with the box-regression path (and the ops feeding it) promoted to INT16 to improve localization accuracy. |
| - **Decoder variants.** EdgeFirst ships three INT8 split-decoders. The table headlines the accuracy-recovering ones: **smart** (per-tensor rescaling — best accuracy, extra CPU ops add some latency) and, where a smart run is absent, **logical** (the latency-optimized default — no CPU overhead, slightly lower accuracy). The **combined** decoder is the *standard-quantization baseline* (equivalent to typical single-scale INT8, and how the reference numbers are produced); it loses the most accuracy — especially on segmentation, where box/mask dynamic range collapses under one scale — so it is published only as a downloadable reference artifact and in the metrics export, never headlined here. Smart and logical exist precisely to recover that loss. Full converter documentation: [EdgeFirst model conversion](https://doc.edgefirst.ai/latest/models/conversion/) — these are the converters used by this Model Zoo and the EdgeFirst Performance Index report. |
| - **Platform-label suffixes.** `(FRDM)` / `(Phytec)` name the NXP i.MX 95 development board a session ran on. `— latency` / `— throughput` mark the two pipeline configurations the NXP i.MX 95 Neutron and NXP Ara240 targets run: the **latency** pipeline runs inference serially for the lowest per-frame latency; the **throughput** pipeline runs multiple inference workers for the highest FPS, which raises per-call inference time in exchange. Rows with neither suffix run a single pipeline. |
| - **End-to-end (ms)** is the sequential per-image latency of the compute pipeline — preprocess → inference → postprocess. Image acquisition (camera or file load + JPEG decode) overlaps these stages and is excluded from this figure. |
| - **Realized FPS vs Core-throughput ceiling (FPS).** **Realized FPS** is the *measured* steady-state throughput — the rate at which final results are actually delivered over the full validation pipeline. It normally exceeds `1000 / end-to-end` because the runtime overlaps stages across frames, and it is the **true, priority number**. **Core-throughput ceiling (FPS)** (shown with a `~`) is the accelerator's **core** ceiling — `1000 / device-compute-time`, the rate the NPU/DNPU could sustain *if it were the only bottleneck* — so it is a **possibly-achievable note, not a claim**. It is read from the isolated device-compute stage, which (unlike the host capture/preprocess stages, whose measured time inflates when the pipeline is backpressured) is stable and load-independent. Whether a deployment approaches it depends on the surrounding pipeline, and two levers dominate: (1) **host bottlenecks** — these validation runs decode a JPEG per image, whereas a live **camera pipeline** skips that decode and can run closer to the ceiling; and (2) **confidence threshold** — validation runs at `0.001` to capture every detection for mAP, which makes NMS/decode heavy, while a deployment threshold of `0.25–0.75` produces far fewer candidate boxes and lighter postprocessing, raising realized FPS toward the ceiling. |
|
|
| | Size | Platform | mAP@0.5 | Δ vs FP32 (pp) | mAP@0.5-0.95 | Inference (ms) | End-to-end (ms) | Realized FPS | Core-throughput ceiling (FPS) | Source | |
| |------|----------|---------|----------------|--------------|----------------|-----------------|--------------|-------------------------------|--------| |
| | Nano | ONNX FP32 (Intel Core i9-13900F · 32-core) | 50.49% | +0.00 | 35.83% | 38.01 | 49.96 | 71.6 | ~72 | [v-a46](https://edgefirst.studio/public/validation/v-a46/details?mode=charts) | |
| | Nano | ONNX FP32 (CUDA) | 50.49% | ref | 35.83% | 8.04 | 13.22 | 350.5 | ~350 | [v-a88](https://edgefirst.studio/public/validation/v-a88/details?mode=charts) | |
| | Nano | ONNX FP16 (CUDA) | 50.49% | +0.00 | 35.79% | 6.23 | 11.70 | 457.3 | ~457 | [v-a9d](https://edgefirst.studio/public/validation/v-a9d/details?mode=charts) | |
| | Nano | ONNX FP32 | 50.49% | +0.00 | 35.82% | 37.75 | 55.49 | 96.0 | ~27 | [v-cd2](https://edgefirst.studio/public/validation/v-cd2/details?mode=charts) | |
| | Nano | Apple M2 Max — CoreML Neural Engine (FP16) | 50.12% | -0.37 | 35.52% | 1.80 | 5.26 | 791.0 | ~744 | [v-9cd](https://edgefirst.studio/public/validation/v-9cd/details?mode=charts) | |
| | Nano | Apple M2 Max — CoreML Metal GPU (FP16) | 50.13% | -0.36 | 35.52% | 6.00 | 9.73 | 445.0 | ~445 | [v-9ce](https://edgefirst.studio/public/validation/v-9ce/details?mode=charts) | |
| | Nano | Apple M2 Max — CoreML CPU (FP16) | 50.14% | -0.35 | 35.50% | 15.93 | 19.96 | 117.5 | ~117 | [v-9cf](https://edgefirst.studio/public/validation/v-9cf/details?mode=charts) | |
| | Nano | Apple iPhone 17 Pro — CoreML Neural Engine (FP16) | 50.51% | +0.02 | 35.83% | 2.20 | 7.33 | 735.9 | ~872 | [v-bf8](https://edgefirst.studio/public/validation/v-bf8/details?mode=charts) | |
| | Nano | Apple iPhone 17 Pro — CoreML Metal GPU (FP16) | 50.50% | +0.01 | 35.81% | 4.86 | 9.57 | 381.3 | ~411 | [v-bf6](https://edgefirst.studio/public/validation/v-bf6/details?mode=charts) | |
| | Nano | Apple iPhone 17 Pro — CoreML CPU (FP16) | 50.53% | +0.04 | 35.78% | 17.22 | 21.66 | 113.5 | ~116 | [v-bf4](https://edgefirst.studio/public/validation/v-bf4/details?mode=charts) | |
| | Nano | Apple iPhone 15 Pro — CoreML Neural Engine (FP16) | 50.50% | +0.01 | 35.82% | 2.43 | 11.05 | 538.1 | ~692 | [v-bfc](https://edgefirst.studio/public/validation/v-bfc/details?mode=charts) | |
| | Nano | Apple iPhone 15 Pro — CoreML Metal GPU (FP16) | 50.52% | +0.03 | 35.80% | 14.12 | 18.72 | 136.4 | ~142 | [v-bfe](https://edgefirst.studio/public/validation/v-bfe/details?mode=charts) | |
| | Nano | Apple iPhone 15 Pro — CoreML CPU (FP16) | 50.54% | +0.05 | 35.79% | 20.66 | 26.66 | 93.1 | ~96 | [v-bfa](https://edgefirst.studio/public/validation/v-bfa/details?mode=charts) | |
| | Nano | NXP i.MX 8M Plus + VeriSilicon NPU (FRDM) | 49.36% | -1.13 | 34.78% | 61.10 | 113.47 | 13.9 | ~16 | [v-8c7](https://edgefirst.studio/public/validation/v-8c7/details?mode=charts) | |
| | Nano | NXP i.MX 8M Plus + VeriSilicon NPU (Verdin) — latency | 47.24% | -3.25 | 32.01% | 67.58 | 110.07 | 12.8 | ~15 | [v-c7b](https://edgefirst.studio/public/validation/v-c7b/details?mode=charts) | |
| | Nano | NXP i.MX 8M Plus + VeriSilicon NPU (Verdin) — throughput | 49.36% | -1.13 | 34.78% | 61.80 | 133.21 | 13.8 | ~16 | [v-c7a](https://edgefirst.studio/public/validation/v-c7a/details?mode=charts) | |
| | Nano | NXP i.MX 95 + eIQ Neutron NPU — latency | 49.77% | -0.72 | 35.10% | 14.38 | 39.75 | 59.5 | ~64 | [v-e34](https://edgefirst.studio/public/validation/v-e34/details?mode=charts) | |
| | Nano | NXP i.MX 95 + eIQ Neutron NPU — throughput | 49.77% | -0.72 | 35.11% | 92.81 | 127.39 | 75.6 | ~49 | [v-e35](https://edgefirst.studio/public/validation/v-e35/details?mode=charts) | |
| | Nano | NXP i.MX 95 + eIQ Neutron NPU (FRDM) — latency | 47.38% | -3.11 | 32.08% | 44.44 | 59.21 | 21.6 | ~22 | [v-a3d](https://edgefirst.studio/public/validation/v-a3d/details?mode=charts) | |
| | Nano | NXP i.MX 95 + eIQ Neutron NPU (FRDM) — throughput | 47.38% | -3.11 | 32.08% | 60.72 | 80.24 | 62.6 | ~63 | [v-a3e](https://edgefirst.studio/public/validation/v-a3e/details?mode=charts) | |
| | Nano | NXP i.MX 95 + eIQ Neutron NPU (Verdin) — latency | 49.77% | -0.72 | 35.10% | 14.78 | 41.93 | 57.4 | ~62 | [v-e23](https://edgefirst.studio/public/validation/v-e23/details?mode=charts) | |
| | Nano | NXP i.MX 95 + eIQ Neutron NPU (Verdin) — throughput | 49.78% | -0.71 | 35.10% | 91.09 | 129.24 | 74.0 | ~47 | [v-e0a](https://edgefirst.studio/public/validation/v-e0a/details?mode=charts) | |
| | Nano | NXP Ara240 (FRDM) — latency | 46.63% | -3.86 | 32.13% | 6.46 | 18.54 | 127.9 | ~131 | [v-a12](https://edgefirst.studio/public/validation/v-a12/details?mode=charts) | |
| | Nano | NXP Ara240 (FRDM) — throughput | 46.63% | -3.86 | 32.13% | 6.87 | 49.38 | 210.8 | ~298 | [v-a13](https://edgefirst.studio/public/validation/v-a13/details?mode=charts) | |
| | Nano | Raspberry Pi 5 + Hailo-8L NPU | 49.80% | -0.69 | 35.22% | 13.20 | 24.86 | 64.9 | ~65 | [v-8df](https://edgefirst.studio/public/validation/v-8df/details?mode=charts) | |
| | Nano | NVIDIA Jetson Orin Nano (TensorRT FP16) | 50.50% | +0.01 | 35.79% | 11.93 | 26.90 | 259.7 | ~259 | [v-91a](https://edgefirst.studio/public/validation/v-91a/details?mode=charts) | |
| | Small | ONNX FP32 (Intel Core i9-13900F · 32-core) | 59.40% | +0.00 | 43.22% | 94.66 | 106.27 | 29.8 | ~30 | [v-a4d](https://edgefirst.studio/public/validation/v-a4d/details?mode=charts) | |
| | Small | ONNX FP32 (CUDA) | 59.40% | ref | 43.22% | 15.48 | 20.84 | 204.5 | ~204 | [v-a8f](https://edgefirst.studio/public/validation/v-a8f/details?mode=charts) | |
| | Small | ONNX FP16 (CUDA) | 59.37% | -0.03 | 43.19% | 10.64 | 16.31 | 299.3 | ~299 | [v-aa4](https://edgefirst.studio/public/validation/v-aa4/details?mode=charts) | |
| | Small | ONNX FP32 | 59.37% | -0.03 | 43.18% | 73.55 | 83.57 | 54.0 | ~14 | [v-cda](https://edgefirst.studio/public/validation/v-cda/details?mode=charts) | |
| | Small | Apple M2 Max — CoreML Neural Engine (FP16) | 58.80% | -0.60 | 42.78% | 5.01 | 8.46 | 342.6 | ~344 | [v-9ed](https://edgefirst.studio/public/validation/v-9ed/details?mode=charts) | |
| | Small | Apple M2 Max — CoreML Metal GPU (FP16) | 58.82% | -0.58 | 42.73% | 15.93 | 19.52 | 178.9 | ~179 | [v-9ee](https://edgefirst.studio/public/validation/v-9ee/details?mode=charts) | |
| | Small | Apple M2 Max — CoreML CPU (FP16) | 58.83% | -0.57 | 42.70% | 32.00 | 36.09 | 60.1 | ~60 | [v-9ef](https://edgefirst.studio/public/validation/v-9ef/details?mode=charts) | |
| | Small | Apple iPhone 17 Pro — CoreML Neural Engine (FP16) | 58.82% | -0.58 | 42.76% | 5.69 | 9.23 | 313.2 | ~317 | [v-c4c](https://edgefirst.studio/public/validation/v-c4c/details?mode=charts) | |
| | Small | Apple iPhone 17 Pro — CoreML Metal GPU (FP16) | 58.82% | -0.58 | 42.74% | 13.01 | 16.35 | 146.7 | ~148 | [v-c60](https://edgefirst.studio/public/validation/v-c60/details?mode=charts) | |
| | Small | Apple iPhone 17 Pro — CoreML CPU (FP16) | 58.82% | -0.58 | 42.71% | 40.54 | 47.37 | 48.1 | ~48 | [v-c56](https://edgefirst.studio/public/validation/v-c56/details?mode=charts) | |
| | Small | Apple iPhone 15 Pro — CoreML Neural Engine (FP16) | 58.80% | -0.60 | 42.77% | 6.71 | 12.09 | 258.3 | ~262 | [v-c17](https://edgefirst.studio/public/validation/v-c17/details?mode=charts) | |
| | Small | Apple iPhone 15 Pro — CoreML Metal GPU (FP16) | 58.82% | -0.58 | 42.75% | 41.43 | 51.76 | 45.8 | ~46 | [v-c2b](https://edgefirst.studio/public/validation/v-c2b/details?mode=charts) | |
| | Small | Apple iPhone 15 Pro — CoreML CPU (FP16) | 58.82% | -0.58 | 42.72% | 46.62 | 55.71 | 41.6 | ~42 | [v-c21](https://edgefirst.studio/public/validation/v-c21/details?mode=charts) | |
| | Small | NXP i.MX 8M Plus + VeriSilicon NPU (FRDM) | 58.80% | -0.60 | 42.45% | 116.71 | 168.28 | 7.8 | ~8 | [v-93f](https://edgefirst.studio/public/validation/v-93f/details?mode=charts) | |
| | Small | NXP i.MX 8M Plus + VeriSilicon NPU (Verdin) — latency | 55.89% | -3.51 | 38.36% | 123.80 | 166.17 | 7.4 | ~8 | [v-c8d](https://edgefirst.studio/public/validation/v-c8d/details?mode=charts) | |
| | Small | NXP i.MX 8M Plus + VeriSilicon NPU (Verdin) — throughput | 58.80% | -0.60 | 42.45% | 118.00 | 188.67 | 7.8 | ~8 | [v-c8c](https://edgefirst.studio/public/validation/v-c8c/details?mode=charts) | |
| | Small | NXP i.MX 95 + eIQ Neutron NPU — latency | 59.43% | +0.03 | 42.91% | 38.31 | 72.47 | 25.1 | ~25 | [v-e3b](https://edgefirst.studio/public/validation/v-e3b/details?mode=charts) | |
| | Small | NXP i.MX 95 + eIQ Neutron NPU — throughput | 59.42% | +0.02 | 42.91% | 290.23 | 323.56 | 27.3 | ~27 | [v-e3c](https://edgefirst.studio/public/validation/v-e3c/details?mode=charts) | |
| | Small | NXP i.MX 95 + eIQ Neutron NPU (FRDM) — latency | 58.62% | -0.78 | 42.29% | 39.46 | 74.22 | 23.4 | ~24 | [v-902](https://edgefirst.studio/public/validation/v-902/details?mode=charts) | |
| | Small | NXP i.MX 95 + eIQ Neutron NPU (FRDM) — throughput | 58.62% | -0.78 | 42.29% | 146.86 | 182.46 | 26.4 | ~26 | [v-903](https://edgefirst.studio/public/validation/v-903/details?mode=charts) | |
| | Small | NXP i.MX 95 + eIQ Neutron NPU (Phytec) — throughput | 58.62% | -0.78 | 42.29% | 141.60 | 174.37 | 27.4 | ~27 | [v-8f3](https://edgefirst.studio/public/validation/v-8f3/details?mode=charts) | |
| | Small | NXP i.MX 95 + eIQ Neutron NPU (Verdin) — latency | 59.42% | +0.02 | 42.91% | 38.45 | 73.13 | 25.0 | ~25 | [v-e24](https://edgefirst.studio/public/validation/v-e24/details?mode=charts) | |
| | Small | NXP i.MX 95 + eIQ Neutron NPU (Verdin) — throughput | 59.43% | +0.03 | 42.90% | 294.17 | 329.36 | 26.9 | ~27 | [v-e11](https://edgefirst.studio/public/validation/v-e11/details?mode=charts) | |
| | Small | NXP Ara240 (FRDM) — latency | 56.72% | -2.68 | 39.83% | 10.12 | 22.27 | 87.4 | ~88 | [v-a20](https://edgefirst.studio/public/validation/v-a20/details?mode=charts) | |
| | Small | NXP Ara240 (FRDM) — throughput | 56.70% | -2.70 | 39.81% | 10.27 | 24.17 | 142.4 | ~142 | [v-a21](https://edgefirst.studio/public/validation/v-a21/details?mode=charts) | |
| | Small | Raspberry Pi 5 + Hailo-8L NPU | 58.52% | -0.88 | 42.34% | 30.36 | 45.07 | 28.8 | ~29 | [v-8ec](https://edgefirst.studio/public/validation/v-8ec/details?mode=charts) | |
| | Small | NVIDIA Jetson Orin Nano (TensorRT FP16) | 59.38% | -0.02 | 43.15% | 24.62 | 37.12 | 157.5 | ~157 | [v-922](https://edgefirst.studio/public/validation/v-922/details?mode=charts) | |
| | Medium | ONNX FP32 (Intel Core i9-13900F · 32-core) | 64.68% | +0.00 | 48.44% | 243.22 | 255.15 | 11.8 | ~12 | [v-a54](https://edgefirst.studio/public/validation/v-a54/details?mode=charts) | |
| | Medium | ONNX FP32 (CUDA) | 64.68% | ref | 48.45% | 43.49 | 49.46 | 78.5 | ~78 | [v-a96](https://edgefirst.studio/public/validation/v-a96/details?mode=charts) | |
| | Medium | ONNX FP16 (CUDA) | 64.68% | +0.00 | 48.40% | 23.13 | 29.44 | 147.7 | ~148 | [v-aab](https://edgefirst.studio/public/validation/v-aab/details?mode=charts) | |
| | Medium | ONNX FP32 | 64.70% | +0.02 | 48.46% | 258.20 | 265.50 | 3.9 | ~4 | [v-cdb](https://edgefirst.studio/public/validation/v-cdb/details?mode=charts) | |
| | Medium | Apple M2 Max — CoreML Neural Engine (FP16) | 63.82% | -0.86 | 47.68% | 13.41 | 17.27 | 140.9 | ~142 | [v-75e](https://edgefirst.studio/public/validation/v-75e/details?mode=charts) | |
| | Medium | Apple M2 Max — CoreML Metal GPU (FP16) | 63.82% | -0.86 | 47.70% | 37.93 | 42.15 | 77.0 | ~77 | [v-768](https://edgefirst.studio/public/validation/v-768/details?mode=charts) | |
| | Medium | Apple M2 Max — CoreML CPU (FP16) | 63.87% | -0.81 | 47.68% | 61.61 | 65.71 | 31.8 | ~32 | [v-9dd](https://edgefirst.studio/public/validation/v-9dd/details?mode=charts) | |
| | Medium | Apple iPhone 17 Pro — CoreML Neural Engine (FP16) | 63.82% | -0.86 | 47.68% | 13.44 | 17.08 | 141.3 | ~142 | [v-c4b](https://edgefirst.studio/public/validation/v-c4b/details?mode=charts) | |
| | Medium | Apple iPhone 17 Pro — CoreML Metal GPU (FP16) | 63.81% | -0.87 | 47.69% | 32.89 | 41.87 | 58.3 | ~59 | [v-c5f](https://edgefirst.studio/public/validation/v-c5f/details?mode=charts) | |
| | Medium | Apple iPhone 17 Pro — CoreML CPU (FP16) | 63.85% | -0.83 | 47.67% | 111.28 | 119.26 | 17.7 | ~18 | [v-c55](https://edgefirst.studio/public/validation/v-c55/details?mode=charts) | |
| | Medium | Apple iPhone 15 Pro — CoreML Neural Engine (FP16) | 63.82% | -0.86 | 47.69% | 17.16 | 22.13 | 110.2 | ~111 | [v-c16](https://edgefirst.studio/public/validation/v-c16/details?mode=charts) | |
| | Medium | Apple iPhone 15 Pro — CoreML Metal GPU (FP16) | 63.82% | -0.86 | 47.69% | 120.58 | 136.21 | 16.1 | ~16 | [v-c2a](https://edgefirst.studio/public/validation/v-c2a/details?mode=charts) | |
| | Medium | Apple iPhone 15 Pro — CoreML CPU (FP16) | 63.84% | -0.84 | 47.66% | 123.01 | 132.76 | 16.0 | ~16 | [v-c20](https://edgefirst.studio/public/validation/v-c20/details?mode=charts) | |
| | Medium | NXP i.MX 8M Plus + VeriSilicon NPU (FRDM) | 63.49% | -1.19 | 47.22% | 222.33 | 274.39 | 4.3 | ~4 | [v-983](https://edgefirst.studio/public/validation/v-983/details?mode=charts) | |
| | Medium | NXP i.MX 8M Plus + VeriSilicon NPU (Verdin) — latency | 60.40% | -4.28 | 42.66% | 230.67 | 273.06 | 4.1 | ~4 | [v-c9f](https://edgefirst.studio/public/validation/v-c9f/details?mode=charts) | |
| | Medium | NXP i.MX 8M Plus + VeriSilicon NPU (Verdin) — throughput | 63.49% | -1.19 | 47.22% | 224.40 | 295.86 | 4.2 | ~4 | [v-c9e](https://edgefirst.studio/public/validation/v-c9e/details?mode=charts) | |
| | Medium | NXP i.MX 95 + eIQ Neutron NPU — latency | 64.80% | +0.12 | 48.18% | 100.84 | 147.61 | 9.8 | ~10 | [v-e40](https://edgefirst.studio/public/validation/v-e40/details?mode=charts) | |
| | Medium | NXP i.MX 95 + eIQ Neutron NPU — throughput | 64.80% | +0.12 | 48.18% | 793.68 | 838.46 | 10.0 | ~10 | [v-e41](https://edgefirst.studio/public/validation/v-e41/details?mode=charts) | |
| | Medium | NXP i.MX 95 + eIQ Neutron NPU (FRDM) — latency | 63.51% | -1.17 | 47.11% | 101.26 | 135.73 | 9.5 | ~10 | [v-974](https://edgefirst.studio/public/validation/v-974/details?mode=charts) | |
| | Medium | NXP i.MX 95 + eIQ Neutron NPU (FRDM) — throughput | 63.51% | -1.17 | 47.11% | 393.79 | 429.57 | 10.0 | ~10 | [v-976](https://edgefirst.studio/public/validation/v-976/details?mode=charts) | |
| | Medium | NXP i.MX 95 + eIQ Neutron NPU (Phytec) — throughput | 63.51% | -1.17 | 47.11% | 387.27 | 419.61 | 10.2 | ~10 | [v-94f](https://edgefirst.studio/public/validation/v-94f/details?mode=charts) | |
| | Medium | NXP i.MX 95 + eIQ Neutron NPU (Verdin) — latency | 64.80% | +0.12 | 48.19% | 100.09 | 147.50 | 9.9 | ~10 | [v-e25](https://edgefirst.studio/public/validation/v-e25/details?mode=charts) | |
| | Medium | NXP i.MX 95 + eIQ Neutron NPU (Verdin) — throughput | 64.79% | +0.11 | 48.18% | 784.87 | 832.59 | 10.2 | ~10 | [v-e18](https://edgefirst.studio/public/validation/v-e18/details?mode=charts) | |
| | Medium | NXP Ara240 (FRDM) — latency | 60.01% | -4.67 | 42.67% | 21.57 | 33.60 | 43.8 | ~44 | [v-a2e](https://edgefirst.studio/public/validation/v-a2e/details?mode=charts) | |
| | Medium | NXP Ara240 (FRDM) — throughput | 59.99% | -4.69 | 42.66% | 21.56 | 34.45 | 54.1 | ~54 | [v-a2f](https://edgefirst.studio/public/validation/v-a2f/details?mode=charts) | |
| | Medium | Raspberry Pi 5 + Hailo-8L NPU | 63.88% | -0.80 | 47.67% | 56.26 | 71.51 | 16.9 | ~17 | [v-90a](https://edgefirst.studio/public/validation/v-90a/details?mode=charts) | |
| | Medium | NVIDIA Jetson Orin Nano (TensorRT FP16) | 64.67% | -0.01 | 48.41% | 52.44 | 64.24 | 75.3 | ~75 | [v-92b](https://edgefirst.studio/public/validation/v-92b/details?mode=charts) | |
|
|
|
|
|
|
| --- |
|
|
| ## Validation pipeline |
|
|
| These results are produced by the EdgeFirst on-target validation pipeline: |
|
|
| 1. **EdgeFirst Profiler** runs on the target hardware, executes the full inference pipeline (image load → decode → preprocess → inference → postprocess), and emits per-image predictions in EdgeFirst Arrow/Parquet plus a Perfetto trace. |
| 2. **EdgeFirst Validator** consumes the predictions and trace, computes `pycocotools` accuracy metrics and per-stage timing summaries, and publishes the results to the Studio validation session. |
| 3. **EdgeFirst HAL** ([open source](https://github.com/EdgeFirstAI/hal)) provides the hardware-accelerated preprocessing and post-decoding primitives used at both validation and deployment time, so the timings measured here reflect the same accelerated paths a production runtime would take. |
|
|
| Inference latency is reported as the on-accelerator inference time. End-to-end latency is the sequential per-image latency across the compute pipeline — preprocessing, inference, and postprocessing; image acquisition (file or camera load and JPEG decode) overlaps these stages and is excluded from this figure. |
|
|
| Two throughput figures are reported. **Realized FPS** is the *measured* steady-state rate at which final results are emitted, measured directly from the profiler's per-frame result-emission timestamps over the steady-state stream — trace-independent; the Perfetto trace's own FPS is used only as a fallback on sessions where that scalar isn't available. It is the true, priority number and generally exceeds `1000 / end-to-end` because the runtime overlaps stages across frames. **Core-throughput ceiling (FPS)** is the accelerator's **core** ceiling — `1000 / device-compute-time`, i.e. the throughput if the accelerator were the *only* bottleneck. It is taken from the isolated device-compute stage (on transfer-split runtimes the trace separates host↔device transfers from device compute), which is load-independent — unlike the host capture/preprocess service times, whose measured cost inflates under pipeline backpressure (the same 5000 JPEGs cost ~7.8 ms/frame serialized but far more under throughput backpressure), so the slowest-stage figure would *understate* a fast accelerator. It is a possibly-achievable ceiling, not a measured result: reaching it depends on the deployment pipeline. A validation run decodes a JPEG per image and evaluates at a `0.001` confidence threshold (to capture every detection for mAP), both of which load the host and postprocess stages; a production camera pipeline (no JPEG decode) at a deployment threshold of `0.25–0.75` (far fewer candidate boxes through NMS) moves realized throughput toward the core-throughput ceiling. |
|
|
| See [EdgeFirst Studio](https://edgefirst.studio) for the full validation pipeline. |
|
|
| --- |
|
|
| ## Downloads |
|
|
| Artifacts are organized by deployment target. Each model file embeds the EdgeFirst `edgefirst.json` metadata (training session, dataset version, calibration artifact, converter chain) so a single file is sufficient for deployment — no sidecar configuration required. |
|
|
| Browse and download every artifact from the **[repository file tree](https://huggingface.co/EdgeFirst/yolov8-det/tree/main)**. Files are organized into per-target folders and follow the naming convention `yolov8{size}-det-{precision}[-smart]{extension}`: |
|
|
| | Target | Folder | Format | |
| |--------|--------|--------| |
| | ONNX FP32 | `onnx/` | `.onnx` | |
| | TFLite INT8 | `tflite/` | `.tflite` | |
| | NXP i.MX 95 (eIQ Neutron) | `imx95/` | `.imx95.tflite` | |
| | NXP Ara240 | `ara240/` | `.dvm` | |
| | RPi5 + Hailo-8L (13 TOPS) | `hailo/` | `.hailo8l.hef` | |
| | NVIDIA Jetson (TensorRT) | `jetson/` | `.engine` | |
|
|
| Each file embeds its `edgefirst.json` metadata (training session, dataset version, calibration artifact, converter chain), so a single download is sufficient for deployment — no sidecar configuration required. |
|
|
| --- |
|
|
| ## Inference example (Python) |
|
|
| ```python |
| from edgefirst.hal import Model, TensorImage |
| |
| # Load the model — embedded edgefirst.json carries labels and decoder config |
| model = Model("yolov8n-det-int8.tflite") |
| |
| # Run inference on an image |
| image = TensorImage.from_file("image.jpg") |
| results = model.predict(image) |
| |
| # Iterate detections |
| for det in results.detections: |
| print(f"{det.label}: {det.confidence:.2f} at {det.bbox}") |
| ``` |
|
|
| [EdgeFirst HAL](https://github.com/EdgeFirstAI/hal) — Hardware abstraction layer with accelerated inference delegates. |
| --- |
|
|
| ## Traceability |
|
|
| Every measurement in the tables above is reachable through the EdgeFirst Studio validation framework. The `v-XXXX` Source link on each row resolves to a public Studio URL of the form: |
|
|
| ``` |
| https://edgefirst.studio/public/validation/v-XXXX/details?mode=charts |
| ``` |
|
|
| The link lands on the **Charts** view — live system traces (CPU, memory, temperature, power) and per-stage timing recorded during the validation run. The Info and Metrics tabs on the same page carry the configuration and full COCO metric breakdown. |
|
|
| From there, the full provenance chain is one click deeper: training session ID, dataset version, calibration artifact, converter chain (e.g. TFLite quantizer + Neutron compile), validation parameters, and the host hardware description (hostname, kernel version, SoC, NPU, profiler version). The same model file you download from this repository embeds the same chain in its `edgefirst.json` metadata. |
|
|
| --- |
|
|
| ## See also |
|
|
| Other model families in the [EdgeFirst Model Zoo](https://huggingface.co/spaces/EdgeFirst/Models): |
|
|
| | Model | Task | Link | |
| |-------|------|------| |
| | YOLOv5 Detection | Detection | [EdgeFirst/yolov5-det](https://huggingface.co/EdgeFirst/yolov5-det) | |
| | YOLOv8 Segmentation | Segmentation | [EdgeFirst/yolov8-seg](https://huggingface.co/EdgeFirst/yolov8-seg) | |
| | YOLO11 Detection | Detection | [EdgeFirst/yolo11-det](https://huggingface.co/EdgeFirst/yolo11-det) | |
| | YOLO11 Segmentation | Segmentation | [EdgeFirst/yolo11-seg](https://huggingface.co/EdgeFirst/yolo11-seg) | |
| | YOLO26 Detection | Detection | [EdgeFirst/yolo26-det](https://huggingface.co/EdgeFirst/yolo26-det) | |
| | YOLO26 Segmentation | Segmentation | [EdgeFirst/yolo26-seg](https://huggingface.co/EdgeFirst/yolo26-seg) | |
|
|
| --- |
|
|
| ## Train your own with EdgeFirst Studio |
|
|
| Train on your own dataset with [**EdgeFirst Studio**](https://edgefirst.studio): |
|
|
| - Free tier includes YOLO training with automatic INT8 quantization and edge deployment. |
| - Upload datasets via [EdgeFirst Recorder](https://github.com/EdgeFirstAI/recorder) or COCO/YOLO format. |
| - AI-assisted annotation with auto-labeling. |
| - CameraAdaptor integration for native sensor format training. |
| - Deploy trained models to edge devices via [EdgeFirst Client](https://github.com/EdgeFirstAI/client). |
|
|
| --- |
|
|
| ## Technical notes |
|
|
| ### Quantization pipeline |
|
|
| All TFLite INT8 models are produced by EdgeFirst's quantization pipeline ([details](https://github.com/EdgeFirstAI/studio-ultralytics)): |
|
|
| 1. **ONNX export** — standard Ultralytics export with `simplify=True` |
| 2. **TF-wrapped ONNX** — box coordinates normalized to `[0, 1]` inside DFL decode |
| 3. **Split decoder** — boxes and scores split into separate output tensors so each receives an independent INT8 quantization scale |
| 4. **Smart calibration** — calibration samples selected via greedy coverage maximization; the artifact is content-addressed by parameter hash and cached in Studio for deterministic reuse |
| 5. **Full integer INT8** — `uint8` input, `int8` output, MLIR quantizer |
|
|
| ### Split decoder output format |
|
|
| **Detection** (e.g. yolov8n): |
|
|
| - `boxes` — `(1, 4, 8400)` normalized `[0, 1]` coordinates |
| - `scores` — `(1, 80, 8400)` per-class probabilities |
|
|
| Each tensor has its own quantization scale and zero point. The EdgeFirst HAL handles dequantization and reassembly automatically; no application code change is required across NPU targets. |
|
|
| ### Embedded metadata |
|
|
| - **TFLite**: `edgefirst.json` and `labels.txt` embedded in the ZIP-format model file |
| - **ONNX**: `edgefirst.json` embedded in `model.metadata_props` |
|
|
| No sidecar files required; the model artifact is self-contained. |
|
|
| --- |
|
|
| ## Limitations |
|
|
| - **COCO bias** — models trained on COCO (80 classes) inherit the dataset's biases (Western-centric scenes, particular object distributions, limited weather/lighting diversity). |
| - **Quantization loss** — integer quantization introduces accuracy loss relative to FP32: INT8 on the NXP i.MX 8M Plus / i.MX 95 Neutron and Hailo NPUs, and a mixed INT8/INT16 scheme on the NXP Ara240 (the box-regression path is promoted to INT16 for localization accuracy). The magnitude per platform is shown in the *Δ vs FP32* column above. |
| - **Configurations under active investigation** — a subset of INT8 results measure below expectations and are marked ⚠above; these are tracked for resolution, not accepted as final. The main cases are YOLO11 / YOLO26 on the NXP i.MX 8M Plus VeriSilicon NPU (the most constrained accelerator, where the newer architectures quantize poorly) and some NXP Ara240 segmentation runs. YOLO11 / YOLO26 on the NXP i.MX 95 eIQ Neutron NPU are not yet supported (a delegate limitation) and render without numbers. Each next card snapshot reflects any recovered accuracy. |
| - **Input resolution** — all models expect 640×640 input; other resolutions require letterboxing. |
|
|
| --- |
|
|
| ## License |
|
|
| Model **weights** in this repository are derived from [Ultralytics](https://github.com/ultralytics/ultralytics) YOLO and remain © Ultralytics Inc., licensed **AGPL-3.0** — use requires AGPL-3.0 compliance or an Ultralytics Enterprise License. |
|
|
| The **validation results, this model card, and its metadata** are Au-Zone Technologies' own contribution, licensed **[CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/)** (Attribution — NonCommercial) — see the repository `LICENSE` for the full text and citation requirements. |
|
|
| --- |
|
|
| ## Citation |
|
|
| ```bibtex |
| @software{edgefirst_yolov8_det, |
| title = { {YOLOv8 Detection — EdgeFirst Model Zoo} }, |
| author = {Au-Zone Technologies}, |
| url = {https://huggingface.co/EdgeFirst/yolov8-det}, |
| year = {2026}, |
| license = {CC-BY-NC-4.0}, |
| } |
| ``` |
|
|
| --- |
|
|
| <p align="center"> |
| <sub> |
| <a href="https://edgefirst.studio">EdgeFirst Studio</a> · <a href="https://github.com/EdgeFirstAI">GitHub</a> · <a href="https://doc.edgefirst.ai">Docs</a> · <a href="https://www.au-zone.com">Au-Zone Technologies</a><br> |
| Model weights © Ultralytics Inc. (AGPL-3.0) · Validation results & card © 2026 Au-Zone Technologies (CC BY-NC 4.0)<br> |
| NXP<sup>®</sup>, i.MX, eIQ<sup>®</sup>, Neutron, and Ara240 are trademarks or products of NXP Semiconductors. Hailo is a trademark of Hailo Technologies Ltd. Jetson is a trademark of NVIDIA Corporation. All other trademarks are the property of their respective owners. |
| </sub> |
| </p> |
| |