Outpaint в StableDiffusion

Привет!

Хочу рассказать про интересный способ outpainting через ControlNet. Да, сейчас существует уже очень много классных сервисов, которые могут исполня��ь подобный прием на очень высоком уровне, но преимущество этого способа в том, что все делается прямо в автоматике1111, где под рукой всегда есть все настройки, ползунки, ваши любимые модели и inpaint.

Чтобы воспользоваться этим приемом понадобиться поставить расширение ControlNet и к нему модель inpaint

Для того, чтоб у вас появилось расширение ControlNet, мы заходим во вкладку Extensions внутри вашего автоматика, далее Available и жмем на кнопку Load From. В строке Search начинаем вводить ControlNet и находим его в списке доступный расширений. Так же можно поставить его через вкладку Extensions – Install from URL, введя в верхнюю строчку ссылку на официальную страничку расширения на гитхабе: https://github.com/Mikubill/sd-webui-controlnet.

На этой же странице на гитхабе мы находим вот эту ссылку https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main

От сюда нам понадобиться скачать одну модель “control_v11p_sd15_inpaint.pth” и положить ее в папку с нашим StableDiffusion по пути “ %\stable-diffusion-webui\models\ControlNet “.

Outpaint в StableDiffusion

Теперь все, что нам осталось – это перезагрузить наш автоматик, выбрать вашу любимую модель и настройки и сгенерировать что-нибудь красивое, желательно в портретном соотношении сторон.

Outpaint в StableDiffusion

Нажимаем на кнопку Send to img2img и переносим наше изображение, промпт и настройки в соседнюю вкладку.

Здесь, в настройках под изображением, нам нужно, в первую очередь, выставить соотношение сторон, которое мы хотим получить после outpainting, например, я хочу сделать свое изображение из портретного широким в соотношении 16:9, и выкрутить ползунок Denoising strength на уровень от 0.75 до 1. Я выставлю, как раз, единицу. Так же рекомендуется сбросить Seed, но с ним, как и с показателем Denoising можно поэкспериментировать.

Outpaint в StableDiffusion

Опускаемся еще чуть ниже и разворачиваем вкладку расширения ControlNet. Перетаскиваем наше, раннее сгенерированное изображение, в поле image, нажимаем галочку Enable и выбираем в списке радиокнопок inpaint. Автоматически загрузится модель inpaint и препроцессор inpaint_only – его нужно поменять на inpaint_only+lamaЮ иначе ничего не получится. Указываем, что ControlNet приоритетнее и выбираем изменение размера с заливкой. Все как на скриншоте ниже.

Outpaint в StableDiffusion

Для улучшения качества можно еще поставить галочку на Pixel Perfect, но это может увеличить время генерации. Если StableDiffusion выдает ошибку о нехватки памяти, то ставим галочку на Low VRAM.

Все, теперь просто нажимаем кнопку Generate и получаем наше изображение в формате 16:9.

До:

Outpaint в StableDiffusion

И после:

Outpaint в StableDiffusion

Так же буду рад вас видеть в своем телеграм канале, где я выкладываю свои нейро-арты, делюсь промптами, фотографиями и рассказываю про обработку:https://t.me/artemphotography

5
5 комментариев