prithivMLmods commited on
Commit
a8b009a
·
verified ·
1 Parent(s): 6f4fe06

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +141 -1
README.md CHANGED
@@ -82,4 +82,144 @@ M9z-SAUF-VEHICULES-AUTORISES 0.9253 0.9817 0.9527 164
82
  accuracy 0.9732 9298
83
  macro avg 0.9093 0.8968 0.9009 9298
84
  weighted avg 0.9731 0.9732 0.9729 9298
85
- ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82
  accuracy 0.9732 9298
83
  macro avg 0.9093 0.8968 0.9009 9298
84
  weighted avg 0.9731 0.9732 0.9729 9298
85
+ ```
86
+
87
+ I've updated the document with the new name **Road-Subsigns-Classification** and the corresponding classification labels. Here is the updated documentation and code:
88
+
89
+ ---
90
+
91
+ # **Road-Subsigns-Classification**
92
+
93
+ > **Road-Subsigns-Classification** is an image classification vision-language encoder model fine-tuned from **google/siglip2-base-patch16-224** for a single-label classification task. It is designed to classify images of road subsigns using the **SiglipForImageClassification** architecture.
94
+
95
+ The model categorizes road subsigns into 60 classes:
96
+ - **Class 0:** "M1"
97
+ - **Class 1:** "M11c1-E"
98
+ - **Class 2:** "M2"
99
+ - **Class 3:** "M3a-droite"
100
+ - **Class 4:** "M3a-gauche"
101
+ - **Class 5:** "M3b-gauche"
102
+ - **Class 6:** "M4a"
103
+ - **Class 7:** "M4b"
104
+ - **Class 8:** "M4c"
105
+ - **Class 9:** "M4d1"
106
+ - **Class 10:** "M4d2"
107
+ - **Class 11:** "M4f"
108
+ - **Class 12:** "M4g"
109
+ - **Class 13:** "M4h"
110
+ - **Class 14:** "M4u"
111
+ - **Class 15:** "M4v"
112
+ - **Class 16:** "M4z1"
113
+ - **Class 17:** "M4z2"
114
+ - **Class 18:** "M5-STOP"
115
+ - **Class 19:** "M6a"
116
+ - **Class 20:** "M6h"
117
+ - **Class 21:** "M6i"
118
+ - **Class 22:** "M6j"
119
+ - **Class 23:** "M8a"
120
+ - **Class 24:** "M8b"
121
+ - **Class 25:** "M8c"
122
+ - **Class 26:** "M8d"
123
+ - **Class 27:** "M8e"
124
+ - **Class 28:** "M8f"
125
+ - **Class 29:** "M9Z-INTERDIT-HORS-CASES"
126
+ - **Class 30:** "M9Z-SAUF-BUS"
127
+ - **Class 31:** "M9Z-SAUF-BUS-SCOLAIRE"
128
+ - **Class 32:** "M9c"
129
+ - **Class 33:** "M9d"
130
+ - **Class 34:** "M9v"
131
+ - **Class 35:** "M9z"
132
+ - **Class 36:** "M9z-DES-DEUX-COTES"
133
+ - **Class 37:** "M9z-ECOLE"
134
+ - **Class 38:** "M9z-PARKING-PRIVE"
135
+ - **Class 39:** "M9z-PASSAGE-SURELEVE"
136
+ - **Class 40:** "M9z-PROPRIETE-PRIVEE"
137
+ - **Class 41:** "M9z-RAPPEL"
138
+ - **Class 42:** "M9z-SAUF-CHANTIER"
139
+ - **Class 43:** "M9z-SAUF-CONVOIS-EXCEPT"
140
+ - **Class 44:** "M9z-SAUF-CYCLISTES"
141
+ - **Class 45:** "M9z-SAUF-DESSERTE"
142
+ - **Class 46:** "M9z-SAUF-LIVRAISONS"
143
+ - **Class 47:** "M9z-SAUF-POLICE"
144
+ - **Class 48:** "M9z-SAUF-RIVERAINS"
145
+ - **Class 49:** "M9z-SAUF-SERVICE"
146
+ - **Class 50:** "M9z-SAUF-TAXIS"
147
+ - **Class 51:** "M9z-SAUF-VEHICULES-AGRICOLES"
148
+ - **Class 52:** "M9z-SAUF-VEHICULES-AUTORISES"
149
+ - **Class 53:** "M9z-SECOURS"
150
+ - **Class 54:** "M9z-SIGNAL-AUTO"
151
+ - **Class 55:** "M9z-SORTIE-POMPIERS"
152
+ - **Class 56:** "M9z-SORTIE-VEHICULES"
153
+ - **Class 57:** "M9z-SUR-LE-TROTTOIR"
154
+ - **Class 58:** "M9z-VERGLAS"
155
+ - **Class 59:** "zz"
156
+
157
+ # **Run with Transformers🤗**
158
+
159
+ ```python
160
+ !pip install -q transformers torch pillow gradio
161
+ ```
162
+
163
+ ```py
164
+ import gradio as gr
165
+ from transformers import AutoImageProcessor, SiglipForImageClassification
166
+ from PIL import Image
167
+ import torch
168
+
169
+ # Load model and processor
170
+ model_name = "prithivMLmods/Road-Subsigns-Classification"
171
+ model = SiglipForImageClassification.from_pretrained(model_name)
172
+ processor = AutoImageProcessor.from_pretrained(model_name)
173
+
174
+ labels = {
175
+ "0": "M1", "1": "M11c1-E", "2": "M2", "3": "M3a-droite", "4": "M3a-gauche",
176
+ "5": "M3b-gauche", "6": "M4a", "7": "M4b", "8": "M4c", "9": "M4d1",
177
+ "10": "M4d2", "11": "M4f", "12": "M4g", "13": "M4h", "14": "M4u",
178
+ "15": "M4v", "16": "M4z1", "17": "M4z2", "18": "M5-STOP", "19": "M6a",
179
+ "20": "M6h", "21": "M6i", "22": "M6j", "23": "M8a", "24": "M8b",
180
+ "25": "M8c", "26": "M8d", "27": "M8e", "28": "M8f", "29": "M9Z-INTERDIT-HORS-CASES",
181
+ "30": "M9Z-SAUF-BUS", "31": "M9Z-SAUF-BUS-SCOLAIRE", "32": "M9c", "33": "M9d", "34": "M9v",
182
+ "35": "M9z", "36": "M9z-DES-DEUX-COTES", "37": "M9z-ECOLE", "38": "M9z-PARKING-PRIVE",
183
+ "39": "M9z-PASSAGE-SURELEVE", "40": "M9z-PROPRIETE-PRIVEE", "41": "M9z-RAPPEL",
184
+ "42": "M9z-SAUF-CHANTIER", "43": "M9z-SAUF-CONVOIS-EXCEPT", "44": "M9z-SAUF-CYCLISTES",
185
+ "45": "M9z-SAUF-DESSERTE", "46": "M9z-SAUF-LIVRAISONS", "47": "M9z-SAUF-POLICE",
186
+ "48": "M9z-SAUF-RIVERAINS", "49": "M9z-SAUF-SERVICE", "50": "M9z-SAUF-TAXIS",
187
+ "51": "M9z-SAUF-VEHICULES-AGRICOLES", "52": "M9z-SAUF-VEHICULES-AUTORISES", "53": "M9z-SECOURS",
188
+ "54": "M9z-SIGNAL-AUTO", "55": "M9z-SORTIE-POMPIERS", "56": "M9z-SORTIE-VEHICULES",
189
+ "57": "M9z-SUR-LE-TROTTOIR", "58": "M9z-VERGLAS", "59": "zz"
190
+ }
191
+
192
+ def classify_subsign(image):
193
+ image = Image.fromarray(image).convert("RGB")
194
+ inputs = processor(images=image, return_tensors="pt")
195
+
196
+ with torch.no_grad():
197
+ logits = model(**inputs).logits
198
+ probs = torch.nn.functional.softmax(logits, dim=1).squeeze().tolist()
199
+
200
+ return {labels[str(i)]: round(probs[i], 3) for i in range(len(probs))}
201
+
202
+ # Create Gradio interface
203
+ iface = gr.Interface(
204
+ fn=classify_subsign,
205
+ inputs=gr.Image(type="numpy"),
206
+ outputs=gr.Label(label="Prediction Scores"),
207
+ title="Road Subsigns Classification",
208
+ description="Upload an image to predict the road subsign category."
209
+ )
210
+
211
+ if __name__ == "__main__":
212
+ iface.launch()
213
+ ```
214
+
215
+ ---
216
+
217
+ # **Intended Use:**
218
+
219
+ The **Road-Subsigns-Classification** model is designed to classify images of road subsigns into 60 categories. Potential use cases include:
220
+
221
+ - **Traffic Management:** Assisting in automated monitoring and analysis of road signs.
222
+ - **Autonomous Vehicles:** Helping vehicles understand road sign information.
223
+ - **Smart Cities:** Enhancing traffic regulation systems.
224
+ - **Driver Assistance Systems:** Providing visual cues for safer driving.
225
+ - **Urban Planning:** Analyzing road sign data for infrastructure improvements.