This is the 2nd project of the Self Driving Car Engineer Nanodegree I am taking part.
In this project, I use a deep neural networks (convolutional neural networks) to classify traffic signs. The trained model can decode traffic signs from images of the German Traffic Sign Dataset.
The model is then test on new images of traffic signs.
I decided to take as a starter the article from Pr. Yann LeCunn, which you can found here. My model observe the following structure:
- First Layer: Convolutional layer, output of size 32x32x6
- Max pooling layer Output of size 14x14x6
- Second layer Convolutional layer, output of size 10x10x16
- Max pooling layer Output of size 5x5x6
- Flatten Layer Flatten shape to 1D
- Fully connected layer 1 Output of size 120
- Fully connected layer 2 Output of size n_classes (43 in that case)
This project requires Python 3.5 and the following Python libraries installed:
-
Download the dataset. This is a pickled dataset in which we've already resized the images to 32x32.
-
Start the notebook.
jupyter notebook Traffic_Signs_Recognition.ipynb
Choose a relative small batch size as well as few epochs if you want to run it locally, since the model demands heavy computations.