This project implements a CNN-based waste classification model using Transfer Learning with the VGG16 architecture. The model classifies waste into two categories: Organic and Recyclable, leveraging a two-phase training strategy (freeze-unfreeze).
- ✅ Two-phase training strategy: Freeze VGG16 layers initially, followed by fine-tuning the last few layers.
- 📈 High Performance: Achieves up to 98% accuracy on test data.
- 🎨 Extensive Data Augmentation: Various augmentation techniques applied to improve model robustness.
- 🔮 Future Potential: Plans to expand functionality, improve predictions, and cover more waste categories.
The Waste Classification dataset was sourced from Kaggle. Key details include:
- 🗂 Classes: Organic and Recyclable waste.
- 📦 Structure: Pre-defined training and testing splits.
- 🖼 Format: RGB images with dimensions of 224x224 pixels.
Ensure the following libraries and frameworks are installed:
tensorflow keras numpy pandas opencv-python matplotlib tqdm kagglehub
git clone https://github.com/Raviteja5469/CNN-model-for-Waste-Classification.git
pip install -r requirements.txt
python train.py
Metric | Accuracy |
---|---|
Training Accuracy | ~95% |
Validation Accuracy | ~92% |
Test Accuracy | ~90% |
- Initial Training: Freeze VGG16 layers.
- Fine-tuning: Unfreeze and train the last 5 VGG16 layers.
- Learning Rate Adjustment: Reduce on plateau.
- Data Augmentation: Apply transformations for robustness.
- 🔄 Implement additional data augmentation techniques.
- 📚 Experiment with other pre-trained models.
- 🖥 Add real-time prediction capabilities.
- 🏷 Expand to more waste categories.
Contributions are welcome! Feel free to fork the repository, make changes, and submit a Pull Request.
Platform | Link |
---|---|
Author | Seguri Raviteja |
ravitejaseguri@gmail.com | |
GitHub | Raviteja5469 |
Seguri Raviteja |
- 🏗 VGG16 Pre-trained Model
- 📊 Waste Classification Dataset Creators
- 🛠 TensorFlow and Keras Teams