Inspiration
We've all been there. On the way to the next class and throwing away the piece of trash we have in our hand in the Landfill bin, without stopping to think where it could have gone! With over 30% of items trashed actually belonging in recycling, and 10% of recycled items actually being trashed, BinVision is a necessity for campuses wanting to amplify their sustainability goals.
What it does
BinVision allows for people to quickly show their item to a camera and instantaneously be shown where to throw away their item. Not only will people recycle better, but it's never been easier to track stats for how many items are being recycled at each location! Now you'll know the most used trash cans and which locations to add/remove.
How we built it
BinVision uses a machine learning computer vision model to classify what trash the user has. It's a webapp built in React with a Flask backend. User data is sent to Firebase, so that analytics can be shown for each bin.
Challenges we ran into
We ruined our project many times in the process. An obstacle we faced was using React Native. We pivoted to React.js due to its more seamless compatibility for building webapps. Another huge challenge was simply getting the camera to take a picture and make an API request to our Flask backend only when a trash was put in front of the screen. This proved difficult, as any movement would trigger the request. We ended up finding a threshold of changes on screen that worked for items being held up to the camera.
Accomplishments that we're proud of
We are proud of the beautiful frontend we were able to create complete with a map, leaderboard, and updating analytics through Firebase. The camera software simply detecting when an object is held up and not some person moving was also an amazing accomplishment that we are proud of. Though most of us had used React and Flask in the past, we had never made such a full scale app complete with machine learning and computer vision before.
What we learned
Our team learned so much throughout these 36 hours. From best practices with Git and collaborating on a software project to how to utilize machine learning models. We learned how to use Google Firebase and have a constantly updating leaderboard in our frontend through the data outputted from our model. Our team can proudly say we are much better developers and creators after taking our idea from ideation, to planning, to building, iterating, and finally presenting.
What's next for BinVision
BinVision can have many upgrades! First, we want to implement a distance sensor next to the camera for a more accurate way of detecting when an object is presented in front of the camera. We also want to expand deeper into our analytics of the waste that is being in each waste location as well as around campus. This could include interactive graphs, a heat map, etc. The possibilities are endless for BinVision.
Built With
- computer-vision
- firebase
- flask
- javascript
- machine-learning
- python
- react
Log in or sign up for Devpost to join the conversation.