Traffic Sign Recognition Project
A convolutional neural network that classifies images of traffic signs into 43 categories using a custom-preprocessed dataset and Keras/TensorFlow, reaching about 96.9% test accuracy.
Overview
This project implements an end-to-end pipeline in Google Colab: mount Google Drive, load and resize images from 43 classes to 30×30 RGB, split into train/test, and train a CNN with Conv2D, MaxPool2D, Dropout, and Dense layers optimized with Adam. The goal is to practice a practical multi-class vision workflow relevant to autonomous driving while learning CNN training, evaluation, and error analysis.
Technology Stack
- Python — Core programming language
- Google Colab — Cloud-based development environment
- TensorFlow/Keras — Deep learning framework
- NumPy & Pandas — Data manipulation and analysis
- Pillow — Image processing
- Scikit-learn — Data splitting and encoding utilities
Key Features
- Automated dataset extraction and class-folder ingestion for 43 labels
- Preprocessing pipeline: resize to 30×30, array conversion, one-hot encoding
- Compact CNN architecture: stacked 32- and 64-filter conv blocks, pooling, dropout, dense-256, softmax
- Training with validation metrics and final test evaluation
- Visualization of correct/incorrect predictions with confidence scores
Results & Outcomes
- Validation accuracy: ~97.7% peak performance
- Test accuracy: ~96.92% final score
- Training stability: Stable loss decrease across 15 epochs with Adam optimizer
Visualizations


Left: Training and validation accuracy/loss curves over 15 epochs. Right: Prediction results grid showing correct and misclassified traffic signs with confidence scores.