File size: 1,766 Bytes
e10b44f 36240ae e10b44f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 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 | ---
license: apache-2.0
---
# YOLOLite-edge_s (ONNX, 640x640)
YOLOLite-edge_s is a lightweight, CPU-oriented object detection model designed for real-time performance on edge devices and industrial systems.
The model is part of the YOLOLite family, focusing on **practical latency**, **small model size**, and **stable performance across many real-world datasets**.
---
π¦ Full source code: https://github.com/Lillthorin/YoloLite-Official-Repo
π Benchmark Results can be found under BENCHMARK.md in the repo
## π Key Features
- **Real-time CPU performance** (25β30 FPS end-to-end on desktop CPU)
- **Fast ONNX inference** (14β18 ms per frame)
- Optimized for **industrial and edge applications**
- Supports **resize** or **letterbox** preprocessing
- Reliable performance across 40+ diverse Roboflow100 datasets
---
## β‘ Real-World Performance (CPU, ONNX Runtime)
Tested using 1080p traffic footage (`intersection.mp4`) and the script
`onnx_intersection_showcase.py`.
| Measurement | Result |
|------------|--------|
| **End-to-end FPS** | **25β30 FPS** |
| **Raw ONNX inference** | **14β18 ms** (~55β70 FPS) |
| **Resolution** | 640 Γ 640 |
| **Execution Provider** | CPUExecutionProvider |
These values include the **full pipeline**: video β resize β inference β NMS β drawing.
---
## π§ͺ Example Usage
```python
from infer_onnx import ONNX_Predict
import cv2
predict = ONNX_Predict("edge_s_640_resize.onnx",
providers=["CPUExecutionProvider"],
use_letterbox=False)
frame = cv2.imread("image.jpg")
boxes, scores, classes = predict.infer_image(frame, img_size=640)
for (x1, y1, x2, y2), score, cls in zip(boxes, scores, classes):
print(x1, y1, x2, y2, score, cls) |