Inspiration

The inspiration is ML models and AI classification, especially the apps you see online like FaceAPP that is able to correctly detect and accurately track a person's face and draw vectors. Our app tries to mimic detection apps, and applies it to something a person may need help with everyday, choosing what to recycle.

What it does

On the front-end mobile app, we are able to take a picture or a short video, and the app is able to in real time draw bounding boxes and do classifications for the products in the backend, before it is transmitted to the user. We use websockets to facilitate this connection and python/yolo to do it.

How we built it

We used a combination of a FastAPI backend and a JSX React Native frontend to develop a mobile app that ideally takes pictures and short videos and parses them through our backend to detect and classify recyclable items and trash items, labeling them one of the recycling categories or non-recyclable.

Challenges we ran into

The biggest issues we had was displaying the boxes in pseudo-real-time and our machine learning model either being undertrained, us utilizing bad data, and our machine learning model overfitting. The hardest part about the ML model is the training aspect where it takes a while to train.

Accomplishments that we're proud of

We were able to perform pseudo-real-time detection, as we captured the image asynchronously for user and sent the image through the backend YOLO server we hosted and returned the coordinates normalized to the frontend for display. Our app design was also good, and we were able to learn a bunch of techniques.

What we learned

We learned how to deploy the backend to a local server and semi through the cloud using Ngrok and websockets. We also learned a couple of python libraries meant for ML and image processing including Torch, Ultralytics (Yolo), Pillow.

What's next for RecycleMaster

We want to improve the machine learning model through further training and testing data, and by expanding and cleaning datasets used. We also want to somehow deploy this over the cloud, so we do not have to worry about connections being opened/closed and our model can run for a bit.

** Our code is separated into branches new and backend** ** We have deployed domain names WasteHacks.tech and RecycleMaster.tech, but namespace has not updated on cloudflare**

Built With

Share this project:

Updates