A deep learning-based project to classify Indian traffic signs using a fine-tuned ResNet50 model. This project leverages transfer learning, data augmentation, and a two-phase training process to achieve robust performance across 85 traffic sign classes.
With the increasing deployment of autonomous driving and intelligent traffic systems, the ability to accurately identify traffic signs is crucial for safety and automation. This project focuses on the classification of Indian traffic signs using a convolutional neural network (CNN) architecture based on ResNet50.
The dataset is sourced from Hugging Face: kannanwisen/Indian-Traffic-Sign-Classification
- ✅ Fine-tuned ResNet50 architecture for traffic sign classification
- 📚 Support for 85 unique Indian traffic sign classes
- ♻️ Advanced data augmentation for better generalization
- 🧐 Two-phase training: classifier training + full fine-tuning
- ⛑️ Predicts traffic sign class with confidence scores
- 📀 Weights saved as
best_traffic_sign_model_resnet50_finetuned.pth
- 🐍 Python
- 🧱 PyTorch
- 🔍 Torchvision
- ♻️ Albumentations (data augmentation)
- 📊 Matplotlib (for visualization)
- 🧦 ResNet50 (pre-trained model)
- Some classes with visually similar signs (e.g., Pedestrian Crossing vs School Ahead) led to misclassifications.
- Performance drops with low-resolution or poorly lit images.
- Improvement areas include:
- Better class separation
- Training with additional real-world noisy data
- Adding localization (bounding box) for real-time detection use cases
-
Clone the repository:
git clone https://github.com/pranavdhawale/itsd.git cd itsd -
Install dependencies:
pip install -r requirements.txt
-
Train the model (optional):
python model_training.py
-
Run prediction:
python predict.py path_to_image.jpg
├── images
│ ├── no_parking.png
│ ├── parking.png
│ ├── pedestrian_crossing2.png
│ ├── pedestrian_crossing.png
│ ├── speed_breaker.png
│ ├── speed_limit_30.png
│ ├── speed_limit_80.png
│ └── traffic_signal_ahead.png
├── models
│ └── best_traffic_sign_model_resnet50_finetuned.pth
├── model_training.py
├── predict.py
Thanks to @kannanwisen for providing the Indian Traffic Sign dataset. Also, gratitude to my mentors and peers for their constant feedback and support.
Feel free to connect on LinkedIn or contribute by creating a pull request or issue.




