A deep learning project built with TensorFlow & Keras, using Transfer Learning (VGG16) to classify waste images into Recyclable and Organic categories.
This project was developed as the final capstone of my Deep Learning with Keras & TensorFlow course.
Waste management is a growing challenge in modern cities. Manual sorting is:
- β Time-consuming
- β Error-prone
- β Resource-intensive
This project leverages AI-powered image recognition to automate waste classification, improving recycling efficiency and reducing contamination.
β
Input: Waste image (e.g., food, bottles, paper)
β
Output: Organic π± or Recyclable β»οΈ
- πΈ Image preprocessing & augmentation
- π§ Transfer Learning with VGG16
- π― Fine-tuning for improved accuracy
- π Training & validation performance visualization
- π Test image predictions
- Python 3.10+
- TensorFlow / Keras
- Matplotlib & Seaborn (visualization)
- NumPy & Pandas (data handling)
- Google Colab / Jupyter Notebook
βββ Final Proj-Classify Waste Products Using TL- FT-completed.ipynb # Main notebook
βββ o-vs-r-split/ # Dataset
β βββ train
β β βββ O
β β βββ R
β βββ test
β βββ O
β βββ R
βββ README.md # Project documentation
βββ requirements.txt # Requirements
βββ .gitignore # Ignore big files & venv- Clone the repo:
git clone https://github.com/buildwithmehul/waste-classification-using-transfer-learning.git
cd waste-classification-using-transfer-learning- Create a virtual environment & install dependencies
python -m venv venv
source venv/bin/activate # On Mac/Linux
venv\Scripts\activate # On Windows
pip install -r requirements.txt- Open the notebook:
jupyter notebook notebooks/Final\ Proj-Classify\ Waste\ Products\ Using\ TL-FT-v1.ipynb- Run all cells to train/evaluate the model.
- Load dataset and preprocess images.
- Apply transfer learning using pre-trained CNNs (e.g., MobileNet, ResNet).
- Fine-tune model layers for better feature extraction.
- Train and evaluate model performance.
- Save trained model for deployment.
Example Prediction
Input Image: π banana peel
Model Output: Organic π±
Input Image: π₯€ plastic bottle
Model Output: Recyclable β»οΈ
- Extend to more waste categories (metal, glass, paper, plastic)
- Deploy as a web app with Streamlit / Flask
- Optimize inference for edge devices (e.g., Raspberry Pi in smart bins)
Contributions are welcome! Feel free to open issues or submit PRs.
- VGG16 Pre-trained Model (ImageNet)
- Course: Deep Learning with Keras & TensorFlow
- Inspiration: Real-world need for sustainable waste management
This project is licensed under the MIT License - see the LICENSE file for details.

