- Siri Chandana Garimella
- Hima Sameera Munjampally
- Rohini Kesireddy
- Shagun Sharma
With urbanization and increasing population, the amount of domestic waste is rising rapidly, posing serious environmental and logistical challenges. Correctly sorting waste is labor-intensive and prone to errors due to the wide variety of waste types.
This project aims to develop an intelligent waste classification system using deep learning to automate and improve the accuracy of identifying recyclable waste, helping reduce the environmental impact and enhancing recycling efforts.
Relevant readings include studies on image classification using deep learning (ResNet), especially for waste sorting. Research by Thung and Yang (2016) on the TrashNet dataset is particularly useful for providing context and data for this project.
Previous work highlights the limitations of traditional classification methods, which struggle with feature extraction and categorization accuracy, making deep learning an ideal solution.
- ResNet50 on Imbalanced Garbage Classification
- VGG19 on Waste Classification
- YOLO5 for Waste Detection
The primary dataset for this project is TrashNet, which contains images of various waste categories such as cardboard, glass, metal, paper, plastic, and trash. This dataset will be used to train and evaluate the model.
The project will implement a YOLO (You Only Look Once) model for real-time object detection in waste images. The YOLO architecture will be enhanced by integrating LightGlue(will try to implement if time permits), a lightweight feature-matching algorithm. This integration will enable the identification of super points, improving feature matching and recognition, particularly for images captured from challenging angles.
The combined YOLO-LightGlue(will try to implement if time permits) approach avoids the need for complex manual feature extraction and optimization, instead leveraging automatic feature learning for more accurate object detection and tracking in various waste classification scenarios.
- Implement YOLO+ LightGlue(will try to implement if time permits) on TrashNet: Measure mAP, IoU, and F1-score across object classes.
- Evaluate feature matching quality: Use precision-recall curves for keypoints at various view angles.
- Conduct ablation study: Compare YOLO baseline vs. YOLO+ LightGlue(will try to implement if time permits), focusing on challenging cases.
- ResNet50 for Imbalanced Garbage Classification
- VGG19 for Waste Detection
- YOLO5 for Real-Time Waste Classification
git clone https://github.com/hmunjampally/DL-recyclable-Waste-Recognition
cd DL-recyclable-Waste-Recognition
cd backend
- The first time you want to run this code, you will need to:
- Create a virtual environment:
python3 -m venv venv
- Activate virtual environment:
- On Mac or Linux:
source venv/bin/activate
- On Mac or Linux:
- Install dependencies into the virtual environment:
pip3 install -r requirements.txt
- Run the dataset_preparation.py file:
cd src/data_handlers
python3 dataset_preparation.py
- Create a virtual environment:
On all subsequent runs, you will need to:
cd backend
- Activate virtual environment:
- On Mac or Linux:
source venv/bin/activate
- On Mac or Linux:
- Run the code:
- On Mac or Linux:
cd src
- To train the model :
python3 train_test.py --mode train
- On Mac or Linux:
- To plot the graphs:
python3 train_test.py --mode plot
- To test the model:
python3 train_test.py --mode test --image <image_path>
- To run the backend (connects to the model weights internally after training the model):
cd ..
python3 app.py
- To run the frontend:
cd ../frontend
npm install
npm start
cd backend
- The first time you want to run this code, you will need to:
- Install Git Bash (if not already installed) and in VS code open the terminal of type Git Bash
- Create a virtual environment:
py -m venv venv
- Activate virtual environment:
- On Windows:
source venv/Scripts/activate
- Install dependencies into the virtual environment:
pip install -r requirements.txt
- Run the dataset_preparation.py file:
cd src/data_handlers
- code>py dataset_preparation.py
On all subsequent runs, you will need to:
- Activate virtual environment:
* On Windows:
source venv/Scripts/activate
- Run the code:
cd src
- To train the model :
py train_test.py --mode train
- To plot the graphs:
py train_test.py --mode plot
- To test the model:
py train_test.py --mode test --image <image_path>
- To run the backend:
cd ..
py app.py
- To run the frontend:
cd ../frontend
npm install
npm start
please visit the documentation link below for project progress [https://sluedu-my.sharepoint.com/:w:/g/personal/himasameera_munjampally_slu_edu/EVS0qpMQOjlIrJ7UfcpX0Z4BVaU1s5-2ojV4JsF-Fk-Qjg?e=9BLn01]