--- 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 cd ``` 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.