Inspiration

A while ago, we came to the realization that the majority of things we recycle actually aren’t recyclable, and can actually be detrimental to the material around it. For example, people recycle plastic cups with liquid inside and all it takes is one spilt latte to ruin everything in the recycling bin. Then, the responsibility comes to rest on the people who separate the trash, forcing them to put way more items in the landfill than necessary. Having a mass amount of trash in landfills is a major contributor to climate change and pollution on Earth, and it’s even worse when you consider that a lot of the trash that gets sent to landfills could have been salvaged if people were more aware about the recycling process.

What it does

Our project uses a TensorFlow AI model to take input from the webcam and classify the item in the image as recyclable (plastic, glass, cardboard, paper, or metal) or non-recyclable and the confidence level of the algorithm. After the algorithm determines the classification of the item, the user is prompted to deposit the item in a recycling bin or trash can and receives feedback on whether their choice was right or wrong.

How we built it

We used Javascript, HTML, CSS, and TensorFlow in our program. We trained a TensorFlow.js model using the TrashNet dataset of over 2500 images via Teachable Machine to recognize whether an item is recyclable or not. Some concepts used such as: Asynchronous programming (async/await) Data attributes in HTML Image and audio manipulation

Challenges we ran into

Slowing down the program so that it is more interactive for the user, and they can experience the image recognition in real time Becoming familiar with 3 new languages and new coding environments in a short time period Originally, we attempted to use the Databricks environment to train an AI model but it proved too difficult for collaborative work Getting an accurate confidence rating The AI used to immediately identify whatever was in the first frame of the webcam, making it difficult to get an accurate reading, and also was not engaging for the user. After that was fixed, we ran into a recurring bug where the webcam would run indefinitely and the model would analyze the video stream but never return a certain result. This was due to issues with data being overwritten in the code every iteration of our loop.

Accomplishments that we're proud of

Navigating our first hackathon!! From crashing on the floor to downing enough energy drinks to get sponsored by Redbull, we had a lot of new experiences and bonded well as a team.

What we learned

From this hackathon, we learned how to manage our time and prioritize certain elements of the project. There were quite a few times when we realized that our plan was not feasible with our given time and skills and had to redirect. This has encouraged our ability to adapt under pressure and learn how to better utilize our resources.

What's next for Recyclopedia

The AI model was trained on a restricted dataset in which all of the images were of a single item against a white background. Considering our use of a webcam to collect image data from the user, a homogenous dataset like TrashNet did not consistently produce accurate results. In reality, there are a lot more nuances to what is recyclable and what is not. We could add more diversity to the dataset in terms of the cleanliness of the objects, whether or not they can have labels, and which types of glass, metal, and plastic are unable to be recycled. The model also rarely identifies objects as trash which likely could be resolved by training it with a more diverse dataset.

Built With

Share this project:

Updates