Изображения с более высоким разрешением с примером выше можно увидеть в директории docs/imgs/compare/ и docs/imgs/input folders.
Автоматизированное высококачественное удаление фона с изображения с использованием нейронных сетей
- Высокое качество выходного изображения
- Пакетная обработка изображений
- Поддержка NVIDIA CUDA и процессорной обработки
- Легкое взаимодействие и запуск
- 100% совместимое с remove.bg API FastAPI HTTP API
- Удаляет фон с волос
- Простая интеграция с вашим кодом
⛱ Попробуйте сами на Google Colab
- Пользователь выбирает картинку или папку с картинками для обработки
- Происходит предобработка фотографии для обеспечения лучшего качества выходного изображения
- С помощью технологии машинного обучения убирается фон у изображения
- Происходит постобработка изображения для улучшения качества обработанного изображения
none
- методы предобработки не используются.
Они будут добавлены в будущем.
none
- методы постобработки не используютсяfba
(по умолчанию) - Этот алгоритм улучшает границы изображения при удалении фона с изображений с волосами и т.д. с помощью нейронной сети FBA Matting. Этот метод дает наилучший результат в сочетании с u2net без каких-либо методов предварительной обработки.
pip install carvekit --extra-index-url https://download.pytorch.org/whl/cpu
Проект поддерживает версии Python от 3.8 до 3.10.4.
- Убедитесь, что у вас есть графический процессор NVIDIA с 8 ГБ видеопамяти.
- Установите
CUDA Toolkit и Видео дравер для вашей видеокарты.
pip install carvekit --extra-index-url https://download.pytorch.org/whl/cu113
Проект поддерживает версии Python от 3.8 до 3.10.4.
import torch
from carvekit.api.high import HiInterface
interface = HiInterface(batch_size_seg=5, batch_size_matting=1,
device='cuda' if torch.cuda.is_available() else 'cpu',
seg_mask_size=320, matting_mask_size=2048)
images_without_background = interface(['./tests/data/cat.jpg'])
cat_wo_bg = images_without_background[0]
cat_wo_bg.save('2.png')
import PIL.Image
from carvekit.api.interface import Interface
from carvekit.ml.wrap.fba_matting import FBAMatting
from carvekit.ml.wrap.u2net import U2NET
from carvekit.pipelines.postprocessing import MattingMethod
from carvekit.pipelines.preprocessing import PreprocessingStub
from carvekit.trimap.generator import TrimapGenerator
u2net = U2NET(device='cpu',
batch_size=1)
fba = FBAMatting(device='cpu',
input_tensor_size=2048,
batch_size=1)
trimap = TrimapGenerator()
preprocessing = PreprocessingStub()
postprocessing = MattingMethod(matting_module=fba,
trimap_generator=trimap,
device='cpu')
interface = Interface(pre_pipe=preprocessing,
post_pipe=postprocessing,
seg_pipe=u2net)
image = PIL.Image.open('tests/data/cat.jpg')
cat_wo_bg = interface([image])[0]
cat_wo_bg.save('2.png')
python3 -m carvekit -i <input_path> -o <output_path> --device <device>
Usage: carvekit [OPTIONS]
Performs background removal on specified photos using console interface.
Options:
-i ./2.jpg Путь до входного файла или директории [обязателен]
-o ./2.png Путь для сохранения результата обработки
--pre none Метод предобработки
--post fba Метод постобработки
--net u2net Нейронная сеть для сегментации
--recursive Включение рекурсивного поиска изображений в папке
--batch_size 10 Размер пакета изображений, загруженных в ОЗУ
--batch_size_seg 5 Размер пакета изображений для обработки с помощью
сегментации
--batch_size_mat 1 Размер пакета изображений для обработки с помощью
матирования
--seg_mask_size 320 Размер исходного изображения для сегментирующей
нейронной сети
--matting_mask_size 2048 Размер исходного изображения для матирующей
нейронной сети
--device cpu Обрабатывающий девайс
--help Показывает это сообщение
Использование API через Docker — это быстрый и эффективный способ получить работающий API.
Этот HTTP API на 100% совместим с API клиентами сайта remove.bg
Образ Docker имеет фронтенд по умолчанию по адресу
/
и документацию к API по адресу/docs
.Аутентификация включена по умолчанию.
Ключи доступа сбрасываются при каждом перезапуске контейнера, если не установлены специальные переменные окружения.
См.docker-compose.<device>.yml
для более подробной информации.
Вы можете посмотреть свои ключи доступа в логах докера.Примеры работы с API.
См.docs/code_examples/python
для уточнения деталей
- Установите
docker-compose
- Запустите
docker-compose -f docker-compose.cpu.yml up -d
# для обработки на ЦП - Запустите
docker-compose -f docker-compose.cuda.yml up -d
# для обработки на GPU
Также вы можете монтировать папки с вашего компьютера в docker container и использовать интерфейс командной строки внутри контейнера докера для обработки файлов в этой папке.
Создание docker образа в Windows официально не поддерживается. Однако вы можете попробовать использовать WSL2 или «Linux container mode» в Docker Desktop.
pip install -r requirements_test.txt
pytest
- Запустите
docker-compose -f docker-compose.cpu.yml run carvekit_api pytest
# для тестирования на ЦП - Run
docker-compose -f docker-compose.cuda.yml run carvekit_api pytest
# для тестирования на GPU
👪 Credits: Больше информации
Вы можете поблагодарить меня за разработку этого проекта и угостить меня чашечкой кофе ☕
Blockchain | Cryptocurrency | Network | Wallet |
---|---|---|---|
Ethereum | ETH / USDT / USDC / BNB / Dogecoin | Mainnet | 0x7Ab1B8015020242D2a9bC48F09b2F34b994bc2F8 |
Ethereum | ETH / USDT / USDC / BNB / Dogecoin | BSC (Binance Smart Chain) | 0x7Ab1B8015020242D2a9bC48F09b2F34b994bc2F8 |
Bitcoin | BTC | - | bc1qmf4qedujhhvcsg8kxpg5zzc2s3jvqssmu7mmhq |
ZCash | ZEC | - | t1d7b9WxdboGFrcVVHG2ZuwWBgWEKhNUbtm |
Tron | TRX | - | TH12CADSqSTcNZPvG77GVmYKAe4nrrJB5X |
Monero | XMR | Mainnet | 48w2pDYgPtPenwqgnNneEUC9Qt1EE6eD5MucLvU3FGpY3SABudDa4ce5bT1t32oBwchysRCUimCkZVsD1HQRBbxVLF9GTh3 |
TON | TON | - | EQCznqTdfOKI3L06QX-3Q802tBL0ecSWIKfkSjU-qsoy0CWE |
Буду рад отзывам о проекте и предложениям об интеграции.
По всем вопросам писать: [email protected]