Spaces:
Sleeping
A newer version of the Streamlit SDK is available:
1.42.0
title: Waste Classifier
emoji: ♻️
colorFrom: green
colorTo: gray
sdk: streamlit
sdk_version: 1.25.0
pinned: false
Waste Classifier Streamlit App
Overview
The Waste Classifier Streamlit App is designed to detect waste in images using the EfficientDet and classify them with a fine-tuned resnet50 model into different classes. Users can upload an image containing trash, and the app will display both the uploaded and classified images in parallel columns.
Instructions
Installation
Make sure you have Python installed. Clone the repository and navigate to the project directory:
git clone <repository_url>
cd <project_directory>
Create a virtual environment and install dependencies:
python -m venv venv-waste-classifier
source venv-waste-classifier/bin/activate # On Windows, use 'venv-waste-classifier\Scripts\activate'
pip install -r requirements.txt
Create a .env
file and set the following properties:
- CLAS_FILENAME --> The name of the waste classificator model checkpoint
- DET_FILENAME --> The name of the waste detector model checkpoint
- HF_DET_REPO_NAME --> The huggingface repository name of the detector model
- For example: rootstrap-org/waste-detector
- HF_CLAS_REPO_NAME --> The huggingface repository name of the classifier model
- For example: rootstrap-org/waste-classifier
You can ommit setting the last two properties if you download the models manually and put them under the models
directory.
Running the App
Execute the Streamlit app with the following command:
streamlit run app.py
This will launch a local development server, and you can access the app in your web browser at http://localhost:8501
.
Usage
- Upload an image with trash using the provided file uploader.
- The app will display the uploaded image in the left column.
- Click the "Classify trash" button to initiate the classification process.
- The classified image will be displayed in the right column.
Possible Classes
The app can classify waste into the following classes:
- Cardboard
- Compost
- Glass
- Metal
- Paper
- Plastic
- Trash
Dependencies
- Streamlit
- Pillow
- Other dependencies as specified in the
requirements.txt
file.