Удаление фона

<!-- lesson: remove-background -->

Урок «remove-background» в группе Картинки: приёмы списка уроков. Шагов: 9.

Чему вы научитесь

Картинка с прозрачным фоном, сохранённая в PNG.

Что понадобится

  • Урок продолжает Первая картинка из текста. Карточка говорит об этом; это подсказка, а не замок.
  • Ноды: Load Image, Load Background Removal Model, Remove Background, Invert Mask, Join Image with Alpha, Save Image.
  • Приложение ничего не скачивает и не устанавливает. Тексты шагов ниже говорят, какие файлы, в какие папки и какой шаблон ComfyUI их называет.

Шаги

Слова каждого шага, как их показывает урок. Имена нод выделены.

  1. Как убирают фон (чтение)

    Модель удаления фона смотрит на картинку и говорит, какие пиксели принадлежат предмету. ComfyUI превращает это в прозрачность: всё, что не предмет, исчезает.

    Ноды для этого входят в новые версии ComfyUI. Урок собирает граф с пустого холста: «Файл ▸ Новый проект».

  2. Загрузите картинку

    Добавьте ноду Load Image и выберите картинку в её поле image.

    Лучше всего выходит ясный предмет на фоне: человек, товар, животное.

  3. Загрузите модель

    Добавьте ноду Load Background Removal Model и выберите модель в её поле bg_removal_name, например BiRefNet. ComfyUI ищет такие файлы в папке models/background_removal.

    Если нужного файла в списке нет, значит, его нет в вашем ComfyUI. Приложение ничего не скачивает. Проще всего открыть в самом ComfyUI официальный шаблон «Remove Background (BiRefNet)»: он покажет, каких файлов не хватает и куда их положить. Потом выберите здесь в меню «Синхронизация ▸ Синхронизировать сейчас», и файлы появятся в списках.

  4. Найдите предмет

    Добавьте ноду Remove Background. Выход ноды Load Background Removal Model идёт в её вход bg_removal_model, картинка во вход image.

    Её выход mask это предмет: белое там, где он есть, чёрное там, где фон.

  5. Выверните маску

    Добавьте ноду Invert Mask и подключите выход mask ноды Remove Background к её входу mask.

    Следующая нода читает маску как «что спрятать». Предмет должен остаться, поэтому маску сначала выворачивают, так делает и шаблон самого ComfyUI.

  6. Сделайте фон прозрачным

    Добавьте ноду Join Image with Alpha. Картинка идёт в её вход image, выход ноды Invert Mask во вход alpha.

    Нода добавляет маску к картинке как прозрачность.

  7. Сохраните

    Добавьте ноду Save Image и подключите выход ноды Join Image with Alpha к её входу images.

    Она пишет PNG, а PNG хранит прозрачность. В JPEG прозрачности нет: прозрачная часть стала бы цветом.

  8. Другие способы (чтение)

    • Чтобы поставить предмет на другой фон, возьмите ноду Image Composite Masked: в неё идут новый фон, предмет и маска.
    • Пак ComfyUI-RMBG держит много моделей удаления фона, в том числе для волос и одежды. Пак нод запускает на вашем компьютере чужой код. Ставьте его сами через менеджер ComfyUI, с его официальной страницы, и только если доверяете авторам. Приложение ничего не устанавливает.
    • Чтобы взять не весь предмет, а один названный, смотрите урок «Маска по словам».
  9. Граф готов (чтение)

    Сохраните граф через «Файл ▸ Сохранить workflow для ComfyUI…», откройте файл в ComfyUI и запустите там. Само приложение в ComfyUI ничего не запускает.

    Что попробовать: картинку с волосами или мехом на пёстром фоне, самый трудный случай для любой модели.

Что проверяет урок

Шаг для чтения сделан, когда вы нажимаете Понятно, дальше. Шаг с делом отмечается сам, когда на холсте есть:

  • Шаг 2, Загрузите картинку:
    • нода Load Image.
    • image ноды Load Image: значение выбрано.
  • Шаг 3, Загрузите модель:
    • нода Load Background Removal Model.
    • bg_removal_name ноды Load Background Removal Model: значение выбрано.
  • Шаг 4, Найдите предмет:
    • нода Remove Background.
    • bg_model ноды Load Background Removal Model во вход bg_removal_model ноды Remove Background.
    • IMAGE ноды Load Image во вход image ноды Remove Background (можно через Upscale Image или Upscale Image By или Scale Image to Total Pixels или FluxKontextImageScale или Resize Image или ImageResizeKJv2 или Pad Image for Outpainting).
  • Шаг 5, Выверните маску:
    • нода Invert Mask.
    • mask ноды Remove Background во вход mask ноды Invert Mask.
  • Шаг 6, Сделайте фон прозрачным:
    • нода Join Image with Alpha.
    • IMAGE ноды Load Image во вход image ноды Join Image with Alpha (можно через Upscale Image или Upscale Image By или Scale Image to Total Pixels или FluxKontextImageScale или Resize Image или ImageResizeKJv2 или Pad Image for Outpainting).
    • MASK ноды Invert Mask во вход alpha ноды Join Image with Alpha.
  • Шаг 7, Сохраните:
    • нода Save Image.
    • IMAGE ноды Join Image with Alpha во вход images ноды Save Image.

См. также

Страница перенесена из wiki репозитория приложения (docs/wiki/lessons/Remove-Background.ru.md, ревизия b8e3f71). То же руководство встроено в приложение: «Справка ▸ Руководство».

Чтобы обновить её, выполните npm run import, а затем npm run build в папке сайта.