Работа с нейросетью MidJourney: практический кейс на примере моего промта, ИИ

Автор: Асахи Чанг

🤖☀️ Что рисуем и итоговый результат

ЗАДАЧА: мне нужно было нарисовать подводную лодку, которая плывет на поверхности Солнца.

Для поста в соц сети.

Вот такой результат получился.

Вот так выглядела одна из первых генераций.

Миджорни

В ИИ я пришел достаточно поздно - тогда, когда уже произошел бум и компания OpenAI выпустила свой ChatGPT, а MidJourney свой продукт для рисования. Ну по крайней мере в этих продукатх я сидел с самого начала. У меня даже сохранились мои ранние работы, когда MidJourney выпустил свою вторую версию (сейчас уже вроде 6). Кое-чему за несколько лет работы с MidJourney я все-таки научился и хочу сейчас с вами поделиться. В основном я доволен тем, что у меня получается нарисовать - почти всегда это не то, что я задумывал, но результат превосходил ожидания: как по креативности, так и по качеству. Да, долгое время у генеративного ИИ (generative AI - те, с которыми мы сейчас работаем) были различные проблемы (и проблема 6 пальцев рук наименьшая из них), но я всегда умело обходил то, что ИИ делал объективно плохо и у меня получался хороший результат.

Я не рисую людей и про них отдельная тема.

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

У Миджорни (MidJourney, МЖ) есть хорошая документация, которая объясняет значения различных параметров, которые вы можете добавлять в свой запрос (промт).

Данная статья посвящена только работе с МЖ, возможно другие ИИ-генераторы картинок будут работать по другому.

У МЖ есть базовый аккаунт, который стоит 10$ и дает вам генерацию примерно 200 картинок. Вы можете использовать его для тренировки.

Создаем промт - первые шаги

Версия МЖ: 6. 

Итак, мне нужно было нарисовать подводную лодку, которая плывет на поверхности Солнца.

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

a submarine sinks in the yellow burning ocean of the Sun

Перевод: "подводная лодка тонет в желтом пылающем океане Солнца".

Наличие эпитетов обязательно: "желтый пылающий океан" - это более четкая для ИИ инструкция, чем просто океан или поверхность солнца к примеру. Задав цвет, вы вообще измените цветовую палитру изображения, и с этим можно играться.

Результат генерации:

Сами по себе эти результаты уже не плохие, но я на этом не остановился. 

Цветовая схема в целом хороша. Но темная лодка теряется, есть океан, но он не солнечный и вообще солнце отдельно. Вот если бы такой океан да без солнца - это меня бы вполне устроило. Можно было бы отказаться от идеи плавания именно по Солнцу, потому что все еще ИИ плохо понимает взаимоотношения между объектами.

Эксперимент №1: как мыслит ИИ?

На самом деле мы не всегда знаем, насколько хорошо ИИ понимает понятия. Особенно если вы пытаетесь нарисовать нечто диковинное (базовые вещи ИИ знает хорошо, типа человека, котов, цветочки, интерьеры и пр.). Чтобы понять, что ИИ и вы говорите на одном языке попросите его нарисовать базовые для вашего промта понятия. Я попросил МЖ нарисовать бурлящую поверхность Солнца (запрос будет справа от картинки):

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

white submarine sinks in the seething surface of the Sun

Увы, но только 1 изображение содержит белую лодку, но она почему то летит... Солнце все также отдельно. И я понимаю ИИ - ведь он учился на изображениях миллионов людей и вряд ли многие фотографировали или рисовали "бурлящую поверхность Солнца"

Эксперимент №2: глаголы и предлоги

white submarine on the seething surface of the sun

Что я сделал? Я указал МЖ что лодка на бурлящем океане, то есть глагол действия "тонет" был убран, так как стало ясно, что МЖ не понимает его.

Почему МЖ рисует именно это? Подумайте над этим. Все дело в статистике: то что тонет изображается на фоне моря и чаще всего заката солнца, если есть солнце как небесное тело, то тут все будет летать вокруг него как в космосе. Поэтому летающие лодки и солнечный закат. МЖ по сути учился на штампах и активно использует их. Он не может себе представить, как лодка плывет по поверхности Солнца.

Эксперимент №3: Синонимы

white ship on the seething surface of the sun 

Используем синонимы. Возможно подводная лодка для ИИ всегда будет иметь определенный контекст и использование другого слова поможет. Вместо подлодки я решил взять просто "корабль" (ship).

Первая картинка неплоха, но не похоже на Солнце, все остальные снова не в тему. И не забываем, что когда вы используете в одном предложении "корабль" и "Солнце" то корабль может выглядеть как космический, а не плавучий (в данном случае кстати ИИ понимает, что мы говорим о Солнце, как о космчиеском объекте, а не как о детале пейзажа).

Эксперимент №4: замена ключевого понятия на близкое

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

yellow seething ocean, real, detailed

Желтое, но не солнечное, да еще и голубизны прилепил (ну да сложно ИИ объяснить, что океан может не быть голубым). Конкретно эта генерация подсказала идею: мне нужен вид сверху.

Эксперимент №5: вид "сверху-вниз"

Я добавил вид сверху-вниз "top down view" - его МЖ понимает очень хорошо.

Эксперимент №6: используем шаблон

Следующая важная возможность, которая есть у МЖ и которую нужно использовать - это давать ему картинку, образец, который будет использован при генерации. Я добавил к промту типичную картинку поверхности Солнца, чтобы он на ней и нарисовал. Но он просто подумал что это взрыв.

Нужна другая картинка. Я использовал фотографию поверхности солнца, которая похожа и на море, и на солнце одновременно.

Теперь я вижу, что это оно и нужно только доработать запрос!

Экспериментирую с шаблонами:

Эксперимент №7: работаем с параметрами МЖ

Я решил взять эту картинку, но мне не нравится вид подлодки. Я использую встроенный инструмент МЖ vary region, который позволяет выделить область, чтобы ИИ подобрал другие варианты.

Вот что он предложил:

Я использовал инструмент Zoom, чтобы он отдалил подлодку:

Также я использовал инструмент Variation, то есть попросил дать больше вариантов для другой понравившейся мне картинки. Я не забрасываю результаты, а паралельно пробую разные варианты:

После этих экспериментов я понял, что всё-таки мне больше нравится другая "поверхность Солнца" так как без контекста в этих изображениях может показаться, что это просто желтая вода. Я попросил ИИ сделать разные варианты подлодки, использую инструмент Vary region:

Используя Variation я пытался подобрать более удачную картинку:

Также я вернулся к более старым картинкам, пытался изменить вид подлодки и увеличивал.

Увеличивать можно до бесконечности, был бы толк...

Эксперимент №8: финал

Итоговый промт который мне дал нужный результат выглядел так: 

white submarine in yellow ocean goes down, top down view + нужная картинка-образец

Взгляд мой пал на этот вариант: мы видим типичную солнечную поверхность, она похожа на океан, простая не вычурная подлодка, и еще тень отбрасывает (не совсем реалистично, ведь мы же на Солнце, но смотрится красиво):

После увеличения (Zoom) и добавления нужных подписей (в Figma) был получен результат, показанный выше:


🔥  Ставьте лайк, если было полезно, задавайте вопросы и подписывайтесь на меня: https://author.today/u/asahi_chang

+80
272

0 комментариев, по

10K 7 236
Наверх Вниз