Найти тему
Студия ITSALIVE

Создаем дизайн в любом стиле без промта с помощью IP-Adapter

Всем привет! Меня зовут Кирилл Песков, я руковожу дизайном в студии компьютерной графики ITSALIVE и постоянно ищу новые практические применения для нейросетей. Сегодня расскажу о новой функции Stable Diffusion, которая позволяет генерировать изображения в любом стиле без прописывая промта. Речь пойдет про IP-адаптер.

Это новая модель ControlNet, которая преобразует референсное изображение в материал для генерации. В отличие от похожих функций в Midjourney и Stable Diffusion, этот алгоритм работает невероятно точно. Он снимает стиль с заданной картинки и смешивает его с другим изображением, промтом или картой глубины. С его помощью можно создавать стилизованные портреты, пейзажи и композиции, подбирая их внешний вид простым переключением картинки-референса.

У IP-адаптера нет аналогов — сейчас это лучший способ контролировать стиль вашей генерации, что я и докажу в этой статье.

Установка

  • Для начала посмотрите видео про то, как установить Stable Diffusion.
  • После установки нужно перейти в Extensions. Нажмите Load from во вкладке Available — у вас загрузится весь список тех настроек Stable Diffusion, который вы можете установить.
  • В Extensions пишем СontrolNet и получаем sd-webui-controlnet. Дальше нужно нажать Install и нажать Apply and restore UI.
  • С этого момента у вас в Stable Diffusion появляется ControlNet, который можно развернуть и посмотреть настройки.
Вот так выглядят настройки ControlNet в Stable Diffusion
Вот так выглядят настройки ControlNet в Stable Diffusion
  • Теперь переходим по ссылке на Hugging Face и скачиваем четыре модели IP-Adaptor.
  • После этого перенесите их в папку вашего Stable Diffusion/Models/ControlNet и вставляйте в него скачанные файлы. Важный нюанс — файлы сохранятся в формате bin и нужно будет каждый из них переименовать в pth.
  • После переименования перезагрузите StableDiffusion. В окне ControlNet появится IP-адаптер. При первой генерации Stable сам докачает препроцессор clip-view, который нужен для работы модели. Дождитесь загрузки в консоли, и начинайте творить.

После установки можно начинать тестировать работу IP-адаптера с разными задачами:

  • Генерация по картинке-референсу
  • Замена деталей на портретах
  • Логотип в любом стиле и объемные фигуры

В статье я показываю основные настройки. Разбор всех параметров — negative prompt, control weight — можно посмотреть в моем YouTube-видео.

Генерация по картинке-референсу

Если запустить генерацию Stable Diffusion с пустым окном промта он просто сгенерирует портрет девушки, либо какой-нибудь пейзаж. Давайте оставим промт пустым, перейдем в ControlNet и загрузим любую абстрактную картинку в качестве референса IP-Adapter.

Вот наш референс (Estilo3D, Behance)
Вот наш референс (Estilo3D, Behance)

Выбираем IP-адаптер в режиме Plus и нажимаем Generate.

Произошла магия: IP-адаптер повторил стиль, тени и цвет с референса без прописанного промта
Произошла магия: IP-адаптер повторил стиль, тени и цвет с референса без прописанного промта

Фишка: если в окно txt2img начать прописывать промт, то адаптер будет вмешивать запрос в уже стилизованное изображение. Например, пропишем промт «car». И вот, что получилось сгенерить:

IP-адаптер создал машину из тех же материалов, которые были в исходной картинке
IP-адаптер создал машину из тех же материалов, которые были в исходной картинке

То же самое можно сделать и с другими стилями. Объединим нашу машину с вот такими картинками:

Gabriel Silveira (Behance) / Freepik Stock
Gabriel Silveira (Behance) / Freepik Stock

Получились машины с соответствующей стилизацией и фоном:

-7
-8

Stable даже подбирает эстетически подходящую модель машины. Сложно представить сколько времени ушло бы на сочинение соответствующего промта. IP-Adapter упрощает жизнь дизайнерам: начиная работу, мыдержим в голове визуальные образы, поэтому гораздо проще подобрать референс, чем текстовое описание.

Мы поговорили про базовое применение IP-адаптера. Но его возможности гораздо шире — давайте посмотрим, как он работает с портретами.

Замена деталей на портретах

Поиграем со сменой причесок. Переходим в img2img, Берем картинку с парнем, рисуем ему маску для inpaint.

Наш подопытный с маской для импейнта (Unsplash.com)
Наш подопытный с маской для импейнта (Unsplash.com)

После этого подгружаем в IP-адаптер изображение другого человека с прической, которую хотим увидеть в результате. Например, персонажа из нашего синематика «Истокъ»:

-10

Включаем IP-Адаптер, жмем Generate и смотрим, что получается:

У парня с первой картинки изменилась прическа — стала такой же, как у Кости
У парня с первой картинки изменилась прическа — стала такой же, как у Кости

По английски эта прическа называется «bob cut», но введя подобный промт, я бы вряд ли получил точную длину и оттенок. Вот так IP-адаптер облегчает мне работу.

С длинными волосами адаптер тоже срабатывает хорошо. Поменяем парню прическу еще раз. Добавляем в ControlNet изображение с длинноволосой девушкой:

Unsplash.com
Unsplash.com

Чтобы усилить точность генерации, поставьте ту же самую картинку с парнем в ControlNet пре-процессор Depth. Тогда он будет рисовать новые волосы в прежних «границах» головы.

-13

Есть несостыковки в цвете кожи, но это легко исправляется в Photoshop. Зато мы получаем точно такую же форму пробора и линию роста волос. Эти вещи гораздо сложнее повторить методами классической ретуши.

Этому же парню мы можем нарисовать татуировки. Для этого надо вставить в ControlNet фото человека с ними.

Например, вот такое (Unsplash.com)
Например, вот такое (Unsplash.com)

Рисуем маску на руках исходного парня. Нажимаем Generate и смотрим, что выдаст IP-адаптер:

Мы сходу получаем хороший результат — татуировки, схожие с референсом
Мы сходу получаем хороший результат — татуировки, схожие с референсом

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

Но главное преимущество IP-Adapter раскрывается, когда мы начинаем комбинировать его с другими препроцессорами: например, depth или cany. Это позволяет делать арты с текстом и логотипом. Давайте посмотрим, как это работает.

Логотип в любом стиле и объемные фигуры

Для примера возьмем логотип нашей студии, ставим препроцессор Cany в ControlNet. Stable Diffusion будет использовать полученный контур для генерации.

-16

Добавляем референс в IP-Adapter. Вот, что у нас получается после того, как нажали на Generate — IP-адаптер точно повторил графику с референса, который был на фоне, и точно вписал туда логотип:

-17
-18

Вы можете получить логотип, собранный из любого материала и «окрашенный» в любой стиль. Этого бы не получилось сделать никакими другими инструментами. Самое интересное, что это работает даже со сложными образами, допустим я хочу получить лого, вырезанное на мыле как в «Бойцовском клубе».

-19

IP-Adapter повторил форму, детали и даже блики. Мы получаем изображение отличного качества, которое сложно сгенерировать стандартным методом с промтами.

Так же круто IP-адаптер работает и с объемными фигурами. Для примера создал такую depth-карту:

Ее можно создать в любой 3D-программе
Ее можно создать в любой 3D-программе

В Control Type нужно поставить depth и убрать препроцессор, потому что depth-карта у нас уже есть. Добавляем стиль — для этого использую этот арт:

-21

Генерим и получаем такой результат:

Комментарии излишни, это шикарно
Комментарии излишни, это шикарно

Чтобы форма объемов не терялась, нужно увеличить Control Weigh в depth нашего изначального инпута.

Перегенерили с новыми настройками, и вот результат:

-23

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

IP-адаптер позволяет работать не только с формами логотипов или текста — можно также стилизовать фотографии, лица знаменитостей и вообще все, что может прийти в голову. Только представьте какие это дает возможности.

Обычно, выполняя дизайн-задачу, мы идем от старта к финальной точке и выстраиваем шаги на пути. Но с нейросетями так не работает, результаты генераций настолько непредсказуемы, что «шаги» могут увести нас слишком далеко от цели. В результате, большинство text-to-image сеток до сих пор подходят только для творческого поиска и создания артов.

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

Посмотрите мой видео-обзор IP-адаптера: там превращаем фото в картину стиля Ар-Нуво, делаем карандашный постер из Mortal Kombat и кое-что еще.

А как думаете вы, нейросети заменят дизайнеров или помогут в нашей работе?