Найти в Дзене
Pirsus Games and Arts

Управляем лицами в Stable Diffusion. Часть 1.

Очень часто новички натыкаются на проблему, когда хотят сделать серию изображений с одним и тем же персонажем, но, допустим, в разных позах и разных местах. Однако, Stable Diffusion при изменении promta будет также менять и лица. Эта проблема вытекает из того, что в базе S/D находятся тысячи лиц, которые он смешивает каждый раз при генерации картинки. Но эту проблему можно обойти. Есть 3 основных способа: 1. LoRa (Lycoris) - использование дополнительных библиотек, которые накладываются поверх нашей основной модели рисования. Таким образом, мы не только можем заставить S/D рисовать определенное лицо, но и следовать определенному стилю рисования, добавлять на изображение дополнительные детали, изобразить нужную нам позу и так далее. На сайте https://civitai.com/ огромное количество LoRa на все случаи жизни. Скачиваете нужную (главное не забудьте проверить, чтобы подходила под вашу версию. У меня Stable Diffusion 1.5), закидываете в папку, например: "D:\stable-diffusion-portable-main\stab

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

Однако, Stable Diffusion при изменении promta будет также менять и лица. Эта проблема вытекает из того, что в базе S/D находятся тысячи лиц, которые он смешивает каждый раз при генерации картинки.

Но эту проблему можно обойти.

Есть 3 основных способа:

1. LoRa (Lycoris) - использование дополнительных библиотек, которые накладываются поверх нашей основной модели рисования.

-2

Таким образом, мы не только можем заставить S/D рисовать определенное лицо, но и следовать определенному стилю рисования, добавлять на изображение дополнительные детали, изобразить нужную нам позу и так далее.

На сайте https://civitai.com/ огромное количество LoRa на все случаи жизни.

Скачиваете нужную (главное не забудьте проверить, чтобы подходила под вашу версию. У меня Stable Diffusion 1.5), закидываете в папку, например:

"D:\stable-diffusion-portable-main\stable-diffusion-portable-main\models\Lora"

"D:\stable-diffusion-portable-main\stable-diffusion-portable-main\models\LyCORIS"

По личному опыту могу сказать, что Lycoris лучше подходит для создания фото-подобны изображений реальных людей (там как раз куча ликорисов со знаменитостями). А лора лучше для аниме, рисованных стилей и т.п.

Далее всё просто: пишете ваш promt, открываете вкладку Lora/Lycoris, выбираете нужную модель, и нажимаете на нее.

-3

В вашем промте появится команда на использование Lorа. (выделено синим).

Обратите внимание, что в команде после название есть ":1.0" - это сила применения команды. Регулируя ее, можно получать разные эффекты. Больше/меньше соответствие стилю Лоры.

2. Применение расширения adetailer - расширение S/D, которое позволяет перерисовывать, исправлять, генерируемые изображения. Работает с лицами, руками, глазами - т.е. самыми частыми ошибками S/D.

Прежде всего его надо установить через вкладку Extensions.

-4

Теперь у нас появилась вкладка Adetailer. Прежде всего ставим галочку "включить" (выделена синим). Выбираем способ корректировки в поле ниже. Там есть отдельные на руки, глаза, лица вцелом - чтобы S/D понимал, что ему править.

Ниже пишем промт - что менять.

-5
-6

На выходе получаем обработанное изображение.

Кстати, не обязательно менять лица, если просто вписать в промт "detailed face" - то S/D проведет улучшение нарисованного лица. Это очень помогает, когда мы рисуем персонажа вдалеке. Тогда S/D обычно плохо прорисовывает лица. А в данном случае, мы заставляем его сделать это еще раз.

По сути, Adetailer - это автоматизированный img2img-Inpaint. Мы бы могли и вручную выделить лицо и приказать исправить, но так это будет быстрее и качественнее.

3. Использование имен.

Самый простой, не требующий ничего дополнительного способ.

Как я говорил, в базах S/D тысячи лиц, и все они имеют те или иные кодовые маркеры. Будь то: европейская внешность, блондинка, африканка, японка, и так далее и так далее.

Задавая эти параметры в promt, мы уточняем какое лицо хотим получить, это ограничивает простор для фантазии S/D.

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

-7

Естественно, эти способы можно комбинировать, например вписать Lora в Adetailer. Это полезно, если вы используете несколько Lora, и хотите избежать конфликтов: Например первая Lora в promt рисует персонажей в стиле определенного фильма, а вторая в Adetailer-e добавляет нужные лица.