Training a neural network to classify traffic signs.
I used TensorFlow to implement a CNN architecture created using concepts from classic papers in deep learning including Gradient-Based Learning Applied to Document Recognition by LeCun et al, Traffic Sign Recognition with Multi Scale Convolutional Networks by Sermanet and LeCun, and Dropout: A Simple Way to Prevent Neural Networks from Overfitting by Srivastava et al. The classifier’s performance is tested using the German Traffic Sign Dataset which contains over 51000 image patches from automobile dashcams, each annotated with one of 43 traffic sign classes. This implementation achieves 99.1% validation accuracy and 97.2% test accuracy on this dataset. These results are encouraging given that human performance on this dataset is 98.8% (Sermanet & LeCun, 2011). However, overfitting the GTSRB dataset remains a challenge when attempting to generalize to any image of German traffic signs captured by any camera. Future work includes further research into generalization including further preprocessing to make reliable inferences on images from any input source. The implementation and technical report are on GitHub.