|
|
--- |
|
|
license: apache-2.0 |
|
|
language: |
|
|
- en |
|
|
library_name: keras |
|
|
tags: |
|
|
- ecology |
|
|
--- |
|
|
# Waste Classification Model |
|
|
|
|
|
A Convolutional Neural Network (CNN) built with TensorFlow/Keras for automated waste classification. This model identifies and categorizes different types of waste materials to support recycling and waste management efforts. |
|
|
|
|
|
## Model Details |
|
|
|
|
|
- **Architecture**: Convolutional Neural Network (CNN) |
|
|
- **Framework**: TensorFlow/Keras |
|
|
- **Input Size**: 128×128 pixels, RGB (3 channels) |
|
|
- **Categories**: 6 waste types |
|
|
|
|
|
### Classification Categories |
|
|
|
|
|
The model classifies waste into these categories: |
|
|
- **Cardboard** |
|
|
- **Glass** |
|
|
- **Metal** |
|
|
- **Paper** |
|
|
- **Plastic** |
|
|
- **Trash** |
|
|
|
|
|
## Installation |
|
|
|
|
|
```bash |
|
|
pip install tensorflow huggingface-hub numpy pillow |
|
|
``` |
|
|
|
|
|
## Usage |
|
|
|
|
|
```python |
|
|
from huggingface_hub import hf_hub_download |
|
|
import tensorflow as tf |
|
|
import numpy as np |
|
|
from tensorflow.keras.preprocessing import image |
|
|
|
|
|
# Download and load model |
|
|
repo_id = "MOHAMMED7M7/waste-classification-model" |
|
|
filename = "waste_classification_model.keras" |
|
|
model_path = hf_hub_download(repo_id=repo_id, filename=filename) |
|
|
model = tf.keras.models.load_model(model_path) |
|
|
|
|
|
# Preprocess image |
|
|
def preprocess_image(img_path): |
|
|
img = image.load_img(img_path, target_size=(128, 128)) |
|
|
img_array = image.img_to_array(img) |
|
|
img_array = np.expand_dims(img_array, axis=0) |
|
|
img_array /= 255.0 |
|
|
return img_array |
|
|
|
|
|
# Make prediction |
|
|
image_path = 'path/to/your/image.jpg' |
|
|
processed_image = preprocess_image(image_path) |
|
|
predictions = model.predict(processed_image) |
|
|
|
|
|
# Get result |
|
|
class_names = ['cardboard', 'glass', 'metal', 'paper', 'plastic', 'trash'] |
|
|
predicted_class_index = np.argmax(predictions) |
|
|
predicted_class = class_names[predicted_class_index] |
|
|
confidence = predictions[0][predicted_class_index] |
|
|
|
|
|
print(f"Predicted class: {predicted_class}") |
|
|
print(f"Confidence: {confidence:.2%}") |
|
|
``` |
|
|
|
|
|
## Requirements |
|
|
|
|
|
- Python 3.7+ |
|
|
- TensorFlow 2.8+ |
|
|
- NumPy |
|
|
- Pillow |