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