| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>EdgeFirst AI — Spatial Perception at the Edge</title> |
| <base target="_blank"> |
| <link rel="preconnect" href="https://fonts.googleapis.com"> |
| <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> |
| <link href="https://fonts.googleapis.com/css2?family=Barlow:wght@300;400;500;600;700&family=Crimson+Text:wght@400;600&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"> |
| <style> |
| :root { |
| --navy: #3E3371; |
| --gold: #E8B820; |
| --teal: #1FA0A8; |
| --teal-text: #167A80; |
| --indigo: #4B0082; |
| --blue: #8FA3D4; |
| --bg: #FFFFFF; |
| --bg-subtle: #F8F9FA; |
| --bg-card: #F0EDF8; |
| --text: #343A40; |
| --text-strong: #212529; |
| --text-muted: #6C757D; |
| --border: #E9ECEF; |
| --heading: var(--navy); |
| --link: var(--teal-text); |
| } |
| @media (prefers-color-scheme: dark) { |
| :root { |
| --bg: #1a1a2e; |
| --bg-subtle: #16213e; |
| --bg-card: rgba(75, 0, 130, 0.2); |
| --text: #F1F3F5; |
| --text-strong: #FFFFFF; |
| --text-muted: #aaa; |
| --border: rgba(255,255,255,0.1); |
| --heading: #FFFFFF; |
| --link: #1FA0A8; |
| } |
| } |
| * { margin: 0; padding: 0; box-sizing: border-box; } |
| body { |
| font-family: 'Crimson Text', Georgia, serif; |
| background: var(--bg); |
| color: var(--text); |
| line-height: 1.7; |
| font-size: 16px; |
| } |
| .container { max-width: 860px; margin: 0 auto; padding: 2.5rem 2rem; } |
| h1, h2, h3 { |
| font-family: 'Barlow', -apple-system, sans-serif; |
| color: var(--heading); |
| line-height: 1.3; |
| } |
| h1 { font-size: 2.2rem; font-weight: 700; margin-bottom: 0.15rem; } |
| h1 .edge { color: var(--heading); } |
| h1 .first { color: var(--gold); } |
| h2 { |
| font-size: 1.15rem; font-weight: 600; |
| text-transform: uppercase; letter-spacing: 0.06em; |
| margin-top: 2.5rem; margin-bottom: 0.75rem; |
| padding-bottom: 0.35rem; border-bottom: 2px solid var(--gold); |
| } |
| .tagline { |
| font-family: 'Barlow', sans-serif; font-weight: 500; |
| letter-spacing: 0.12em; text-transform: uppercase; |
| color: var(--text-muted); font-size: 0.85rem; margin-bottom: 1.5rem; |
| } |
| p { margin-bottom: 1rem; } |
| a { color: var(--link); text-decoration: none; } |
| a:hover { text-decoration: underline; color: var(--navy); } |
| @media (prefers-color-scheme: dark) { a:hover { color: var(--gold); } } |
| .badges { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 1.25rem 0; } |
| .badges img { height: 22px; } |
| .link-badges { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 1.5rem 0; } |
| .link-badges img { height: 28px; } |
| |
| .diagram-container { |
| margin: 1.5rem 0; |
| text-align: center; |
| } |
| .diagram-container img { |
| max-width: 100%; |
| height: auto; |
| } |
| |
| .naming-table { |
| width: 100%; |
| border-collapse: collapse; |
| margin: 0.75rem 0; |
| font-family: 'Barlow', sans-serif; |
| font-size: 0.9rem; |
| } |
| .naming-table th { |
| text-align: left; |
| padding: 0.4rem 0.6rem; |
| font-weight: 600; |
| font-size: 0.8rem; |
| text-transform: uppercase; |
| letter-spacing: 0.04em; |
| color: var(--text-muted); |
| border-bottom: 2px solid var(--border); |
| } |
| .naming-table td { |
| padding: 0.35rem 0.6rem; |
| border-bottom: 1px solid var(--border); |
| font-family: 'JetBrains Mono', monospace; |
| font-size: 0.82rem; |
| } |
| .naming-table td:first-child { |
| font-family: 'Barlow', sans-serif; |
| font-weight: 500; |
| color: var(--text-strong); |
| } |
| |
| .arch-table { |
| width: 100%; |
| border-collapse: collapse; |
| margin: 0.75rem 0; |
| font-family: 'Barlow', sans-serif; |
| font-size: 0.95rem; |
| } |
| .arch-table th { |
| text-align: left; |
| padding: 0.5rem 0.75rem; |
| font-weight: 600; font-size: 0.8rem; |
| text-transform: uppercase; letter-spacing: 0.05em; |
| color: var(--text-muted); |
| border-bottom: 2px solid var(--border); |
| } |
| .arch-table td { |
| padding: 0.5rem 0.75rem; |
| border-bottom: 1px solid var(--border); |
| } |
| .arch-table td:first-child { |
| font-weight: 600; |
| color: var(--text-strong); |
| white-space: nowrap; |
| } |
| .roadmap-tag { |
| font-family: 'Barlow', sans-serif; |
| font-size: 0.7rem; font-weight: 600; |
| padding: 0.1rem 0.45rem; border-radius: 3px; |
| background: var(--indigo); color: #fff; |
| vertical-align: middle; margin-left: 0.3rem; |
| letter-spacing: 0.03em; text-transform: uppercase; |
| } |
| .wip-tag { |
| font-family: 'Barlow', sans-serif; |
| font-size: 0.7rem; font-weight: 600; |
| padding: 0.1rem 0.45rem; border-radius: 3px; |
| background: var(--gold); color: #333; |
| vertical-align: middle; margin-left: 0.3rem; |
| letter-spacing: 0.03em; text-transform: uppercase; |
| } |
| |
| .container > h3 { |
| font-size: 0.95rem; font-weight: 600; |
| color: var(--text-muted); |
| text-transform: uppercase; letter-spacing: 0.05em; |
| margin-top: 1.25rem; margin-bottom: 0.5rem; |
| } |
| .model-grid { |
| display: grid; |
| grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); |
| gap: 0.75rem; margin: 1rem 0; |
| } |
| .model-card { |
| font-family: 'Barlow', sans-serif; |
| background: var(--bg-card); |
| padding: 0.85rem 1rem; border-radius: 5px; |
| border-left: 3px solid var(--gold); |
| transition: border-color 0.15s; |
| } |
| .model-card:hover { border-left-color: var(--teal); } |
| .model-card h3 { font-size: 0.95rem; font-weight: 600; margin-bottom: 0.2rem; } |
| .model-card h3 a { color: var(--text-strong); } |
| .model-card h3 a:hover { color: var(--link); text-decoration: none; } |
| .model-card .meta { color: var(--text-muted); font-size: 0.82rem; font-weight: 400; } |
| .studio-features { margin: 0.75rem 0 0 1.25rem; color: var(--text); font-size: 0.95rem; } |
| .studio-features li { margin-bottom: 0.25rem; } |
| |
| .roadmap-quarter { |
| font-family: 'Barlow', sans-serif; |
| font-size: 0.85rem; font-weight: 600; |
| color: var(--teal-text); |
| text-transform: uppercase; letter-spacing: 0.04em; |
| margin-top: 1.5rem; margin-bottom: 0.4rem; |
| padding-left: 0.6rem; |
| border-left: 3px solid var(--teal); |
| } |
| @media (prefers-color-scheme: dark) { |
| .roadmap-quarter { color: var(--teal); } |
| } |
| .roadmap-table { |
| width: 100%; |
| border-collapse: collapse; |
| margin: 0.4rem 0 1.25rem 0; |
| font-family: 'Barlow', sans-serif; |
| font-size: 0.88rem; |
| } |
| .roadmap-table th { |
| text-align: left; |
| padding: 0.4rem 0.6rem; |
| font-weight: 600; font-size: 0.75rem; |
| text-transform: uppercase; letter-spacing: 0.04em; |
| color: var(--text-muted); |
| border-bottom: 2px solid var(--border); |
| } |
| .roadmap-table td { |
| padding: 0.35rem 0.6rem; |
| border-bottom: 1px solid var(--border); |
| vertical-align: middle; |
| } |
| .roadmap-table td:first-child { |
| font-weight: 600; |
| color: var(--text-strong); |
| white-space: nowrap; |
| } |
| .roadmap-table .category { |
| color: var(--text-muted); |
| font-size: 0.8rem; |
| } |
| .badge-row { display: flex; flex-wrap: wrap; gap: 0.25rem; } |
| .license-badge { |
| font-family: 'Barlow', sans-serif; |
| font-size: 0.65rem; font-weight: 600; |
| padding: 0.08rem 0.35rem; border-radius: 3px; |
| letter-spacing: 0.02em; white-space: nowrap; |
| } |
| .license-apache { background: #1B7F37; color: #fff; } |
| .license-mit { background: #0969DA; color: #fff; } |
| .license-agpl { background: #CF222E; color: #fff; } |
| .license-other { background: #6E7781; color: #fff; } |
| .platform-badge { |
| font-family: 'Barlow', sans-serif; |
| font-size: 0.62rem; font-weight: 600; |
| padding: 0.06rem 0.3rem; border-radius: 2px; |
| letter-spacing: 0.02em; white-space: nowrap; |
| background: var(--bg-card); color: var(--text-muted); |
| border: 1px solid var(--border); |
| } |
| .status-available { |
| font-family: 'Barlow', sans-serif; |
| font-size: 0.68rem; font-weight: 600; |
| padding: 0.1rem 0.4rem; border-radius: 3px; |
| background: #1B7F37; color: #fff; |
| letter-spacing: 0.03em; text-transform: uppercase; |
| } |
| .status-coming { |
| font-family: 'Barlow', sans-serif; |
| font-size: 0.68rem; font-weight: 600; |
| padding: 0.1rem 0.4rem; border-radius: 3px; |
| background: var(--gold); color: #333; |
| letter-spacing: 0.03em; text-transform: uppercase; |
| } |
| .status-planned { |
| font-family: 'Barlow', sans-serif; |
| font-size: 0.68rem; font-weight: 600; |
| padding: 0.1rem 0.4rem; border-radius: 3px; |
| background: var(--indigo); color: #fff; |
| letter-spacing: 0.03em; text-transform: uppercase; |
| } |
| .roadmap-note { |
| font-family: 'Barlow', sans-serif; |
| font-size: 0.82rem; color: var(--text-muted); |
| font-style: italic; |
| margin-top: 0.75rem; |
| } |
| .footer { |
| margin-top: 3rem; padding-top: 1.5rem; |
| border-top: 1px solid var(--border); |
| text-align: center; |
| font-family: 'Barlow', sans-serif; |
| font-size: 0.8rem; color: var(--text-muted); |
| } |
| .footer a { color: var(--text-muted); } |
| .footer a:hover { color: var(--link); } |
| </style> |
| </head> |
| <body> |
| <div class="container"> |
| <h1><span class="edge">Edge</span><span class="first">First</span> AI</h1> |
| <p class="tagline">AI for Spatial Perception</p> |
|
|
| <p> |
| <strong>EdgeFirst Perception</strong> is an open-source suite of libraries and microservices for AI-driven spatial perception on edge devices. It supports cameras, LiDAR, radar, and time-of-flight sensors — enabling real-time object detection, segmentation, sensor fusion, and 3D spatial understanding, optimized for resource-constrained embedded hardware. |
| </p> |
|
|
| <div class="link-badges"> |
| <a href="https://edgefirst.studio"><img src="https://img.shields.io/badge/EdgeFirst_Studio-3E3371?style=for-the-badge&logoColor=white" alt="EdgeFirst Studio"></a> |
| <a href="https://github.com/EdgeFirstAI"><img src="https://img.shields.io/badge/GitHub-212529?style=for-the-badge&logo=github&logoColor=white" alt="GitHub"></a> |
| <a href="https://doc.edgefirst.ai"><img src="https://img.shields.io/badge/Documentation-1FA0A8?style=for-the-badge&logo=readthedocs&logoColor=white" alt="Documentation"></a> |
| <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> |
| </div> |
|
|
| <h2>Workflow</h2> |
|
|
| <div class="diagram-container"> |
| <img src="01-ecosystem.png" alt="EdgeFirst Model Zoo Ecosystem: Training, Validation, and Publication Workflow"> |
| </div> |
|
|
| <p> |
| Every model in the EdgeFirst Model Zoo passes through a validated pipeline. <a href="https://edgefirst.studio"><strong>EdgeFirst Studio</strong></a> manages datasets, training, multi-format export (ONNX, TFLite INT8, eIQ Neutron, Kinara DVM, HailoRT HEF, TensorRT), and reference validation. Models are then deployed to our board farm for <strong>full-dataset on-target validation</strong> on real hardware — measuring both accuracy (mAP) and detailed timing breakdown per device. Results are published here on HuggingFace with per-platform performance tables. |
| </p> |
|
|
| <h2>Model Lifecycle</h2> |
|
|
| <div class="diagram-container"> |
| <img src="02-model-lifecycle.png" alt="Model Lifecycle: 5 stages from training to publication"> |
| </div> |
|
|
| <h2>On-Target Validation</h2> |
|
|
| <div class="diagram-container"> |
| <img src="03-on-target-validation.png" alt="On-Target Validation Pipeline: full dataset validation on real hardware"> |
| </div> |
|
|
| <p> |
| 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. |
| </p> |
|
|
| <h2>Supported Hardware</h2> |
| <div class="badges"> |
| <img src="https://img.shields.io/badge/NXP-i.MX_8M_Plus-3E3371?style=flat-square&logoColor=white" alt="NXP i.MX 8M Plus"> |
| <img src="https://img.shields.io/badge/NXP-i.MX_95-3E3371?style=flat-square&logoColor=white" alt="NXP i.MX 95"> |
| <img src="https://img.shields.io/badge/NXP-Ara240-3E3371?style=flat-square&logoColor=white" alt="NXP Ara240"> |
| <img src="https://img.shields.io/badge/RPi5-Hailo--8%2F8L-1FA0A8?style=flat-square&logoColor=white" alt="RPi5 + Hailo-8/8L"> |
| <img src="https://img.shields.io/badge/NVIDIA-Jetson-76B900?style=flat-square&logoColor=white" alt="NVIDIA Jetson"> |
| </div> |
|
|
| <h2>Model Zoo</h2> |
| <p>Pre-trained YOLO models for edge deployment. Each model repo contains all sizes (nano through x-large), ONNX FP32 and TFLite INT8 formats, with platform-specific compiled variants as they become available.</p> |
|
|
| <h3>Detection</h3> |
| <div class="model-grid"> |
| <div class="model-card"> |
| <h3><a href="https://huggingface.co/EdgeFirst/yolo26-det">YOLO26</a></h3> |
| <p class="meta">n/s/m/l/x · COCO 80 classes · Nano mAP@0.5: 54.9%</p> |
| </div> |
| <div class="model-card"> |
| <h3><a href="https://huggingface.co/EdgeFirst/yolo11-det">YOLO11</a></h3> |
| <p class="meta">n/s/m/l/x · COCO 80 classes · Nano mAP@0.5: 53.4%</p> |
| </div> |
| <div class="model-card"> |
| <h3><a href="https://huggingface.co/EdgeFirst/yolov8-det">YOLOv8</a></h3> |
| <p class="meta">n/s/m/l/x · COCO 80 classes · Nano mAP@0.5: 50.2%</p> |
| </div> |
| <div class="model-card"> |
| <h3><a href="https://huggingface.co/EdgeFirst/yolov5-det">YOLOv5</a></h3> |
| <p class="meta">n/s/m/l/x · COCO 80 classes · Nano mAP@0.5: 49.6%</p> |
| </div> |
| </div> |
|
|
| <h3>Instance Segmentation</h3> |
| <div class="model-grid"> |
| <div class="model-card"> |
| <h3><a href="https://huggingface.co/EdgeFirst/yolo26-seg">YOLO26</a></h3> |
| <p class="meta">n/s/m/l/x · COCO 80 classes · Nano Mask mAP: 37.0%</p> |
| </div> |
| <div class="model-card"> |
| <h3><a href="https://huggingface.co/EdgeFirst/yolo11-seg">YOLO11</a></h3> |
| <p class="meta">n/s/m/l/x · COCO 80 classes · Nano Mask mAP: 35.5%</p> |
| </div> |
| <div class="model-card"> |
| <h3><a href="https://huggingface.co/EdgeFirst/yolov8-seg">YOLOv8</a></h3> |
| <p class="meta">n/s/m/l/x · COCO 80 classes · Nano Mask mAP: 34.1%</p> |
| </div> |
| </div> |
|
|
| <h2>Roadmap</h2> |
| <p>The EdgeFirst Model Zoo is expanding across the full spatial perception stack — from 2D detection through depth estimation, 3D scene understanding, and edge VLMs. All models are validated on real hardware with the same pipeline used for our YOLO models.</p> |
|
|
| <table class="roadmap-table"> |
| <tr><th>Category</th><th>Examples</th><th>Platforms</th><th>Status</th></tr> |
| <tr> |
| <td>Detection (Apache 2.0)</td> |
| <td class="category">DETR-class, EfficientDet, mobile-optimized detectors</td> |
| <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> |
| <td><span class="status-coming">Coming Soon</span></td> |
| </tr> |
| <tr> |
| <td>Semantic Segmentation</td> |
| <td class="category">Lightweight real-time scene parsing</td> |
| <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> |
| <td><span class="status-planned">Roadmap</span></td> |
| </tr> |
| <tr> |
| <td>Instance Segmentation (Apache 2.0)</td> |
| <td class="category">Non-YOLO mask prediction</td> |
| <td><div class="badge-row"><span class="platform-badge">Ara240</span> <span class="platform-badge">Jetson</span></div></td> |
| <td><span class="status-planned">Roadmap</span></td> |
| </tr> |
| <tr> |
| <td>SAM-like Segmentation</td> |
| <td class="category">Prompted, class-agnostic masks</td> |
| <td><div class="badge-row"><span class="platform-badge">Ara240</span> <span class="platform-badge">Jetson</span></div></td> |
| <td><span class="status-planned">Roadmap</span></td> |
| </tr> |
| <tr> |
| <td>Monocular Depth</td> |
| <td class="category">Relative and metric depth estimation</td> |
| <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> |
| <td><span class="status-planned">Roadmap</span></td> |
| </tr> |
| <tr> |
| <td>Stereo Depth</td> |
| <td class="category">Hardware stereo depth matching</td> |
| <td><div class="badge-row"><span class="platform-badge">Jetson</span></div></td> |
| <td><span class="status-planned">Roadmap</span></td> |
| </tr> |
| <tr> |
| <td>3D Detection & Occupancy</td> |
| <td class="category">Monocular 3D, BEV, occupancy grids</td> |
| <td><div class="badge-row"><span class="platform-badge">Jetson</span></div></td> |
| <td><span class="status-planned">Roadmap</span></td> |
| </tr> |
| <tr> |
| <td>Edge VLMs</td> |
| <td class="category">Visual language models for edge inference</td> |
| <td><div class="badge-row"><span class="platform-badge">Ara240</span> <span class="platform-badge">Jetson</span></div></td> |
| <td><span class="status-planned">Roadmap</span></td> |
| </tr> |
| </table> |
|
|
| <p class="roadmap-note">Roadmap is subject to change. Models are published as validation completes on each target platform.</p> |
|
|
| <h2>Naming Convention</h2> |
| <p>Each HuggingFace repo contains one model family for one task, with all size variants inside.</p> |
| <table class="naming-table"> |
| <tr><th>Component</th><th>Pattern</th><th>Example</th></tr> |
| <tr><td>HF Repo</td><td>EdgeFirst/{version}-{task}</td><td>EdgeFirst/yolov8-det</td></tr> |
| <tr><td>ONNX Model</td><td>{version}{size}-{task}.onnx</td><td>yolov8n-det.onnx</td></tr> |
| <tr><td>TFLite Model</td><td>{version}{size}-{task}-int8.tflite</td><td>yolov8n-det-int8.tflite</td></tr> |
| <tr><td>i.MX 95 TFLite</td><td>{version}{size}-{task}.imx95.tflite</td><td>yolov8n-det.imx95.tflite</td></tr> |
| <tr><td>i.MX 93 TFLite</td><td>{version}{size}-{task}.imx93.tflite</td><td>yolov8n-det.imx93.tflite</td></tr> |
| <tr><td>i.MX 943 TFLite</td><td>{version}{size}-{task}.imx943.tflite</td><td>yolov8n-det.imx943.tflite</td></tr> |
| <tr><td>Hailo HEF</td><td>{version}{size}-{task}.hailo{variant}.hef</td><td>yolov8n-det.hailo8l.hef</td></tr> |
| <tr><td>Studio Project</td><td>{Dataset} {Task}</td><td>COCO Detection</td></tr> |
| <tr><td>Studio Experiment</td><td>{Version} {Task}</td><td>YOLOv8 Detection</td></tr> |
| </table> |
|
|
| <h2>Validation Pipeline</h2> |
| <p>Models go through two validation stages before publication:</p> |
| <table class="arch-table"> |
| <tr><th>Stage</th><th>What</th><th>Where</th></tr> |
| <tr> |
| <td>Reference</td> |
| <td>ONNX FP32 and TFLite INT8 mAP on full COCO val2017 (5000 images)</td> |
| <td>EdgeFirst Studio (cloud)</td> |
| </tr> |
| <tr> |
| <td>On-Target</td> |
| <td>Full dataset mAP + timing breakdown (load, preproc, invoke, decode, e2e) per device</td> |
| <td>Board farm (real hardware) <span class="wip-tag">In Progress</span></td> |
| </tr> |
| </table> |
|
|
| <h2>Perception Architecture</h2> |
| <table class="arch-table"> |
| <tr><th>Layer</th><th>Description</th></tr> |
| <tr><td>Foundation</td><td>Hardware abstraction, video I/O, accelerated inference delegates</td></tr> |
| <tr><td>Zenoh</td><td>Modular perception pipeline over Zenoh pub/sub</td></tr> |
| <tr><td>GStreamer</td><td>Spatial perception elements for GStreamer / NNStreamer</td></tr> |
| <tr><td>ROS 2</td><td>Native ROS 2 nodes extending Zenoh microservices <span class="roadmap-tag">Roadmap</span></td></tr> |
| </table> |
|
|
| <h2>EdgeFirst Studio</h2> |
| <p> |
| <a href="https://edgefirst.studio"><strong>EdgeFirst Studio</strong></a> is the MLOps platform that drives the entire model zoo pipeline. <strong>Free tier available.</strong> |
| </p> |
| <ul class="studio-features"> |
| <li>Dataset management & AI-assisted annotation</li> |
| <li>Model training with automatic multi-format export and INT8 quantization</li> |
| <li>Reference and on-target validation with full metrics collection</li> |
| <li>CameraAdaptor integration for native sensor format training</li> |
| <li>Deploy trained models to edge devices via the <a href="https://github.com/EdgeFirstAI/client">EdgeFirst Client</a> CLI</li> |
| </ul> |
|
|
| <div class="footer"> |
| <p>Apache 2.0 · © <a href="https://www.au-zone.com">Au-Zone Technologies Inc.</a></p> |
| </div> |
| </div> |
| </body> |
| </html> |
|
|