Inspiration
In the United States alone, over 50 billion pieces of litter are thrown on the ground every year. With nine-tenths of all solid waste not being disposed of correctly, and a good portion of people saying it's partly due to being inert about searching up where something goes, littering harms wildlife, clogs waterways, and releases harmful chemicals into the environment day-by-day.
The amount of waste we generate on a daily basis is getting more and more concerning day by day, as resource production only exponentially moves forward and the consumer population is evergrowing. With so many different types of waste and disposal methods, it can be confusing for the average person to know how to dispose of items properly. This confusion can lead to unnecessary landfill waste and harm to the environment.
One day, while sorting through our own recycling, we realized how frustrating it was to have to constantly look up disposal methods for every item. That's where we got the idea for EcoEye. We wanted to create a program that could simplify the waste disposal process for anyone, and help reduce our, and others' impacts on the environment.
What it does
One of the reasons why littering is so prevalent is because people often don't know where to properly dispose of their waste. In the absence of proper waste disposal options, people resort to dumping their waste in any random place they can find for convenience. This not only leads to unsightly litter, but also harms the environment.
That's where EcoEye comes in. Our program can quickly identify any item and tell users if it goes in recycling, compost, or trash. With EcoEye, people can easily dispose of their waste in the proper manner, without having to resort to littering. This can help reduce the amount of litter on the streets and in our natural spaces, and ultimately lead to a cleaner environment.
In its essence, EcoEye is an ML programmed app that can instantly recognize and categorize any and all of your waste in live time, providing you with clear guidance on how to dispose of it properly. It can effectively identify and differentiate between recyclable items, bio-hazardous waste, compost, and regular garbage.
One of the biggest advantages of EcoEye is its simplicity. The program is easy to use and can be accessed as an app on the average citizen's phone from anywhere with or without an internet connection. All you need is a webcam or a smartphone camera, and you can quickly identify the proper disposal method for any item. This can save anyone time and effort, as they no longer have to search up or guess how to dispose of each item. In schools, have this app running as a mini setup with a webcam and a GUI device (i.e. mini tablet) beside an area with different disposal bins, and any student can raise the object up to the webcam and figure out where it goes. At a restaurant, instantly open up this app whenever you approach a disposal area and quickly figure out where the item goes!
Another advantage of EcoEye is its accuracy. The program uses machine learning to constantly improve its recognition abilities, which means that it can quickly and accurately identify a wide range of items. This helps reduce the risk of contamination in recycling and composting streams, which can ultimately lead to a more efficient and effective waste management system.
So, EcoEye can help users reduce their environmental impact. By properly disposing of items in the appropriate manner, users can help reduce landfill waste, conserve resources, and minimize their carbon footprint. This can lead to a cleaner, healthier, and more sustainable environment for all. But EcoEye is more than just a waste disposal program. It's a tool for educating people about the impact of their daily choices on the environment. By providing information on proper waste disposal methods, EcoEye empowers individuals to make more sustainable choices in their daily lives. It encourages people to think twice before littering and to consider the impact of their actions on the environment.
How we built it
EcoEye is written in Python and utilizes OpenCV (for its webcam-based foundation) and Tensorflow libraries (to power its machine learning capabilities).
At the heart of EcoEye is its machine learning model, which is designed to quickly and accurately differentiate between different items and identify their proper disposal methods. This model was trained on a vast dataset of images, which enabled it to recognize a wide range of items with high accuracy.
To develop this machine learning model, we utilized a variety of advanced techniques, including deep learning and neural networks. We trained the model using TensorFlow, a powerful open-source library for machine learning, which helped us achieve the high level of accuracy needed for effective waste disposal identification.
In addition to its machine learning capabilities, EcoEye also features a basic yet visually appealing GUI that is designed to make the waste disposal process as easy and intuitive as possible. The program's user interface features clear and concise visuals that help users quickly and easily identify the proper disposal method for any item.
Throughout the development process, we placed a strong emphasis on simplicity, accuracy, and user experience. We leveraged the latest development techniques and technologies to create a program that is both powerful and easy to use, and that delivers clear and accurate information on proper waste disposal methods.
Challenges we ran into
One of the biggest challenges we faced was creating a diverse and comprehensive dataset for training our machine learning model. Creating a dataset that was large enough and diverse enough to cover a wide range of waste items proved to be a difficult task. We had to spend significant amounts of time sourcing images of various items and categorizing them properly to ensure that our model would be effective at identifying different types of waste. At one time, training the model didn't seem to work for some reason, almost discarding the whole project. Luckily, it ended up taking some time but we figured out why.
Another challenge we encountered was ensuring that our model could accurately identify waste items in real-world scenarios under any sort of webcam background, resolution, and device. In order to achieve this, we had to train the model on a wide variety of images that were captured in different lighting conditions, from different angles, and with varying degrees of clarity.
In addition, we encountered difficulties with the integration of our machine learning model with the GUI of the program. We had to spend significant amounts of time ensuring that the model could be integrated seamlessly with the program's interface, and that the program could effectively communicate the correct waste disposal method to the user.
Accomplishments that we're proud of
We're proud of the overall program (mini UI, capabilities, etc.) that we were able to create for EcoEye. We were essentially beginners in the fields of machine learning, and using libraries such as OpenCV. We weren't even sure if this would work out, and if the program would run accurately.
Furthermore, in terms of the coding aspect, we're particularly proud of the accuracy and effectiveness of our machine learning model. Through extensive training and refinement, we were able to create a model that is able to accurately identify the proper waste disposal method for a wide range of items. This level of accuracy is critical in ensuring that users are able to dispose of their waste in a safe and environmentally responsible manner.
Overall, we wanted to ensure that the program was easy and intuitive to use, even for those who may not be familiar with machine learning or waste disposal methods. We are glad to see that EcoEye could actually potentially have an impact, and has potential to contribute to a more sustainable future if worked on further.
What we learned
It was a first time for using Tensorflow and OpenCV for making a program that can actually be "intelligent" and through machine learning (a big concept in itself) recognize items in real life and accurately do tasks. Through this project, we ultimately gained a deeper understanding of Python, as we learned the basics of training a model (i.e. vocab and terms, how to do it yourself). Furthermore, we learned for the first time how various completely different aspects (a trained model and a program that literally just opened a webcam) could have been merged to create something powerful.
What's next for EcoEye
→ Training its model more to be able to recognize and accurately work in any sort of environment (i.e. different ambiences and backgrounds that the webcam may see). Also, training it further to simply increase its accuracy and knowledge on different angles, clarity, etc. of any sort of item.
→ Helping the program be able to recognize even more items that may not even be so common for the average person, so that its capabilities rise even for the rarer situations.
→ Forming the application into an official app that may work on a phone. Furthermore, implementing it as a full-fledged platform that may include a reward system of some sort or incentive for using the app to recognize waste.
In summary, EcoEye is a powerful tool for simplifying waste disposal and promoting sustainable choices. Its simplicity, accuracy, and environmental benefits make it an ideal program for anyone looking to make a positive impact on the world. Say goodbye to confusion and hello to a cleaner environment with EcoEye.
Built With
- machine-learning
- opencv
- python
- tensorflow
Log in or sign up for Devpost to join the conversation.