Архитектура и аппаратная поддержка
Rembg — это мощный инструмент для удаления фона, доступный как CLI, Python-библиотека, HTTP-сервер или Docker-контейнер. Ключевое обновление касается аппаратной совместимости: теперь проект официально поддерживает AMD ROCm через пакет onnxruntime-rocm, что расширяет круг пользователей за пределы экосистемы NVIDIA. Для стандартных задач требуется Python 3.11–3.13.
Установка оптимизирована под тип оборудования:
- CPU:
pip install rembg[cpu,cli] - NVIDIA GPU:
pip install rembg[gpu,cli](требует CUDA и cudnn-devel) - AMD GPU:
pip install rembg[rocm,cli](требует onnxruntime-rocm)
Четыре режима обработки краев: от скорости к качеству
Главное нововведение — детализированная система работы с мягкими краями (волосы, мех, ткань). Разработчики выделили четыре стратегии, которые не являются слоями, а выбирают один подход к постобработке маски:
| Режим | Флаг | Удаление цветной каймы | Уточнение маски | Производительность |
|---|---|---|---|---|
| Naive (по умолчанию) | - | Нет | Нет | Максимальная скорость |
| Decontaminate | -dc | Да | Нет | Незначительная нагрузка |
| Alpha matting | -a | Да | Да | Медленно |
| ViTMatte | -vm | Да | Да | Медленно, требует доп. модель |
Модели и чекпоинты ViTMatte
Для режима -vm (ViTMatte) доступны различные чекпоинты, влияющие на качество и скорость. По умолчанию используется small-distinctions-646 (~110 МБ), обеспечивающий лучший баланс качества и размера. Более детальные модели, такие как base-distinctions-646 (~380 МБ), увеличивают время обработки в 2.5 раза, но сохраняют больше мелких деталей.
Интеграция с API и Batch-обработка
Rembg позволяет использовать облачный API withoutBG (50 бесплатных кредитов при регистрации) для обработки без локальных вычислений. Для локальной работы доступен режим HTTP-сервера на порту 7000 и пакетная обработка папок с возможностью «watch mode» (автоматическая обработка новых файлов). Также реализована прямая интеграция с FFmpeg для обработки видеопотоков в формате RGB24.
Источник: Github ↗
