Lillthorin commited on
Commit
e10b44f
Β·
verified Β·
1 Parent(s): e989ba3

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +56 -3
README.md CHANGED
@@ -1,3 +1,56 @@
1
- ---
2
- license: apache-2.0
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ ---
4
+ # YOLOLite-edge_s (ONNX, 640x640)
5
+
6
+ YOLOLite-edge_s is a lightweight, CPU-oriented object detection model designed for real-time performance on edge devices and industrial systems.
7
+ The model is part of the YOLOLite family, focusing on **practical latency**, **small model size**, and **stable performance across many real-world datasets**.
8
+
9
+ ---
10
+
11
+ πŸ“¦ Full source code: https://github.com/Lillthorin/YoloLite-Official-Repo
12
+
13
+ πŸ“Š Benchmark Results can be found under BENCHMARK.md in the repo
14
+
15
+ ## πŸ” Key Features
16
+
17
+ - **Real-time CPU performance** (25–30 FPS end-to-end on desktop CPU)
18
+ - **Fast ONNX inference** (14–18 ms per frame)
19
+ - Optimized for **industrial and edge applications**
20
+ - Supports **resize** or **letterbox** preprocessing
21
+ - Reliable performance across 40+ diverse Roboflow100 datasets
22
+
23
+ ---
24
+
25
+ ## ⚑ Real-World Performance (CPU, ONNX Runtime)
26
+
27
+ Tested using 1080p traffic footage (`intersection.mp4`) and the script
28
+ `onnx_intersection_showcase.py`.
29
+
30
+ | Measurement | Result |
31
+ |------------|--------|
32
+ | **End-to-end FPS** | **25–30 FPS** |
33
+ | **Raw ONNX inference** | **14–18 ms** (~55–70 FPS) |
34
+ | **Resolution** | 640 Γ— 640 |
35
+ | **Execution Provider** | CPUExecutionProvider |
36
+
37
+ These values include the **full pipeline**: video β†’ resize β†’ inference β†’ NMS β†’ drawing.
38
+
39
+ ---
40
+
41
+
42
+ ## πŸ§ͺ Example Usage
43
+
44
+ ```python
45
+ from tools.infer_onnx import ONNX_Predict
46
+ import cv2
47
+
48
+ predict = ONNX_Predict("edge_s_640_resize.onnx",
49
+ providers=["CPUExecutionProvider"],
50
+ use_letterbox=False)
51
+
52
+ frame = cv2.imread("image.jpg")
53
+ boxes, scores, classes = predict.infer_image(frame, img_size=640)
54
+
55
+ for (x1, y1, x2, y2), score, cls in zip(boxes, scores, classes):
56
+ print(x1, y1, x2, y2, score, cls)