milan

milan 

🤘

75subscribers

24posts

Showcase

3

INPAINT WAN 2.2 AUTOMASK MULTIMASK LOOP v1.2.0 MILAN🤘

json
INPAINT WAN22 AUTOMASK MULTIMASK LOOP v1.2.0 MILAN🤘.json187.55 Kb
png
INPAINT WAN22 AUTOMASK MULTIMASK LOOP v1.2.0 MILAN🤘.png9.59 Mb
Вы сгенерировали отличный групповой портрет, но лица на заднем плане превратились в нейрокашу? Или руки персонажа требуют серьезной перерисовки?
Чтобы не править каждую деталь вручную, я собрал универсальную схему инпейнта для улучшения детализации отдельных объектов моделью WAN 2.2 с множеством режимов и возможностей:
  • автоматическое наложение маски по названию сразу нескольких объектов новой моделью SAM3,
  • автоматический промпт Florence-2,
  • режим работы с несколькими масками по отдельности по очереди в цикле,
  • одиночная или пакетная загрузка сразу всех изображений в выбранной папке.
  • и ручной режим наложения маски.
Я использую эту схему каждый день для большинства изображений. Ведь в генерациях практически всегда есть объекты, которые нужно улучшить. 

Статья получилась объемная, писал я ее долго, так как постарался ответить на самые распространенные вопросы, которые задавали пользователи предыдущей версии. Чтобы чтение было удобнее, ниже я добавил оглавление (якорных ссылок для удобной навигации, к сожалению, в бусти не предусмотрено).

Оглавление

  1. Зачем нужна схема?
  2. Дисклеймер
  3. В чем отличие этой схемы от предыдущей версии 0.6.1?
  4. Примеры
  5. Ключевые возможности
  6. Какие минусы?
  7. Сколько времени занимает один инпейнт?
  8. В чем запускать схему?
  9. Что нужно скачать и зачем?
  10. Из чего состоит схема
  11. Очень подробный алгоритм работы со схемой
  12. Про LORAs
  13. MULTIMASK LOOP Как устроена обработка в цикле?
  14. Частые ошибки и проблемы
  15. Заключение

1. Зачем нужна схема?

1️⃣ Очень часто при генерации изображений после апскейла каким-то областям изображения не хватает пикселей, поэтому страдает проработка деталей.
Это особенно касается объектов на дальних и средних планах. Морды животных, предметы одежды, лица  и т.д. Все это можно исправить!
2️⃣ На групповом портрете у всех кривые лица, глаза, зубы или волосы. Делать ручной инпейнт такого изображения придется очень долго.
Схема позволяет в автоматическом режиме наложить маски на указанные текстом области (например: face), а затем обрабатывать их отдельно по очереди в режиме цикла Multimask Loop за один запуск.
3️⃣ Вы хотите обработать сразу 150 изображений плюшевых медведей, лицевых портретов (или любых других объектов).
При этом на каждом изображении может быть разное количество объектов. Схема позволяет обработать их все, указав папку с изображениями, количество генераций и включив режим Multimask Loop.

4️⃣ Вы хотите наложить маски сразу на несколько близко расположенных объектов в изображении, чтобы они обрабатывались как общая маска. Например, указать не только face, но и hair. Это тоже возможно. Просто пишем название каждого объекта в отдельное поле Prompt List.

2. Дисклеймер

Я предполагаю, что вы:
  • Работали в ComfyUI;
  • Умеете пользоваться ComfyUI Manager и устанавливать кастомные ноды;
  • Понимаете, что такое инпейнт, зачем и когда его используют.
  • Понимаете, что результат зависит от выбранных вами параметров, особенностей исходника и поставленной задачи.
  • Понимаете, что эта схема не про восстановление оригинала в большем качестве с сохранением всех нюансов и деталей.
  • Понимаете, что не существует волшебной схемы и модели, которая все умеет и делает все за нас.

3. В чем отличие этой схемы от предыдущей версии 0.6.1?


Предыдущая версия этой схемы уже проверена временем и опробована другими пользователями. Я уже выкладывал предыдущие версии в декабре для спонсоров канала в этом посте. Теперь пост обновлен и тоже содержит ссылку на эту последнюю актуальную версию.
  • У ряда пользователей возникали проблемы с установкой нодов для SAM3 и скачиванием модели. В этой новой версии я заменил ноды для работы с SAM3. А модель мы теперь качаем сами по ссылке (есть и в файле схеме и в этом посте ниже). Если у вас она уже есть, то ничего заново качать не потребуется.
  • Указать сразу несколько объектов для поиска: очень часто спрашивали, можно ли одновременно указывать несколько объектов. В новой версии поиск сразу нескольких объектов (например, и лицо и волосы) работает стабильно. Достаточно указать названия объектов в поля Prompt List.

4. Примеры

Давайте сразу перейдем к примерам, чтобы понимать, подходит ли это решение для вашей задачи. У меня всегда большие сложности с поиском примеров на момент написания статьи: как правило все изображения уже давно обработаны, а промежуточные этапы работы над изображениями я сохраняю редко. И тем не менее, я постарался подобрать примеры так, чтобы они были простыми и наглядными, разница была видна без увеличения, и не требовалось дополнительных пояснений. 
Некоторыми изображениями со мной поделились коллеги, если у вас тоже будет желание поделиться интересным примером использования, присылайте ваши примеры в чате канала, и я добавлю их к посту.

5. Ключевые возможности

Я постарался объединить в схеме несколько режимов для решения разных задач:
  1. Гибкое наложение маски:
    1. Автоматически: Просто напишите, что нужно найти в полях нода Prompt List (например, можно одновременно указать face и hair) в группе AUTO MASK и модель SAM3 сама найдет нужные объекты и наложит маски.
    2. Вручную: Используйте стандартный редактор Open in MaskEditor для полного контроля над маской.
  2. Умная работа с промптом:
    1. АвтоматическиFlorence2 сама опишет область содержащую маску. Подходит для детализации объектов без кардинальных изменений и сильной перерисовки. И особенно удобно при пакетной обработке.
    2. Вручную: Напишите свой собственный промпт.
    3. Также можно использовать оба режима одновременно.
  3. Пакетная и одиночная загрузка:
    1. Обрабатывайте серии изображений (укажите путь к папке в текстовом поле нода Load Multiple Images with Name, Directory, Title, Description
    2. или работайте с одним файлом, просто перетащив его в нод Load One Image with Name, Title, Description или выберите файл через кнопку choose file to upload этого нода.
  4. Опциональный режим обработки нескольких масок в цикле: например, обработать несколько лиц на одном групповом портрете по очереди, чтобы каждому лицу хватило пикселей.
  5. Два режима работы с маской:
    1. Inpaint Crop (Вырезание): Идеально для Inpaint'a больших изображений. Схема вырезает область, содержащую маску, перерисовывает её и аккуратно вшивает обратно.
    2. Whole Image (Целое изображение): Подходит для небольших исходников, например, когда хотим дать весь контекст изображения для лучшего качества инпейнта.
  6. Сохранение оригинальных имен файлов: Схема сохраняет исходные имена, что в дальнейшем упрощает организацию и отбор файлов.

6. Какие минусы?

  • Требуется более мощная система, желательно иметь видеокарту с 16GB видеопамяти и хотя бы 32GB оперативной памяти для комфортной работы. Но вы можете самостоятельно попробовать подключить модели полегче в формате GGUF. Необходимые ноды я разместил рядом с обычными нодами загрузки. Чем меньше размер модели, тем хуже качество, но и генерация станет быстрей, и меньше вероятность вылетов и ошибок из-за недостатка памяти.
  • Генерация дольше в сравнении со схемами для инпейнта с Flux Nunchaku; 
  • Результат может сильно отличаться от исходника, при этом сохраняя изначальные формы, позы и композицию. Например, если критически важно сохранить оригинальные черты лица, то схема может вам не подойти. Практически у каждой модели и LORa есть какие-то свои особенности, которые влияют на то, как изображаются лица, руки и другие объекты. И эта схема не про буквальное ВОССТАНОВЛЕНИЕ оригинала с его тонкими особенностями, а про получение детализированного проработанного изображения.

7. Сколько времени занимает один инпейнт?

⚠️ Первый запуск может быть значительно дольше, даже в системе с производительной видеокартой, 
Примерное время работы схемы для инпейнта одной маски:
RTX 5090 32GB — 55-60 секунд;
RTX 4080 Super 16GB —  85-110 секунд;
RTX 4070ti Super 16GB —  125 секунд;
RTX 5060ti 16GB — 130-140 секунд;
На скорость генерации может сильно влиять версия Comfy UI. Ваш результат может немного отличаться.

8. В чем запускать схему?

Я использовал готовую сборку Comfy UI Easy Install от сообщества Pixaroma. На одном компе стоит версия сборки v1.70.0, а на другом v2.01.9
Везде все работает корректно. Сейчас уже есть версии новее.
В схеме не должно быть критичных и специфических зависимостей, вы сможете попробовать запустить ее на обычной установке или другой сборке, если она достаточно новая, чтобы поддерживать работу с WAN2.2 и SAM3. Иногда какие-то ноды могут работать некорректно на старых версиях Comfy UI.

9. Что нужно скачать и зачем?

Все ссылки с объяснениями также есть и в самом файле схемы в группе DOWNLOADS. Но продублирую все информацию и здесь:
  1. WAN 2.2 t2v low noise 14B — основная модель для генерации WAN 2.2
    1. WAN 2.2 fp8-scaled Размер: 14.3 GB ⬇️https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/blob/main/split_files/diffusion_models/wan2.2_t2v_low_noise_14B_fp8_scaled.safetensors
    2. Или WAN 2.2 GGUF Размер: от 5.3GB до 15.4GB Подбирайте под свою видеокарту: чем меньше модель, тем хуже качество, но выше скорость генерации. Важно: требуются разные ноды для загрузки. ⬇️ https://huggingface.co/QuantStack/Wan2.2-T2V-A14B-GGUF/tree/main/LowNoise
  2. LORA's — адаптационные модели
    1. Lightx2v Wan2.2-T2V-A14B-4steps-lora-250928 (переименовать вручную) ⬇️https://huggingface.co/lightx2v/Wan2.2-Lightning/blob/main/Wan2.2-T2V-A14B-4steps-lora-250928/low_noise_model.safetensors
    2. Wan2.2-Fun-Reward Wan2.2-Fun-A14B-InP-low-noise-HPS2.1:⬇️ https://huggingface.co/alibaba-pai/Wan2.2-Fun-Reward-LoRAs/resolve/main/Wan2.2-Fun-A14B-InP-low-noise-HPS2.1.safetensors
  3. UMT5_xxl — текстовый энкодер
    1. Версия fp8 scaled: ⬇️ https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors
    2. Или версия GGUF:⬇️ https://huggingface.co/city96/umt5-xxl-encoder-gguf/tree/main
  4. VAE — вариационный автоэнкодер. Кодирует изображение в сжатый формат для обработки и декодирует его обратно в финальное изображение. ⬇️ https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/resolve/main/split_files/vae/wan_2.1_vae.safetensors
  5. FLORENCE-2  Модель для распознавания содержимого на изображении и автоматической генерации промпта. ✅ Скачивается автоматически при первом запуске нода DownloadAndLoadFlorence2Model в группе PROMPT. В выпадающем списке выберите модель, например, gokaygokay/Florence2-Flux-Large. На первый запуск потребуется время, которое зависит от скорости интернета. Процесс скачивания можно посмотреть в консоли. Модель сама загрузится в директорию ComfyUI\models\LLM или можете скачать все файлы самостоятельно ⬇️https://huggingface.co/gokaygokay/Florence-2-Flux-Large/tree/main в ComfyUI\models\LLM\Florence-2-Flux-Large
  6. SEGMENT ANYTHING MODEL (SAM3) — Поиск и сегментация объектов на изображениях и наложение масок. Можно скачать с неофициального зеркала от 1038lab (создателей пакета нодов comfyui-rmbg). Регистрация не потребуется. Файл модели sam3.pt нужно будет положить в ComfyUI\models\sam3 ⬇️https://huggingface.co/1038lab/sam3/blob/main/sam3.pt

10. Из чего состоит схема

Если вы уже работаете с моими предыдущими рабочими процессами, то многое должно быть знакомо и привычно. 
🟩Зеленые ноды: меняем настройки
🟦Синие переключатели: выбираем режимы
Все ноды объединены в группы по смыслу:
  • LOAD MODELS: здесь мы загружаем модели, которые используются всегда;
  • LOAD LORAS: здесь загружаем адаптационные модели, включаем и отключаем и меняем силу воздействия, чтобы улучшить (или ухудшить) качество генерации;
  • LOAD IMAGES: одиночная и пакетная отработка изображений,
  • MASK: ручная или автоматическая маска;
  • PROMPT: автоматический промпт, ручной промпт и промпт из Description метаданных изображения;
  • INPAINT SETTINGS: настройки генерации, также сюда я перенес загрузку моделей flux, потому что их частенько приходится менять;
  • CALCULATE MASK RESIZE: здесь мы указываем разрешение для маски при генерации, достаточно указать примерное значение, а пропорции рассчитаются автоматически;
  • CROP or WHOLE: вырезание области изображения (и настройки вырезания) или работа со всем изображением целиком;

  • MULTIMASK LOOP: последовательная обработка множества масок в цикле;

  • COMPARE сравнение области до и после инпейнта;
  • SAVE SETTINGS настройки сохранения;
  • и большой нод Image Comparer чтобы внимательно сравнить исходник и получившийся результат целиком.
Структура этого рабочего процесса позволяет усложнять и улучшать его дальше под ваши конкретные специфические задачи.

11. Очень подробный алгоритм работы со схемой

Подготовка:


  1. Скачиваем и все необходимые модели, ссылки указаны в группе DOWNLOADS в самой схемеа также в этой статье в части 9;
  2. Устанавливаем недостающие ноды через Comfy UI Manager;
  3. Подключаем модели:
    1. Выбираем модели в группах LOAD MODELS, LOAD LORAs; 
    2. Модель Florence-2-Flux-Large можно скачать самостоятельно или она скачается автоматически самим нодом DownloadAndLoadFlorence2Model. На автоматическое скачивание потребуется время при первом запуске, процесс загрузки вы увидите в консоли;
    3. Модель sam3.pt лучше скачать самостоятельно. И затем выбрать sam3.pt в ноде TBG SAM3 Model Loader and Downloader в группе MASK > AUTOMASK.

Работа со схемой:

  1. группа LOAD IMAGES Загрузка изображений. Выберите один двух из режимов с помощью синего переключателя:
    1. LOAD IMAGES BATCH Пакетный режим для загрузки сразу всех изображений в папке (укажите путь к папке в текстовом поле нода Load Multiple Images with Name, Directory, Title, Description)
    2. LOAD SINGLE IMAGE загрузка одного изображения. Просто перетащите его в нод Load One Image with Name, Title, Description или выберите файл изображения, нажав кнопку choose file to upload этого нода.
  2. В группе PROMPT. Выберите один или несколько из режимов с помощью синего переключателя:
    1. PROMPT AUTO Автоматический промпт с Florence2 (установлен по умолчанию),
    2. PROMPT MANUAL  Введите промпт самостоятельно вручную,
    3. При желании можно использовать оба режима одновременно.
  3. В группе MASK. Выберите один двух из режимов с помощью синего переключателя:
    1. AUTO MASK в текстовые поля нода PromptList пишем, что нужно найти (например, face и hair). Можно указывать сразу разных объектов для поиска.
      1. В ноде TBG SAM3 Segmentation обратите внимание на опцию detect_all (по умолчанию включено). Если она включена, то будут найдены ВСЕ объекты подходящие по запросу. Если опция выключена, то будет найдено столько объектов, сколько указано ниже в max_detections. А параметр min_size задает минимальный размер объекта. Возможно его придется понизить, если объекты вроде глаз или зубов не попадают в маски. Или повысить, если в маски попадают совсем мелкие и ненужные вам объекты.
      2. В ноде GrowMask можно расширить маску на указанное вами количество пикселей, например, чтобы физически объединить отдельные маски в общую маску за счет их расширения. В нодах Mask Preview расположенных ниже можно увидеть разницу. Но иногда расширение масок может приводить к проблемам при высоких значениях denoise и shift в INPAINT SETTINGS: когда вокруг объекта захватывается часть фона, то эта часть может отличаться от остального фона. Если GrowMask стоит на 0, а проблемы с захватом области вокруг объекта сохраняются, то скорее всего вам нужно уменьшить параметры mask_expand_pixels и mask_blend_pixels в CROP or WHOLE > CROP MASK > Inpaint Crop (Improved).
    2. MANUAL MASK Работает только для одиночных изображений LOAD IMAGES > LOAD SINGLE IMAGE. Иногда SAM3 не справляется, или вам нужна сложная, нестандартная маска. Для этого есть ручной режим. ⚠️ Неочевидный нюанс: Когда мы рисуем маску в редакторе (Open in MaskEditor) и сохраняем ее, то ComfyUI создает копию оригинального файла и перемещает ее во временную папку input, и далее работает с этой копией. Из-за этого мы теряем оригинальное имя файла. Поэтому в этой схеме я использую "костыль", чтобы сохранить оригинальное имя — дублирую загрузчик изображений:
      1. Перетаскиваем изображение и в первый основной одиночный загрузчик в группе LOAD IMAGES > LOAD SINGLE IMAGE,
      2. И во второй загрузчик MASK > MANUAL MASK мы перетаскиваем то же самое изображение,
      3. Чтобы открыть редактор маски, кликните по изображению в ноде правой клавишей мыши и выберите в в контекстном меню Open in MaskEditor
      4. Затем рисуем маску, не боясь потерять имя файла,
    3. Оба режима могут работать с группой MULTIMASK LOOP (о ней далее). Некоторые особенности рабочего процесса как раз связаны с тем, чтобы в одной схеме можно было и автоматически находить объекты и вручную накладывать маску;
  4. MULTIMASK LOOP опциональная группа для последовательной обработки множества масок в цикле. По сути она нужна нам ТОЛЬКО если на изображении несколько масок и вы хотите обработать их по отдельности. Например, последовательно обработать несколько лиц на одном групповом портрете:
    1. Если группа ВЫключена, то все лица попадут в одну общую маску. В таком случае скорее всего каждому лицу не хватит пикселей, а Florence2 сгенерирует один общий промпт описывая сразу все лица, и поэтому результат скорее всего будет некачественным;
    2. Если группа ВКЛючена, то каждое лицо будет обработано по очереди: для каждой области с маской будет сгенерирован отдельный промпт и WAN2.2 обработает область с каждым лицом отдельно, поэтому ему хватит пикселей для детализации. В ноде Separate Mask можно указать порог для размеров маски size_threshold и выбрать один из двух режимов mode для нарезания общей маски на отдельные:
      1. Area (установлен по умолчанию), работает с изначальной формой масок. Используем, когда важна точность. Предпочтительнее в текущей версии схемы;
      2. Convex polygons сильно упрощает маски. Используем, когда точность и форма не важны.
  5. INPAINT SETTINGS Основные настройки генерации WAN2.2. При работе уделите особое внимание параметрам shift и denoise. Они работают вместе, влияют друг на друга. Иногда выбывает сложно подобрать правильный баланс:
    1. shift (0.5-5.0) Чем ниже значение, тем ближе к исходнику, но меньше деталей, восстановления и креатива. Высокие значения могут давать излишнюю декоративность. Рекомендую начинать с 2.0-3.0;
    2. denoise (0.0-1.0) Насколько перерисовать картинку. Чем хуже качество изображения, чем сильнее артефакты и что-то надо вправить, тем выше ставим denoisе. Чем меньше denoise, тем ближе результат будет к исходнику. Например, если вы видите нейрокашу вместо лица, то denoise надо ставить повыше. Если у персонажа неправильное количество пальцев, то тоже ставим высокий denoise, чтобы это исправить. А если в целом с анатомией проблем нет, то можно ограничиться значениями 0.1-0.2;
  6. CALCULATE MASK RESIZE В этой группе автоматически рассчитывается разрешение области для инпейнта под пропорции маски и с учетом особенностей модели WAN 2.2.
    1. В ноде WanVideo Image Reize To Closest примерно указываем разрешение (например, 1600 × 1600 px), а нод сам пересчитает его под пропорции маски, что особенно удобно когда она вытянута по горизонтали или вертикали.
    2. Параметры высоты и ширины будут автоматически переданы далее в нод Inpaint Crop (Improved).
    3. Разрешение тоже сильно влияет на результат. Я не рекомендую указывать его выше 2560 × 1440 для модели WAN 2.2. Если вы увидели полосы, то его стоит поставить ниже.
    4. Разрешение по умолчанию я поставил 1600 × 1600 px. Значения разрешения зависят от того, что вы инпейнтите и сколько пространства объект занимает на изображении. Например, работе с небольшими объектами вроде рук не крупным планом, разрешение стоит указывать еще ниже, например 1000 × 1000 px. Потому что в противном случае модель постарается отработать заданное разрешение по полной и дорисовать еще больше деталей вроде вен и морщин, что как правило нежелательно.
  7. CROP or WHOLE
    1. CROP MASK (Вырезание): вырезает область, содержащую маску, перерисовывает её и аккуратно вшивает обратно. В ноде Inpaint Crop (Improved) есть множество настроек, но пусть вас они не пугают, большинство можно оставить по умолчанию.
      1. ouput_target_width и output_target_height теперь рассчитываются в группе CALCULATE MASK RESIZE. . Мы указываем примерное разрешение в WanVideo Image Reize To Closest, например 1600 × 1600 px. Высота и ширина области инпейнта будут рассчитаны автоматически для каждой маски, учитывая ее форму и пропорции, и переданы в нод Inpaint Crop (Improved). Ничего считать самостоятельно не нужно.
      2. context_from_mask_extend_factor. По умолчанию 1.2. Насколько расшить область маски, чтобы взять контекст для инпейнта, где 1.0 это не расширять, а 1.5 — взять 50% со всех сторон). Контекст нужен, чтобы и Florence2 написал более подробный промпт по области для WAN2.2, а WAN2.2 лучше понимал, что он собственно перерисовывает. Но чем выше context, тем меньше у нас разрешение самой маски, меньше пикселей для инпейнта. Так, если мы инпейнтим руки, которые не занимают много пространства в кадре, то логичным было бы немного повысить контекст, а разрешение понизить, чтобы WAN2.2 не пытался их слишком вырисовывать и детализировать и лучше понимал кому принадлежат руки и их положения в пространстве. Если инпейнтим что-то очень большое, вроде одежды на 2/3 кадра, то тут придется и контекст снизить до 1.0-1.05, а разрешение наоборот повысить до максимума, потому что контекст тут не важен, а пикселей наоборот не хватает.
      3. mask_expand_pixels и mask_blend_pixels —насколько расширить маску и и насколько смешать маску с остальным изображением. По умолчанию установлено значение 32 px и обычно работает нормально в большинстве сценариев. Иногда эти параметры приходится уменьшать, если объект небольшой и происходит нежелательный захват области вокруг (Например, такое частое случается при инпейнте часов). Вы могли заметить, что мы уже делаем расширение маски в группе AUTOMASK в ноде Grow Mask. Но там мы это делаем в основном, чтобы объединить маски, расположенные очень близко, в одну маску.
    2. WHOLE IMAGE (Целое изображение): Подходит для небольших исходников, когда нужно дать весь контекст изображения для лучшего качества инпейнта. Я практически не использовал этот режим с WAN2.2, и он достался схеме в наследство от предыдущих версий с Flux. Но может быть кому-то полезен.
  8. LORAs Адаптационные модели для улучшения качества и детализации. Lightx2vLightx2v и Fun-Reward лоры. Включенные лоры и сила их воздействия (strength_modelОЧЕНЬ влияют на результат. Я не ставлю значения выше 0.6. Выбирайте, какие Лоры включить и силу их воздействия в зависимости от специфики изображения, изначального качества и задачи. Часто какие-то лоры приходится отключать. Справа от группы есть заметка про эти Лоры. Скрин заметки прикрепил чуть ниже.
  9. SAVE SETTINGS эта схема позволяет сохранять исходные имена, что в дальнейшем упрощает организацию и отбор файлов.
    1. FILE NAME: что добавить к имени файла
    2. FOLDER NAME: в какую папку внутри папки ComfyUI/output сохранить изображение.
  10. Указываем количество изображений.
    1. При работе в пакетном режиме загрузки LOAD IMAGES BATCH указываем количество изображений в указанной папке справа от большой синей кнопки ▶️ Run.
    2. LOAD IMAGE SINGLE При одиночной загрузке указываем 1 справа от кнопки ▶️ Run.
  11. Запускаем схему, нажав кнопку ▶️ Run.

12. Про LORAs

13. MULTIMASK LOOP Как работает обработка в цикле?


  1. Загружаем изображение или указываем путь к папке для загрузки нескольких изображений в группе LOAD IMAGES;
  2. В группе MASK > AUTO MASK  в PromptList пишем, что нужно найти, например, face и hair;
  3. Включаем группу MULTIMASK и запускаем схему;
  4. Обнаружение объектов: Модель SAM3 сканирует изображение, и старается найти все объекты по вашему запросу (например, все лица и волосы);
  5. Все маски склеиваются в одну общую маску и передается в группу MULTIMASK LOOP;
  6. Разделение маски: Общая маска со всеми объектами разделяется на отдельные маски нодом Separate mask;
  7. Тело цикла: изображение проходит через один и тот же набор операций столько раз, сколько масок мы выделили. Схема последовательно обрабатывает каждую маску:
    1. Автоматический промпт:  Florence2 генерирует текстовое описание области, которая содержим маску. Это нужно, чтобы модель инпейнта знала, что именно она перерисовывает.
    2. Инпейнт: модель WAN2.2, используя этот сгенерированный промпт и ваши настройки, перерисовывает содержимое маски.
    3. Cшивание: измененный фрагмент вшивается обратно в исходное изображение. Теперь у нас есть обновленная версия картинки.
  8. Повторение: Процесс повторяется до тех пор, пока не закончатся все маски. Схема берет следующую маску и повторяет все шаги 7 пункта уже на измененном изображении;
  9. Результат: За один запуск мы последовательно обработали все указанные объекты. Каждое следующее изменение накладывалось поверх предыдущего, и всё это в автоматическом режиме.

14. Частые ошибки и проблемы

⚠️При запуске пакетной обработки (когда мы инпейнтим сразу несколько изображений) нельзя вносить изменения в схему, пока все изображения не будут добавлены в очередь. Особенно это критично при редактировании текстовых полей, например папки для сохранения результатов.
⚠️Первая генерация очень долгая, дольше чем указано в статье
Первый запуск всегда дольше, это нормально
⚠️ Ошибка при наложении маски на мелкиe объекты (например, eyes, teeth)
RuntimeError: Expected all tensors to be on the same device, but got tensors is on cpu, different from other tensors on cuda:0 (when checking argument in method wrapper_CUDA_cat)
Попробуйте уменьшить размер маски в  MASK > AUTOMASK > TBG SAM3 Segmentation > min_size
⚠️ Не получается добавить большое количество изображений в очередь
SETTINGS > Queue Button Batch count limit и установите максимальное количество изображений, которое можно за один раз добавить в очередь. У меня установлено 500.
⚠️Чрезмерно выраженные мимические морщины
Выключите или ослабьте первую LORA Lightx2v Wan2.2-T2V-A14B-4steps-lora-250928

⚠️ Чрезмерная детализация фона
Выключите или ослабьте первую LORA Lightx2v Wan2.2-T2V-A14B-4steps-lora-250928
⚠️ Результат сильно отличается от исходника.
Понизьте denoise, понизьте shift, понизьте strength для LORA или выключите их совсем.
⚠️ Долгая генерация, зависания. 
Попробуйте в батнике, через который запускаете Comfy UI прописать
--reserve-vram 1.5
⚠️ Вылетает при пакетной обработке после нескольких генераций. 
Если схема вылетает после обработки нескольких изображений, попробуйте заменить нод VAE Decode на VAE Decode (Tiled), он лежит рядом в группе UPSCALE SETTINGS.

⚠️ После инпейнта вокруг объекта захватывается часть фона вокруг, появляется ореол.
Скорее всего установлены высокие значения denoise и shift. Если это необходимо, то попробуйте в MASK > AUTO MASK > GrowMask
установить значение 0. Если проблемы с захватом области вокруг объекта сохраняются, то скорее всего вам нужно уменьшить параметр mask_expand_pixels и mask_blend_pixels в CROP or WHOLE > CROP MASK > Inpaint Crop (Improved).
⚠️Мой главный совет по поводу пакетной обработки: сначала протестируйте настройки (LORAs и их strength, denoise и shift, разрешение области) хотя бы на одном-двух изображениях, и только потом запускайте обработку для всей серии. Это сэкономит вам массу времени и нервов.
 Если вы нашли баг, у вас есть пожелания по улучшению схемы или какая-то проблема, не стесняйтесь написать мне об этом здесь или в чате канала.

16. Заключение

Предыдущая версия схемы уже известна многим пользователям. Напишите здесь или в чате telegram-канала о вашем опыте работе, рекомендуемых настройках скриншотами результатов и вашими рекомендациями по работе со схемой. Ваша обратная связь будет полезна для других пользователей.

Спасибо всем, кто уже поделился фидбеком и активно пользуется схемой на ежедневной основе, благодаря вам получилось довести схему до ее текущего состояния.
Subscription levels2

200

$2.85 per month
Ежемесячная поддержка автора
✅ Доступ ко всем материалам

400

$5.7 per month
🔥Ежемесячная суперподдержка автора
✅ Доступ ко всем материалам
Go up