File size: 1,609 Bytes
77414bb | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | ---
license: mit
language:
- en
datasets:
- garythung/trashnet
---
# Trash Classification CNN
This repository contains a Convolutional Neural Network (CNN) model designed for classifying waste images into six distinct categories.
## Model Description
The model implements a deep CNN architecture specifically designed for waste image classification. It processes RGB images through multiple convolutional layers with increasing feature complexity, followed by dense layers for final classification.
### Architecture Details
The model uses a progressive feature extraction architecture:
- Input layer for RGB images (3 channels)
- Three convolutional layers with increasing filters (32 → 64 → 128)
- MaxPooling layers after each convolution
- Dropout layers (0.25) for regularization
- Three fully connected layers (128 → 32 → 6)
- ReLU activation functions throughout
- Final layer outputs 6 classes (waste categories)
### Dataset and Training
The model was trained on the TrashNet dataset with a careful data splitting strategy:
- Training set: 70% of the data
- Validation set: 20% of the data
- Test set: 10% of the data
The training process utilized comprehensive data augmentation techniques to improve model robustness:
```python
transformers = transforms.Compose([
transforms.Resize((224, 224)),
transforms.RandomHorizontalFlip(p=0.5),
transforms.RandomRotation(degrees=15),
transforms.ColorJitter(brightness=0.2, contrast=0.2, saturation=0.2),
transforms.ToTensor(),
transforms.Normalize(
mean=[0.485, 0.456, 0.406],
std=[0.229, 0.224, 0.225]
)
]) |