danielgatis/rembg

Rembg is a tool to remove images background

解决的问题

Rembg 提供了一种自动移除图像背景的方法,使用户能够分离前景主体。它解决了处理复杂边缘(如头发、毛发或织物)时创建干净剪影的挑战,并消除了在强色背景上拍摄主体时常见的彩色光晕(色边)。

工作原理

使用预训练的 ONNX 模型进行图像分割。该工具可作为命令行界面(CLI)、Python 库、HTTP 服务器或 Docker 容器部署。支持多种硬件后端,包括 CPU、NVIDIA GPU(通过 CUDA)、AMD GPU(通过 ROCm)。为优化输出,提供多种边缘模式:

  • Naive:适用于硬边缘的默认模式。
  • Decontaminate:去除软边缘的彩色边缘。
  • Alpha matting:重新估计软形状(如头发)的覆盖范围。
  • ViTMatte:基于神经网络的高精度 alpha 预测方法。

适用人群

  • 希望将背景移除功能集成到自己 Python 应用中的 开发者
  • 需要通过 CLI 或 Docker 批量处理图像文件夹的 系统管理员自动化工程师
  • 希望通过 FFmpeg 集成快速移除图像或视频帧背景的 内容创作者

主要亮点

  • 多种部署方式:支持 CLI、Python 库、HTTP 服务器和 Docker 镜像。
  • 丰富的模型库:支持 U2Net、BiRefNet、ISNet、SAM 以及最先进的 BRIA RMBG-2.0 等多种模型。
  • 硬件加速支持:原生支持 CPU、NVIDIA CUDA 和 AMD ROCm。
  • 高级边缘优化:包含专门用于去色和 alpha 矩阵的模式,以处理复杂的透明效果。
  • 视频支持:可处理 RGB24 像素流,兼容 FFmpeg 等工具,实现视频背景移除。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目