rembg

rembg — Python-библиотека для удаления фона с изображений через нейросети (U-Net, BiRefNet, BRIA). Open-source, MIT-лицензия, поддерживает GPU через onnxruntime-gpu.

rembg — Python-библиотека с открытым исходным кодом для автоматического удаления фона с изображений. Лицензия MIT, исходный код на GitHub (github.com/danielgatis/rembg). Использует нейросетевые модели сегментации через ONNX Runtime, что обеспечивает кроссплатформенность: CPU, CUDA (NVIDIA GPU), CoreML (Apple Silicon), DirectML (Windows GPU).

История и версии

Первая версия rembg (2020) была построена на модели U2-Net — рекурсивной нейросети от Xuebin Qin et al. (2020). U2-Net давала хорошие результаты на однородных фонах, но заметно теряла качество на волосах и сложных текстурах. F-measure на DIS5K: ~0.87.

В 2022–2023 годах библиотека получила поддержку нескольких моделей через параметр -m: u2net, u2net_human_seg, silueta. В 2024 году, с публикацией BiRefNet и BRIA RMBG, rembg добавил их как birefnet-general, birefnet-portrait, birefnet-hrsod, isnet-general-use, isnet-anime.

Поддерживаемые модели в rembg 2.x

  • u2net — общая сегментация, быстрая, F-measure ~0.87
  • u2net_human_seg — оптимизирована для людей
  • silueta — лёгкая (43 МБ), CPU-friendly
  • isnet-general-use — IS-Net, F-measure ~0.89
  • birefnet-general — BiRefNet General, F-measure 0.934
  • birefnet-portrait — BiRefNet, дообучена на портретах
  • birefnet-hrsod — High-Resolution Salient Object Detection
  • sam — Segment Anything (требует bounding box prompt)

Установка и базовое использование

# Установка с поддержкой GPU (CUDA 12.x)
pip install rembg[gpu]
# или без GPU (только CPU)
pip install rembg

# CLI: удалить фон из файла
rembg i -m birefnet-general input.jpg output.png

# CLI: пакетная обработка папки
rembg p -m birefnet-general ./input_folder/ ./output_folder/

# Python API
from rembg import remove, new_session
from PIL import Image

session = new_session("birefnet-general")  # загрузка модели один раз
img = Image.open("product.jpg")
result = remove(img, session=session)
result.save("product_no_bg.png")

Как rembg используется в PhotoPanda

PhotoPanda использует rembg как обёртку над BiRefNet с расширенным pipeline постобработки:

  1. rembg выполняет сегментацию, возвращает RGBA PIL Image
  2. Кастомный alpha refinement: edge-aware Gaussian blur на alpha-channel в зонах неопределённости (0 < alpha < 255)
  3. При включённом флаге alpha_refinement=true — дополнительный проход через FBA Matting для волос
  4. Sharp (Node.js) применяет финальную компрессию PNG/WebP

Вся обработка выполняется на RTX 3090 с 24 ГБ VRAM. Сессия rembg загружается один раз при старте воркера и держится в памяти GPU — это исключает задержку 2–5 секунд на загрузку модели для каждого запроса.

rembg vs специализированные API

rembg — self-hosted решение: вы получаете полный контроль над данными и стоимостью (только GPU-сервер), но несёте ответственность за инфраструктуру. Облачные API (Remove.bg, BRIA AI) — это rembg-аналоги как managed service, с платой за обработку. PhotoPanda объединяет подход: мы держим GPU-инфраструктуру, вы платите только за реальные обработки по модели 20–30 коп./фото — значительно дешевле любого облачного конкурента.

25 ₽ welcome бонус

Создайте фото с ИИ
за 30 секунд

AI-фотосессия по шаблону, генерация изображений нейросетью или обработка вашего фото — удаление фона, апскейл до 1440p, восстановление лиц. 10 ₽/день бесплатно без регистрации, +25 ₽ welcome бонусом — хватит на 125 удалений фона. Без карты, без подписки, без watermark.