Сегодня мы сделаем важный шаг к профессиональной генерации изображений. Мы научимся контролировать результаты генерации и создавать правильные запросы для нейросети.
Итак, мы установили Fooocus (для Windows, для Mac). Уже что-то попробовали сгенерировать. Теперь мы сосредоточимся на том, чтобы научиться создавать грамотные подсказки для нейросетей, и, самое главное, правильно их структурировать 👇
Прежде чем начать, хочу порекомендовать свой телеграм-канал, где я делюсь настройками подобных ☝️ изображений для Fooocus. Подписывайтесь и начнём осваивать базу.
Зачем структурировать подсказки?
Во-первых, это поможет вам более ясно выразить идею, которую вы хотите донести до нейросети.
Во-вторых, вам будет легче дорабатывать эту подсказку в будущем, так как вы будете знать её структуру и сможете легко ориентироваться в ней.
В-третьих, структурированные подсказки можно сравнить с чистым кодом у программистов. Их можно легко передать другому человеку, и он не запутается. Это значит, что вы сможете делиться своими подсказками с другими, экономя им время и силы.
Базовая структура prompt
Я предпочитаю писать подсказки для нейросети на английском языке, хотя в Fooocus есть возможность составлять запросы и на русском языке. Об этом я рассказываю в данной статье 👇
Ниже я буду везде использовать подсказки на английском. Хотя в Fooocus всё интуитивно понятно, на всякий случай напомню, где в интерфейсе вводится запрос (1). И прежде чем начнём, отключим все стили Fooocus (мы еще вернёмся к ним позже). Поставьте галочку «Advanced» (2), и во вкладке «Styles» (3) снимите все галочки со стилей Fooocus (4) 👇
Зачем мы отключили стили Fooocus? Здесь я предлагаю вам начать с того, чтобы отказаться от готовых стилей, которые доступны в ограниченном наборе, и освоить искусство создания собственных стилей.
Итак всё готово. Хотя подсказки могут быть очень сложными, большинство подсказок для SDXL работают лучше всего, когда вы начинаете с этой простой структуры:
[Стиль], [Предмет], [Окружение], [Действие]
Давайте подробнее остановимся на каждой составляющей этой формулы. Будем последовательно включать их в наш запрос. Обратите внимание, как каждый новый запрос будет вносить изменения в общее направление, заданное предыдущим токеном.
Стиль
В мире искусственного интеллекта вам необходимо определиться с основным стилем вашего изображения. Проще говоря, это направление в визуальном искусстве, которое может включать в себя реальные фотографии, иллюстрации, 3D-графику и пр.
В качестве примера я буду использовать один из представленных в моей статье художественных стилей 👇
Для примера я выберу иллюстрацию в стиле баухаус и посмотрим, какие результаты можно получить, используя только данный токен.
illustration in bauhaus style
Используя запрос выше, в результате я получил следующие изображения 👇
Объект
Мы уже обсудили стиль, в котором нейросеть будет создавать изображения. Теперь необходимо выбрать основной объект, который станет сердцем нашего произведения. Таких объектов может быть несколько. Например, мы можем добавить кота в человеческой шляпе, расширив запрос.
illustration in bauhaus style, the cat in the human hat
Окружение
Окружение объекта может быть как простым, например, «чистый белый фон», так и сложным, в зависимости от ваших предпочтений. Давайте создадим атмосферу циркового представления вокруг объекта 👇
illustration in bauhaus style, the cat in the human hat, colorful circus background
Действие
Затем вы можете выбрать действие для вашего объекта. Если ваш объект не выполняет никаких действий, например, если вы создаёте абстрактный логотип, вам не нужно ничего добавлять.
illustration in bauhaus style, the cat in the human hat, colorful circus background, he holds a magic wand in his paw
Эта задача является довольно сложной для нейросетей, но если провести несколько итераций, то можно достичь необходимого результата.
Всё это — позитивные подсказки, то есть такие токены, которые указывают модели, как нужно действовать.
Негативные подсказки
Существуют и негативные или отрицательные подсказки. Как правило, негативные подсказки используются для указания нейросети, чего ей не следует делать и для минимизации проблем.
К примеру я бы не хотел чтобы изображение максимально было далеко от фотореализма и глаза котов не были бы желтыми.
photorealism, yellow eyes
Для этого я сначала укажу общую стилистику, а затем опишу объект. Необходимо поставить галочку «Advanced» (1), и во вкладке «Settings» (2) прописать отрицательные подсказки в поле «Negative Prompts» (3) 👇
Как итог, в серии генераций как минимум у котов не встречаются желтые глаза 👇
Мгновенное расширение запроса
В Fooocus есть «волшебная кнопка», которая значительно улучшит ваше изображение, добавив в базовый запрос дополнительные токены. Эта функция автоматически добавляет в вашу подсказку слова, которые улучшают качество изображений.
Ранее я обещал вернуться к теме стилей. Вы можете найти их, следуя инструкциям, указанным выше. Стиль «Fooocus V2» использует искусственный интеллект (GPT2) для адаптивного добавления токенов, чтобы сделать изображения более привлекательными.
Обратите внимание, что при запуске генерации в консоли вы можете увидеть запросы, созданные с помощью «Fooocus V2» 👇
Эти тексты (выделены зеленым) отличаются от ваших базовых подсказок. В большинстве случаев вам не стоит беспокоиться о том, что сгенерированные ключевые слова могут повлиять на ваши основные подсказки.
Вжух! 🪄
Это и есть тот самый секретный ингредиент, который делает Fooocus таким простым в освоении. Он позволяет обычным пользователям создавать результаты, похожие на результаты Midjourney и даже превосходящие их.
🏁 С базовой структурой запроса разобрались! Давайте разберемся теперь с тем, как уменьшить или увеличить влияние того или иного токена в запросе 👇
Есть еще одна проблема, с которой часто сталкиваются новички — это схожесть лиц в результатах генерации. В этой статье я помогу вам разобраться и найти решение этой проблемы 👇
Небольшой бонус. ❤️ Многие располагают запросы для LoRA в конце. Я же предпочитаю для удобства ставить их в начало, поскольку рассматриваю LoRA с точки зрения дизайнера, прежде всего как инструмент стилизации. Подробнее о подсказках для LoRA читайте здесь 👇