Inspiration

We realized that a lot of the time, recyclable products are just thrown away and not recycled. One of the main reasons for this is that people are not even aware of whether the product is recyclable or not. We decided to crate an application to assist in this regard.

What it does

RecycleVision takes in an input image, either from your webcam and a file upload, and it determines whether the product shown in the image is recyclable or not using a MobileNetV3 model that we trained on publicly available datasets. If the product is recyclable, an integrated ChatGPT model is used to give instructions on steps that need to be taken such as cleaning the containers, etc.

How we built it

We started by looking for publicly available datasets and creating a Python function that sorted them into training, testing, and validation datasets for each type of object. We also had to perform data processing for the images. Then, we created a MobileNetV3 model in Python to conduct the training, testing, and validation. We used trial and error combined with our previous experiences to determine the batch size and number of epochs that led to the greatest accuracy. Afterwards, we proceeded to create the user interface. This was also done in Python, and we used StreamLit to create a web application that has a place on the webpage for the webcam and model output. Finally, we tested our application!

Challenges we ran into

We had trouble with having enough data to effectively train our model. To fix this, we had to perform data processing as well as experiment with the different hyperparameters (batch size, number of epochs, etc.) to get the highest accuracy. Additionally, none of us had used StreamLit before, and we had to learn how this library works to effectively create the application webpage. Finally, we had to do a lot of debugging!

Accomplishments that we're proud of

We're proud that we achieved over 81% accuracy on the model, meaning that there is a high chance that our program accurately determines the type of object. Additionally, we're proud that we have a fully functional web application that can truly be used in people's daily life and can have a positive impact on recycling and the environment.

What we learned

We learned how to use various PyTorch and StreamLit libraries in Python. Specifically, we gained experience in creating a machine learning model using MobileNetV3 and using StreamLit to turn it into a web application. We also gained soft skills such as perseverance and problem-solving.

What's next for RecycleVision

Our goal is to increase the accuracy of our model and turn it into a mobile app that can be used on our phones whenever needed.

Built With

Share this project:

Updates