Как пользоваться нейросетью для генерации рисунков Midjourney: правильно составляем запрос

Как пользоваться нейросетью для генерации рисунков Midjourney: правильно составляем запрос


Конечно, главные площадки для экспериментов с нейросетями и в том числе с преобразованием текста в изображение — это ноутбуки в Google Colab и репозитории Github. Но давайте оставим это на продвинутый уровень, а пока сосредоточимся на Midjourney и её возможностях.


Регистрация

Пользователю предлагается путешествовать между ботом на Discord, в котором вы будете создавать изображения, и многопользовательским веб-интерфейсом, в котором хранится его архив, а также доступен поиск по архивам и профилям других пользователей.

Веб-версия Midjourney, 2022. В ней пока нельзя общаться с нейросетью, но можно смотреть на свои и чужие работы и делать поиск по картинкам и идеям (prompts)

Prompt

Мем «Кнопка "Шедевр"» больше не мем. Она существует. Только не кнопка, а, скорее, волшебные слова (prompt), которыми автор описывает искусственному интеллекту идею изображения.

  • Структуру prompt мы опишем так — Объект :: Оптика :: Рендер* (*у других участников процесса, включая собственно ИИ, может быть совсем иное мнение о структуре «промпта»).
  • Или еще короче — Объект :: Параметры

Новички, для которых в канале Midjourney в Discord есть отдельные комнаты (rooms), начинают просто с описания объекта — и тоже получается нормально.

Канал Midjourney в Discord

Ввод задания: /imagine prompt:

Итак, вы в канале Midjourney и знаете, как описать объект, его положение и окружение: «На диване лежит Маша, одетая, как обычно, в чёрное» (здесь и далее «Три сестры» Антона Чехова).

Строка ввода. Для диалога с ботом поставьте "/" в начале сообщения

Маша одета по всем правилам сообщества, это хорошо. И вы сообщили цвет — это тоже хорошо. А вот «как обычно», то есть "as usual”, и всякие другие «темпоральности» — это странный запрос для ИИ, генерирующего статичное изображение. Мы попробуем с ним и без него, для этого обратимся к боту дважды:

  • Пишем в строке для ввода /Imagine prompt: On the sofa Masha is lying dressed as usual in black. Нажимаем ввод. Изображение улетает боту.
  • Во второй раз пишем /Imagine prompt: On the sofa Masha is lying, dressed in black.

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

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


Первые результаты

Cмотрим в Inbox, из которого можно перейти к изображению (кнопка Jump). Перед вами четыре варианта будущего изображения c набором команд. Можно масштабировать избранные (U — upscale) или запросить новых версий (V — versions). Мы попросили увеличить первое и сделать варианты четвёртого (U1 и V4).

Формат

Формат изображений по умолчанию 1:1. Если нужно поменять aspect ratio, то в самом конце «промпта» добавьте два дефиса без пробела и отношение сторон. Например: --ar 3:4. Горизонтальный и вертикальный снимок: --ar 16:9, --ar 9:16. Так можно развлекаться довольно долго.


Image prompt

Если взять ссылку на изображение, .jpg или .png, и сделать её частью текстового «промпта», можно получить любопытные результаты. Текстовый «промпт» не будет вести себя как фильтр по отношению к загружаемой картинке. Он рассматривает такую картинку как источник стиля, а не наоборот.

Синтаксис Image Prompt

Для теста Image Prompt мы добавили к Маше картинку ниже, её нейросеть создала нам днём ранее. А iw (image weight) — это насколько подгруженный .png или .jpg в начале «промпта» повлияет на результат. По умолчанию это 0,25 — мы берём больше.

В этом «промпте» мы поменяли местами «Маша» и «диван» — без этого Машу было не видно. Вот что получилось:

Дальше начинаются метания. Может диван Маши находиться в лесу? Запросто. Можем мы представить, что он залит утренним светом? Конечно. И ещё можем сообщить ему стиль, имя художника, эпоху — чтобы наша Маша была «на стиле».

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


Синтаксис prompt

Как поскорее заговорить на языке ИИ, чтобы уговорить его делать то, чего вам хочется? Очевидно, есть пути длинною в жизнь — разобраться в параметрах и операторах (об этом будет ниже, и да, длинно), пробовать, ошибаться и подсматривать за тем, как формулируют свои «промпты» пользователи, работы которых вам нравятся (это можно делать через «фид»).

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

Первый — обратиться к вспомогательным инструментам:

  • Базовый помощник Prompt Helper. Сделан под первый релиз Midjourney. Не учитывает огромного количества возможностей, но зато меньше шансов в них запутаться.
  • Навороченная Promptomania. Огромный выбор настроек, есть визуализации свойств и слов. Но у нас с ним почему-то получается такая ерунда, что простенький Helper хочется рекомендовать даже больше, чем этот маниакальный комбайн.

Постарайтесь не выбирать слишком много параметров. Оставьте себе и Маше пространство для итераций. Мы, вот, набрали, да ещё от жадности добавили второе событие — пожар — и Маша с диваном исчезли. Хотя красиво:

Неудачный тест Promtomania

Второй вариант — разобраться в параметрах: стилях, оптике и рендере.

Кто придумал дурацкие названия вроде “octane render” или “v-ray”, сказать невозможно — просто разный софт создавался, развивался, а потом по изображениям, созданным с его помощью, и их метаданным учили нейросети.

В итоге ИИ понимает многие слова, которых человек не знает или не помнит (например, параметры хранящиеся в exif). Посмотрите на этот величайший из «читсетов» — он показывает, как реагируют на разные волшебные слова нейросети CLIP и VQGAN.

Фрагмент читсета

Если пользоваться этими словами, можно получить что-нибудь удивительное. Здесь мы попросили Midjorney включить параметры рендера из 3D-редактора Maya:

Следующий эксперимент — рендер 3D-редактора Z-brush c прерафаэлитами, чтобы изображение наверняка получилось цветным:

Сохранять картинки из профиля одним кликом поможет сценарий к браузерному расширению Tampermonkey. Работает он не в Discord, а в браузерной части — midjourney.com/app.


Ключевые слова

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

Оптика

Если вы фотографируете, то попробуйте говорить с Midjourney на языке фотографии. Марки фотоаппаратов и параметры пленки, настройки камеры и объектива — Midjourney во всём разбирается, хоть и своеобразно.

  • Позиции камеры Midjourney понимает лучше, чем фокусное расстояние. Используйте extreme close up / close up / medium shot / long shot / extreme long shot / bird view.
  • Фокусное расстояние: focal length --14mm (wide angle), --500 mm (narrow angle), лучшие кадры -- 35mm.
  • Zoom out: --q 0.25 Zoom in: --q 1.25.
  • Если не нужно зерно, не нужно идти выше, чем --ISO200.
  • Здесь исследование влияния скорости затвора.
  • А вот коллекция тестов фотографических параметров на GitHub и советы.

Разговорный минимум

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

Двоеточия

У частей «промпта» есть веса — сила, с которой слово или несколько слов будут влиять на результат. Записывать их можно, поставив :: в конце логической части — и сразу за ним, без пробела, числовое значение веса. Если число не добавлять, то :: будет прочитан как смысловой разделитель, и вес распределится поровну — как на первой картинке.

‍Двойное короткое тире

После него встречаются разные числовые параметры:

  • -- ar 9:16 — уже знакомый вам aspect ratio.
  • --h и --w — высота и ширина, можно использовать один параметр.
  • -- iw5 — image weight, вес фотографии референса, который по умолчанию 0,25. К фотографии нельзя добавить обычный значок веса ::, так как тогда сломается ссылка на фотографию.
  • --120mm — фокусное расстояние.
  • --s — стилизация и -q -качество. По умолчанию --s2000, предельные значения до 60000 , а качество --q1 и до пяти. Наглядно на картинке ниже или тут.
Фрагмент таблицы из GitHub-репозитория

Как разобраться в устройстве чёрного ящика Midjourney на чайниках

Речь об исследовании, начатом художником и инженером Рексом Вонгом (Rex Wang), вклад в которое внесли многие энтузиасты. На очень простом примере — деревянном чайнике — Рекс и компания испытывают разные свойства «промптов». Если нет времени всему научиться на собственных ошибках, вам точно пригодится. Здесь, например, можно почитать про weights, aspect ratio и seed.

На чайнике действительно гораздо понятнее, чем на нативных примерах со сферами:

Заметно, что, если вы задали цвет объекта, высока вероятность, что всё окружение будет тоже подкрашено этим цветом. Но все изменится, если вместо этого взять флуоресцентные параметры фотосъемки:

Без параметров можно. Считается, что тогда ИИ склоняется к фотореализму. Как по нам, так, скорее, к ранним фильтрам в Instagram и Hipstamatic:


Объект :: Параметры (в последний раз)

Возвращаемся к структуре «промпта».

Итак, параметры можно определять самыми разными художественными стилями и техниками, параметрами освещения, моделями камеры, названиями софта для рендера и графических редакторов. Даже можно задавать им числовые значения с помощью операторов -- и ::.

В заключительной части ещё несколько слов о том, как можно сотрудничать с Midjourney (частично переведены с сайта разработчика и ещё не проверены в бою).

  • Объект. Что, Где, Как. Лучше писать главное в самом начале. Хотя стоит признать, что иногда там описывают время суток, погоду, прочий стиль и свет — и тоже нормально получается.
  • Медиум. <a watercolor painting of a landscape> <a child's drawing of a home>, painting, drawing, sketch, pencil drawing, w, woodblock print, matte painting, child's drawing, charcoal drawing, an ink drawing, graffiti, watercolor painting, fresco, stone tablet, cave painting, sculpture, work on paper, needlepoint.
  • Материалы. Пластик, шерсть, диктатор из червяков — всё получается.
  • Стили. <Red sofa by Jeff Koons>//<..in style of>. Список художников, которых знает нейросеть, с референсами по стилю. Названия художественных жанров и стилей.

Также хорошо работают упоминания литературных и киножанров и их героев, а художников вполне можно заменить именами режиссёров или названиями известных фильмов и сериалов. Вот, например, лошади в сериале Stranger Things:

  • Верхний ряд. С первой по третью: </imagine prompt: pink horse in stranger things, dark sky, lightning, octane render, 8k, extreme detail>. Четвёртая: </imagine prompt: upside down trailer from stranger things, slimy vines, dark sky, lightning, octane render, 8k, extreme detail>.
  • Нижний ряд. </imagine prompt: pink horse in stranger things>

ИИ плохо понимает или игнорирует частицы «но», «не», «ни», «кроме», «без» ("not", "but", "except", "without"). Поэтому:

  • Вместо “a hat that’s not red” лучше писать “a blue hat”.
  • Вместо “monkeys doing business” — “three monkeys in business suits”.
  • Вместо “a person but half robot” — “half person half robot” (возможно, нам стоило заказывать у ИИ не лежащую на диване Машу, а «молодую женщину в чёрном викторианском платье».

Чтобы задать количество объектов, нужно использовать существительные в единственном числе или конкретные числа. И если Google хорошо знает объект, пусть и вымышленный, сеть будет знать, что ей делать.

  • Попробуйте конкретные объекты: wizard, priest, angel, emperor, necromancer, rockstar, city, queen, zeus, house, temple, farm, car, landscape, mountain, river.
  • А затем такие — абстрактные: “a sense of awe”, “the will to endure”, “cognitive resonance”, “the shores of infinity”, “the birth of time”, “a desire for knowledge”, “the notion of self”.

Текст подготовлен «Пражской медиашколой». Поделиться результатами работы с Midjourney и ссылками на профили можно в Telegram-канале школы — в комментариях. Посмотреть на «промпты» к гиду и другие эксперименты можно в Midjourney-аккаунте Златы Понировской.

На изображении ИИ решил локализовать Машу в Золотом Кольце, хотя никаких подсказок по локации школа ему не давала

Report Page