Inspiration

When in the dining halls, we often saw people confused on which waste receptacle to dispose their waste in. While some items, like a plastic water bottle, are ubiquitously known as recyclable, confusion arises in many cases, such like a food-stained paper plate. Often, we noticed people would dispose recyclable items in the trash as they were unsure whether the items could be safely recycled, and this gave us the idea of creating an application to help assist people in recycling their waste.

What it does

Our app recommends how to properly dispose of a piece of waste depending on the photo that the user uploads. The user can either upload a photo by either finding a picture in their photo gallery or using their camera app. Our fine-tuned image classification model would then determine what type of trash and return text to the front end recommending the best way to dispose of the waste.

How we built it

The backend was coded in python and it used libraries like tensorflow, numpy, pandas, matplotlib and scikit-learn. For our image classification model we fine tuned tensorflow's MobileNetV2 and achieved 95% accuracy in classification. The front end was fully coded in Swift using the XCode IDE. This made our project compatible with any iOS smartphone. The Swift code was able to access a smartphone's photo gallery and camera app to have images to upload to the back end. The Swift files also had multiple functions to process the image data and properly send it to the back end for classification. The front and back end were connected by using Flask to create a server for communication. We used Swift to write functions to send images uploaded by the user to the local Flask server, which would then be sent to the back end for classification. After a successful classification, the back end would return the correct type of disposal back to the front end for the user to view.

Challenges we ran into

One challenge we ran into was implementing flask to connect the backend to the front end. Our team did not have much experience with flask so it was a challenge learning it all in one day and implementing it into our project. Another challenge we ran into was getting our classification accuracy up to par, our project started off with a low 65% accuracy, but with image augmentation, class weights, fine tuning and countless hours we got our accuracy up to 95%

Accomplishments that we're proud of

Our entire group is proud of the fact that we completed an entire machine learning project in less than 24 hours. We our proud of the effort we put into the UI/UX design, all of our logos and symbols were freehanded with a lot of creativity and thought put into it. Our symbol has an easter egg that we spent time designing.

What we learned

We learned to evenly distribute work and manage our time so that we could assemble our project well ahead of time. We improved our limited knowledge of Flask, and are better-versed in connecting the Front- and Back- ends of a project. This was also our first time working with XCode and Swift to create a smartphone application, and it was exciting to learn a new language and logic.

What's next for RecycLENS

The scope of RecycLENS reaches far beyond personal recycling choices, as the issue of improper recycling and contamination is an industry-wide problem that waste companies face. RecycLENS can be utilized by recycling companies to help identify materials that need to be removed from the recycling process as they are travelling down the assembly line. Currently, human workers are needed to sort through the waste and prevent contamination. However, the implementation of RecycLENS could allow for an automated removal process, allowing for more optimal recycling and less revenue loss for the waste management company, which leads to lower costs for consumers and contributing to lowering the effects of climate change worldwide.

Built With

Share this project:

Updates