An image classification system that automatically categorizes waste into Organic (O) and Recyclable (R) using Convolutional Neural Networks, built with VGG16 Transfer Learning and Fine-Tuning in TensorFlow/Keras.
Improper waste segregation is a major environmental challenge. This project builds a deep learning model that can automatically classify waste images into organic and recyclable categories, supporting smarter and more efficient waste management systems.
The project follows a two-stage transfer learning strategy using the VGG16 pre-trained network:
-
Feature Extraction Model
- VGG16 base (pre-trained on ImageNet) used as a frozen feature extractor.
- Custom dense classification layers added on top.
- Only the new top layers are trained.
-
Fine-Tuned Model
- Top convolutional layers of VGG16 are unfrozen.
- Model is retrained with a low learning rate to adapt pre-trained features to the waste classification task.
- Achieves improved accuracy over the feature extraction model alone.
- Language: Python
- Deep Learning Framework: TensorFlow, Keras
- Pre-trained Model: VGG16 (ImageNet weights)
- Data Handling: ImageDataGenerator (data augmentation & preprocessing)
- Evaluation & Visualization: Scikit-learn, Matplotlib
- Environment: Jupyter Notebook
- Data Preprocessing — Image resizing, rescaling, and augmentation using
ImageDataGenerator. - Train/Validation/Test Split — Organized into separate generators for training, validation, and testing.
- Feature Extraction — Building and training a classifier on top of frozen VGG16 layers.
- Fine-Tuning — Unfreezing top VGG16 layers and retraining with a low learning rate.
- Evaluation — Accuracy/loss curves, classification report, and visual predictions on test images.
- Model performance evaluated using accuracy and loss curves for both the feature extraction and fine-tuned models.
- Fine-tuning improved classification accuracy compared to the feature extraction stage alone.
- Visual predictions on test images confirm the model's ability to correctly distinguish between Organic and Recyclable waste.
- Clone this repository.
- Open
Final Proj-Classify Waste Products Using TL FT.ipynbin Jupyter Notebook or Google Colab. - Install the required libraries:
pip install tensorflow numpy scikit-learn matplotlib
- Run all cells in order (Kernel → Restart & Run All).
- View outputs including model summary, accuracy/loss curves, and test predictions.
This project was completed as part of the IBM AI Engineering Professional Certificate on Coursera, developed by IBM Skills Network.
Umaira Tahir