Deep Learning based Traffic Sign Classification
Google Drive: https://drive.google.com/drive/folders/18D6nh-OPgNg8im3KmJAukMAjiPZ_ncAv?usp=sharing
Please download the following files from the above mentioned google drive link:
- saved_models: Saved model of the neural network
- Data Set Summary and Exploration
- The NN Arcitecture
- Present Limitations and Possible Improvements
- Run Instructions
- Project Development Done Using
This Github repository was created for sharing the application implemented for the Third project of the Term 1 of Udacity’s Self Driving Car Nanodegree program
The original project repository containing the template code used in this project is CarND-Traffic-Sign-Classifier-Project
Data Set Summary and Exploration
- Number of training examples = 34799
- Number of testing examples = 12630
- Image data shape = (32, 32, 3)
- Number of classes = 43
Training Data Samples:
Validation Data Samples:
Test Data Samples:
The NN Architecture
I implemented a NN with 5 CNN Layers (with Leaky Relu Activations), MaxPooling after 2nd and 4th CNN Layers, and 3 Fully Connected Layers (Final one being the logits layer).
The following tensorboard graph demonstrates the complete Neural Network Architecture.
For full details on the NN architecture used, you can see the tensorboard graph directly:
run the following command it terminal:
tensorboard --logdir="./"while being in the tensorboard directory in the project.
Present Limitations and Possible Improvements
- Due to limited time I could invest in the project, I did not implement the dropout layer. Adding a dropout before the logits layer would help in regularization and it may help me in optimizing test performance.
- The number of parameters in the model could be reduced. Experiments to optimize model size and performance were not performed due to limited time.
- The input data could be augmented to generalize the model better.
- Open the Terminal
- Clone this repository onto your local system.
- Enable a python interpreter in your environment (python version >=3.5) (It is recommended to use a python virtual interpreter).
- Install the requirements of this project from the requirements.txt by typing
pip install -r requirements.txt.
- Change your present working directory to the inside of the cloned repository.
- Enable the jupyter notebook environment by typing
- Open the Traffic_Sign_Classifier.ipynb file in Jupyter Notebook and run it like any other jupyter notebook.
Project Development Done Using