Бархатные нейрокреативы в Stable Diffusion: как добиваться точного результата от нейросетей. Кейс «Уральских авиалиний»

Продолжаем создавать нейрокреативы для задач «Уральских авиалиний». Но, если в прошлый раз мы были лояльны к искусственному интеллекту и принимали то, что выдавал нам Midjourney со всеми его особенностями, то в этот раз наш дизайнер Ляйсан Торопова добивалась нужного результата от Stable Diffusion. Делимся результатом и лайфхаками.

Концепция: «Отпуск повышенной мягкости»

Осенью «Уральские авиалинии» проводят традиционную распродажу авиабилетов «Бархатный сезон». В этом году заказчик придумал концепцию «Отпуск повышенной мягкости». Летний отдых может быть жестким: высокие цены из-за большого спроса, толпы в аэропортах, на пляжах, на экскурсиях и в отелях — приходится тратить драгоценное время и нервы в очередях. Плюс из-за жары приходится проводить много времени в отеле. Осенью отдых гораздо мягче: дешевле цены, меньше людей, приятнее погода. На то сезон и бархатный.

Нам нужно было создать баннеры для разных целей и каналов:

  • для промокампании в поиске и рекламной сети Яндекса,
  • анонсов на сайте,
  • имейл-рассылок,
  • баннеров в соцсетях, Телеграме и приложении.

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

Микс инструментов для решения нестандартных задач

У каждой нейросети есть свои сильные и слабые стороны. Мы предпочитаем брать от каждого инструмента лучшее — так быстрее и удобнее. Поэтому мы использовали микс технологий: Midjourney + Stable Diffusion + DALL-E. Давайте о каждой нейросети по порядку.

Midjourney: хорошая композиция, но не та текстура

Нейросети создают что-то новое на основе уже существующего. Поэтому им трудно генерировать что-то неестественное, несочетаемое или то, чего раньше не создавали и не выкладывали в сеть VFX-художники. Например, бархатную статую — ведь в реальности текстуры камня или железа не имеют ничего общего с тканью. Чтобы добиться результата, мы пробовали добавлять в промт разные уточнения, например, «покрытый шерстью». Но ничего не помогало.

Бархатные нейрокреативы в Stable Diffusion: как добиваться точного результата от нейросетей. Кейс «Уральских авиалиний»

Еще мы пробовали создать бархатный туристический чайник. Благодаря подобранному промту с уточнениями чайник все-таки получился, но использовать его для этой кампании не стали, зато взяли в качестве идеи для мерча.

Бархатные нейрокреативы в Stable Diffusion: как добиваться точного результата от нейросетей. Кейс «Уральских авиалиний»

Бархат в целом сложный промт, потому что имеет дополнительные контексты — например, ассоциируется с тортом «Красный бархат» или отсылает к фильму Линча Blue Velvet. В общем, на промты со словом velvet Midjourney не выдает просто ткань, он почему-то рисует женщин и мужчин в сексуальных образах.

Бархатные нейрокреативы в Stable Diffusion: как добиваться точного результата от нейросетей. Кейс «Уральских авиалиний»

Зато с генерацией естественных вещей Midjourney в основном справляется хорошо и быстро. Бархат часто используется для обивки мягкой мебели и для создания сумок, поэтому бархатный шезлонг и рюкзак нам не пришлось доделывать в Stable Diffusion. Хотя поиграть с промтами все равно было нужно.

Бархатные нейрокреативы в Stable Diffusion: как добиваться точного результата от нейросетей. Кейс «Уральских авиалиний»
Бархатные нейрокреативы в Stable Diffusion: как добиваться точного результата от нейросетей. Кейс «Уральских авиалиний»

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

Бархатные нейрокреативы в Stable Diffusion: как добиваться точного результата от нейросетей. Кейс «Уральских авиалиний»

Еще одна сильная сторона Midjourney — интересная композиция. Поэтому, даже если в результате генерации нас не устраивала текстура объекта, мы могли взять картинку с хорошей композицией из Midjourney в качестве основы для инпейнтинга (фича по замене отдельных кусочков изображения) или img to img (генерация новых изображений на основе исходных) в Stable Diffusion.

Бархатные нейрокреативы в Stable Diffusion: как добиваться точного результата от нейросетей. Кейс «Уральских авиалиний»

Stable Diffusion: точный результат, но сложные настройки

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

Для общего баннера кампании мы хотели повторить идею ландшафта с высоты птичьего полета. В Midjourney получалось что-то совсем не то.

Бархатные нейрокреативы в Stable Diffusion: как добиваться точного результата от нейросетей. Кейс «Уральских авиалиний»

В Stable Diffusion тоже получилось не сразу: пришлось подумать над настройками, перебрать много вариантов промта и собирать цельную картину по кусочкам. Все-таки мы добились желаемого результата, но в итоге остановились на другом креативе с креслами в самолете.

Бархатные нейрокреативы в Stable Diffusion: как добиваться точного результата от нейросетей. Кейс «Уральских авиалиний»

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

Бархатные нейрокреативы в Stable Diffusion: как добиваться точного результата от нейросетей. Кейс «Уральских авиалиний»

Чтобы справиться с этим, мы отказывались от женских образов в пользу чего-то более нейтрального (например, вместо сфинкса использовали статую льва) и сначала генерировали картинку в Midjourney.

Бархатные нейрокреативы в Stable Diffusion: как добиваться точного результата от нейросетей. Кейс «Уральских авиалиний»

DALL-E: удобная возможность дорисовать фон, но на этом все

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

В целом DALL-E 2 не так хорошо натренирован, как Midjourney и Stable Diffusion, плюс он не так хорош в реализме, поэтому мы не используем его для других задач, кроме аутпейнтинга. Ждем эту фичу и в DALL-E 3.

Бархатные нейрокреативы в Stable Diffusion: как добиваться точного результата от нейросетей. Кейс «Уральских авиалиний»
Бархатные нейрокреативы в Stable Diffusion: как добиваться точного результата от нейросетей. Кейс «Уральских авиалиний»

Алгоритм для быстрого результата

В прошлый раз мы создали 6 креативов за 3,5 дня. В этот раз на такое же количество ушло больше времени — 9 дней. Но задача стояла сложнее и результат нужен был точный, поэтому мы взяли более серьезный инструмент, работа в котором похожа на ручную — очень уж много настроек. Но нейросети все еще в несколько раз быстрее иллюстраторов, ведь на один подобный креатив человеку нужно до 5 дней.

В ходе работы мы в основном действовали по одному алгоритму:

  1. Генерируем первый драфт в Midjourney. Если получается сразу хорошо — перескакиваем на шаг 3. Если нужны доработки — идем на шаг 2. Бывало, что в Midjourney у нас совсем ничего не получалось, тогда мы начинали процесс с шага 2.
  2. Дорабатываем креатив в Stable Diffusion. Или генерируем с нуля, если не получили от Midjourney нужного результата.
  3. Дорисовываем фон в DALL-E.
  4. Дизайним баннер в Фигме.

Рефлексируем

Работа с нейросетями — это новый флоу буквально каждый месяц. Главный вывод, который мы сделали — если раньше многие воспринимали нейросети как способ поиграться и хайпануть, то сейчас это полноценные рабочие инструменты, некоторые — с тонкой настройкой. И пусть они не так хорошо заточены под выполнение сложных коммерческих задач, но в умелых руках можно добиться многого в короткие сроки.

В этом проекте у нас уже было понимание, что можно, а что нельзя сделать при помощи нейронки. Поэтому и запросы были немного шире, чем в первой кампании для распродажи «Билеты в лето». Мы понимали, что одной сеткой можно сделать основной объект, а другой — построить фон и добавить сюжет. Поэтому примерно половина времени ушла на работу с фонами: на каком берегу должен стоять маяк, какие должны быть горы за рюкзаком, какой нужен пляж для шезлонга… Но самым сложным было понять, в какой городской ландшафт поселить статую льва, чтобы она в нем не затерялась.

Иван Дзиваковский, начальник службы маркетинга «Уральских авиалиний»

Собрали еще несколько тезисных выводов:

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

Бархатный сезон от нейросетей — результат

Бархатные нейрокреативы в Stable Diffusion: как добиваться точного результата от нейросетей. Кейс «Уральских авиалиний»

P. S. Прикладные подсказки по Stable Diffusion

В комментариях к прошлому кейсу про нейротушканчика нам задавали много технических вопросов. В этот раз мы подготовились заранее. Ведь нельзя просто взять и начать использовать Stable Diffusion. Нужно разобраться в множестве аспектов от установки до тюнинга результата. Главный нейроинженер этого проекта — Ляйсан Торопова — собрала несколько подсказок.

Установка

Как установить портативную версию нейросети на ПК — читайте и смотрите на GitHub.

Модели для Stable Diffusion

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

Расширение ControlNet

Чтобы в новых генерациях оставались те же контуры, или поза, или стиль, что и в референсе — понадобится настройка ControlNet. Ее также нужно установить отдельно. Вот мини-инструкция:

1. Нажмите Extensions/Install from URL.

2. В URL for extension's git repository вставьте https://github.com/Mikubill/sd-webui-controlnet.

3. Нажмите Install.

4. Перейдите в Installed.

5. Нажмите Apply and restart UI.

Бархатные нейрокреативы в Stable Diffusion: как добиваться точного результата от нейросетей. Кейс «Уральских авиалиний»

Дальше нужно установить модели для ControlNet:

1. Скачайте pre-extracted model: https://huggingface.co/webui/ControlNet-modulessafetensors.

2. Во вкладке Files and versions скачайте:

— control_canny-fp16.safetensors — для повторения контуров референсной картинки;

— control_depth-fp16.safetensors control_openpose-fp16.safetensors — для повторения карты глубины референсной картинки.

Это основные модели. Можно установить и другие, которые покажутся интересными.

3. Переместите все файлы в SD/models/ControlNet.

Негативный промт

Чтобы на сгенерированных картинках не появлялись неприятные артефакты типа страшных лиц и лишних рук, можно использовать стандартный негативный промт:

deformed, bad anatomy, disfigured, poorly drawn face, mutation, mutated, extra limb, ugly, disgusting, poorly drawn hands, missing limb, floating limbs, disconnected limbs, malformed hands, blurry,((((mutated hands and fingers)))), watermark, watermarked, oversaturated, censored, distorted hands, amputation, missing hands, obese, doubled face, double hands.

Настройка промта

Доводить получившуюся картинку до идеала можно, меняя в промте вес того или иного слова. Вот базовые способы сделать это:

1. Заключить слово или фразу, которой нужно придать больше веса, в скобки — одинарные, двойные или тройные.

2. Выделить слово или фразу, зажать Ctrl и задать вес стрелками вверх и вниз. Это выглядит так: (слово : 1.4).

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

Задается так: [ promt : other prompt : 0,6] или [ promt : other prompt : 18]. Это значит, если у вас стоит 30 generation steps, 0,6 или 18 из них будет выделено на первую часть промта. То есть не получится непонятный микс бархата и пейзажа — сначала будет генерироваться обычный пейзаж, а потом ему будет сделано бархатное «покрытие».

Бархатные нейрокреативы в Stable Diffusion: как добиваться точного результата от нейросетей. Кейс «Уральских авиалиний»

Кстати, лайфхаки про Midjourney читайте в статье от еще одного нашего нейроинженера и дизайнера — Леши Перминова: Год работал в Midjourney над внутренними задачами агентства. Делюсь действительно полезными советами.

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

3030
Начать дискуссию