Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How Team Signage optimized categories for street signs #13

Open
karansaini282 opened this issue Jan 13, 2019 · 3 comments
Open

How Team Signage optimized categories for street signs #13

karansaini282 opened this issue Jan 13, 2019 · 3 comments
Labels
tutorial tutorial

Comments

@karansaini282
Copy link
Collaborator

  • The first step was identifying the official street signs in the United States.

  • The broad categories of signage were warning signs, temporary road signs, regulatory signs, mandatory movement signs, guide signs, services signs, pedestrian signs, bicycle signs.

  • Images were downloaded using Google Images by writing a Selenium script to automatically download an input number of images for an input search. There were some duplicate images which were automatically deleted by Custom Vision on uploading.

  • There was a slight imbalance in the number of images and hence warning signs and temporary road signs were clubbed into one.

  • At the end of the last iteration each category had the number of images containing their label ranging from 50-150. Custom vision recommends a minimum of 30 images per category label.

  • The model chosen on Custom Vision was "Logos". This made sense since street signs have distinct shapes, symbols and colors for different kinds of categories.

  • The model was run for 12 iterations in total for a satisfactory performance. At the end of each iteration custom vision provides accuracy, recall and precision for the overall model as well as per category label.

  • After each iteration we targeted the category labels with the worst performance. Possible solutions included downloading more images for that label, combing the label with another similar label or multiple labels for a single bounding box.

  • The final performance metrics were 94.7% precision and 83.3% recall. Recall was the most difficult metric to optimize since a number a images had very small bounding boxes for street signs which were difficult to be identified up by the model.

@karansaini282 karansaini282 added the tutorial tutorial label Jan 13, 2019
@patwater
Copy link

Great stuff! Regarding performance metrics it'd be great to generate a confusion matrix to explicitly see the breakdown of false & true positives / false & true negatives

@vr00n
Copy link
Member

vr00n commented Jan 15, 2019

@karansaini282 at our next check-in - i'd love for you to quickly go over your selenium script and how you use selenium for other extraction activities.

Thanks!

@karansaini282
Copy link
Collaborator Author

@patwater thanks for the tip! Confusion matrices are a great way of truly understanding where a model needs improvement.
@vr00n Absolutely, I will try my best to go over my extraction scripts and Selenium in general. I find it very useful to generate my own data in personal projects.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tutorial tutorial
Projects
None yet
Development

No branches or pull requests

3 participants