Inspiration
Our primary goal from this hackathon was to build something that can help people (keeping in mind that a large number of us are isolated and anxious). We came up with AI-spy, a new take on the classic game of I-Spy where users can play with an AI that sets you to look for a specific object in your vicinity. We hope that such a game would allow users to relax when they need to with a game that doesn't really have high stakes - just fun and nostalgic.
What it does
Our game captures an image through your webcam, detects as many objects as it can (through AI) and then picks one randomly for you to look for.
I Spy clothing!
Similar to the original game, it is recommended to be played in an area you're not completely familiar with (but still not new - stay home!) so that you don't immediately know what item you are being asked to look for.
How we built it
Our AI aspect of the game depends on Google-cloud-vision APIs that take in an image and return all the objects detected with it. We pick one of these objects randomly for the user to find.
The front end works with HTML, CSS and Python's OpenCV and Flask handle the image capture from webcam, communication with the google cloud API
Challenges we ran into
We originally tried using ReactJS for the website but struggled with getting it working with the cloud API and the front end. Pivoting to Python helped us get the project up and running though! We also had issues with the deployment as github does not allow Python apps to be deployed.
Webcam access through a browser over IP caused issues during our deployment stage.
Trying to get an in-depth demo video after having to pivot last minute was hard.
Accomplishments that I'm proud of
Coming up with an idea and managing to get it up and running (mostly) in the timeframe. With a virtual hackathon, there were challenges coordinating with different timezones but we got that part down too!
Across the team, we have 0-1 hackathons as experience, so getting to this point was a win for us.
What we learned
Got to learn how to use the Google-cloud API and Flask!
Video editing is not as easy as it looks.
Deploying code is also not as easy as it sounds.
What's next for AI-Spy
We want to take it one step forward with allowing users to play with random users online as well (if they want to). Through this app, we could foster new friendships as keep track of high scores. The AI part is just the beginning of what we see as a fun game that does not have to be played in-person.
The other direction of improvement is to make the AI more interactive and flexible with vague clues like "I spy a brown toy" instead of direct ones that we are using now (teddy bear). We could do this with color detection once we pinpoint object location + create a kind of tree hierarchy for objects so we can go up the tree multiple levels depending on how hard we want the challenge to be. (The most vague clue would be at the top where everything is an object!). Through this, users get to pick their own difficulty level while playing.
Built With
- cloud
- flask
- google-cloud
- opencv
- python
- vision
Log in or sign up for Devpost to join the conversation.