I first had the idea when I acquired a lot of cool older stickers. I originally wanted to make a database for all stickers ever created. After that the idea morphed into a way for users to show what stickers they had and the amount they had, almost making it a Craigslist for stickers. Then the idea switched to encompass all swag for any type of events.
What it does
After being disappointed with the results of the hackathon, I decided to take this project and actually make it for my sophomore project for university. Instead of all swag, I focused on just stickers.
- Recognize a sticker from a user taken picture
- Returns top 5 possible results for that image taken, allowing the user to select the correct option (if one exists)
- View a list of all hackathons a user could go to (MLH Hackathons)
- View a detailed page for that hackathon, including what stickers were given out, which users went, and what companies sponsored it
- See all companies that sponsor MLH hackathons
- View a detailed page for that sponsor/company/organization. Be able to see what hackathons they have been to and what sticker they give out
- View all stickers in the database
- View a detailed page for that sticker. See what organization(s) hand it out, which hackathons it has been given out at, and how many users have it
How I built it
Instead of taking hundreds of pictures of each sticker I took one good picture of each one than ran it through a script that rotated it and distorted it to simulate different camera angles. This script could also swap in whatever background I wanted to the images. It can generate around 28,000 images from a single source image, but I only used 450 of each sticker to train (about 190 stickers).
Challenges I ran into
I initially wanted to use google's cloud machine learning but after being stuck for a week on it, I decided to just train my model locally with tensorflow and upload that model to the server.
Accomplishments that I'm proud of
We're able to take a picture of a sticker and identify it (for about 190 stickers).
What I learned
More about the Google Cloud Platform and tensorflow.
What's next for swagOverflow
Add more stickers to the model. Allow users, sponsors, and organizers to upload their own stickers (higher resolution). Switch to using user tagged images for training (higher accuracy model).