Stable Diffusion. Тайна смешивания через [… : … : X.Y]
Очень часто встаёт вопрос как смешать несколько объектов, например смешать черты лица двух людей или нескольких животных, да ещё и в определённых пропорциях. Кроме того иногда нужно смешать стили и при этом сохранить исходную композицию. А иногда требуется наложить снег, но на пейзаж в летний период или заменить один предмет на другой, например световой меч на светящуюся швабру. Эти и множество других задач поможет решить замечательная конструкция [… : … : X.Y]
Есть множество вариантов смешивания, кратенько пробежимся по вариантам:
- Простое перечисление для двух объектов или при условии наличия развёрнутой подсказки для трёх и более персонажей.
- AND - чередует усредняя. оператор пишется большими буквами
- mixed with - сразу лепит результат
- [… | …] - чередует усредняя
- [… : …] или …:… сразу лепит результат
- [… : … : 0.4] - Лепит 40% шагов первый, а затем второй объект
- Персонаж1 [Персонаж2 :: 0.4] - До 40% шагов лепит весь промт, далее только Персонаж1
- Персонаж1 [ : СТИЛЬ: 0.4] - До 40% шагов лепит основу композиции, далее применяет стиль вместе с персонажем сохраняя основу
Ввиду объёмности материала по общему смешиванию, рассмотрим только самую интересную и сложную конструкцию смешивания.
Если в конструкции [… : … : X.Y] вместо X поставить циферку меньше 1 - то в процентном соотношении от общего количества шагов будет генерироваться сначала первая часть, а оставшееся количество шагов вторая часть. Например [Меч : Перо : 0.1] будет генерировать 10% от общего количества меч, а оставшиеся 90% Перо. Если X больше 1, то это количество шагов которое будет генерироваться только первая часть, а оставшееся количество шагов только вторая часть.
Сравним применение на SD1.5 и XL с одинаковыми настройками:
А вот пример замены объекта:
Я думаю это гораздо проще и эффективнее inpaint, особенно если учесть влияние освещения.
Теперь представим себе что у вас есть стиль и этот стиль весьма проблемно применить к композиции ввиду особенностей стиля. Для примера возьмём стиль: "Cyborg style, detailed illustration, cinematic, soft focus, soft ambient lighting, glowing, bioluminescence illumination, vibrant red blue dark black emerald gold" - который в целом предполагает применение к некоему более или менее живому существу или объекту с технической возможностью реализации стиля, например к некоему механизму типа авто. Теперь попробуйте применить этот стиль к цветочкам в вазе на столе. Вот что у Вас получиться, даже при увеличении веса стиля:
Однако, если применить нашу волшебную конструкцию, то мы получим результат просто поигравшись с соответствующим шагом замены подсказки:
[ flower in a vase on the table : Cyborg style, detailed illustration, cinematic, soft focus, soft ambient lighting, glowing, bioluminescence illumination, vibrant red blue dark black emerald gold :0.1]
Шаг обычно лежит в пределах 0.2-0.3. И как видно, чем меньше это значение, тем раньше начинается замена, что приводит к большему влиянию стиля. Таким же способом можно сочетать несочетаемое, например снег на зелёной летней траве или гиппопотама с человеком.
Как уже говорилось ранее, можно не только заменять но и дополнять подсказку с определённого шага - Основная подсказка [ : дополнение : 0.3] - До 30% шагов лепит основу композиции, далее применяет дополнение к подсказке. Вот пример:
"photo of [(fat hippo) : (big fat [pig : cat : 0.3], without the neck, (tiny headed:1.2), (extra small head:1.1)) :0.25], from a distance"
Сначала рисуется гиппопотам, после 25% кадров от общего количества кадров он меняется на жирную свинью, которая заменяется на 30% от оставшихся кадров на кошку, причём только на свинью и кошку одновременно действует дополнительная подсказка в виде толстой шеи и крошечной головы.
В общем, инструмент я думаю очень интересный и не требует использования дополнительных инструментов и расширений.
Надеюсь Вам понравилась фишка, в дальнейшем я постараюсь раскрыть всю суть других операторов смешивания.
Естественно, это не единственный способ смешивания, подробнее о других способах смешивания можно узнать перейдя по ссылке - stALogen.ru