/ComfyUI-RMBG

A ComfyUI node for removing image backgrounds with multiple models: RMBG-2.0, INSPYRENET, and BEN.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

ComfyUI-RMBG

A ComfyUI node for removing image backgrounds with multiple models: RMBG-2.0, INSPYRENET, and BEN.

$${\color{red}If\ this\ custom\ node\ helps\ you\ or\ you\ like\ my\ work,\ please\ give\ me⭐on\ this\ repo!}$$ $${\color{red}It's\ a\ greatest\ encouragement\ for\ my\ efforts!}$$

News & Updates

  • 2024/11/29: Update Comfyui-RMBG ComfyUI Custom Node to v1.2.0 ( update.md ) RMBGv1 2 0

  • 2024/11/21: Update Comfyui-RMBG ComfyUI Custom Node to v1.1.0 ( update.md ) comfyui-rmbg version compare

Features

RMBG Demo

Installation

  1. install on ComfyUI-Manager, search Comfyui-RMBG and install install requirment.txt in the ComfyUI-RMBG folder

    ./ComfyUI/python_embeded/python -m pip install -r requirements.txt
  2. Clone this repository to your ComfyUI custom_nodes folder:

cd ComfyUI/custom_nodes
git clone https://github.com/1038lab/ComfyUI-RMBG
  1. Manually download the models:
  • The model will be automatically downloaded to ComfyUI/models/RMBG/ when first time using the custom node.
  • Manually download the RMBG-2.0 model by visiting this link, then download the files and place them in the /ComfyUI/models/RMBG/RMBG-2.0 folder.
  • Manually download the INSPYRENET models by visiting the link, then download the files and place them in the /ComfyUI/models/INSPYRENET folder.
  • Manually download the BEN model by visiting the link, then download the files and place them in the /ComfyUI/models/BEN folder.

Usage

RMBG

Optional Settings 💡 Tips

Optional Settings 📝 Description 💡 Tips
Sensitivity Adjusts the strength of mask detection. Higher values result in stricter detection. Default value is 0.5. Adjust based on image complexity; more complex images may require higher sensitivity.
Processing Resolution Controls the processing resolution of the input image, affecting detail and memory usage. Choose a value between 256 and 2048, with a default of 1024. Higher resolutions provide better detail but increase memory consumption.
Mask Blur Controls the amount of blur applied to the mask edges, reducing jaggedness. Default value is 0. Try setting it between 1 and 5 for smoother edge effects.
Mask Offset Allows for expanding or shrinking the mask boundary. Positive values expand the boundary, while negative values shrink it. Default value is 0. Adjust based on the specific image, typically fine-tuning between -10 and 10.
Background Choose output background color Alpha (transparent background) Black, White, Green, Blue, Red
Invert Output Flip mask and image output Invert both image and mask output
Performance Optimization Properly setting options can enhance performance when processing multiple images. If memory allows, consider increasing process_res and mask_blur values for better results, but be mindful of memory usage.

Basic Usage

  1. Load RMBG (Remove Background) node from the 🧪AILab/🧽RMBG category
  2. Connect an image to the input
  3. Select a model from the dropdown menu
  4. select the parameters as needed (optional)
  5. Get two outputs:
    • IMAGE: Processed image with transparent, black, white, green, blue, or red background
    • MASK: Binary mask of the foreground

Parameters

  • sensitivity: Controls the background removal sensitivity (0.0-1.0)
  • process_res: Processing resolution (512-2048, step 128)
  • mask_blur: Blur amount for the mask (0-64)
  • mask_offset: Adjust mask edges (-20 to 20)
  • background: Choose output background color
  • invert_output: Flip mask and image output
  • optimize: Toggle model optimization

About Models

RMBG-2.0

RMBG-2.0 is is developed by BRIA AI and uses the BiRefNet architecture which includes:

  • High accuracy in complex environments
  • Precise edge detection and preservation
  • Excellent handling of fine details
  • Support for multiple objects in a single image
  • Output Comparison
  • Output with background
  • Batch output for video The model is trained on a diverse dataset of over 15,000 high-quality images, ensuring:
  • Balanced representation across different image types
  • High accuracy in various scenarios
  • Robust performance with complex backgrounds

INSPYRENET

INSPYRENET is specialized in human portrait segmentation, offering:

  • Fast processing speed
  • Good edge detection capability
  • Ideal for portrait photos and human subjects

BEN

BEN is robust on various image types, offering:

  • Good balance between speed and accuracy
  • Effective on both simple and complex scenes
  • Suitable for batch processing

Requirements

  • ComfyUI
  • Python 3.10+
  • Required packages (automatically installed):
    • torch>=2.0.0
    • torchvision>=0.15.0
    • Pillow>=9.0.0
    • numpy>=1.22.0
    • huggingface-hub>=0.19.0
    • tqdm>=4.65.0
    • transformers>=4.35.0
    • transparent-background>=1.2.4

Credits

License

MIT License