Skip to content

Latest commit

 

History

History

3_Traffic_Sign_Classifier

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Traffic Sign Classifier

Summary

Modified the simple convolutional neural network architecture LeNet to recognize traffic signs in various angles and lightings. Due to non-evenly distributed dataset for each type of traffic sign, image augmentaion was heavily used to combat overfitting.

Procedure

The source code is written in Jupyter Notebook, please refer to this for a more graphical presentation of the process.

  • Load a data set of labeled traffic signs
  • Explore the data set to make sure things are loaded correctly
  • Preprocess the images, grayscaling since color does not matter in this context (also normalize)
  • Design, train, test the model architecture
  • Plot the history of fitting model to monitor the accuracy and loss parameters
  • If the result indicate signs of overfitting, employ image augmentation techniques
  • Use the model to make predictions on new images taken from the web (make sure to grayscale)
  • If the history plot and predictions are not to standard, modify the CNN architecture or tweak hyperparameters, most important one being the learning rate

Try it Yourself

You will need Python 3, numpy, matplotlib, pickle, OpenCV, tensorflow, keras, sklearn, time, and pillow. I highly recommend creating a virtual environment with conda to organize the dependencies.

Success Criteria

The model prediction on new data (images) of traffic signs are correct.