--- 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)