In developing countries or remote regions where people are not aware or intentionally neglect of the importance of waste sorting and recycling, garbage is thrown away in an unhygienic way and mixed up of all elements from plastics to leftovers, despite there are trash bins for each specific type in almost every places.

To fight the bigger challenge of climate change and global warming, we focus on the smaller yet crucial pain point which is garbage management, having to handle up to 3.5 billion tons a day. Our deep learning based waste sorting system eases the conventional process of categorizing garbage based on their characteristics like magnet to separate metals, fan to separate lightweight trash, etc. into a 1-step automatic sorting, while raising the awareness of the people by providing an interactive interface to see directly what type of trash they're sorted into, or re-confirm whether the prediction is accurate to acquire further training data.

What it does

Using transfer learning in image classification, the sorting system accurately separates garbage into its category for recycling if metal, plastic, etc or composting if compostable material. An interface for a person to select type of trash being thrown away, with user's confirmation on the prediction

How I built it

We utilized PyTorch torchvision to transfer learning (or finetuning) ResNet18 and eventually moved to ResNext101 on 6 categories of trash data taken from Kaggle, with modification of adding one Dropout layer of 0.1-0.2 and the last FC layer. Training took place mostly on Google Colab and personal laptop with NVIDIA 1060Ti

Challenges I ran into

Only one of us knew TensorFlow and Keras and familiar with machine learning being only college students, PyTorch was a completely new language we had to learn. We also began the project quite late and had to finish the project including the training model and web interface in 4 days. Some minor issue to get the accuracy to pass 95% while not overfitting due to the complexity of the ResNext101 and adjusting hyperparameters like decay learning rate and dropout rate.

Accomplishments that I'm proud of

Our team achieved usable accuracy and quickly assembled a working application in a short time span using a whole new framework we just learned

What I learned

Plans, organization, curiosity, determination and teamwork makes the dream works.

What's next for Smart Dump

Integration with Raspberry Pi for real-world experiment and test continuing training on new observation

Share this project: