Even with the newfound abundance of categorized waste bins, most people still don't discard them in the proper place. Waste Bud is here to help solve this problem by categorizing images of different kinds of waste to their respective categories: Recycling, Landfill, and Compost. This project was aimed to promote education into better recycling practice to help contribute to growing the sustainability of our Earth.
This entire project was a learning experience for the both of us, as most of our time was used researching how to use Node.js and Express.js to setup a server in the back-end and utilize Google Cloud's Vision API and it was our first encounters with them. It was interesting and fun to learn these new tools but was very time consuming for us, especially since we were primarily working as a group of two..
Our implementation looks into the label descriptions in the JSON provided by Google Cloud Vision API from analyzing image files we upload through an HTML form. We originally wanted a live feed that detects the waste and categorizes it, but given the time restraint and our time spent learning, we settled with image upload. We compare regular expressions of common objects within each category and choose the best one in the round about way of adding the confidence scores provided by each label that matched a category. The max value was chosen as the category where the waste should be disposed. Our implementation worked best when there was only one waste material at a time. We hope to improve upon this in the future by perhaps using the AutoML Google Cloud service instead to train the analyzer to categorize the waste better rather than comparing regular expressions to generic labels that the Vision API came default with.
Currently, the web app's server can only be setup by us, as the Google Vision API used by Node.js relies on a private JSON key. However, the web app can be accessed by other devices when the IP address of the host and port number is known. Accessing the app on mobile worked surprisingly well since the HTML form automatically pulled up the option to take a picture to upload for sorting.