Inspiration

The average recycling contamination rate - or disposal of trash or recyclables in the wrong recycling bin - is 25%, meaning 1 in 4 items thrown in a recycling bin isn’t recyclable. A study by The Recycling Partnership, a non-profit organization that works to improve the US recycling system, found that contamination in residential recycling programs in the US costs the industry up to $500 million annually. Many individuals have their hearts in the right place, and want to be environmentally aware, however, do not know the recyclable nature of items, to no fault of their own. We never go through a class on the nature of recyclable items; thus, we must sometimes guess if an item goes into the trash or the recycling bin. As individuals who have suffered from this same problem many a time, we decided to work on a tool that means people no longer have to guess which bin trash goes in.

What it does

One day, you decide to go out and treat yourself to a nice meal and grab a sandwich, after enjoying your delicious meal, you come across a trash can and a recycling bin and are unsure which bin the styrofoam box your sandwich came in goes into. Not giving it much thought, you are about to throw it into the recycling bin, wanting to recycle a material you used, inadvertently about to be a part of the 25% of incorrect disposal of trash. However, you think about Bin There Recycle That. Our tool takes care of all the heavy lifting, so you don't have to. Our simple tool allows users to scan items with whatever device they're using, to give users real-time data on whether an item is recyclable or not, to ensure they are able to dispose of their item properly. In addition to being a scan and go convenient software, our tool can also be something individuals can introduce into their smart homes! A camera can be installed at the top of your trash can to let you know how to dispose of the item you're currently holding. With specific login functionality for different users, our tool allows us to track what objects users are using/throwing away the most, and what objects they are buying the most. While scanning an object to be thrown away, users will also be met with two prompts, a pro for recycling, encouraging users to make sure they properly dispose of their waste, and a con for not recycling, also encouraging users to make they properly dispose of their waste. After they have scanned their object and been informed on how to dispose of it, we will also show the user a page with similar products related to the product just being disposed of, this will allow us to recommend users' products based on their usage of certain items. This feature will allow us to collaborate with brands as a part of their Social Responsibility Program to allow discounts to users who donate the most while allowing the brands to sponsor and advertise their products on this page. We also have a news page where users can get personalized news articles based on the items they throw away. This way, users can be up to date on the most important news likely to interest them further encouraging them to keep on recycling and helping the environment!

Our tool helps 3 parties involved in the recycling process:

  • Encouraging individuals who want to recycle to do so properly while getting discounts from brands
  • Help Recycling plants reduce their cost of improperly labeled trash
  • Allowing large companies to be more environmentally friendly by encouraging their consumers to recycle more for discounts

How we built it

We wanted to make sure that we had an accurate model to detect user items in real time keeping in mind the vitality of the time in our image detection model. We also wanted to ensure that our website was able to be navigated extremely easily and individuals would not have any issues navigating our website. We decided on colors that were inviting, would ensure that users have a positive experience while navigating our website, and were also related to our aim, to promote a greener earth. Our front end was created using React and our Backend was configured using Flask. The features of our project are:

  • Easy Scanning Object Detection: Our IoT tool allows users to access a vast database of information in a matter of seconds. It allows users to be able to conveniently use a camera to scan their item and figure out whether it's trash or recyclable and how to adequately dispose of it. This scanning tool will also use a loss function to adequately learn over time to teach itself to be more accurate. It will display a percentage confidence score as well as whether the item displayed is recyclable or not.

  • News: We are scrapping news from the news api and then storing it in a sql lite database. We are scraping articles related to recycling and its effects of it to ensure users are kept up to date with the positive effects of recycling and to keep them active on our website. Then we are using NLP to summarize the articles and then using Random Forrest Regression, we run a sentiment analysis on the articles that classifies them as positive, neutral, or negative. We then display all the positive articles from most to least relevant.

  • Pro and Con List: We also have a list of Pro's and Con's stored in our code. Every time a user scans an object, we then show the user a random Pro of recycling and a random Con of not recycling, to ensure our users stay educated on the positive effects on our environment of recycling and the negative effects of being careless.

  • Classification: We are using MobileNet-v2, which is a lightweight Convolutional Neural Network, which allows us to draw an image box around the image being detected, as well as accurately classify the image as either trash or recyclable. This CNN uses a loss function, please find the image attached, that allows the model to learn to make fewer mistakes over time.

  • Specific Login Functionality: We also have specific login functionality for users to be able to log in with their own personal credentials so we are able to track what items users are recycling.

  • Product Recommendation: We are using a K-Nearest Neighbor Classification algorithm to figure out what products to recommend to a user based on the items they own and have scanned in the past. This algorithm is trained on a dataset containing 9.4 million Amazon products that had data on users who bought similar items. This allows us to classify the items the user scans into our model and recommend item types closest to those items. This will link to our initiative to collaborate with corporations on their Social Responsibility Programs and allow them to be more environmentally aware by giving users who are environmentally aware, environmentally friendly products at discounted rates, while simultaneously advertising their products on our website.

Challenges we ran into

Finding datasets to train both our recommender system as well as our classifying model was the biggest challenge. Since this is more of a pro bono idea, there are not a lot of publicly available datasets for our purpose. For our recommender system as well, since companies use their own data to create their recommender systems and use it internally, there was no explicit data to use to find the correlation between items. However, after extensive research, we were able to find a dataset to classify daily use items into trash or recyclable, and we were also able to find a dataset on items reviewed on Amazon that we were able to use to create our own recommender system.

Using the news API to classify news dynamically based on the user's preferences was challenging since we have to figure out the most efficient ways to store this data.

While using React and Flask, we used SQLAlchemy as our ORM tool. Since our database was stored with our backend, we had to make sure that our backend was properly connected to our front end and that our database was being configured properly. We also had to make sure any CRUD operations from the front end were properly executed to not run into any errors where we have two different instances of the same database.

Accomplishments that we're proud of

The accomplishment we can say we're the most proud of is being able to work on a project that allows us to help work towards a greener and more sustainable earth. We can sometimes take our natural resources for granted, however, taking a small step in the right direction with this project felt extremely right to us. We are also proud that we were able to create an image detection machine learning model that can detect images and classify them as trash or recyclable with extremely high accuracy. We are also extremely proud of finding the right data to use for our project since the data for our specific idea was extremely sparse and hard to work with and required a lot of preprocessing.

What we learned

As a group of individuals with different skill sets, we learned how to work based on each other's strengths and how to most efficiently delegate tasks. Through this, we were able to learn how to collaborate on a machine learning project with a lot of moving parts that needed to be completed by different individuals. We also learned how to prioritize tasks to ensure items needed by other team members were completed in the correct order. Our team had never worked on creating an object detection model or a recommender system from scratch and that was really interesting to learn and work on.

What's next for Bin there Recycle that

We want users to be able to have their own personalized app to go with our software. For our next update, we would ideally want to give users a specific mobile application, alongside our existing web interface, to be able to use our service. This would further allow users to easily use our service since it would be suited for their device. We would in the future also like to add a social feature to our service, where each user's log in also allows them to add and share with friends within the service. This would allow users to be able to share and track their part in helping the environment while also keeping in check with how their friends have been doing as well.

Built With

Share this project:

Updates