Red Light, Green Light

Teaching Computers to Read Traffic Signs

This project trains a convolutional neural network to classify real-world traffic signs under noisy conditions, demonstrating applied computer vision fundamentals and disciplined model evaluation.


Project Links

Executive Summary (Web)

Neural Net Development & Evaluation

GitHub Repository


As a capstone to Harvard’s CS50AI, this project revisited a classic computer vision task using a more challenging dataset than MNIST's handwritten numbers. It marks a shift from tinkering to building models thoughtfully, learning from mistakes, and understanding how they handle real-world challenges. And it was a fitting note on which to bid a fond farewell to a series of pedagogically perfect courses that helped build my computer science foundation.

Project Overview

This project explores convolutional neural networks (CNNs) and computer vision using the German Traffic Sign Recognition Benchmark (GTSRB). Building on Harvard's CS50AI coursework, I developed and compared several model architectures, examining how design choices affect classification performance.

A compact CNN with two convolutional layers and batch normalization performed best, achieving 99.4% validation accuracy and approximately 99% on the held-out test set. More complex models performed worse, while class weighting improved recognition of less common signs at the expense of overall accuracy.

Error analysis showed that most remaining misclassifications involved visually similar speed-limit signs. The project combines systematic model experimentation, evaluation, and visualization to explore the trade-offs between model complexity and performance.


Gallery



Convolutional Neural Network and Biological Vision Diagram CNN architecture: mimics the human eye by combining simple features into complex object recognition.1

Class Distribution Plot Class imbalance: Label distribution is highly skewed across classes.

GTSRB Sample Images Dataset diversity: representative image for each label.

Training Curves Comparison Validation and training curves: best model vs. baseline.

Confusion Matrix Comparison Confusion matrices: best model noticeably reduces off-diagonal errors.

Confidence Histogram Comparison Misclassification confidence histogram: overkill model’s errors are less confident and more frequent.

References

Dataset provided by the German Traffic Sign Recognition Benchmark (GTSRB).

1 Inspired by Deep learning for wireless capsule endoscopy: a systematic review and meta-analysis, Soffer, Shelly, et al, Gastrointestinal Endoscopy, © 2020 American Society for Gastrointestinal Endoscopy. Image generated with AI and edited by Bryan Johns. Used for educational purposes only. If this use does not qualify as fair use, I am happy to remove the image upon request.