Upload folder using huggingface_hub
Browse files- README.md +85 -69
- index.html +441 -262
README.md
CHANGED
|
@@ -8,107 +8,123 @@ pinned: true
|
|
| 8 |
license: apache-2.0
|
| 9 |
---
|
| 10 |
|
| 11 |
-
# EdgeFirst
|
| 12 |
|
| 13 |
-
|
| 14 |
|
| 15 |
-
[
|
| 16 |
-
[](https://github.com/EdgeFirstAI)
|
| 17 |
-
[](https://doc.edgefirst.ai)
|
| 18 |
-
[](https://www.au-zone.com)
|
| 19 |
|
| 20 |
---
|
| 21 |
|
| 22 |
-
##
|
| 23 |
|
| 24 |
-
|
| 25 |
|
| 26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
|
| 28 |
-
##
|
| 29 |
|
| 30 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31 |
|
| 32 |
-
|
| 33 |
|
| 34 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 35 |
|
| 36 |
-
|
| 37 |
|
| 38 |
-
---
|
| 39 |
|
| 40 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
|
| 42 |
-
|
| 43 |
-

|
| 44 |
-

|
| 45 |
-

|
| 46 |
-

|
| 47 |
|
| 48 |
-
|
| 49 |
|
| 50 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
|
| 52 |
-
|
| 53 |
|
| 54 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 55 |
|
| 56 |
-
|
| 57 |
-
|-------|-------|-------------|------|
|
| 58 |
-
| **YOLO26** | n/s/m/l/x | 54.9% | [EdgeFirst/yolo26-det](https://huggingface.co/EdgeFirst/yolo26-det) |
|
| 59 |
-
| **YOLO11** | n/s/m/l/x | 53.4% | [EdgeFirst/yolo11-det](https://huggingface.co/EdgeFirst/yolo11-det) |
|
| 60 |
-
| **YOLOv8** | n/s/m/l/x | 50.2% | [EdgeFirst/yolov8-det](https://huggingface.co/EdgeFirst/yolov8-det) |
|
| 61 |
-
| **YOLOv5** | n/s/m/l/x | 49.6% | [EdgeFirst/yolov5-det](https://huggingface.co/EdgeFirst/yolov5-det) |
|
| 62 |
|
| 63 |
-
|
| 64 |
|
| 65 |
-
|
| 66 |
-
|-------|-------|--------------|------|
|
| 67 |
-
| **YOLO26** | n/s/m/l/x | 37.0% | [EdgeFirst/yolo26-seg](https://huggingface.co/EdgeFirst/yolo26-seg) |
|
| 68 |
-
| **YOLO11** | n/s/m/l/x | 35.5% | [EdgeFirst/yolo11-seg](https://huggingface.co/EdgeFirst/yolo11-seg) |
|
| 69 |
-
| **YOLOv8** | n/s/m/l/x | 34.1% | [EdgeFirst/yolov8-seg](https://huggingface.co/EdgeFirst/yolov8-seg) |
|
| 70 |
|
| 71 |
-
---
|
| 72 |
|
| 73 |
-
##
|
| 74 |
|
| 75 |
-
|
| 76 |
-
|-----------|---------|---------|
|
| 77 |
-
| HF Repo | `EdgeFirst/{version}-{task}` | `EdgeFirst/yolov8-det` |
|
| 78 |
-
| ONNX Model | `{version}{size}-{task}.onnx` | `yolov8n-det.onnx` |
|
| 79 |
-
| TFLite Model | `{version}{size}-{task}-int8.tflite` | `yolov8n-det-int8.tflite` |
|
| 80 |
-
| i.MX 95 TFLite | `{version}{size}-{task}.imx95.tflite` | `yolov8n-det.imx95.tflite` |
|
| 81 |
-
| i.MX 93 TFLite | `{version}{size}-{task}.imx93.tflite` | `yolov8n-det.imx93.tflite` |
|
| 82 |
-
| i.MX 943 TFLite | `{version}{size}-{task}.imx943.tflite` | `yolov8n-det.imx943.tflite` |
|
| 83 |
-
| Hailo HEF | `{version}{size}-{task}.hailo{variant}.hef` | `yolov8n-det.hailo8l.hef` |
|
| 84 |
-
| Studio Project | `{Dataset} {Task}` | `COCO Detection` |
|
| 85 |
-
| Studio Experiment | `{Version} {Task}` | `YOLOv8 Detection` |
|
| 86 |
|
| 87 |
-
##
|
|
|
|
|
|
|
| 88 |
|
| 89 |
-
|
| 90 |
-
|-------|------|-------|
|
| 91 |
-
| **Reference** | ONNX FP32 and TFLite INT8 mAP on full COCO val2017 (5000 images) | EdgeFirst Studio (cloud) |
|
| 92 |
-
| **On-Target** | Full dataset mAP + timing breakdown per device | Board farm (real hardware) |
|
| 93 |
|
| 94 |
-
|
| 95 |
|
| 96 |
-
|
| 97 |
-
|-------|-------------|
|
| 98 |
-
| **Foundation** | Hardware abstraction, video I/O, accelerated inference delegates |
|
| 99 |
-
| **Zenoh** | Modular perception pipeline over Zenoh pub/sub |
|
| 100 |
-
| **GStreamer** | Spatial perception elements for GStreamer / NNStreamer |
|
| 101 |
-
| **ROS 2** | Native ROS 2 nodes extending Zenoh microservices *(Roadmap)* |
|
| 102 |
|
| 103 |
-
|
| 104 |
|
| 105 |
-
|
|
|
|
| 106 |
|
| 107 |
-
|
| 108 |
-
- Model training with automatic multi-format export and INT8 quantization
|
| 109 |
-
- Reference and on-target validation with full metrics collection
|
| 110 |
-
- CameraAdaptor integration for native sensor format training
|
| 111 |
-
- Deploy trained models to edge devices via the [EdgeFirst Client](https://github.com/EdgeFirstAI/client) CLI
|
| 112 |
|
| 113 |
---
|
| 114 |
|
|
|
|
| 8 |
license: apache-2.0
|
| 9 |
---
|
| 10 |
|
| 11 |
+
# EdgeFirst Model Zoo
|
| 12 |
|
| 13 |
+
This Space hosts the [EdgeFirst Model Zoo](https://huggingface.co/spaces/EdgeFirst/Models) landing page. The visual interface is rendered from `index.html`.
|
| 14 |
|
| 15 |
+
Each model family lives in its own HuggingFace repo containing all size variants (nano through x-large) and platform-specific compiled formats. Models are trained and validated on [EdgeFirst Studio](https://edgefirst.studio), then published here.
|
|
|
|
|
|
|
|
|
|
| 16 |
|
| 17 |
---
|
| 18 |
|
| 19 |
+
## Model Repositories
|
| 20 |
|
| 21 |
+
### Detection
|
| 22 |
|
| 23 |
+
| Repo | Model | Sizes | Nano mAP@0.5 |
|
| 24 |
+
|------|-------|-------|-------------|
|
| 25 |
+
| [EdgeFirst/yolo26-det](https://huggingface.co/EdgeFirst/yolo26-det) | YOLO26 | n/s/m/l/x | 54.9% |
|
| 26 |
+
| [EdgeFirst/yolo11-det](https://huggingface.co/EdgeFirst/yolo11-det) | YOLO11 | n/s/m/l/x | 53.4% |
|
| 27 |
+
| [EdgeFirst/yolov8-det](https://huggingface.co/EdgeFirst/yolov8-det) | YOLOv8 | n/s/m/l/x | 50.2% |
|
| 28 |
+
| [EdgeFirst/yolov5-det](https://huggingface.co/EdgeFirst/yolov5-det) | YOLOv5 | n/s/m/l/x | 49.6% |
|
| 29 |
|
| 30 |
+
### Segmentation
|
| 31 |
|
| 32 |
+
| Repo | Model | Sizes | Nano Mask mAP |
|
| 33 |
+
|------|-------|-------|--------------|
|
| 34 |
+
| [EdgeFirst/yolo26-seg](https://huggingface.co/EdgeFirst/yolo26-seg) | YOLO26 | n/s/m/l/x | 37.0% |
|
| 35 |
+
| [EdgeFirst/yolo11-seg](https://huggingface.co/EdgeFirst/yolo11-seg) | YOLO11 | n/s/m/l/x | 35.5% |
|
| 36 |
+
| [EdgeFirst/yolov8-seg](https://huggingface.co/EdgeFirst/yolov8-seg) | YOLOv8 | n/s/m/l/x | 34.1% |
|
| 37 |
|
| 38 |
+
---
|
| 39 |
|
| 40 |
+
## Repo Structure
|
| 41 |
+
|
| 42 |
+
Each model repo follows a consistent layout with platform folders:
|
| 43 |
+
|
| 44 |
+
```
|
| 45 |
+
EdgeFirst/yolov8-det/
|
| 46 |
+
βββ README.md # Model card
|
| 47 |
+
βββ onnx/
|
| 48 |
+
β βββ yolov8n-det-fp32.onnx
|
| 49 |
+
β βββ ...
|
| 50 |
+
βββ tflite/
|
| 51 |
+
β βββ yolov8n-det-int8.tflite # Default (logical split-decoder)
|
| 52 |
+
β βββ yolov8n-det-int8-smart.tflite # Smart variant
|
| 53 |
+
β βββ ...
|
| 54 |
+
βββ imx95/
|
| 55 |
+
β βββ yolov8n-det-int8.imx95.tflite
|
| 56 |
+
β βββ ...
|
| 57 |
+
βββ hailo/
|
| 58 |
+
β βββ yolov8n-det-int8.hailo8l.hef
|
| 59 |
+
β βββ ...
|
| 60 |
+
βββ jetson/
|
| 61 |
+
βββ yolov8n-det-fp16.orin-nano.engine
|
| 62 |
+
βββ ...
|
| 63 |
+
```
|
| 64 |
|
| 65 |
+
## Naming Convention
|
| 66 |
|
| 67 |
+
**Pattern**: `{version}{size}-{task}-{precision}[-{variant}][.{platform}].{ext}`
|
| 68 |
|
| 69 |
+
| Component | Description | Examples |
|
| 70 |
+
|-----------|-------------|---------|
|
| 71 |
+
| `{version}{size}` | Model family + variant | `yolov8n`, `yolo11s`, `dfine-n` |
|
| 72 |
+
| `-{task}` | Task suffix | `-det`, `-seg`, `-semseg`, `-depth` |
|
| 73 |
+
| `-{precision}` | Weight precision | `-fp32`, `-fp16`, `-int8` |
|
| 74 |
+
| `-{variant}` | Decoder variant (optional) | `-smart` |
|
| 75 |
+
| `.{platform}` | Deployment target (optional) | `.imx95`, `.ara240`, `.hailo8l`, `.orin-nano` |
|
| 76 |
+
| `.{ext}` | File format | `.onnx`, `.tflite`, `.dvm`, `.hef`, `.engine` |
|
| 77 |
|
| 78 |
+
**Decoder variants**: No suffix = default for that format (logical split-decoder for INT8, combined for ONNX/float). `-smart` = multi-scale split-decoder offering better accuracy at higher compute cost.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 79 |
|
| 80 |
+
**Examples:**
|
| 81 |
|
| 82 |
+
| Description | Filename |
|
| 83 |
+
|-------------|----------|
|
| 84 |
+
| ONNX FP32 (reference) | `yolov8n-det-fp32.onnx` |
|
| 85 |
+
| Generic INT8 TFLite | `yolov8n-det-int8.tflite` |
|
| 86 |
+
| Smart variant TFLite | `yolov8n-det-int8-smart.tflite` |
|
| 87 |
+
| i.MX 95 TFLite | `yolov8n-det-int8.imx95.tflite` |
|
| 88 |
+
| Smart i.MX 95 | `yolov8n-seg-int8-smart.imx95.tflite` |
|
| 89 |
+
| Hailo-8L HEF | `yolov8n-det-int8.hailo8l.hef` |
|
| 90 |
+
| Jetson TensorRT FP16 | `yolov8n-det-fp16.orin-nano.engine` |
|
| 91 |
|
| 92 |
+
## Supported Hardware
|
| 93 |
|
| 94 |
+
- **NXP i.MX 8M Plus** β 2.3 TOPS, TFLite INT8
|
| 95 |
+
- **NXP i.MX 95** β 2.0 TOPS, eIQ Neutron TFLite
|
| 96 |
+
- **NXP Ara240** β 40 eTOPS, Kinara DVM
|
| 97 |
+
- **RPi5 + Hailo-8/8L** β 13β26 TOPS, HailoRT HEF
|
| 98 |
+
- **NVIDIA Jetson Orin** β 67β157 TOPS, TensorRT
|
| 99 |
|
| 100 |
+
## Validation Pipeline
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 101 |
|
| 102 |
+
Every artifact in the Model Zoo is measured on the same dataset on the same hardware users deploy on. Accuracy numbers and per-stage timing are produced by the same pipeline that runs the deployed model β there is no "benchmark configuration" separate from production.
|
| 103 |
|
| 104 |
+
### End-to-end flow
|
|
|
|
|
|
|
|
|
|
|
|
|
| 105 |
|
| 106 |
+
Each training session produces a single set of weights in [EdgeFirst Studio](https://edgefirst.studio). The export pipeline emits ONNX FP32, INT8 TFLite, and platform-specific compiled formats (i.MX 95 Neutron, NXP Ara-240 DVM, Hailo HEF, Jetson TensorRT). Every output is paired with an on-target validation that captures both accuracy (COCO mAP) and full-pipeline timing. The ONNX FP32 run from each training session is the reference baseline; quantization and runtime loss are measured relative to it.
|
| 107 |
|
| 108 |
+
### EdgeFirst Profiler
|
| 109 |
|
| 110 |
+
The on-target validation agent. Given a model and dataset, it runs full inference on the target device, captures per-image predictions in EdgeFirst Arrow/Parquet, and emits a Perfetto trace alongside. Loads each runtime through its native delegate β VX Delegate on i.MX 8M Plus, eIQ Neutron on i.MX 95, Kinara SDK on Ara-240, HailoRT on RPi5 + Hailo, TensorRT on Jetson β so timing reflects deployed-application reality.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 111 |
|
| 112 |
+
### EdgeFirst Validator
|
| 113 |
+
|
| 114 |
+
The off-target post-processor. Consumes predictions + Perfetto trace, computes the 12-metric COCO accuracy tuple via `pycocotools` (or `lvis-api` for large-vocabulary datasets), and rebuilds per-stage timing summaries from the trace. Results attach to the Studio validation session as a structured YAML payload β the same payload this Model Zoo reads.
|
| 115 |
|
| 116 |
+
### EdgeFirst HAL
|
|
|
|
|
|
|
|
|
|
| 117 |
|
| 118 |
+
The [EdgeFirst Hardware Abstraction Layer](https://github.com/EdgeFirstAI/hal) provides hardware-accelerated primitives used at both validation and deployment time: letterbox resize, color-space conversion, normalization, layout conversion, YOLO/ModelPack post-decode, NMS. HAL automatically selects DMA-BUF, OpenGL ES, NXP G2D, or CPU paths depending on the platform. Apache 2.0; Rust + Python + C surfaces.
|
| 119 |
|
| 120 |
+
### Latency and pipelined throughput
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 121 |
|
| 122 |
+
Two timing surfaces per validation:
|
| 123 |
|
| 124 |
+
- **`timing.inline`** β per-image `preprocess_ms` / `inference_ms` / `postprocess_ms` with min / mean / median / p95 / p99 / max. The universal contract every producer fills.
|
| 125 |
+
- **`timing.trace`** β full per-stage breakdown from the Perfetto trace (typically 25β33 stages), plus end-to-end FPS distribution.
|
| 126 |
|
| 127 |
+
Throughput exceeds the sum of stage latencies because the runtime pipelines I/O, preprocessing, NPU inference, and decode across frames. The Model Zoo headlines `trace.fps.median` as the throughput number, not the derived `1000 / (preprocess + inference + postprocess)`. Example: YOLOv5n on i.MX 95 Neutron has per-stage means 21.7 + 12.2 + 15.8 ms (naive β 20 FPS) but pipelined throughput of 56 FPS median.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 128 |
|
| 129 |
---
|
| 130 |
|
index.html
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
<head>
|
| 4 |
<meta charset="UTF-8">
|
| 5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
-
<title>EdgeFirst AI β
|
| 7 |
<base target="_blank">
|
| 8 |
<link rel="preconnect" href="https://fonts.googleapis.com">
|
| 9 |
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
@@ -40,6 +40,7 @@
|
|
| 40 |
}
|
| 41 |
}
|
| 42 |
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
|
|
| 43 |
body {
|
| 44 |
font-family: 'Crimson Text', Georgia, serif;
|
| 45 |
background: var(--bg);
|
|
@@ -47,8 +48,8 @@
|
|
| 47 |
line-height: 1.7;
|
| 48 |
font-size: 16px;
|
| 49 |
}
|
| 50 |
-
.container { max-width:
|
| 51 |
-
h1, h2, h3 {
|
| 52 |
font-family: 'Barlow', -apple-system, sans-serif;
|
| 53 |
color: var(--heading);
|
| 54 |
line-height: 1.3;
|
|
@@ -62,6 +63,16 @@
|
|
| 62 |
margin-top: 2.5rem; margin-bottom: 0.75rem;
|
| 63 |
padding-bottom: 0.35rem; border-bottom: 2px solid var(--gold);
|
| 64 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
.tagline {
|
| 66 |
font-family: 'Barlow', sans-serif; font-weight: 500;
|
| 67 |
letter-spacing: 0.12em; text-transform: uppercase;
|
|
@@ -71,72 +82,67 @@
|
|
| 71 |
a { color: var(--link); text-decoration: none; }
|
| 72 |
a:hover { text-decoration: underline; color: var(--navy); }
|
| 73 |
@media (prefers-color-scheme: dark) { a:hover { color: var(--gold); } }
|
| 74 |
-
|
| 75 |
-
.
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
|
|
|
| 80 |
margin: 1.5rem 0;
|
| 81 |
-
|
| 82 |
}
|
| 83 |
-
.
|
| 84 |
-
|
| 85 |
-
|
|
|
|
| 86 |
}
|
| 87 |
-
|
| 88 |
-
.
|
| 89 |
-
|
| 90 |
-
border-collapse: collapse;
|
| 91 |
-
margin: 0.75rem 0;
|
| 92 |
font-family: 'Barlow', sans-serif;
|
| 93 |
-
font-size: 0.
|
|
|
|
| 94 |
}
|
| 95 |
-
.
|
| 96 |
-
|
| 97 |
-
padding: 0.4rem 0.6rem;
|
| 98 |
-
font-weight: 600;
|
| 99 |
-
font-size: 0.8rem;
|
| 100 |
-
text-transform: uppercase;
|
| 101 |
-
letter-spacing: 0.04em;
|
| 102 |
-
color: var(--text-muted);
|
| 103 |
-
border-bottom: 2px solid var(--border);
|
| 104 |
-
}
|
| 105 |
-
.naming-table td {
|
| 106 |
-
padding: 0.35rem 0.6rem;
|
| 107 |
-
border-bottom: 1px solid var(--border);
|
| 108 |
-
font-family: 'JetBrains Mono', monospace;
|
| 109 |
-
font-size: 0.82rem;
|
| 110 |
-
}
|
| 111 |
-
.naming-table td:first-child {
|
| 112 |
font-family: 'Barlow', sans-serif;
|
| 113 |
-
font-
|
| 114 |
-
|
| 115 |
}
|
| 116 |
-
/*
|
| 117 |
-
.
|
| 118 |
-
|
| 119 |
-
|
| 120 |
-
|
|
|
|
| 121 |
font-family: 'Barlow', sans-serif;
|
| 122 |
-
font-size: 0.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 123 |
}
|
| 124 |
-
.
|
| 125 |
-
|
| 126 |
-
|
| 127 |
-
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
border-bottom: 2px solid var(--border);
|
| 131 |
}
|
| 132 |
-
.
|
| 133 |
-
|
| 134 |
-
|
|
|
|
|
|
|
|
|
|
| 135 |
}
|
| 136 |
-
.
|
| 137 |
-
font-
|
| 138 |
-
|
| 139 |
-
|
|
|
|
|
|
|
| 140 |
}
|
| 141 |
.roadmap-tag {
|
| 142 |
font-family: 'Barlow', sans-serif;
|
|
@@ -154,120 +160,93 @@
|
|
| 154 |
vertical-align: middle; margin-left: 0.3rem;
|
| 155 |
letter-spacing: 0.03em; text-transform: uppercase;
|
| 156 |
}
|
| 157 |
-
/*
|
| 158 |
-
.container
|
| 159 |
-
|
| 160 |
-
|
| 161 |
-
|
| 162 |
-
margin-top: 1.25rem; margin-bottom: 0.5rem;
|
| 163 |
-
}
|
| 164 |
-
.model-grid {
|
| 165 |
-
display: grid;
|
| 166 |
-
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
|
| 167 |
-
gap: 0.75rem; margin: 1rem 0;
|
| 168 |
-
}
|
| 169 |
-
.model-card {
|
| 170 |
-
font-family: 'Barlow', sans-serif;
|
| 171 |
-
background: var(--bg-card);
|
| 172 |
-
padding: 0.85rem 1rem; border-radius: 5px;
|
| 173 |
-
border-left: 3px solid var(--gold);
|
| 174 |
-
transition: border-color 0.15s;
|
| 175 |
-
}
|
| 176 |
-
.model-card:hover { border-left-color: var(--teal); }
|
| 177 |
-
.model-card h3 { font-size: 0.95rem; font-weight: 600; margin-bottom: 0.2rem; }
|
| 178 |
-
.model-card h3 a { color: var(--text-strong); }
|
| 179 |
-
.model-card h3 a:hover { color: var(--link); text-decoration: none; }
|
| 180 |
-
.model-card .meta { color: var(--text-muted); font-size: 0.82rem; font-weight: 400; }
|
| 181 |
-
.studio-features { margin: 0.75rem 0 0 1.25rem; color: var(--text); font-size: 0.95rem; }
|
| 182 |
-
.studio-features li { margin-bottom: 0.25rem; }
|
| 183 |
-
/* Roadmap */
|
| 184 |
-
.roadmap-quarter {
|
| 185 |
-
font-family: 'Barlow', sans-serif;
|
| 186 |
-
font-size: 0.85rem; font-weight: 600;
|
| 187 |
-
color: var(--teal-text);
|
| 188 |
-
text-transform: uppercase; letter-spacing: 0.04em;
|
| 189 |
-
margin-top: 1.5rem; margin-bottom: 0.4rem;
|
| 190 |
-
padding-left: 0.6rem;
|
| 191 |
-
border-left: 3px solid var(--teal);
|
| 192 |
-
}
|
| 193 |
-
@media (prefers-color-scheme: dark) {
|
| 194 |
-
.roadmap-quarter { color: var(--teal); }
|
| 195 |
-
}
|
| 196 |
-
.roadmap-table {
|
| 197 |
width: 100%;
|
| 198 |
border-collapse: collapse;
|
| 199 |
-
margin: 0.
|
| 200 |
font-family: 'Barlow', sans-serif;
|
| 201 |
font-size: 0.88rem;
|
| 202 |
}
|
| 203 |
-
.
|
| 204 |
text-align: left;
|
| 205 |
-
padding: 0.
|
| 206 |
font-weight: 600; font-size: 0.75rem;
|
| 207 |
text-transform: uppercase; letter-spacing: 0.04em;
|
| 208 |
color: var(--text-muted);
|
| 209 |
border-bottom: 2px solid var(--border);
|
| 210 |
}
|
| 211 |
-
.
|
| 212 |
-
padding: 0.
|
| 213 |
border-bottom: 1px solid var(--border);
|
| 214 |
-
vertical-align: middle;
|
| 215 |
}
|
| 216 |
-
.
|
| 217 |
font-weight: 600;
|
| 218 |
color: var(--text-strong);
|
| 219 |
white-space: nowrap;
|
| 220 |
}
|
| 221 |
-
.
|
| 222 |
-
|
| 223 |
-
font-size: 0.
|
| 224 |
-
}
|
| 225 |
-
.badge-row { display: flex; flex-wrap: wrap; gap: 0.25rem; }
|
| 226 |
-
.license-badge {
|
| 227 |
-
font-family: 'Barlow', sans-serif;
|
| 228 |
-
font-size: 0.65rem; font-weight: 600;
|
| 229 |
-
padding: 0.08rem 0.35rem; border-radius: 3px;
|
| 230 |
-
letter-spacing: 0.02em; white-space: nowrap;
|
| 231 |
-
}
|
| 232 |
-
.license-apache { background: #1B7F37; color: #fff; }
|
| 233 |
-
.license-mit { background: #0969DA; color: #fff; }
|
| 234 |
-
.license-agpl { background: #CF222E; color: #fff; }
|
| 235 |
-
.license-other { background: #6E7781; color: #fff; }
|
| 236 |
-
.platform-badge {
|
| 237 |
-
font-family: 'Barlow', sans-serif;
|
| 238 |
-
font-size: 0.62rem; font-weight: 600;
|
| 239 |
-
padding: 0.06rem 0.3rem; border-radius: 2px;
|
| 240 |
-
letter-spacing: 0.02em; white-space: nowrap;
|
| 241 |
-
background: var(--bg-card); color: var(--text-muted);
|
| 242 |
-
border: 1px solid var(--border);
|
| 243 |
}
|
| 244 |
-
.
|
| 245 |
-
|
| 246 |
-
|
| 247 |
-
|
| 248 |
-
|
| 249 |
-
|
|
|
|
| 250 |
}
|
| 251 |
-
.
|
| 252 |
font-family: 'Barlow', sans-serif;
|
| 253 |
-
|
| 254 |
-
padding: 0.
|
| 255 |
-
|
| 256 |
-
|
| 257 |
}
|
| 258 |
-
.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 259 |
font-family: 'Barlow', sans-serif;
|
| 260 |
-
font-
|
| 261 |
-
padding: 0.
|
| 262 |
-
|
| 263 |
-
letter-spacing: 0.03em; text-transform: uppercase;
|
| 264 |
}
|
|
|
|
|
|
|
| 265 |
.roadmap-note {
|
| 266 |
font-family: 'Barlow', sans-serif;
|
| 267 |
font-size: 0.82rem; color: var(--text-muted);
|
| 268 |
-
font-style: italic;
|
| 269 |
-
margin-top: 0.75rem;
|
| 270 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 271 |
.footer {
|
| 272 |
margin-top: 3rem; padding-top: 1.5rem;
|
| 273 |
border-top: 1px solid var(--border);
|
|
@@ -277,15 +256,27 @@
|
|
| 277 |
}
|
| 278 |
.footer a { color: var(--text-muted); }
|
| 279 |
.footer a:hover { color: var(--link); }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 280 |
</style>
|
| 281 |
</head>
|
| 282 |
<body>
|
| 283 |
<div class="container">
|
| 284 |
-
|
| 285 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 286 |
|
| 287 |
<p>
|
| 288 |
-
|
| 289 |
</p>
|
| 290 |
|
| 291 |
<div class="link-badges">
|
|
@@ -295,33 +286,35 @@
|
|
| 295 |
<a href="https://www.au-zone.com"><img src="https://img.shields.io/badge/Au--Zone_Technologies-6C757D?style=for-the-badge" alt="Au-Zone Technologies"></a>
|
| 296 |
</div>
|
| 297 |
|
| 298 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 299 |
|
| 300 |
-
<
|
| 301 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 302 |
</div>
|
| 303 |
|
| 304 |
-
<
|
| 305 |
-
|
| 306 |
-
<
|
| 307 |
-
|
| 308 |
-
|
| 309 |
-
|
| 310 |
-
<div class="diagram-container">
|
| 311 |
-
<img src="02-model-lifecycle.png" alt="Model Lifecycle: 5 stages from training to publication">
|
| 312 |
</div>
|
| 313 |
|
| 314 |
-
<h2>
|
| 315 |
-
|
| 316 |
-
<div class="diagram-container">
|
| 317 |
-
<img src="03-on-target-validation.png" alt="On-Target Validation Pipeline: full dataset validation on real hardware">
|
| 318 |
-
</div>
|
| 319 |
-
|
| 320 |
-
<p>
|
| 321 |
-
Unlike desktop-only benchmarks, EdgeFirst validates every model on <strong>real target hardware</strong> with the full dataset. Each device produces both accuracy metrics (mAP) and a detailed timing breakdown — load, preprocessing, NPU inference, and decode — so you know exactly how a model performs on your specific platform.
|
| 322 |
-
</p>
|
| 323 |
-
|
| 324 |
-
<h2>Supported Hardware</h2>
|
| 325 |
<div class="badges">
|
| 326 |
<img src="https://img.shields.io/badge/NXP-i.MX_8M_Plus-3E3371?style=flat-square&logoColor=white" alt="NXP i.MX 8M Plus">
|
| 327 |
<img src="https://img.shields.io/badge/NXP-i.MX_95-3E3371?style=flat-square&logoColor=white" alt="NXP i.MX 95">
|
|
@@ -330,141 +323,327 @@
|
|
| 330 |
<img src="https://img.shields.io/badge/NVIDIA-Jetson-76B900?style=flat-square&logoColor=white" alt="NVIDIA Jetson">
|
| 331 |
</div>
|
| 332 |
|
| 333 |
-
<
|
| 334 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 335 |
|
| 336 |
-
|
| 337 |
-
|
| 338 |
-
|
| 339 |
-
<h3>
|
| 340 |
-
<p
|
|
|
|
|
|
|
|
|
|
|
|
|
| 341 |
</div>
|
| 342 |
-
<
|
| 343 |
-
|
| 344 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 345 |
</div>
|
| 346 |
-
|
| 347 |
-
|
| 348 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 349 |
</div>
|
| 350 |
-
|
| 351 |
-
|
| 352 |
-
<p class="
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 353 |
</div>
|
|
|
|
| 354 |
</div>
|
| 355 |
|
| 356 |
-
<
|
| 357 |
-
<div class="
|
| 358 |
-
<
|
| 359 |
-
|
| 360 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 361 |
</div>
|
| 362 |
-
|
| 363 |
-
|
| 364 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 365 |
</div>
|
| 366 |
-
|
| 367 |
-
|
| 368 |
-
<p class="
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 369 |
</div>
|
|
|
|
| 370 |
</div>
|
| 371 |
|
| 372 |
-
<
|
| 373 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 374 |
|
| 375 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 376 |
<tr><th>Category</th><th>Examples</th><th>Platforms</th><th>Status</th></tr>
|
| 377 |
<tr>
|
| 378 |
-
<td>Detection
|
| 379 |
-
<td
|
| 380 |
<td><div class="badge-row"><span class="platform-badge">i.MX</span> <span class="platform-badge">Ara240</span> <span class="platform-badge">Hailo</span> <span class="platform-badge">Jetson</span></div></td>
|
| 381 |
<td><span class="status-coming">Coming Soon</span></td>
|
| 382 |
</tr>
|
| 383 |
<tr>
|
| 384 |
-
<td>Semantic
|
| 385 |
-
<td
|
| 386 |
<td><div class="badge-row"><span class="platform-badge">i.MX</span> <span class="platform-badge">Ara240</span> <span class="platform-badge">Hailo</span> <span class="platform-badge">Jetson</span></div></td>
|
| 387 |
<td><span class="status-planned">Roadmap</span></td>
|
| 388 |
</tr>
|
| 389 |
<tr>
|
| 390 |
-
<td>
|
| 391 |
-
<td class
|
| 392 |
-
<td><div class="badge-row"><span class="platform-badge">Ara240</span> <span class="platform-badge">Jetson</span></div></td>
|
| 393 |
-
<td><span class="status-planned">Roadmap</span></td>
|
| 394 |
-
</tr>
|
| 395 |
-
<tr>
|
| 396 |
-
<td>SAM-like Segmentation</td>
|
| 397 |
-
<td class="category">Prompted, class-agnostic masks</td>
|
| 398 |
<td><div class="badge-row"><span class="platform-badge">Ara240</span> <span class="platform-badge">Jetson</span></div></td>
|
| 399 |
<td><span class="status-planned">Roadmap</span></td>
|
| 400 |
</tr>
|
| 401 |
<tr>
|
| 402 |
<td>Monocular Depth</td>
|
| 403 |
-
<td
|
| 404 |
<td><div class="badge-row"><span class="platform-badge">i.MX</span> <span class="platform-badge">Ara240</span> <span class="platform-badge">Jetson</span></div></td>
|
| 405 |
<td><span class="status-planned">Roadmap</span></td>
|
| 406 |
</tr>
|
| 407 |
<tr>
|
| 408 |
-
<td>
|
| 409 |
-
<td
|
| 410 |
-
<td><div class="badge-row"><span class="platform-badge">Jetson</span></div></td>
|
| 411 |
-
<td><span class="status-planned">Roadmap</span></td>
|
| 412 |
-
</tr>
|
| 413 |
-
<tr>
|
| 414 |
-
<td>3D Detection & Occupancy</td>
|
| 415 |
-
<td class="category">Monocular 3D, BEV, occupancy grids</td>
|
| 416 |
<td><div class="badge-row"><span class="platform-badge">Jetson</span></div></td>
|
| 417 |
<td><span class="status-planned">Roadmap</span></td>
|
| 418 |
</tr>
|
| 419 |
<tr>
|
| 420 |
<td>Edge VLMs</td>
|
| 421 |
-
<td
|
| 422 |
<td><div class="badge-row"><span class="platform-badge">Ara240</span> <span class="platform-badge">Jetson</span></div></td>
|
| 423 |
<td><span class="status-planned">Roadmap</span></td>
|
| 424 |
</tr>
|
| 425 |
</table>
|
| 426 |
-
|
| 427 |
<p class="roadmap-note">Roadmap is subject to change. Models are published as validation completes on each target platform.</p>
|
| 428 |
|
| 429 |
-
<
|
| 430 |
-
<
|
| 431 |
-
<
|
| 432 |
-
<tr><th>Component</th><th>Pattern</th><th>Example</th></tr>
|
| 433 |
-
<tr><td>HF Repo</td><td>EdgeFirst/{version}-{task}</td><td>EdgeFirst/yolov8-det</td></tr>
|
| 434 |
-
<tr><td>ONNX Model</td><td>{version}{size}-{task}.onnx</td><td>yolov8n-det.onnx</td></tr>
|
| 435 |
-
<tr><td>TFLite Model</td><td>{version}{size}-{task}-int8.tflite</td><td>yolov8n-det-int8.tflite</td></tr>
|
| 436 |
-
<tr><td>i.MX 95 TFLite</td><td>{version}{size}-{task}.imx95.tflite</td><td>yolov8n-det.imx95.tflite</td></tr>
|
| 437 |
-
<tr><td>i.MX 93 TFLite</td><td>{version}{size}-{task}.imx93.tflite</td><td>yolov8n-det.imx93.tflite</td></tr>
|
| 438 |
-
<tr><td>i.MX 943 TFLite</td><td>{version}{size}-{task}.imx943.tflite</td><td>yolov8n-det.imx943.tflite</td></tr>
|
| 439 |
-
<tr><td>Hailo HEF</td><td>{version}{size}-{task}.hailo{variant}.hef</td><td>yolov8n-det.hailo8l.hef</td></tr>
|
| 440 |
-
<tr><td>Studio Project</td><td>{Dataset} {Task}</td><td>COCO Detection</td></tr>
|
| 441 |
-
<tr><td>Studio Experiment</td><td>{Version} {Task}</td><td>YOLOv8 Detection</td></tr>
|
| 442 |
-
</table>
|
| 443 |
-
|
| 444 |
-
<h2>Validation Pipeline</h2>
|
| 445 |
-
<p>Models go through two validation stages before publication:</p>
|
| 446 |
-
<table class="arch-table">
|
| 447 |
-
<tr><th>Stage</th><th>What</th><th>Where</th></tr>
|
| 448 |
-
<tr>
|
| 449 |
-
<td>Reference</td>
|
| 450 |
-
<td>ONNX FP32 and TFLite INT8 mAP on full COCO val2017 (5000 images)</td>
|
| 451 |
-
<td>EdgeFirst Studio (cloud)</td>
|
| 452 |
-
</tr>
|
| 453 |
-
<tr>
|
| 454 |
-
<td>On-Target</td>
|
| 455 |
-
<td>Full dataset mAP + timing breakdown (load, preproc, invoke, decode, e2e) per device</td>
|
| 456 |
-
<td>Board farm (real hardware) <span class="wip-tag">In Progress</span></td>
|
| 457 |
-
</tr>
|
| 458 |
-
</table>
|
| 459 |
-
|
| 460 |
-
<h2>Perception Architecture</h2>
|
| 461 |
-
<table class="arch-table">
|
| 462 |
-
<tr><th>Layer</th><th>Description</th></tr>
|
| 463 |
-
<tr><td>Foundation</td><td>Hardware abstraction, video I/O, accelerated inference delegates</td></tr>
|
| 464 |
-
<tr><td>Zenoh</td><td>Modular perception pipeline over Zenoh pub/sub</td></tr>
|
| 465 |
-
<tr><td>GStreamer</td><td>Spatial perception elements for GStreamer / NNStreamer</td></tr>
|
| 466 |
-
<tr><td>ROS 2</td><td>Native ROS 2 nodes extending Zenoh microservices <span class="roadmap-tag">Roadmap</span></td></tr>
|
| 467 |
-
</table>
|
| 468 |
|
| 469 |
<h2>EdgeFirst Studio</h2>
|
| 470 |
<p>
|
|
|
|
| 3 |
<head>
|
| 4 |
<meta charset="UTF-8">
|
| 5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>EdgeFirst AI β Model Zoo</title>
|
| 7 |
<base target="_blank">
|
| 8 |
<link rel="preconnect" href="https://fonts.googleapis.com">
|
| 9 |
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
|
|
| 40 |
}
|
| 41 |
}
|
| 42 |
* { margin: 0; padding: 0; box-sizing: border-box; }
|
| 43 |
+
html { scroll-behavior: smooth; }
|
| 44 |
body {
|
| 45 |
font-family: 'Crimson Text', Georgia, serif;
|
| 46 |
background: var(--bg);
|
|
|
|
| 48 |
line-height: 1.7;
|
| 49 |
font-size: 16px;
|
| 50 |
}
|
| 51 |
+
.container { max-width: 900px; margin: 0 auto; padding: 2.5rem 2rem; }
|
| 52 |
+
h1, h2, h3, h4 {
|
| 53 |
font-family: 'Barlow', -apple-system, sans-serif;
|
| 54 |
color: var(--heading);
|
| 55 |
line-height: 1.3;
|
|
|
|
| 63 |
margin-top: 2.5rem; margin-bottom: 0.75rem;
|
| 64 |
padding-bottom: 0.35rem; border-bottom: 2px solid var(--gold);
|
| 65 |
}
|
| 66 |
+
h3 {
|
| 67 |
+
font-size: 1.05rem; font-weight: 600;
|
| 68 |
+
margin-top: 1.75rem; margin-bottom: 0.5rem;
|
| 69 |
+
}
|
| 70 |
+
h4 {
|
| 71 |
+
font-size: 0.9rem; font-weight: 600;
|
| 72 |
+
color: var(--text-muted);
|
| 73 |
+
text-transform: uppercase; letter-spacing: 0.04em;
|
| 74 |
+
margin-top: 1.25rem; margin-bottom: 0.4rem;
|
| 75 |
+
}
|
| 76 |
.tagline {
|
| 77 |
font-family: 'Barlow', sans-serif; font-weight: 500;
|
| 78 |
letter-spacing: 0.12em; text-transform: uppercase;
|
|
|
|
| 82 |
a { color: var(--link); text-decoration: none; }
|
| 83 |
a:hover { text-decoration: underline; color: var(--navy); }
|
| 84 |
@media (prefers-color-scheme: dark) { a:hover { color: var(--gold); } }
|
| 85 |
+
/* Navigation */
|
| 86 |
+
.toc {
|
| 87 |
+
font-family: 'Barlow', sans-serif;
|
| 88 |
+
background: var(--bg-subtle);
|
| 89 |
+
border: 1px solid var(--border);
|
| 90 |
+
border-radius: 6px;
|
| 91 |
+
padding: 1rem 1.25rem;
|
| 92 |
margin: 1.5rem 0;
|
| 93 |
+
font-size: 0.88rem;
|
| 94 |
}
|
| 95 |
+
.toc-title {
|
| 96 |
+
font-weight: 600; font-size: 0.78rem;
|
| 97 |
+
text-transform: uppercase; letter-spacing: 0.05em;
|
| 98 |
+
color: var(--text-muted); margin-bottom: 0.5rem;
|
| 99 |
}
|
| 100 |
+
.toc ul { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem 1.5rem; }
|
| 101 |
+
.toc a { font-weight: 500; }
|
| 102 |
+
.breadcrumb {
|
|
|
|
|
|
|
| 103 |
font-family: 'Barlow', sans-serif;
|
| 104 |
+
font-size: 0.78rem; color: var(--text-muted);
|
| 105 |
+
margin-bottom: 0.5rem;
|
| 106 |
}
|
| 107 |
+
.breadcrumb a { color: var(--text-muted); font-weight: 500; }
|
| 108 |
+
.back-to-top {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 109 |
font-family: 'Barlow', sans-serif;
|
| 110 |
+
font-size: 0.75rem; color: var(--text-muted);
|
| 111 |
+
display: inline-block; margin-top: 0.5rem;
|
| 112 |
}
|
| 113 |
+
/* Badges */
|
| 114 |
+
.badges { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 1.25rem 0; }
|
| 115 |
+
.badges img { height: 22px; }
|
| 116 |
+
.link-badges { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 1.5rem 0; }
|
| 117 |
+
.link-badges img { height: 28px; }
|
| 118 |
+
.platform-badge {
|
| 119 |
font-family: 'Barlow', sans-serif;
|
| 120 |
+
font-size: 0.62rem; font-weight: 600;
|
| 121 |
+
padding: 0.06rem 0.3rem; border-radius: 2px;
|
| 122 |
+
letter-spacing: 0.02em; white-space: nowrap;
|
| 123 |
+
background: var(--bg-card); color: var(--text-muted);
|
| 124 |
+
border: 1px solid var(--border);
|
| 125 |
}
|
| 126 |
+
.status-available {
|
| 127 |
+
font-family: 'Barlow', sans-serif;
|
| 128 |
+
font-size: 0.68rem; font-weight: 600;
|
| 129 |
+
padding: 0.1rem 0.4rem; border-radius: 3px;
|
| 130 |
+
background: #1B7F37; color: #fff;
|
| 131 |
+
letter-spacing: 0.03em; text-transform: uppercase;
|
|
|
|
| 132 |
}
|
| 133 |
+
.status-coming {
|
| 134 |
+
font-family: 'Barlow', sans-serif;
|
| 135 |
+
font-size: 0.68rem; font-weight: 600;
|
| 136 |
+
padding: 0.1rem 0.4rem; border-radius: 3px;
|
| 137 |
+
background: var(--gold); color: #333;
|
| 138 |
+
letter-spacing: 0.03em; text-transform: uppercase;
|
| 139 |
}
|
| 140 |
+
.status-planned {
|
| 141 |
+
font-family: 'Barlow', sans-serif;
|
| 142 |
+
font-size: 0.68rem; font-weight: 600;
|
| 143 |
+
padding: 0.1rem 0.4rem; border-radius: 3px;
|
| 144 |
+
background: var(--indigo); color: #fff;
|
| 145 |
+
letter-spacing: 0.03em; text-transform: uppercase;
|
| 146 |
}
|
| 147 |
.roadmap-tag {
|
| 148 |
font-family: 'Barlow', sans-serif;
|
|
|
|
| 160 |
vertical-align: middle; margin-left: 0.3rem;
|
| 161 |
letter-spacing: 0.03em; text-transform: uppercase;
|
| 162 |
}
|
| 163 |
+
/* Diagrams */
|
| 164 |
+
.diagram-container { margin: 1.5rem 0; text-align: center; }
|
| 165 |
+
.diagram-container img { max-width: 100%; height: auto; }
|
| 166 |
+
/* Tables */
|
| 167 |
+
.data-table {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 168 |
width: 100%;
|
| 169 |
border-collapse: collapse;
|
| 170 |
+
margin: 0.75rem 0;
|
| 171 |
font-family: 'Barlow', sans-serif;
|
| 172 |
font-size: 0.88rem;
|
| 173 |
}
|
| 174 |
+
.data-table th {
|
| 175 |
text-align: left;
|
| 176 |
+
padding: 0.5rem 0.6rem;
|
| 177 |
font-weight: 600; font-size: 0.75rem;
|
| 178 |
text-transform: uppercase; letter-spacing: 0.04em;
|
| 179 |
color: var(--text-muted);
|
| 180 |
border-bottom: 2px solid var(--border);
|
| 181 |
}
|
| 182 |
+
.data-table td {
|
| 183 |
+
padding: 0.4rem 0.6rem;
|
| 184 |
border-bottom: 1px solid var(--border);
|
|
|
|
| 185 |
}
|
| 186 |
+
.data-table td:first-child {
|
| 187 |
font-weight: 600;
|
| 188 |
color: var(--text-strong);
|
| 189 |
white-space: nowrap;
|
| 190 |
}
|
| 191 |
+
.data-table code {
|
| 192 |
+
font-family: 'JetBrains Mono', monospace;
|
| 193 |
+
font-size: 0.78rem;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 194 |
}
|
| 195 |
+
.data-table .num { font-family: 'JetBrains Mono', monospace; font-size: 0.82rem; }
|
| 196 |
+
.data-table .muted { color: var(--text-muted); }
|
| 197 |
+
/* Model cards */
|
| 198 |
+
.model-grid {
|
| 199 |
+
display: grid;
|
| 200 |
+
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
|
| 201 |
+
gap: 0.75rem; margin: 1rem 0;
|
| 202 |
}
|
| 203 |
+
.model-card {
|
| 204 |
font-family: 'Barlow', sans-serif;
|
| 205 |
+
background: var(--bg-card);
|
| 206 |
+
padding: 0.85rem 1rem; border-radius: 5px;
|
| 207 |
+
border-left: 3px solid var(--gold);
|
| 208 |
+
transition: border-color 0.15s;
|
| 209 |
}
|
| 210 |
+
.model-card:hover { border-left-color: var(--teal); }
|
| 211 |
+
.model-card h3 { font-size: 0.95rem; font-weight: 600; margin: 0 0 0.2rem 0; }
|
| 212 |
+
.model-card h3 a { color: var(--text-strong); }
|
| 213 |
+
.model-card h3 a:hover { color: var(--link); text-decoration: none; }
|
| 214 |
+
.model-card .meta { color: var(--text-muted); font-size: 0.82rem; font-weight: 400; }
|
| 215 |
+
/* Accuracy bars */
|
| 216 |
+
.bar-chart { margin: 0.75rem 0; }
|
| 217 |
+
.bar-row {
|
| 218 |
+
display: flex; align-items: center; gap: 0.5rem;
|
| 219 |
+
font-family: 'Barlow', sans-serif; font-size: 0.82rem;
|
| 220 |
+
margin-bottom: 0.3rem;
|
| 221 |
+
}
|
| 222 |
+
.bar-label { width: 65px; font-weight: 600; color: var(--text-strong); text-align: right; }
|
| 223 |
+
.bar-track { flex: 1; height: 18px; background: var(--bg-subtle); border-radius: 3px; overflow: hidden; }
|
| 224 |
+
.bar-fill { height: 100%; border-radius: 3px; display: flex; align-items: center; padding-left: 6px; }
|
| 225 |
+
.bar-fill span { font-size: 0.72rem; font-weight: 600; color: #fff; white-space: nowrap; }
|
| 226 |
+
.bar-navy { background: var(--navy); }
|
| 227 |
+
.bar-teal { background: var(--teal); }
|
| 228 |
+
.bar-gold { background: var(--gold); }
|
| 229 |
+
.bar-gold span { color: #333; }
|
| 230 |
+
/* Collapsible sections */
|
| 231 |
+
details { margin: 0.5rem 0; }
|
| 232 |
+
details summary {
|
| 233 |
font-family: 'Barlow', sans-serif;
|
| 234 |
+
font-weight: 600; font-size: 0.9rem;
|
| 235 |
+
cursor: pointer; padding: 0.4rem 0;
|
| 236 |
+
color: var(--text-strong);
|
|
|
|
| 237 |
}
|
| 238 |
+
details summary:hover { color: var(--link); }
|
| 239 |
+
/* Roadmap */
|
| 240 |
.roadmap-note {
|
| 241 |
font-family: 'Barlow', sans-serif;
|
| 242 |
font-size: 0.82rem; color: var(--text-muted);
|
| 243 |
+
font-style: italic; margin-top: 0.75rem;
|
|
|
|
| 244 |
}
|
| 245 |
+
.badge-row { display: flex; flex-wrap: wrap; gap: 0.25rem; }
|
| 246 |
+
/* Studio features */
|
| 247 |
+
.studio-features { margin: 0.75rem 0 0 1.25rem; color: var(--text); font-size: 0.95rem; }
|
| 248 |
+
.studio-features li { margin-bottom: 0.25rem; }
|
| 249 |
+
/* Footer */
|
| 250 |
.footer {
|
| 251 |
margin-top: 3rem; padding-top: 1.5rem;
|
| 252 |
border-top: 1px solid var(--border);
|
|
|
|
| 256 |
}
|
| 257 |
.footer a { color: var(--text-muted); }
|
| 258 |
.footer a:hover { color: var(--link); }
|
| 259 |
+
/* Family section divider */
|
| 260 |
+
.family-section {
|
| 261 |
+
margin-top: 2rem;
|
| 262 |
+
padding-top: 1.5rem;
|
| 263 |
+
border-top: 1px solid var(--border);
|
| 264 |
+
}
|
| 265 |
+
.family-section:first-of-type { border-top: none; padding-top: 0; }
|
| 266 |
</style>
|
| 267 |
</head>
|
| 268 |
<body>
|
| 269 |
<div class="container">
|
| 270 |
+
|
| 271 |
+
<!-- βββββββββββββββββββββββββββββββββββββββββββββββββββββββ -->
|
| 272 |
+
<!-- LEVEL 1: OVERVIEW -->
|
| 273 |
+
<!-- βββββββββββββββββββββββββββββββββββββββββββββββββββββββ -->
|
| 274 |
+
|
| 275 |
+
<h1 id="top"><span class="edge">Edge</span><span class="first">First</span> AI</h1>
|
| 276 |
+
<p class="tagline">Model Zoo — Edge AI Perception Models</p>
|
| 277 |
|
| 278 |
<p>
|
| 279 |
+
Pre-trained models optimized for edge deployment, validated on real hardware with full-dataset accuracy metrics and per-platform timing breakdowns. Each model repo contains all sizes (nano through x-large) with ONNX FP32, TFLite INT8, and platform-specific compiled formats.
|
| 280 |
</p>
|
| 281 |
|
| 282 |
<div class="link-badges">
|
|
|
|
| 286 |
<a href="https://www.au-zone.com"><img src="https://img.shields.io/badge/Au--Zone_Technologies-6C757D?style=for-the-badge" alt="Au-Zone Technologies"></a>
|
| 287 |
</div>
|
| 288 |
|
| 289 |
+
<nav class="toc">
|
| 290 |
+
<div class="toc-title">Model Families</div>
|
| 291 |
+
<ul>
|
| 292 |
+
<li><a href="#yolo26" target="_self">YOLO26</a></li>
|
| 293 |
+
<li><a href="#yolo11" target="_self">YOLO11</a></li>
|
| 294 |
+
<li><a href="#yolov8" target="_self">YOLOv8</a></li>
|
| 295 |
+
<li><a href="#yolov5" target="_self">YOLOv5</a></li>
|
| 296 |
+
</ul>
|
| 297 |
+
</nav>
|
| 298 |
|
| 299 |
+
<!-- Overview: All families comparison -->
|
| 300 |
+
<h2>Detection — Nano Accuracy Comparison</h2>
|
| 301 |
+
<p>ONNX FP32 mAP@0.5 on COCO val2017 (5000 images, 80 classes). Nano size for each family.</p>
|
| 302 |
+
<div class="bar-chart">
|
| 303 |
+
<div class="bar-row"><span class="bar-label">YOLO26</span><div class="bar-track"><div class="bar-fill bar-navy" style="width:91.5%"><span>54.9%</span></div></div></div>
|
| 304 |
+
<div class="bar-row"><span class="bar-label">YOLO11</span><div class="bar-track"><div class="bar-fill bar-teal" style="width:89.0%"><span>53.4%</span></div></div></div>
|
| 305 |
+
<div class="bar-row"><span class="bar-label">YOLOv8</span><div class="bar-track"><div class="bar-fill bar-navy" style="width:83.6%"><span>50.2%</span></div></div></div>
|
| 306 |
+
<div class="bar-row"><span class="bar-label">YOLOv5</span><div class="bar-track"><div class="bar-fill bar-teal" style="width:82.6%"><span>49.6%</span></div></div></div>
|
| 307 |
</div>
|
| 308 |
|
| 309 |
+
<h2>Segmentation — Nano Accuracy Comparison</h2>
|
| 310 |
+
<p>ONNX FP32 Mask mAP@0.5-0.95 on COCO val2017. Nano size, split-decoder.</p>
|
| 311 |
+
<div class="bar-chart">
|
| 312 |
+
<div class="bar-row"><span class="bar-label">YOLO26</span><div class="bar-track"><div class="bar-fill bar-navy" style="width:92.5%"><span>37.0%</span></div></div></div>
|
| 313 |
+
<div class="bar-row"><span class="bar-label">YOLO11</span><div class="bar-track"><div class="bar-fill bar-teal" style="width:88.7%"><span>35.5%</span></div></div></div>
|
| 314 |
+
<div class="bar-row"><span class="bar-label">YOLOv8</span><div class="bar-track"><div class="bar-fill bar-navy" style="width:85.2%"><span>34.1%</span></div></div></div>
|
|
|
|
|
|
|
| 315 |
</div>
|
| 316 |
|
| 317 |
+
<h2>Platform Support</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 318 |
<div class="badges">
|
| 319 |
<img src="https://img.shields.io/badge/NXP-i.MX_8M_Plus-3E3371?style=flat-square&logoColor=white" alt="NXP i.MX 8M Plus">
|
| 320 |
<img src="https://img.shields.io/badge/NXP-i.MX_95-3E3371?style=flat-square&logoColor=white" alt="NXP i.MX 95">
|
|
|
|
| 323 |
<img src="https://img.shields.io/badge/NVIDIA-Jetson-76B900?style=flat-square&logoColor=white" alt="NVIDIA Jetson">
|
| 324 |
</div>
|
| 325 |
|
| 326 |
+
<table class="data-table">
|
| 327 |
+
<tr><th>Family</th><th>ONNX</th><th>TFLite</th><th>i.MX 93</th><th>i.MX 95</th><th>Ara240</th><th>Hailo</th><th>Jetson</th></tr>
|
| 328 |
+
<tr><td>YOLO26</td><td>β</td><td>β</td><td class="muted">—</td><td class="muted">—</td><td class="muted">—</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 329 |
+
<tr><td>YOLO11</td><td>β</td><td>β</td><td class="muted">—</td><td class="muted">—</td><td class="muted">—</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 330 |
+
<tr><td>YOLOv8</td><td>β</td><td>β</td><td class="muted">—</td><td><span class="wip-tag">WIP</span></td><td class="muted">—</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 331 |
+
<tr><td>YOLOv5</td><td>β</td><td>β</td><td class="muted">—</td><td class="muted">—</td><td class="muted">—</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 332 |
+
</table>
|
| 333 |
+
|
| 334 |
+
<!-- βββββββββββββββββββββββββββββββββββββββββββββββββββββββ -->
|
| 335 |
+
<!-- LEVEL 2: MODEL FAMILIES -->
|
| 336 |
+
<!-- βββββββββββββββββββββββββββββββββββββββββββββββββββββββ -->
|
| 337 |
+
|
| 338 |
+
<!-- ββ YOLO26 ββββββββββββββββββββββββββββββββββββββββββββ -->
|
| 339 |
+
<div class="family-section" id="yolo26">
|
| 340 |
+
<p class="breadcrumb"><a href="#top" target="_self">Models</a> › <strong>YOLO26</strong></p>
|
| 341 |
+
<h2>YOLO26</h2>
|
| 342 |
+
<p>YOLO architecture with end-to-end attention head. <em>Note: <code>end2end=False</code> required for INT8 export.</em></p>
|
| 343 |
+
|
| 344 |
+
<h4>Tasks</h4>
|
| 345 |
+
<div class="model-grid">
|
| 346 |
+
<div class="model-card">
|
| 347 |
+
<h3><a href="#yolo26-det" target="_self">Detection</a></h3>
|
| 348 |
+
<p class="meta">n/s/m/l/x · Nano mAP@0.5: 54.9% · <a href="https://huggingface.co/EdgeFirst/yolo26-det">HF Repo</a></p>
|
| 349 |
+
</div>
|
| 350 |
+
<div class="model-card">
|
| 351 |
+
<h3><a href="#yolo26-seg" target="_self">Segmentation</a></h3>
|
| 352 |
+
<p class="meta">n/s/m/l/x · Nano Mask mAP: 37.0% · <a href="https://huggingface.co/EdgeFirst/yolo26-seg">HF Repo</a></p>
|
| 353 |
+
</div>
|
| 354 |
+
</div>
|
| 355 |
+
|
| 356 |
+
<h4>Size Scaling — Detection (ONNX FP32)</h4>
|
| 357 |
+
<table class="data-table">
|
| 358 |
+
<tr><th>Size</th><th>Params</th><th>GFLOPs</th><th>mAP@0.5</th><th>mAP@0.5-0.95</th></tr>
|
| 359 |
+
<tr><td>Nano</td><td class="num">2.7M</td><td class="num">7.6</td><td class="num">54.9%</td><td class="num">39.7%</td></tr>
|
| 360 |
+
<tr><td>Small</td><td class="num">10.3M</td><td class="num">27.0</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 361 |
+
<tr><td>Medium</td><td class="num">24.5M</td><td class="num">74.4</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 362 |
+
<tr><td>Large</td><td class="num">42.5M</td><td class="num">155.0</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 363 |
+
<tr><td>XLarge</td><td class="num">67.5M</td><td class="num">244.0</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 364 |
+
</table>
|
| 365 |
+
|
| 366 |
+
<!-- Level 3: YOLO26 Detection -->
|
| 367 |
+
<div id="yolo26-det">
|
| 368 |
+
<p class="breadcrumb"><a href="#top" target="_self">Models</a> › <a href="#yolo26" target="_self">YOLO26</a> › <strong>Detection</strong></p>
|
| 369 |
+
<h3>YOLO26 Detection</h3>
|
| 370 |
+
<p>Accuracy on COCO val2017 (5000 images, 80 classes). <a href="https://huggingface.co/EdgeFirst/yolo26-det">View on HuggingFace →</a></p>
|
| 371 |
+
<table class="data-table">
|
| 372 |
+
<tr><th>Size</th><th>ONNX FP32 mAP@0.5</th><th>TFLite INT8 mAP@0.5</th><th>INT8 Drop</th></tr>
|
| 373 |
+
<tr><td>Nano</td><td class="num">54.9%</td><td class="num">51.5%</td><td class="num">β3.4 pp</td></tr>
|
| 374 |
+
</table>
|
| 375 |
+
</div>
|
| 376 |
|
| 377 |
+
<!-- Level 3: YOLO26 Segmentation -->
|
| 378 |
+
<div id="yolo26-seg">
|
| 379 |
+
<p class="breadcrumb"><a href="#top" target="_self">Models</a> › <a href="#yolo26" target="_self">YOLO26</a> › <strong>Segmentation</strong></p>
|
| 380 |
+
<h3>YOLO26 Segmentation</h3>
|
| 381 |
+
<p>Split-decoder architecture. <a href="https://huggingface.co/EdgeFirst/yolo26-seg">View on HuggingFace →</a></p>
|
| 382 |
+
<table class="data-table">
|
| 383 |
+
<tr><th>Size</th><th>ONNX Det mAP</th><th>INT8 Det mAP</th><th>ONNX Mask mAP</th><th>INT8 Mask mAP</th></tr>
|
| 384 |
+
<tr><td>Nano</td><td class="num">29.6%</td><td class="num">26.8%</td><td class="num">37.0%</td><td class="num">34.5%</td></tr>
|
| 385 |
+
</table>
|
| 386 |
</div>
|
| 387 |
+
<a class="back-to-top" href="#top" target="_self">↑ Back to top</a>
|
| 388 |
+
</div>
|
| 389 |
+
|
| 390 |
+
<!-- ββ YOLO11 ββββββββββββββββββββββββββββββββββββββββββββ -->
|
| 391 |
+
<div class="family-section" id="yolo11">
|
| 392 |
+
<p class="breadcrumb"><a href="#top" target="_self">Models</a> › <strong>YOLO11</strong></p>
|
| 393 |
+
<h2>YOLO11</h2>
|
| 394 |
+
<p>Newer architecture with attention blocks. Strong balance of accuracy and efficiency.</p>
|
| 395 |
+
|
| 396 |
+
<h4>Tasks</h4>
|
| 397 |
+
<div class="model-grid">
|
| 398 |
+
<div class="model-card">
|
| 399 |
+
<h3><a href="#yolo11-det" target="_self">Detection</a></h3>
|
| 400 |
+
<p class="meta">n/s/m/l/x · Nano mAP@0.5: 53.4% · <a href="https://huggingface.co/EdgeFirst/yolo11-det">HF Repo</a></p>
|
| 401 |
+
</div>
|
| 402 |
+
<div class="model-card">
|
| 403 |
+
<h3><a href="#yolo11-seg" target="_self">Segmentation</a></h3>
|
| 404 |
+
<p class="meta">n/s/m/l/x · Nano Mask mAP: 35.5% · <a href="https://huggingface.co/EdgeFirst/yolo11-seg">HF Repo</a></p>
|
| 405 |
+
</div>
|
| 406 |
</div>
|
| 407 |
+
|
| 408 |
+
<h4>Size Scaling — Detection (ONNX FP32)</h4>
|
| 409 |
+
<table class="data-table">
|
| 410 |
+
<tr><th>Size</th><th>Params</th><th>GFLOPs</th><th>mAP@0.5</th><th>mAP@0.5-0.95</th></tr>
|
| 411 |
+
<tr><td>Nano</td><td class="num">2.6M</td><td class="num">6.5</td><td class="num">53.4%</td><td class="num">37.9%</td></tr>
|
| 412 |
+
<tr><td>Small</td><td class="num">9.4M</td><td class="num">21.5</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 413 |
+
<tr><td>Medium</td><td class="num">20.1M</td><td class="num">68.0</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 414 |
+
<tr><td>Large</td><td class="num">25.3M</td><td class="num">87.6</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 415 |
+
<tr><td>XLarge</td><td class="num">56.9M</td><td class="num">195.0</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 416 |
+
</table>
|
| 417 |
+
|
| 418 |
+
<div id="yolo11-det">
|
| 419 |
+
<p class="breadcrumb"><a href="#top" target="_self">Models</a> › <a href="#yolo11" target="_self">YOLO11</a> › <strong>Detection</strong></p>
|
| 420 |
+
<h3>YOLO11 Detection</h3>
|
| 421 |
+
<p><a href="https://huggingface.co/EdgeFirst/yolo11-det">View on HuggingFace →</a></p>
|
| 422 |
+
<table class="data-table">
|
| 423 |
+
<tr><th>Size</th><th>ONNX FP32 mAP@0.5</th><th>TFLite INT8 mAP@0.5</th><th>INT8 Drop</th></tr>
|
| 424 |
+
<tr><td>Nano</td><td class="num">53.4%</td><td class="num">50.1%</td><td class="num">β3.3 pp</td></tr>
|
| 425 |
+
</table>
|
| 426 |
</div>
|
| 427 |
+
|
| 428 |
+
<div id="yolo11-seg">
|
| 429 |
+
<p class="breadcrumb"><a href="#top" target="_self">Models</a> › <a href="#yolo11" target="_self">YOLO11</a> › <strong>Segmentation</strong></p>
|
| 430 |
+
<h3>YOLO11 Segmentation</h3>
|
| 431 |
+
<p><a href="https://huggingface.co/EdgeFirst/yolo11-seg">View on HuggingFace →</a></p>
|
| 432 |
+
<table class="data-table">
|
| 433 |
+
<tr><th>Size</th><th>ONNX Det mAP</th><th>INT8 Det mAP</th><th>ONNX Mask mAP</th><th>INT8 Mask mAP</th></tr>
|
| 434 |
+
<tr><td>Nano</td><td class="num">28.4%</td><td class="num">27.1%</td><td class="num">35.5%</td><td class="num">34.4%</td></tr>
|
| 435 |
+
</table>
|
| 436 |
</div>
|
| 437 |
+
<a class="back-to-top" href="#top" target="_self">↑ Back to top</a>
|
| 438 |
</div>
|
| 439 |
|
| 440 |
+
<!-- ββ YOLOv8 ββββββββββββββββββββββββββββββββββββββββββββ -->
|
| 441 |
+
<div class="family-section" id="yolov8">
|
| 442 |
+
<p class="breadcrumb"><a href="#top" target="_self">Models</a> › <strong>YOLOv8</strong></p>
|
| 443 |
+
<h2>YOLOv8</h2>
|
| 444 |
+
<p>Anchor-free DFL detection head. Available in detection and instance-segmentation variants.</p>
|
| 445 |
+
|
| 446 |
+
<h4>Tasks</h4>
|
| 447 |
+
<div class="model-grid">
|
| 448 |
+
<div class="model-card">
|
| 449 |
+
<h3><a href="#yolov8-det" target="_self">Detection</a></h3>
|
| 450 |
+
<p class="meta">n/s/m/l/x · Nano mAP@0.5: 50.2% · <a href="https://huggingface.co/EdgeFirst/yolov8-det">HF Repo</a></p>
|
| 451 |
+
</div>
|
| 452 |
+
<div class="model-card">
|
| 453 |
+
<h3><a href="#yolov8-seg" target="_self">Segmentation</a></h3>
|
| 454 |
+
<p class="meta">n/s/m/l/x · Nano Mask mAP: 34.1% · <a href="https://huggingface.co/EdgeFirst/yolov8-seg">HF Repo</a></p>
|
| 455 |
+
</div>
|
| 456 |
</div>
|
| 457 |
+
|
| 458 |
+
<h4>Size Scaling — Detection (ONNX FP32)</h4>
|
| 459 |
+
<table class="data-table">
|
| 460 |
+
<tr><th>Size</th><th>Params</th><th>GFLOPs</th><th>mAP@0.5</th><th>mAP@0.5-0.95</th></tr>
|
| 461 |
+
<tr><td>Nano</td><td class="num">3.2M</td><td class="num">8.9</td><td class="num">50.2%</td><td class="num">35.8%</td></tr>
|
| 462 |
+
<tr><td>Small</td><td class="num">11.2M</td><td class="num">28.8</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 463 |
+
<tr><td>Medium</td><td class="num">25.9M</td><td class="num">79.3</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 464 |
+
<tr><td>Large</td><td class="num">43.7M</td><td class="num">165.7</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 465 |
+
<tr><td>XLarge</td><td class="num">68.2M</td><td class="num">258.5</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 466 |
+
</table>
|
| 467 |
+
|
| 468 |
+
<div id="yolov8-det">
|
| 469 |
+
<p class="breadcrumb"><a href="#top" target="_self">Models</a> › <a href="#yolov8" target="_self">YOLOv8</a> › <strong>Detection</strong></p>
|
| 470 |
+
<h3>YOLOv8 Detection</h3>
|
| 471 |
+
<p><a href="https://huggingface.co/EdgeFirst/yolov8-det">View on HuggingFace →</a></p>
|
| 472 |
+
<table class="data-table">
|
| 473 |
+
<tr><th>Size</th><th>ONNX FP32 mAP@0.5</th><th>TFLite INT8 mAP@0.5</th><th>INT8 Drop</th></tr>
|
| 474 |
+
<tr><td>Nano</td><td class="num">50.2%</td><td class="num">47.3%</td><td class="num">β2.9 pp</td></tr>
|
| 475 |
+
</table>
|
| 476 |
</div>
|
| 477 |
+
|
| 478 |
+
<div id="yolov8-seg">
|
| 479 |
+
<p class="breadcrumb"><a href="#top" target="_self">Models</a> › <a href="#yolov8" target="_self">YOLOv8</a> › <strong>Segmentation</strong></p>
|
| 480 |
+
<h3>YOLOv8 Segmentation</h3>
|
| 481 |
+
<p><a href="https://huggingface.co/EdgeFirst/yolov8-seg">View on HuggingFace →</a></p>
|
| 482 |
+
<table class="data-table">
|
| 483 |
+
<tr><th>Size</th><th>ONNX Det mAP</th><th>INT8 Det mAP</th><th>ONNX Mask mAP</th><th>INT8 Mask mAP</th></tr>
|
| 484 |
+
<tr><td>Nano</td><td class="num">26.7%</td><td class="num">26.0%</td><td class="num">34.1%</td><td class="num">33.5%</td></tr>
|
| 485 |
+
</table>
|
| 486 |
</div>
|
| 487 |
+
<a class="back-to-top" href="#top" target="_self">↑ Back to top</a>
|
| 488 |
</div>
|
| 489 |
|
| 490 |
+
<!-- ββ YOLOv5 ββββββββββββββββββββββββββββββββββββββββββββ -->
|
| 491 |
+
<div class="family-section" id="yolov5">
|
| 492 |
+
<p class="breadcrumb"><a href="#top" target="_self">Models</a> › <strong>YOLOv5</strong></p>
|
| 493 |
+
<h2>YOLOv5</h2>
|
| 494 |
+
<p>CSP-Darknet backbone with anchor-based detection head. Detection only.</p>
|
| 495 |
+
|
| 496 |
+
<h4>Tasks</h4>
|
| 497 |
+
<div class="model-grid">
|
| 498 |
+
<div class="model-card">
|
| 499 |
+
<h3><a href="#yolov5-det" target="_self">Detection</a></h3>
|
| 500 |
+
<p class="meta">n/s/m/l/x · Nano mAP@0.5: 49.6% · <a href="https://huggingface.co/EdgeFirst/yolov5-det">HF Repo</a></p>
|
| 501 |
+
</div>
|
| 502 |
+
</div>
|
| 503 |
+
|
| 504 |
+
<h4>Size Scaling — Detection (ONNX FP32)</h4>
|
| 505 |
+
<table class="data-table">
|
| 506 |
+
<tr><th>Size</th><th>Params</th><th>GFLOPs</th><th>mAP@0.5</th><th>mAP@0.5-0.95</th></tr>
|
| 507 |
+
<tr><td>Nano</td><td class="num">1.9M</td><td class="num">4.5</td><td class="num">49.6%</td><td class="num">33.0%</td></tr>
|
| 508 |
+
<tr><td>Small</td><td class="num">7.2M</td><td class="num">16.5</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 509 |
+
<tr><td>Medium</td><td class="num">21.2M</td><td class="num">49.0</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 510 |
+
<tr><td>Large</td><td class="num">46.5M</td><td class="num">109.1</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 511 |
+
<tr><td>XLarge</td><td class="num">86.7M</td><td class="num">205.7</td><td class="muted">—</td><td class="muted">—</td></tr>
|
| 512 |
+
</table>
|
| 513 |
+
|
| 514 |
+
<div id="yolov5-det">
|
| 515 |
+
<p class="breadcrumb"><a href="#top" target="_self">Models</a> › <a href="#yolov5" target="_self">YOLOv5</a> › <strong>Detection</strong></p>
|
| 516 |
+
<h3>YOLOv5 Detection</h3>
|
| 517 |
+
<p><a href="https://huggingface.co/EdgeFirst/yolov5-det">View on HuggingFace →</a></p>
|
| 518 |
+
<table class="data-table">
|
| 519 |
+
<tr><th>Size</th><th>ONNX FP32 mAP@0.5</th><th>TFLite INT8 mAP@0.5</th><th>INT8 Drop</th></tr>
|
| 520 |
+
<tr><td>Nano</td><td class="num">49.6%</td><td class="num">46.2%</td><td class="num">β3.4 pp</td></tr>
|
| 521 |
+
</table>
|
| 522 |
+
</div>
|
| 523 |
+
<a class="back-to-top" href="#top" target="_self">↑ Back to top</a>
|
| 524 |
+
</div>
|
| 525 |
+
|
| 526 |
+
<!-- βββββββββββββββββββββββββββββββββββββββββββββββββββββββ -->
|
| 527 |
+
<!-- WORKFLOW & VALIDATION -->
|
| 528 |
+
<!-- βββββββββββββββββββββββββββββββββββββββββββββββββββββββ -->
|
| 529 |
+
|
| 530 |
+
<h2>Validation Pipeline</h2>
|
| 531 |
+
<div class="diagram-container">
|
| 532 |
+
<img src="01-ecosystem.png" alt="EdgeFirst Model Zoo Ecosystem">
|
| 533 |
+
</div>
|
| 534 |
+
<p>
|
| 535 |
+
Every artifact in the Model Zoo is measured on the <strong>same dataset on the same hardware</strong> users deploy on. <a href="https://edgefirst.studio"><strong>EdgeFirst Studio</strong></a> manages datasets, training, multi-format export, and reference validation; on-target runs happen on a board farm of i.MX 8M Plus, i.MX 95, Ara-240, Hailo, and Jetson devices. Accuracy numbers and per-stage timing are pushed back to Studio session metrics and consumed by this Model Zoo when generating each model card.
|
| 536 |
+
</p>
|
| 537 |
+
|
| 538 |
+
<h3>End-to-end Flow</h3>
|
| 539 |
+
<div class="diagram-container">
|
| 540 |
+
<img src="02-model-lifecycle.png" alt="Model Lifecycle: 5 stages from training to publication">
|
| 541 |
+
</div>
|
| 542 |
+
<p>
|
| 543 |
+
Each training session produces a single set of weights. The export pipeline emits ONNX FP32, INT8 TFLite, and platform-specific compiled formats (i.MX 95 Neutron, NXP Ara-240 DVM, Hailo HEF, Jetson TensorRT). Every output is paired with an on-target validation run that captures both <strong>accuracy</strong> (COCO/LVIS mAP against the validation set) and <strong>full-pipeline timing</strong>. The ONNX FP32 run from each training session serves as the reference baseline; quantization and runtime loss are measured relative to it, not relative to externally-published numbers.
|
| 544 |
+
</p>
|
| 545 |
|
| 546 |
+
<h3>EdgeFirst Profiler</h3>
|
| 547 |
+
<div class="diagram-container">
|
| 548 |
+
<img src="03-on-target-validation.png" alt="On-Target Validation Pipeline">
|
| 549 |
+
</div>
|
| 550 |
+
<p>
|
| 551 |
+
The <strong>EdgeFirst Profiler</strong> is the on-target agent that drives every validation. Given a model and a dataset, it runs full inference on the target device, captures per-image predictions in the EdgeFirst Arrow/Parquet format, and emits a <a href="https://perfetto.dev"><strong>Perfetto</strong></a> trace alongside the predictions. The Profiler is hardware-aware: it loads each runtime through its native delegate — Verisilicon VX Delegate on i.MX 8M Plus, eIQ Neutron Delegate on i.MX 95, Kinara SDK on Ara-240, HailoRT on RPi5 + Hailo, TensorRT on Jetson — so every stage timed by the trace corresponds to what a deployed application would experience.
|
| 552 |
+
</p>
|
| 553 |
+
|
| 554 |
+
<h3>EdgeFirst Validator</h3>
|
| 555 |
+
<p>
|
| 556 |
+
The <strong>EdgeFirst Validator</strong> is the off-target post-processor. It consumes the Profiler's predictions and Perfetto trace, computes the full 12-metric COCO accuracy tuple via <code>pycocotools</code> (or <code>lvis-api</code> for large-vocabulary datasets), and rebuilds per-stage timing summaries from the trace. Results land in a structured YAML payload attached to the Studio validation session — the same payload the Model Zoo reads to render this page. Accuracy and timing are computed independently of the runtime that produced the predictions, so toolchain regressions surface as cross-platform divergence rather than silent failures.
|
| 557 |
+
</p>
|
| 558 |
+
|
| 559 |
+
<h3>EdgeFirst HAL</h3>
|
| 560 |
+
<p>
|
| 561 |
+
The <a href="https://github.com/EdgeFirstAI/hal"><strong>EdgeFirst Hardware Abstraction Layer</strong> (HAL)</a> provides the hardware-accelerated primitives used at both validation and deployment time. The Profiler uses HAL for letterbox resize, color-space conversion, normalization, layout conversion, and post-decode (YOLO/ModelPack output decoding, NMS, mask materialisation). HAL automatically selects DMA-BUF, OpenGL ES, NXP G2D, or CPU paths depending on the platform — so the timing measured during validation reflects the same accelerated path a production runtime would take. HAL ships as a Rust crate, a Python package, and a C library under Apache 2.0.
|
| 562 |
+
</p>
|
| 563 |
+
|
| 564 |
+
<h3>Latency and Pipelined Throughput</h3>
|
| 565 |
+
<p>
|
| 566 |
+
Two complementary timing surfaces are reported per validation:
|
| 567 |
+
</p>
|
| 568 |
+
<table class="data-table">
|
| 569 |
+
<tr><th>Surface</th><th>What it captures</th><th>When it's present</th></tr>
|
| 570 |
+
<tr><td><code>timing.inline</code></td><td>Per-image <code>preprocess_ms</code>, <code>inference_ms</code>, <code>postprocess_ms</code> with min / mean / median / p95 / p99 / max</td><td>Always — the universal contract every producer fills in</td></tr>
|
| 571 |
+
<tr><td><code>timing.trace</code></td><td>Full per-stage breakdown from the Perfetto trace (typically 25–33 stages including delegate work, tensor moves, decode passes, NMS, parquet flush), plus end-to-end FPS distribution</td><td>When the Profiler emits a sidecar trace (almost all runs)</td></tr>
|
| 572 |
+
</table>
|
| 573 |
+
<p>
|
| 574 |
+
<strong>Throughput exceeds the sum of stage latencies</strong> because the runtime pipelines I/O, host preprocessing, NPU inference, and decode across frames. Reporting <code>1000 / (preprocess + inference + postprocess)</code> understates real throughput; the Model Zoo uses the <strong>measured end-to-end FPS</strong> from the trace (<code>trace.fps.median</code>) as the headline number. As a concrete example, YOLOv5n on i.MX 95 Neutron has per-stage means 21.7 ms preprocess + 12.2 ms inference + 15.8 ms postprocess (naive estimate ~20 FPS), but the measured pipelined throughput is <strong>56 FPS median</strong> — the 2.8× gap is the value the pipelining delivers.
|
| 575 |
+
</p>
|
| 576 |
+
|
| 577 |
+
<!-- βββββββββββββββββββββββββββββββββββββββββββββββββββββββ -->
|
| 578 |
+
<!-- NAMING & VARIANTS -->
|
| 579 |
+
<!-- βββββββββββββββββββββββββββββββββββββββββββββββββββββββ -->
|
| 580 |
+
|
| 581 |
+
<h2>Naming Convention</h2>
|
| 582 |
+
<p>Each HuggingFace repo contains one model family for one task, organized by platform folders.</p>
|
| 583 |
+
<table class="data-table">
|
| 584 |
+
<tr><th>Component</th><th>Pattern</th><th>Example</th></tr>
|
| 585 |
+
<tr><td>HF Repo</td><td><code>EdgeFirst/{version}-{task}</code></td><td><code>EdgeFirst/yolov8-det</code></td></tr>
|
| 586 |
+
<tr><td>ONNX</td><td><code>{ver}{sz}-{task}-{prec}.onnx</code></td><td><code>yolov8n-det-fp32.onnx</code></td></tr>
|
| 587 |
+
<tr><td>TFLite</td><td><code>{ver}{sz}-{task}-{prec}.tflite</code></td><td><code>yolov8n-det-int8.tflite</code></td></tr>
|
| 588 |
+
<tr><td>Smart</td><td><code>{ver}{sz}-{task}-{prec}-smart.tflite</code></td><td><code>yolov8n-seg-int8-smart.tflite</code></td></tr>
|
| 589 |
+
<tr><td>i.MX 95</td><td><code>{ver}{sz}-{task}-{prec}.imx95.tflite</code></td><td><code>yolov8n-det-int8.imx95.tflite</code></td></tr>
|
| 590 |
+
<tr><td>Hailo HEF</td><td><code>{ver}{sz}-{task}-{prec}.hailo8l.hef</code></td><td><code>yolov8n-det-int8.hailo8l.hef</code></td></tr>
|
| 591 |
+
<tr><td>TensorRT</td><td><code>{ver}{sz}-{task}-{prec}.{gpu}.engine</code></td><td><code>yolov8n-det-fp16.orin-nano.engine</code></td></tr>
|
| 592 |
+
</table>
|
| 593 |
+
|
| 594 |
+
<h3>Decoder Variants</h3>
|
| 595 |
+
<p>INT8 quantized models are available in two decoder configurations. The <strong>default</strong> (no suffix) uses a logical split-decoder — lossless and zero additional cost. The <strong>-smart</strong> variant uses a multi-scale split-decoder for improved accuracy at the cost of more CPU post-processing. Both are published so users can choose the tradeoff.</p>
|
| 596 |
+
|
| 597 |
+
<!-- βββββββββββββββββββββββββββββββββββββββββββββββββββββββ -->
|
| 598 |
+
<!-- ROADMAP -->
|
| 599 |
+
<!-- βββββββββββββββββββββββββββββββββββββββββββββββββββββββ -->
|
| 600 |
+
|
| 601 |
+
<h2>Roadmap</h2>
|
| 602 |
+
<p>Expanding across the full spatial perception stack. All models validated on real hardware.</p>
|
| 603 |
+
<table class="data-table">
|
| 604 |
<tr><th>Category</th><th>Examples</th><th>Platforms</th><th>Status</th></tr>
|
| 605 |
<tr>
|
| 606 |
+
<td>Detection</td>
|
| 607 |
+
<td>DETR-class, EfficientDet, mobile-optimized</td>
|
| 608 |
<td><div class="badge-row"><span class="platform-badge">i.MX</span> <span class="platform-badge">Ara240</span> <span class="platform-badge">Hailo</span> <span class="platform-badge">Jetson</span></div></td>
|
| 609 |
<td><span class="status-coming">Coming Soon</span></td>
|
| 610 |
</tr>
|
| 611 |
<tr>
|
| 612 |
+
<td>Semantic Seg</td>
|
| 613 |
+
<td>Lightweight real-time scene parsing</td>
|
| 614 |
<td><div class="badge-row"><span class="platform-badge">i.MX</span> <span class="platform-badge">Ara240</span> <span class="platform-badge">Hailo</span> <span class="platform-badge">Jetson</span></div></td>
|
| 615 |
<td><span class="status-planned">Roadmap</span></td>
|
| 616 |
</tr>
|
| 617 |
<tr>
|
| 618 |
+
<td>SAM Seg</td>
|
| 619 |
+
<td>Prompted, class-agnostic masks</td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 620 |
<td><div class="badge-row"><span class="platform-badge">Ara240</span> <span class="platform-badge">Jetson</span></div></td>
|
| 621 |
<td><span class="status-planned">Roadmap</span></td>
|
| 622 |
</tr>
|
| 623 |
<tr>
|
| 624 |
<td>Monocular Depth</td>
|
| 625 |
+
<td>Relative and metric depth estimation</td>
|
| 626 |
<td><div class="badge-row"><span class="platform-badge">i.MX</span> <span class="platform-badge">Ara240</span> <span class="platform-badge">Jetson</span></div></td>
|
| 627 |
<td><span class="status-planned">Roadmap</span></td>
|
| 628 |
</tr>
|
| 629 |
<tr>
|
| 630 |
+
<td>3D & Occupancy</td>
|
| 631 |
+
<td>Monocular 3D, BEV, occupancy grids</td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 632 |
<td><div class="badge-row"><span class="platform-badge">Jetson</span></div></td>
|
| 633 |
<td><span class="status-planned">Roadmap</span></td>
|
| 634 |
</tr>
|
| 635 |
<tr>
|
| 636 |
<td>Edge VLMs</td>
|
| 637 |
+
<td>Visual language models for edge</td>
|
| 638 |
<td><div class="badge-row"><span class="platform-badge">Ara240</span> <span class="platform-badge">Jetson</span></div></td>
|
| 639 |
<td><span class="status-planned">Roadmap</span></td>
|
| 640 |
</tr>
|
| 641 |
</table>
|
|
|
|
| 642 |
<p class="roadmap-note">Roadmap is subject to change. Models are published as validation completes on each target platform.</p>
|
| 643 |
|
| 644 |
+
<!-- βββββββββββββββββββββββββββββββββββββββββββββββββββββββ -->
|
| 645 |
+
<!-- ARCHITECTURE & STUDIO -->
|
| 646 |
+
<!-- βββββββββββββββββββββββββββββββββββββββββββββββββββββββ -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 647 |
|
| 648 |
<h2>EdgeFirst Studio</h2>
|
| 649 |
<p>
|