This repository is dedicated to the significant challenge of garbage classification using the ResNet50 architecture. Given the escalating environmental concerns, automating waste segregation through sophisticated models can potentially revolutionize waste management and recycling processes. The dataset employed, though rich, comes with its set of challenges, particularly the class imbalance. This project chronicles our journey through dataset analysis, combating imbalances, data augmentation, and constructing models both from scratch and leveraging transfer learning with ResNet50.
In our quest to aid environmental conservation, the aim is to craft a garbage classification system proficient in differentiating between various waste types. With ResNet50 at the core, the project navigates through class imbalances, introduces data augmentation techniques, and evaluates models designed from scratch and via transfer learning.
The project's roadmap is as follows:
- Dataset Exploration: An in-depth analysis of the garbage dataset, highlighting class imbalances.
- Tackle Imbalance: Implement class weights in the loss function to counter dataset disparities.
- Implement Data Augmentation: Enhance model robustness and deter overfitting.
- Construct ResNet50: Engineer a tailor-made ResNet50 for garbage classification from ground zero.
- Employ Transfer Learning: Harness a pre-trained ResNet50, fine-tuning it for our distinct dataset.
- Evaluate Models: Rigorously test both models using diverse metrics to guarantee reliable classifications.
The Garbage Image Dataset offers a unique opportunity for those keen on diving into garbage classification via deep learning paradigms. Boasting a total of 2,527 images spread across six distinct classes - Cardboard, Glass, Metal, Paper, Plastic, and Trash - it's an invaluable asset for creating and benchmarking waste classification algorithms.
- 🖼️ Total Images: 2,527
- 📏 Image Dimensions: 512x384 pixels
- 📂 Format: JPEG
- 📦 Cardboard: 403
- 🥂 Glass: 501
- 🛢️ Metal: 410
- 🗞️ Paper: 594
- 🥤 Plastic: 482
- 🗑️ Trash: 137
- 📓
Imbalanced_Garbage_Classification_ResNet50_Scratch_to_TransferLearning.ipynb
: Jupyter notebook containing data exploration, augmentation, modeling, and evaluation. - 📘
README.md
: This very file offering a comprehensive overview of the project.
- Clone this Repository: Begin by cloning this repository to your machine.
- Open the Notebook: Navigate to
Imbalanced_Garbage_Classification_ResNet50_Scratch_to_TransferLearning.ipynb
in Jupyter. - Install Dependencies: Ensure all necessary Python libraries are installed for flawless execution.
- Execution: Run all cells in the notebook to explore insights and outcomes. Note that training the models can be time-consuming, especially on local systems.