Стабильный диффузия: регулирование цвета при расширении Cutoff

Стабильный диффузия: регулирование цвета при расширении Cutoff

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

Тут есть замечательное и очевидное решение — убрать всю одежду, но сегодня рассмотрим другие варианты.

Есть много способов как попытаться генерировать нужные нам цвета:

  • Работать с промптом (менять слова, веса, порядок и тд)
  • Сгенерировать из наброска (в img2img, sketch)
  • Img2img с депфмапой, кении, и цветной подложкой (https://www.youtube.com/watch?v=u-jvjP2k-RU)
  • Инпеинтить
  • Можно попробовать latent couple
  • Любой вариант который будет работать

В этой статье разберемся с расширением cutoff. Сразу скажу что оно плохо работает с реалистичными моделями (или у меня не получилось), но с анимешными может помочь.

Для начала установим

вот ссылочка на github: https://github.com/hnmr293/sd-webui-cutoff
на civitai (тут качать ничего не надо, но в описании парень показал пример использования и поделился своими наблюдениями): https://civitai.com/models/18840/no-more-color-contamination-read-description

У меня его в списке расширений нет, но если у вас есть то просто находите «sd-webui-cutoff» и нажимаете «Install». Если у вас тоже его нет, то берем ссылочку на гитхаб выше, идем в «Extensions» -> «Install from URL», вставляем ссылку и нажимаем «Install». После установки появиться надпись что все ок. Переходим во вкладку «Installed» и нажимаем кнопку «Apply and restart UI». После этого у нас там же где и остальные расширения должна была появиться раскрывашка с Cutoff.

Что к чему

Вот наш промпт:
masterpiece, best quality, wallpaper, full body, 1girl, solo, standing, looking at viewer, green hair, yellow shirt, red shorts, solid white shoes, on tennis court

У нас есть цвета волос и одежды, они могут друг другу мешать и чтобы этого избежать cutoff немного перерабатывает наш промпт чтобы в числовом представлении цвета между собой меньше пересекались.
При обработке он поочередно заменяет все цвета кроме одного на какой-нибудь малозначительный токен, например на «_» (нижнее подчеркивание). Таким образом у нас остается только один цвет в промпте, а вместо остальных написано «_» и это уменьшает вероятность их смешивания. То есть у нас изначально было looking at viewer, green hair, yellow shirt, red shorts и вот как он их будет менять.

Пройдемся по интерфейсу

Enable — активирует работу расширения
Target tokens (comma separated) — те цвета, которые мы хотим отделять, записываем через запятую
Weight — вес, сила действия наших манипуляций (я не заметил сильной разницы при 1, 1.5 или 2, поэкспериментируйте)
Disable for negative prompt — если галочка стоит, то расширение будет работать только с основным промптом, негативный не трогает (я ни разу не убирал, всегда стоит).
Cutoff strongly — если цвета слишком сильно влияют на общую картинку (освящение, антураж, предметы, интерьер и тп), включите эту настройку.
Padding token — токен который будет вставляться вместо целевых токенов (по умолчанию «_», нижнее подчеркивание, можно не менять)
Interpolation method — метод интерполяции векторов (если изменение других настроек не дает результата можете попробовать поменять это)
Debug log — будет выводить в консоль обработанные промпты

Кстати о дебаг логе, вот как выглядит промпт с выключенным и включенным cutoff strongly. Расширение полностью убирает цвета из промптов и вставляет их только когда они нужны. В обычном режиме он их убирает только при взаимодействии друг с другом (в самом низу на скринах)

Кому интересно как работает:
на главной странице на гитхабе https://github.com/hnmr293/sd-webui-cutoff#how-it-works
и тут автор подробнее расписывал https://github.com/hnmr293/sd-webui-cutoff/issues/5

Картинки!

В желтой футболке: masterpiece, best quality, wallpaper, full body, 1girl, solo, standing, looking at viewer, green hair, yellow shirt, red shorts, solid white shoes, on tennis court
В оранжевой: masterpiece, best quality, wallpaper, full body, 1girl, solo, standing, looking at viewer, purple hair, orange shirt, blue shorts, solid white shoes, on tennis court

Для той, которая в желтой футболке в cutoff прописал: green, yellow, red.
Для той, которая в оранжевой в cutoff прописал: purple, orange, blue.
Ботинки и так не всегда чисто белые получаются, так что solid white shoes не добавлял в cutoff

AnythingV3

Тут еще решил с latent couple поиграться и поставить их рядом. В cutoff прописал: green, yellow, red, purple, orange, blue

AbyssOrangeMix2

Тут с желтой футболкой и без cutoff все хорошо получилось

MeinaMix V8

Итого

Работает не всегда, но сильно повышает частоту генераций с нужными цветами. Штука неплохая, можно пользоваться.

Пожелания, предложения, вопросы — всему буду рад, пишите!

Тут мой телеграм: https://t.me/mrreplicart
Тут ютуб: https://www.youtube.com/@mrreplicart

#нейросети #stablediffusion #гайд.

 

Источник

Читайте также