Vansh180 commited on
Commit
6faa4f4
Β·
verified Β·
1 Parent(s): 7cfaefb

Delete MODEL_CARD.md

Browse files
Files changed (1) hide show
  1. MODEL_CARD.md +0 -192
MODEL_CARD.md DELETED
@@ -1,192 +0,0 @@
1
- # 🧾 Model Card β€” PotholeNet-YOLO11m-v1
2
-
3
- ## 🧠 Model Overview
4
-
5
- **PotholeNet-YOLO11m-v1** is a fine-tuned object detection model built on **Ultralytics YOLO11m** architecture, specifically trained to detect potholes, road damage, and garbage from street-level imagery. The model leverages YOLO11m's C2PSA (Cross-Stage Partial with Spatial Attention) mechanism, making it highly effective at identifying irregular-shaped urban defects like potholes.
6
-
7
- Trained on a large-scale, curated civic infrastructure dataset of **23,000+ street-level images** from Indian urban environments, this model is designed to power real-time civic issue detection systems, enabling automated reporting and faster municipal response.
8
-
9
- It serves as the **Detection Layer (Layer 1)** of the **Aamchi City AI Civic System** β€” an end-to-end intelligent dashboard for urban infrastructure monitoring.
10
-
11
- ---
12
-
13
- ## πŸ—οΈ Training Details
14
-
15
- | Parameter | Value |
16
- |:---|:---|
17
- | **Base Model** | `yolo11m.pt` (COCO pretrained) |
18
- | **Architecture** | YOLO11m (C3k2 + C2PSA Spatial Attention) |
19
- | **Framework** | Ultralytics v8.x |
20
- | **Training Hardware** | Kaggle β€” NVIDIA T4 Γ—2 (Dual GPU) |
21
- | **Epochs** | 50 |
22
- | **Input Resolution** | 768Γ—768 |
23
- | **Batch Size** | Auto (`batch=-1`) |
24
- | **Optimizer** | AdamW |
25
- | **Learning Rate** | `lr0=0.001`, cosine decay to `lrf=0.01` |
26
- | **Warmup** | 3 epochs |
27
- | **Weight Decay** | 0.0005 |
28
- | **AMP** | Enabled (FP16 mixed precision) |
29
- | **Early Stopping** | `patience=10` (did not trigger β€” model was still improving) |
30
-
31
- ### Loss Weights
32
- | Loss | Weight |
33
- |:---|:---|
34
- | Box Loss | 7.5 |
35
- | Classification Loss | 1.0 |
36
- | DFL Loss | 1.5 |
37
-
38
- ### Augmentation Pipeline
39
- | Augmentation | Value |
40
- |:---|:---|
41
- | Mosaic | 1.0 |
42
- | MixUp | 0.15 |
43
- | Copy-Paste | 0.1 |
44
- | HSV (H/S/V) | 0.015 / 0.7 / 0.4 |
45
- | Rotation | Β±10Β° |
46
- | Scale | 0.5 |
47
- | Shear | 2.0 |
48
- | Horizontal Flip | 0.5 |
49
- | Erasing | 0.3 |
50
- | Label Smoothing | 0.05 |
51
- | Close Mosaic | Last 8 epochs |
52
-
53
- ---
54
-
55
- ## πŸ“Š Dataset Description
56
-
57
- The model was trained on a curated subset of **23,179 street-level images** collected from Indian urban environments. The dataset underwent extensive preprocessing:
58
-
59
- - **Perceptual Hash (pHash) Deduplication** β€” Removed near-duplicate images using hamming distance ≀ 4
60
- - **Corrupt Image Removal** β€” Verified all images via PIL
61
- - **Intelligent Negative Sampling** β€” Trimmed empty-label (background) images to 2,000 hard negatives
62
- - **Stratified Split** β€” 80% Train / 15% Val / 5% Test, stratified by dominant class
63
-
64
- ### Label Classes
65
-
66
- | Class ID | Class Name | Description |
67
- |:---|:---|:---|
68
- | πŸ”΄ 0 | **Pothole** | Road surface cavities and depressions |
69
- | 🟑 1 | **Road Damage** | Cracks, surface wear, and structural deterioration |
70
- | 🟒 2 | **Garbage** | Street-level waste and debris accumulation |
71
-
72
- > **Priority:** Pothole (primary) > Garbage > Road Damage
73
-
74
- ---
75
-
76
- ## 🎯 Evaluation Metrics
77
-
78
- | Metric | Score |
79
- |:---|:---|
80
- | **mAP50** | **0.60** |
81
- | **mAP50-95** | β€” |
82
- | **Parameters** | ~20M |
83
- | **Model Size** | ~39 MB |
84
- | **Inference Speed** | Real-time on GPU |
85
-
86
- > ⚑ The model did not trigger early stopping at 50 epochs, indicating further training could yield additional performance gains.
87
-
88
- ---
89
-
90
- ## πŸ’¬ Example Usage
91
-
92
- ### Python (Ultralytics)
93
-
94
- ```python
95
- from ultralytics import YOLO
96
-
97
- # Load model
98
- model = YOLO("best.pt")
99
-
100
- # Run inference
101
- results = model("street_image.jpg", imgsz=768, conf=0.25)
102
-
103
- # Display results
104
- results[0].show()
105
-
106
- # Access detections
107
- for box in results[0].boxes:
108
- cls = int(box.cls)
109
- conf = float(box.conf)
110
- xyxy = box.xyxy[0].tolist()
111
- class_names = {0: "pothole", 1: "road_damage", 2: "garbage"}
112
- print(f"{class_names[cls]}: {conf:.2f} at {xyxy}")
113
- ```
114
-
115
- ### With Test-Time Augmentation (TTA)
116
-
117
- ```python
118
- # TTA boosts mAP by +1-3% at the cost of inference speed
119
- results = model("street_image.jpg", imgsz=768, conf=0.25, augment=True)
120
- ```
121
-
122
- ### Filter Pothole-Only Detections
123
-
124
- ```python
125
- results = model("street_image.jpg", conf=0.25)
126
- boxes = results[0].boxes
127
- pothole_mask = boxes.cls == 0
128
- pothole_boxes = boxes[pothole_mask]
129
- print(f"Found {len(pothole_boxes)} potholes")
130
- ```
131
-
132
- ---
133
-
134
- ## 🧩 Intended Use
135
-
136
- - **Real-time pothole detection** from dashcam, mobile phone, or street-view imagery
137
- - **Automated civic issue reporting** β€” GPS-tagged detection for municipal dashboards
138
- - **Infrastructure health monitoring** β€” Severity scoring and trend analysis for road maintenance
139
- - **Smart city integration** β€” Layer 1 detection input for AI-driven civic action systems
140
- - **Mobile deployment** β€” Exportable to ONNX for edge inference on mobile devices
141
-
142
- ---
143
-
144
- ## ⚠️ Limitations
145
-
146
- - The model is optimized for **Indian urban road conditions**; performance may degrade on highways, rural roads, or non-Indian geographies.
147
- - **Road damage** class has visual overlap with potholes, which may cause occasional misclassification between the two.
148
- - Performance is best on **daytime, clear-weather imagery** β€” low-light and rain-occluded scenes may reduce accuracy.
149
- - The model was trained for **50 epochs without early stopping trigger**, suggesting the checkpoint is not fully converged and further fine-tuning could improve results.
150
- - **Small potholes** (< 32px at 768px resolution) may be missed in wide-angle shots.
151
-
152
- ---
153
-
154
- ## πŸ§‘β€πŸ’» Developer
155
-
156
- | | |
157
- |:---|:---|
158
- | **Author** | Vansh Momaya |
159
- | **Institution** | D. J. Sanghvi College of Engineering |
160
- | **Focus Area** | Computer Vision, Object Detection, AI for Civic Infrastructure |
161
- | **Email** | vanshmomaya9@gmail.com |
162
-
163
- ---
164
-
165
- ## 🌍 Citation
166
-
167
- If you use PotholeNet-YOLO11m-v1 in your research or project:
168
-
169
- ```bibtex
170
- @online{momaya2026potholenet,
171
- author = {Vansh Momaya},
172
- title = {PotholeNet-YOLO11m-v1: Real-Time Pothole and Civic Issue Detection for Indian Urban Roads},
173
- year = {2026},
174
- version = {v1},
175
- url = {https://huggingface.co/Vansh180/PotholeNet-YOLO11m-v1},
176
- institution = {D. J. Sanghvi College of Engineering},
177
- note = {Fine-tuned YOLO11m model for detecting potholes, road damage, and garbage in Indian street imagery},
178
- license = {MIT}
179
- }
180
- ```
181
-
182
- ---
183
-
184
- ## πŸš€ Acknowledgements
185
-
186
- - **[Ultralytics YOLO11](https://github.com/ultralytics/ultralytics)** β€” Base architecture and training framework
187
- - **[Kaggle](https://www.kaggle.com)** β€” Training infrastructure (Dual T4 GPU)
188
- - **Aamchi City β€” Datahack 4** β€” Hackathon context and dataset
189
-
190
- ---
191
-
192
- *Built for the Aamchi City AI Civic System β€” Datahack 4, PS2 Core ML*