Inspiration
Many of us come from a robotics background, so naturally we were interested in something that would be relevant to self-driving vehicles and computer vision.
What it does
Detects road signs in images and then classifies them with ~0.86 accuracy
How we built it
Classifier
- We used OpenCV and TensorFlow to train a Convolutional Neural Network to categorize road signs given cropped images of signs using the German Traffic Sign Recognition Benchmark (43 classes, ~1000 imgs per class in training).
- Augmented dataset using images gathered using raspberry pi camera at night time
3 conv layers followed by relu + maxpooling, 2 fc layers
Detector
- Using OpenCV to preprocess the image to reduce noise, convert it to multiple different colorspaces, and process the image using thresholding, canny edge detection, and hough lines among other things, we extracted bounding boxes around road signs, which are passed to the classifier to determine what sign was detected.
Challenges we ran into
- Since we were in the last group to get hardware, we couldn't get our hands on a camera for the Dragonboard
- Detection ended up being much more challenging than anticipated, since we decided to go for a more traditional image processing approach
Accomplishments that we're proud of
- Reasonably high accuracy on classification (43 classes, some very similar signs and shapes between classes as well)
- Learning OpenCV
What we learned
- First time training a CNN to do something cool
- The real world is very noisy (lighting conditions, blurry pictures, leaves!)
What's next for It's a Sign!
- Train a more accurate model for sign detection as well
Built With
- camera
- cnn
- opencv
- python
- raspberry-pi
- tf

Log in or sign up for Devpost to join the conversation.