Smart image-based waste sorting powered by deep learning
This project uses the EfficientNet-B0 model to classify waste into recyclable, organic, and other categories. It aims to assist automated waste separation systems to reduce landfill waste and improve environmental sustainability.
Test Accuracy: 94%
Evaluation on unseen waste images demonstrated the model's strong generalization capability with precision, recall, and F1-scores above 90% in each category.
# Load EfficientNetB0 model
base_model = EfficientNetB0(include_top=False, input_shape=(224, 224, 3), weights='imagenet')
# Freeze the base
for layer in base_model.layers:
layer.trainable = False
# Add custom classification head
model = tf.keras.Sequential([
base_model,
tf.keras.layers.GlobalAveragePooling2D(),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.3),
tf.keras.layers.Dense(3, activation='softmax')
])
# Compile and train
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
model.fit(train_data, epochs=10, validation_data=val_data)
âšī¸ These visualizations show selected excerpts from the full analysis. For complete implementation details and interactive components:
Balanced dataset across 3 waste categories (Recyclable, Organic, Other)
Original image size distribution before resizing to 224x224px
70-15-15 split for training, validation, and testing sets
Convergence of training and validation metrics over epochs
Precision, recall, and F1-scores for each waste category
Model prediction accuracy across different classes
Real-world classification examples with confidence scores