Если ожидание и реальность при генерации картинок нейросетями у вас не сошлись, этот гайд вам точно подойдет.
В начале 2023 года для генерации изображений активно используются две нейросети — Midjourney и Stable Diffusion. На основе этих двух алгоритмов мы и будем учиться составлять правильные запросы к нейросетям.
Помощники запросов
Первым делом — отличная новость. Если вы не хотите вручную создавать запросы или промпты (англ. prompt — подсказка, запрос), есть решение: существуют генераторы запросов. Для создания промптов вы можете воспользоваться помощниками. Они сами сформируют запрос с учётом синтаксиса выбранной вами нейросети.
Полученные запросы можно использовать как в Midjourney, так и в Stable Diffusion, а также в других нейросетях, которые поддерживают генерацию изображений по текстовым запросам.
Вот три лучших сервиса генерации промтов для Midjourney и Stable Diffusion.
Самый простой помощник запросов. Просто выберите слова из списка и скопируйте готовый запрос. Кроме того, вы можете использовать модификаторы алгоритма и выбирать размер изображения:
Ещё один простой помощник запросов, который позволяет генерировать промпты для Midjourney, DreamStudio, Stable Diffusion, CF Spark, DALL-E 2, Disco Diffusion, NightCafe, wombo.art, Craiyon.
Самый сложный, но и функциональный помощник подсказок. Для его использования, как минимум, понадобится навык работы с репозиториями на GitHub.
А теперь о том, как самому составить правильный запрос к нейросети так, чтобы она сгенерировала то, что вы от нее ждете.
Stable Diffusion
Это одна из самых популярных нейросетей для генерации изображений в 2023 году. Чтобы создать изображение, требуется промпт. Мы сгенерировали более сотни различных изображений в Stable Diffusion, тестируя разные вариации одного и того же промпта.
Вот несколько факторов, которые нужно учитывать при составлении запросов в Stable Diffusion и подобным нейросетям.
Конкретика. Когда мы тестировали Stable Diffusion и пробовали разные примеры запросов стало понятно: нейросеть любит максимальную конкретику в запросах. Другими словами, вы должны как можно точнее сформулировать главный объект и указать его в промте. Например, rhino of the earth:
Комбинации. Иногда нейросеть выдаёт потрясающие результаты даже на основе промпта из одного или двух слов. В других случаях — необходимо добавлять большое количество уточняющих слов, чтобы получить приемлемый результат. Например, взгляните на эту текстовую подсказку:
realistic detailed image of a renaissance scene in the style of Francis Bacon, Surreal, Norman Rockwell and James Jean, Greg Hildebrandt, and Mark Brooks, triadic color scheme, By Greg Rutkowski, in the style of Francis Bacon and Syd Mead and Edward Hopper and Norman Rockwell and Beksinski, open ceiling, highly detailed, painted by Francis Bacon, painted by James Gilleard, surrealism, airbrush, Ilya Kuvshinov, WLOP, Stanley Artgerm, very coherent, art by Takato Yamamoto and James Jean.
А этот результат отрисовки по длиннющему промпту:
Необходимо тестировать разные комбинации слов в промпте, при этом учитывайте: некоторые слова в запросе для Stable Diffusion могут по умолчанию сильнее менять изображение или смешивать его с объектом. Чтобы избежать этого эффекта, добавляйте необходимые слова в промпт.
Стилизация. Стиль — это конкретное направление, которое применяет художник или дизайнер. Например, традиционные стили европейского искусства — барокко, ренессанс, сюрреализм. Вот, что мы получили, добавив в подсказку слово impressionism:
А еще есть супрематизм, кубизм, ампир, авангардизм, абстракционизм. Преимущество Stable Diffusion в том, что нейросеть распознаёт сотни чужих стилей, причём не только из фото и живописи, но и других форм искусства: скульптуры, архитектуры, мозаики и даже трехмерных моделей.
Допустим, вы хотите создать изображение по запросу «девушка с красными волосами в стиле кавай», но так, чтобы она была похожа на живопись. Для этого после основного запроса stunning surreal portrait acrylic on canvas art, добавьте через запятую слово acrylic paint. Результат в нашем случае был таким:
Работа в стиле конкретного художника, фотографа или дизайнера. Все запросы для нейросети Stable Diffusion можно сделать ещё более точными, если указать через запятую имя художника. В таком случае нейросеть автоматически сымитирует и стиль этого художника. Обратите внимание: для указания конкретных художников нужно использовать местоимение by. Например, хотите пейзаж в горах в стиле Энди Уорхола:
Кстати, вы можете указать сразу несколько известных живописцев, дизайнеров или фотографов, чтобы получить изображение ещё более интересного стиля.
Одно из лучших мест для поиска вдохновения — это статья 40 Famous Artists Everyone Should Know, From Michelangelo to Frida Kahlo на сайте mymodernmet.com. На нём вы найдёте очень длинный список художников, разбитых по эпохам и стилям. Просто выберите художника или стиль, затем — добавьте соответствующее слово в текстовую подсказку.
Параметры съёмки. Вы можете задать параметры камеры или объектива. Если вы хотите создать реалистичное изображение, то надо точно представлять себе, что должно быть на выходе. Например, вы хотите получить объект, снятый на 50 мм объектив? Укажите в промпте:
-50mm lens
Описание объекта и сцены, фокусное расстояние объектива, экспозиция и ISO — все эти и другие параметры настоящей камеры вы можете смело устанавливать через запятую в своем текстовом запросе для нейросети.
Самые важные параметры Stable Diffusion
Давайте разберём самые важные настройки промптов в Stable Diffusion, которыми можно управлять в интерфейсе нейросети. Отметим, что эти параметры подойдут для опытных пользователей, которые смогли установить и запустить нейросеть на своем компьютере. В интерфейсе нейросети на сайте Hugging Face, например, есть далеко не все из этих настроек.
Источник или Seed. Это стартовая точка рендера. Первоначальный рендер получился удачным? Значит сохраните использованный на старте Seed. Результат неудовлетворительный? Укажите -1 и продолжите попытки отрисовки.
Сэмплер или Sampler. Этот инструмент позволяет генерировать похожие на главное изображение варианты.
Интересные рендеры вы можете увидеть уже с 10-го кадра. Самые необычные — после 50-60-ти отрисовок.
Шаги или Steps. Это шаги, которые будут выполнены в процессе рендеринга сцены. Вы можете указать нейросети любое количество шагов. Но если деталь какого-то объекта имеет артефакт на 10-20-м рендере, то вряд ли он уйдёт в дальнейших отрисовках. В этом случае лучше подкорректировать промпт.
Разрешение или Resolution. Это просто разрешение, которое должно быть на выходе рендера. 512 пикселей — значение по умолчанию. Конечно, вы можете поэкспериментировать с его уменьшением или увеличением, но результат вряд ли будет удовлетворительным. Например, при увеличении разрешения объект просто дублируется в разных зонах сцены. Порой случайно и хаотично.
Creativeness или Точность следования запросу. Если вы хотите писать запросы для нейросети Stable Diffusion, поиграться с этим параметром определенно стоит. Хотите, чтобы нейросеть интерпретировала ваш промпт свободно или наоборот — очень строго? Воспользуйтесь Creativeness.
Укажите значение 2, если хотите предоставить нейросети полную свободу в отрисовке (ваш первоначальный промпт будет использоваться только как очень-очень далёкий, маловажный референс).
Укажите значение 16, если нужно, чтобы нейросеть дословно следовала запросу при отрисовке. Вы можете указать любые значения в этом диапазоне (от 2 до 16). Creativeness по умолчанию равно 8.
Вес объектов в Stable Diffusion: как правильно писать запрос
Необходимо также сказать о соотношении объектов внутри сцены / кадра / сюжета. Новички часто используют десятки разных ключевых слов, пытаясь сгенерировать очень сложные изображения. Или пытаются создать изображение, на котором содержится большое количество объектов. Но в итоге получается месиво или хаос:
Вес ключевого слова в Stable Diffusion добавляется через двоеточие, после ключа. Само значение веса можно указать десятичным числом, например:
monkey:0.20, dog:0.50, sky:0.90
Однако использовать числа для описания веса объекта не обязательно — вы можете повышать или уменьшать важность ключевого слова при помощи скобок. Например, нам нужно получить страшную собаку. «Собака» будет главным словом в запросе, а характеристика «страшный» — второстепенным. Вот как это промпт будет выглядеть со скобками:
"[scary],((dog))".
Ни одна нейросеть не может заменить настоящего дизайнера. Поэтому заказать дизайн сайта лучше всего у профессионалов TexTerra — сделаем качественно и учтем все ваши пожелания.
Midjourney
Для генерации изображений эта нейросеть использует модель текстовых подсказок точно так же, как и Stable Diffusion.
Нельзя сказать, что Midjourney создаёт более реалистичные изображения по сравнению с Stable Diffusion или наоборот. Но что очевидно уже после первых тестов — алгоритмы этих нейросетей по-разному отрабатывают одинаковые промпты.
Начнём с самых важных настроек нейросети.
Самые важные параметры Midjourney
Здесь мы рассмотрим самые важные настройки запросов и самой Midjourney.
Изменение размеров изображения в Midjourney. Вы можете изменить пропорции вашего изображения с помощью команды Aspect Ratio. Для этого нужно задать после запятой команду вида --ar x:y. Допустим, вы хотите создать изображение с соотношением сторон 3:4. Просто укажите:
--ar 3:4.
Или вы хотите изменить соотношение сторон на 16:9. Используйте параметр:
--ar 16:9.
Вы также можете задавать конкретные значения высоты и ширины, используя команды --h и --w. Если вы введете только --h или только --w, то сторона, которую вы не указали, сохранит текущие размеры.
Обратите внимание: лучше всего изменение соотношения сторон кадра работает, когда размер кратен 64. Например:
--h 512 или --w 384
Разработчики Midjourney рекомендуют не превышать значение в 512 пикселей, иначе отрисовка может быть выполнена некорректно.
Ранняя остановка рендеринга или Stop Render Early. Иногда нужно сгенерировать менее проработанное изображение, чем то, которое создается в конце полного цикла работы нейросети. И мы можем дать команду Midjourney остановить процесс генерации раньше времени.
Полный цикл равен 100 отрисовкам, поэтому, если вы хотите остановить рендеринг, когда он завершен на 50%, можно использовать команду stop:
--stop 50.
Это отличный способ создать мягкую композицию или сцену без фокусировки на объекте.
Повышение яркости при масштабировании или Uplight Upscale. Этот параметр автоматически увеличивает яркость композиции при повышении масштаба изображения.
Конечно, немного повысить яркость можно уже в графических редакторах после генерации изображения, но в некоторых случаях это не сработает. Поэтому, чтобы на выходе получить более яркую картинку, можно использовать параметр --uplight в конце подсказки.
Оператор --no. В предыдущих версиях Midjourney отрицание в промптах работало некорректно. Но сейчас этот параметр работает всё лучше и лучше. Она позволяет исключить из картинки те паттерны, которые вы не хотите в ней видеть. Просто введите --no и после этой подсказки — описание того, что вы не хотите видеть в готовой картинке.
Эта команда особенно полезна, если вы используете подсказку, которая имеет несколько значений. Параметр --no может быть использован для уточнения подсказки.
Подробнее о том, как зарегистрироваться в «Дискорде», где найти чат Midjourney и как указать команду — вы можете прочитать в другом нашем гайде — «Новая Midjourney — как работать бесплатно». Кстати, в нем же собрано подробное описание всех важных команд, а также алгоритм как писать запросы в Midjourney.
Как сделать запрос для Midjourney
Чтобы создать запрос к нейросети, используйте следующую команду:
/imagine prompt [текстовый запрос].
Запросы для нейросети Midjourney могут быть такими же, которые вы используете для Stable Diffusion. Промпты могут быть как простыми, так и сложными, включающими в себя десятки слов одновременно. Если вы новичок, вам может быть сложно сразу подобрать подсказки для создания желаемого изображения. При этом при создании запросов для Midjourney нет четких правил. Но есть несколько советов, которые помогут вам правильно составить промпт и получать в результате работы алгоритма ожидаемый результат:
- качество и реалистичность изображения, которое генерирует нейросеть, зависит только от текстовой подсказки.
- чем конкретнее подсказка, тем больше информации вы даете алгоритму Midjourney для создания задуманного вами образа.
- не обязательно быть сверх-конкретными: вы можете просто подтолкнуть нейросеть и посмотреть, что она придумает.
Все способы, которые помогут составить правильный запрос для Stable Diffusion прекрасно работают и в Midjourney. Например, хорошо помогает указание стиля художника или конкретного направления в искусстве.
Настройка веса референса в Midjourney
Все по аналогии со Stable Diffusion. Хотя в Midjourney нельзя использовать исходные изображения для отрисовки сцен, вы можете показать нейросети референс — ваше собственное изображение, на которое будет ориентироваться нейросеть при создании нового кадра. Для этого используйте команду -iw.
Экспериментировать с референсами очень интересно и, порой, это единственный способ добиться того, чтобы нейросеть нарисовала нужный вам объект. Например, человека из вашего окружения, о котором алгоритм не имеет представления.
Пошаговая инструкция, как добавить референс в подсказку с настройкой веса:
- Найдите нужное изображение в интернете и скопируйте его URL.
- Добавьте URL в начало подсказки.
- После адреса картинки в тексте промпта добавьте параметр веса изображения. 1 — это нормальный вес, от него и надо отталкиваться. Значения ниже единицы снижают влияние конкретного изображения на результат генерации, а значения выше — увеличивают.
Общие рекомендации для всех нейросетей
Вам очень пригодится английский язык. Ни одна нейросеть не понимает русский язык так же хорошо, как английский.
Используйте нестандартные запросы для нейросети, а не просто [brown cat]. Если в вашей голове уже есть какой-то образ, то постарайтесь описать его в промпте как можно подробнее — так расхождение между ожиданием и реальной генерацией будут меньше.
Просто подумайте о том, как бы вы описали нужное изображение своему другу. Представьте, что вы рассказываете ему. какую картину вы увидели в магазине.
Вот краткий чеклист, который поможет сформировать даже сложный текстовой запрос за пару минут:
- Задайте размер как самого изображения, так и отдельных объектов.
- Задайте тему (например, опушка леса или космос).
- Используйте описание стиля (например, мозаика, реализм, мультик).
- Попробуйте упомянуть художника, фотографа или дизайнера (например, Энди Уорхол).
Теперь вы точно знаете, как правильно делать запросы для нейросети и сможете сгенерировать не набор случайных объектов, а произведение, похожее на искусство, или, по крайней мере, тот образ, который вы хотели.
И напоследок пара важных фактов:
- Midjourney — платная нейросеть, но зато пользоваться ей может любой человек, даже очень далёкий от разработки.
- Stable Difussion — полностью бесплатная нейросеть (open-source). При этом для полноценного использования оригинального алгоритма лучше всего скачать его исходный код на свое устройство и запустить на нем. Конечно, функционалом нейросети можно пользоваться и на специальных сайтах, включая Hugging Face, однако там доступны далеко не все настройки алгоритма.
Читайте также:
Сбер обновил свою нейросеть – тест Kandinsky 2.0
Китайская нейросеть делает из вас персонажа аниме. Бесплатно