yasirfaizahmed commited on
Commit
9d42447
Β·
verified Β·
1 Parent(s): 752118a

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +72 -1
README.md CHANGED
@@ -15,4 +15,75 @@ tags:
15
  - self-driving
16
  new_version: yasirfaizahmed/license-plate-object-detection
17
  library_name: ultralytics
18
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  - self-driving
16
  new_version: yasirfaizahmed/license-plate-object-detection
17
  library_name: ultralytics
18
+ ---
19
+
20
+
21
+ ---
22
+
23
+
24
+ # YOLOv8 License Plate Detection
25
+ This project uses the **YOLOv8** object detection model to detect license plates. The dataset used is **Keremberke's License Plate Object Detection** , and the model is trained using the **Ultralytics YOLOv8 framework** .
26
+ ## Installation
27
+
28
+ Ensure you have the required dependencies installed:
29
+
30
+
31
+ ```bash
32
+ pip install datasets ultralytics opencv-python numpy pandas matplotlib
33
+ ```
34
+
35
+ ## Dataset
36
+ The dataset is loaded from Hugging Face's `datasets` library:
37
+
38
+ ```python
39
+ from datasets import load_dataset
40
+ ds = load_dataset("keremberke/license-plate-object-detection", "full")
41
+ ```
42
+
43
+ The dataset is split into:
44
+
45
+ - **Training Set**
46
+
47
+ - **Validation Set**
48
+
49
+ - **Test Set**
50
+
51
+ ## Data Preprocessing
52
+
53
+ - Images are extracted from the dataset and saved locally.
54
+
55
+ - Bounding box annotations are converted into **YOLO format** (normalized coordinates).
56
+
57
+ - The dataset is structured into:
58
+
59
+ ```kotlin
60
+ dataset/
61
+ β”œβ”€β”€ images/
62
+ β”‚ β”œβ”€β”€ train/
63
+ β”‚ β”œβ”€β”€ val/
64
+ β”œβ”€β”€ labels/
65
+ β”‚ β”œβ”€β”€ train/
66
+ β”‚ β”œβ”€β”€ val/
67
+ ```
68
+
69
+ ## Model Training
70
+ A pre-trained **YOLOv8** model (`yolov8n.pt`) is fine-tuned on the dataset:
71
+
72
+ ```python
73
+ from ultralytics import YOLO
74
+
75
+ model = YOLO('yolov8n.pt') # Load a small YOLOv8 model
76
+ results = model.train(data="dataset.yaml", epochs=75, imgsz=640, batch=16)
77
+ ```
78
+
79
+ ## Training Configuration
80
+
81
+ - **Epochs** : 75
82
+
83
+ - **Image Size** : 640x640
84
+
85
+ - **Batch Size** : 16
86
+
87
+
88
+
89
+ ---