This project introduces an innovative IoT system aimed at reducing the amount of resources used by waste collection agencies in the U.S. The correct partitioning of trash into bins at the earliest stages of the garbage disposal lifecycle can minimize man hours allocated to the separation of recyclables from non-recyclables (and organics from non-organics) at such facilities, eradicate the traditional garbage collection process and therefore optimize budgets used by relevant agencies on this matter.
Recycling is an important topic given that improperly discarded waste may have a negative impact on the natural environment. Alternatively, recycling reduces the need for producing raw materials, therefore preserving the rainforest.
Our goal was to solve part of this global problem, by helping waste collection agencies function in a more efficient manner.
What it does
Using sensors, camera, machine learning and cloud technologies, our system detects and processes real time non-recyclable and non-organic waste violations and provide analytics to authorities to take appropriate action. These violations occur when non-recyclable or non-organic items are thrown in recyclable or organic trash bins respectively.
How we built it
We stacked GrovePi on top of RaspberryPi and connected Ultrasonic Ranger Sensor to GrovePi Digital pin 3. Camera module v2 is connected to RaspberryPi. Both camera and ultrasonic ranger are attached to the bin (see GitHub for more details on this). ** Azure IoT Edge modules** on Raspberry Pi detects when trash is thrown into the bin (with the help of ultrasonic ranger) and camera captures an image of bin contents. A Customized computer vision model analyses image and returns the items list present in the image. This list is compared with the contaminants list, which can be customized by the administrator, and if a contaminant is found, image is uploaded to blob storage and event details are stored to the SQL database via Azure Functions. Recycle.io web application displays bin details like type, location along with violation data to the user and uses Azure functions to get required information. It also allows the administrator to customize contaminants list which is forwarded to the edge device via Azure Service Bus and azure functions.
Challenges we ran into
- Installing python edge modules on Raspbian (Resolving the error - ImportError: libboost_python-py27.so.1.55.0).
- Training the ML models with the right parameters and increasing the prediction accuracy of the model.
- Configuring communication with Edge device - To design the entire flow of sending query parameters from HTTP triggered Azure function to IoT Edge devices.
- Time - We did not implement all our initial use cases.
Accomplishments that we're proud of
- Finished general goal for the project on time.
- Created a meaningful project using Edge and Serverless Computing.
What we learned
- A great team is the most important part of a project. Ours was.
What's next for recycle.io
- Extension of key features as described in the video and our Recycle.io white paper.
- Better analytics
- More advanced Image Classification module