waste-classifier / README.md
santit96's picture
Stop versioning the model checkpoints, now they are downloaded from huggingface. Add env vars
dd14920
---
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:
```bash
git clone <repository_url>
cd <project_directory>
```
Create a virtual environment and install dependencies:
```bash
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](https://huggingface.co/rootstrap-org/waste-detector)
- HF_CLAS_REPO_NAME --> The huggingface repository name of the classifier model
- For example: [rootstrap-org/waste-classifier](https://huggingface.co/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:
```bash
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
1. Upload an image with trash using the provided file uploader.
2. The app will display the uploaded image in the left column.
3. Click the "Classify trash" button to initiate the classification process.
4. 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.