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) usingonnx_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)
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
π
Ask for provider support