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

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

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

aa7e25d1669cdd18200252d0aa3edf5c.jpg

У 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 

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

870d527c7bb6ed4d63b2cd9f19abbfc3.jpgae33dcb70e546081824fb89dcb335660.jpg

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

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

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

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

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

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

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

388b96d822ac52067f669e111d3288e2.webp

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

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

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

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

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

Unsplash.com 

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

69af3cd05cfc33bfe4781ce1e083ad0c.webp

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

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

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

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

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

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

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

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

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

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

cafb9f4bcb0cafec3994eb44b2175d51.webp

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

833c0698ca71081da199d5a69222aebe.jpg6ba58e9cc35cdbfdae02d30300c6c4c4.jpg

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

601d30fff2e1b5f7dfee3eeaf68a5690.webp

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

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

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

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

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

0889b3aa292df701bf4f650f11db4026.webp

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

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

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

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

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

44b0b5ee1dd2687fe7690444323a49af.webp

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

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

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

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

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

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

© Habrahabr.ru