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.87u2net_human_seg— оптимизирована для людейsilueta— лёгкая (43 МБ), CPU-friendlyisnet-general-use— IS-Net, F-measure ~0.89birefnet-general— BiRefNet General, F-measure 0.934birefnet-portrait— BiRefNet, дообучена на портретахbirefnet-hrsod— High-Resolution Salient Object Detectionsam— 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 постобработки:
- rembg выполняет сегментацию, возвращает RGBA PIL Image
- Кастомный alpha refinement: edge-aware Gaussian blur на alpha-channel в зонах неопределённости (0 < alpha < 255)
- При включённом флаге
alpha_refinement=true— дополнительный проход через FBA Matting для волос - 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 коп./фото — значительно дешевле любого облачного конкурента.