Lillthorin/YOLOlite_edge_s_320_p2
By Lillthorin · ↓ 0 · ♥ 2 · Updated 2025-11-23
What's in this repo
This page lists the files in Lillthorin/YOLOlite_edge_s_320_p2, including edge_s_320_p2_resize.onnx.
- 1 ONNX models (.onnx files)
- 6 files, including 2 .py, 1 .md, 1 .onnx, 1 .mp4
- Last updated 2025-11-23
ONNX files
| File | Size | Download |
|---|---|---|
| edge_s_320_p2_resize.onnx | — | Download |
How to use
These ONNX files can be loaded with ONNX Runtime. To inspect a model graph, upload the file to the Netron viewer. Download links point to the original files on Hugging Face.
README
YOLOLite-edge_s (ONNX, 320×320, P2 head)
YOLOLite-edge_s is a lightweight, CPU-focused object detection model designed for extreme edge performance at very low resolutions.
This P2-enabled variant is optimized for small-object detection at 320×320 while maintaining high real-time throughput on ordinary CPUs.
📦 Full source code: https://github.com/Lillthorin/YoloLite-Official-Repo
📊 Full Benchmark Results: See BENCHMARK.md in the repository
🔍 Key Features
- Real-time CPU throughput: 94–101 FPS end-to-end
- Fast ONNX inference: 8–10 ms per frame
- Optimized for industrial, robotics, and edge computing
- Enhanced P2 head for small-object performance at 320px
- Supports resize or letterbox preprocessing
- Evaluated across 40+ diverse Roboflow100 datasets
⚡ Real-World CPU Performance (ONNX Runtime)
Tested on 1080p traffic footage (intersection.mp4) using
onnx_intersection_showcase.py with:
- Model:
edge_s_320_p2.onnx - Execution Provider:
CPUExecutionProvider - Preprocessing: Resize
- Resolution: 320×320
| Measurement | Result |
|---|---|
| End-to-end FPS | 94–101 FPS |
| Raw inference latency | 8–10 ms per frame |
| Pipeline includes | video → resize → inference → NMS → drawing |
These values represent actual full-pipeline performance, not isolated model latency.
🧪 Example Usage
from infer_onnx import ONNX_Predict
import cv2
predict = ONNX_Predict(
"edge_s_320_p2.onnx",
providers=["CPUExecutionProvider"],
use_letterbox=False
)
frame = cv2.imread("image.jpg")
boxes, scores, classes = predict.infer_image(frame, img_size=320)
for (x1, y1, x2, y2), score, cls in zip(boxes, scores, classes):
print(x1, y1, x2, y2, score, cls)
Model info
Created: 2025-11-23
Updated: 2025-11-23
View on Hugging FaceFiles (6)
Related models
More from Lillthorin
More models
No task type declared.