|
---
|
|
title: Background Removal Tool
|
|
emoji: π
|
|
colorFrom: blue
|
|
colorTo: blue
|
|
sdk: gradio
|
|
sdk_version: 5.12.0
|
|
app_file: app.py
|
|
pinned: false
|
|
short_description: A tool to remove image backgrounds with precision
|
|
---
|
|
|
|
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
|
# Background Removal Tool
|
|
|
|
This is a deep learning-powered **Background Removal Tool** that uses image segmentation models to remove backgrounds from images and add transparency (alpha channel). It features a user-friendly interface built with Gradio to interact with the tool via image uploads, URLs, or file outputs.
|
|
|
|
---
|
|
|
|
## Features
|
|
|
|
1. **Two Segmentation Models**:
|
|
- `BiRefNet`: Efficient and robust segmentation model.
|
|
- `RMBG-2.0`: Advanced model for refined background removal.
|
|
2. **Multiple Input Methods**:
|
|
- Upload images directly from your system.
|
|
- Provide an image URL for processing.
|
|
- Upload and save the processed image as a PNG file with transparency.
|
|
3. **Customizable**: Switch between models for different use cases.
|
|
4. **Fast and GPU-Powered**: Leverages CUDA for faster processing on GPUs.
|
|
|
|
---
|
|
|
|
## Requirements
|
|
|
|
- Python 3.8+
|
|
- A GPU-enabled environment for CUDA support (optional but recommended).
|
|
- Installed Python libraries:
|
|
- `gradio`
|
|
- `torch`
|
|
- `transformers`
|
|
- `torchvision`
|
|
- `Pillow`
|
|
- `numpy`
|
|
|
|
Install dependencies using:
|
|
```bash
|
|
pip install gradio torch torchvision transformers Pillow numpy
|
|
```
|
|
|
|
---
|
|
|
|
## Usage
|
|
|
|
### Run the Application
|
|
Execute the script using:
|
|
```bash
|
|
python inference.py
|
|
```
|
|
|
|
### Interface
|
|
|
|
#### Tab 1: Image Upload
|
|
1. Upload an image from your local system.
|
|
2. Select a model (`BiRefNet` or `RMBG-2.0`).
|
|
3. View and download the processed image with the background removed.
|
|
|
|
#### Tab 2: URL Input
|
|
1. Paste the URL of an image.
|
|
2. Select a model (`BiRefNet` or `RMBG-2.0`).
|
|
3. View and download the processed image with the background removed.
|
|
|
|
#### Tab 3: File Output
|
|
1. Upload an image file.
|
|
2. Select a model (`BiRefNet` or `RMBG-2.0`).
|
|
3. Get the path to the processed PNG file with transparency.
|
|
|
|
### Example
|
|
- Use the provided example image (`ironman.jpg`) to test the tool.
|
|
|
|
|
|
---
|
|
|
|
## How It Works
|
|
|
|
1. **Model Loading**:
|
|
- Loads pre-trained segmentation models from Hugging Face.
|
|
2. **Image Preprocessing**:
|
|
- Resizes and normalizes the input image.
|
|
3. **Background Removal**:
|
|
- The model generates a mask for the image background.
|
|
- The mask is applied to create a transparent background.
|
|
4. **Output**:
|
|
- Processed image is displayed or saved with an alpha channel.
|
|
|
|
---
|
|
|
|
|
|
## Contributing
|
|
Feel free to submit issues or pull requests for improvements or bug fixes.
|
|
|
|
---
|
|
|
|
|