A deep-learning traffic sign detection and recognition project, using convolutional neural networks and vision transformers, with PyTorch and OpenCV over the GTSRB - German Traffic Sign.
There are three main components currently planned for this project:
-
Traffic Sign Classification - in development
A model that, given any RGB image of a traffic sign, can classify it into 1 of 43 possible classes.The classification demo notebook showcases examples of predictions made with the CNN and the Vision Transformer, and provides a walkthrough of multiple development steps, including data preparation, training, and testing of the models. A section comparing both models is also being developed.
Some examples of predictions using the CNN:
CNN vs Current Vision Transformer Model Comparison - Accuracy and Loss over Epochs:
-
Traffic Sign Detection - in development
Another model that, given an image, detects the presence of a traffic sign and give its pixel coordinates, allowing for posterior classification. Currently, I plan to use a Yolo-based approach to this section. -
Web-app
Deploy a web-app, using Flask or Django, that allows the user to upload an image and run the models.
The GTSRB dataset (German Traffic Sign Recognition Benchmark) has images pertaining to 43 classes of traffic signs, containing 39,209 train examples and 12,630 test ones. It was provided by the Institut für Neuroinformatik in 2011. In the classification demo notebook, data profiling is done to help visualize the dataset.
pandas
numpy
PyTorch
matplotlib
Pillow
scikit-learn
pickle
torchvision
opencv