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]
   )
])