Inspiration
We were inspired by how confusing recycling rules can be, even for the most eco-conscious people. GreenScan was born from our simple goal to turn everyday waste decisions into an easy, mindless process for all our users.
What it does
GreenScan classifies if a picture taken is one of 10 classes of garbage, and determines whether the item is recyclable or not.
How we built it
First, we found a database of 5000+ different pictures of garbage of 10 categories from Kaggle. We then explored the dataset and did exploratory data analysis on it and ran a PyTorch CNN on the dataset to find vectorized embeddings of the images. After that, we ran a KMeans algorithm to cluster the data into categories. Since KMeans takes in textual data, we had to vectorize our images first. After clustering the data and getting the embeddings we then started to actually train the classifier that we would use on the embeddings. We decided to use a random forest model for classification for its verticality and after saving that model as a .pkl we then made API call to it from our front end to our Flask backend that loaded the .pkl file.
Challenges we ran into
Testing the data and fine-tuning the model took up most of the time. Another challenge we faced was finding the right dataset that fit the needs and cleaning a dataset of such a large size.
Accomplishments that we're proud of
An accomplishment we're the most proud of was getting the model to classify the pictures into the correct categories with accuracy and precision.
What we learned
Model inference, random forest, KMeans, CNNs and embedding images with PyTorch, and front and backend development.
What's next for GreenScan
Next, we plan on integrating Gemini API to provide eco-friendly suggestions on what to do when something is not recyclable, such as possible sustainable alternatives or upcycling tips.

Log in or sign up for Devpost to join the conversation.