Фотореализм в Midjourney: как генерировать в нейросети снимки людей, неотличимые от настоящих

Учимся «фотографировать» в нейросети
10
Фотореализм в Midjourney: как генерировать в нейросети снимки людей, неотличимые от настоящих
Аватар автора

Даша Лейзаренко

нагенерировала людей

Страница автора

В марте в соцсетях вирусились ИИ-картинки, которые сложно отличить от фотографий.

2022 год стал годом нейросетей, рисовавших арты не хуже человека. В 2023 году пришло время фотографий: фотореализм в Midjourney v5 вышел на абсолютно новый уровень. Если раньше нейросетевые фото можно было отличить по косым глазам или восьми пальцам на руке, то теперь ситуация иная.

Папа Римский в пуховике «Баленсиага», свидание Илона Маска с американским политиком Александрой Окасио-Кортес, никогда не происходившее разрушительное землетрясение в Канаде 2002 года — многие пользователи решили, что это реальность. Midjourney из-за этого уже вводит ограничения и блокирует некоторые запросы. Но фотореализм в нейросетях, видимо, с нами надолго.

Рассказываем, как сгенерировать «настоящие» фотографии и снимки знаменитостей.

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

Почему у Midjourney v5 получается реализм

До пятой версии Midjourney тренировала свою нейросеть преимущественно для рисования иллюстраций — из стандартных запросов получались арты. Но люди все равно находили способы подражать фотографиям.

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

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

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

Запрос «красивый молодой парень» в v4
Запрос «красивый молодой парень» в v4
Запрос «красивый молодой парень» в v5
Запрос «красивый молодой парень» в v5
1/2
Запрос «красивый молодой парень» в v4

Картинки более высокого качества. По сравнению с четвертой версией в v5 разрешение увеличили в два раза. Благодаря этому картинки стали выглядеть качественнее.

Улучшенная детализация. Так, v5 почти не страдает от старых проблем ИИ: пальцев на руках теперь пять, глаза смотрят в одну сторону, а во рту — стандартное количество зубов. Благодаря дополнительным деталям генерация лиц заметно улучшилась.

Большое количество людей. Раньше нейросеть не справлялась с несколькими людьми на одном изображении. Сейчас артефакты все еще видны, но уже на втором-третьем плане.

Девушка показывает жест в v4
Девушка показывает жест в v4
Девушка показывает жест в v5
Девушка показывает жест в v5
1/2
Девушка показывает жест в v4

Как генерировать реалистичных людей

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

Составляйте запросы на английском языке

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

Чем детальнее будет ваш запрос, тем лучше будут и результаты. Поэтому запросы для генерации фотографии выглядят достаточно длинными.

Каждое слово в запросе указано не просто так, оно задает разные параметры. Мой запрос построен по такой структуре: стиль — герой — камера — освещение — построение кадра — атмосфера — локация — дополнительные детали — соотношение сторон. Разберем каждый параметр.

Разбираем запрос

Street style photo (стиль) of a young blond woman (объект) in Balenciaga (деталь одежды) walking (действие), shot on Kodak Gold 200 (пленка), natural lighting (освещение), medium shot (план), New York (локация), fine grain (дополнительная деталь), --ar 4:3 (соотношение сторон)

Пример генерации
Пример генерации

Стиль. По умолчанию Midjourney генерирует фотореализм. Но если ваш запрос слишком далек от реальности, например это мистические существа, то нейросеть уйдет в иллюстративный стиль или концепт-арт.

Чтобы нейросеть наверняка сгенерировала фотореализм, добавляйте в начало photo. Однако этот запрос дает скучные результаты: обычно это портретные снимки на черном фоне. Чтобы сделать результат интереснее, выберите стиль фотографии, например street style photo, editorial photo, fashion photo, portrait photo — уличные фото, фото для журналов, фэшн-фотография, портреты.

Если хочется сделать историческое фото, то выбирайте эпоху. Например, 1960s street style photo. Это повлияет как на атмосферу снимка, так и на одежду модели. Без этого указания Midjourney сгенерирует современную фотографию.

Уличная фотография
Фото для журнала
Фэшн-фотография
60-е
70-е
90-е

Герой. Это основа любого запроса. Если написать в промпте «мужчина» или «женщина» без дополнительных деталей, то нейросеть генерирует случайного человека. Это удобно, если у вас нет конкретного образа в голове и вы просто перебираете идеи.

А если указать черты лица, цвет волос, этничность, одежду и аксессуары, то Midjourney постарается передать все указанные вами детали. Образ модели можно прописывать вплоть до цвета глаз и мимики. Если отдельная деталь особенно важна, то добавляйте к ней восклицательные знаки или слова intricate и detailed.

Например, детальное описание героя снимка выглядит: gorgeous 30-year-old woman with long brown hair, green eyes!!!, detailed cheekbones, a sly grin. Буквально это переводится как «30-летняя красивая женщина с длинными темными волосами, зелеными глазами, выраженными скулами и лукавой ухмылкой».

Также в пятой версии Midjourney «знает» многие известные бренды, например «Гуччи», «Баленсиага» или «Найк», и точно попадает в эстетику. Можно выбрать цвет предмета одежды и даже ткань: хлопок, лен, кожа будут отличаться друг от друга.

Детальное описание одежды выглядит так: woman wearing a stunning white lace Gucci gown with a full tulle skirt, intricate lace detailing, long lace sleeves, a high collar, and a fitted bodice adorned with delicate floral appliques. Буквально: «женщина в потрясающем белом кружевном платье „Гуччи“ с юбкой из тюля, сложным кружевом, длинными кружевными рукавами, высоким воротником и приталенным лифом, украшенным нежными цветочными аппликациями».

Девушка в «Гуччи»
Девушка в «Баленсиага»
Девушка в «Найк»
Девушка в зеленой рубашке
Девушка в красной рубашке
Девушка в черной рубашке
Девушка в зеленой льняной рубашке
Девушка в зеленой хлопковой рубашке
Девушка в зеленой прозрачной рубашке

Камера. От нее зависит цветокоррекция и атмосфера снимка. Добавляйте к запросу shot on, а затем название камеры или пленки. Цифровые камеры дают резкую контрастность, а пленочные — теплоту и мягкость. Вот какие цифровые камеры можно попробовать:

  1. Hasselblad X1D. Стандартная камера, с которой генерируются хорошие снимки. Альтернативы, чтобы получить немного другие результаты: Canon EOS R6 Mark II Mirrorless, FUJIFILM X-T5 Mirrorless, Canon PowerShot G7 X Mark II, Control.
  2. GoPro или GoPro Video. Добавляет эффект рыбьего глаза к селфи, подходит для снимков с активным действием.
  3. Insta360 Pro. Экшен-камера с углом обзора 360°.
Hasselblad X1D
Canon EOS R6 Mark II Mirrorless
GoPro
Insta360 Pro

Для пленочных фотографий указывайте не камеру, а название пленки. Вот что можно попробовать:

  1. Fujifilm Pro 400H. Высокочувствительная пленка, подходящая для дневного освещения. Для свадебных, рекламных и модельных снимков.
  2. Agfa Vista Plus 200. Хорошо воспроизводит естественный тон кожи и работает в разном освещении. Подходит для портретной съемки.
  3. Tri-X 400. Черно-белая пленка, подходящая для сложных условий освещения.
  4. Kodak vision3 500. Подходит для естественного и солнечного освещения, особенно для золотого часа.
  5. Kodak Gold 200. Пленка с яркой насыщенностью, мелким зерном и высокой резкостью картинки. Для естественного освещения.
  6. Kodak Portra. Подходит для снимков на природе или с легким туманом.
  7. Kodak Ektar. Дает ретрооттенки и контраст.
Fujifilm Pro 400H
Agfa Vista Plus 200
Tri-X 400
Kodak vision3 500
Kodak Gold 200
Kodak Portra
Kodak Ektar

Более интересные варианты на «низкокачественные» камеры, подходящие для вечеринок:

  1. Lomo. Перенасыщенные снимки с высоким контрастом и мягким размытием.
  2. Disposable Camera. Фиксированный фокус и мягкий свет.
  3. Polaroid. Блеклые фото с высокой точкой черного.
  4. Instax. Дневные снимки с яркой насыщенностью и фильтром как будто из соцсети начала 2010-х.
Lomo
Disposable Camera
Polaroid
Instax

Освещение задает тон и общую атмосферу снимка. Указывайте погодные условия: sunny, cloudy, rainy, snowy, foggy, hazey — солнечно, облачно, дождливо, снежно, туманно, дымчато.

Время суток тоже влияет на освещение: sunrise, morning, afternoon, golden hour, sunset, twilight, evening night — рассвет, утро, полдень, золотой час, закат, сумерки, ночь.

Солнечный день
Сумерки
Золотой час
Ночь

Midjourney также понимает тип освещения и его источник. Например:

  1. Studio Lighting. Студийное освещение с искусственными источниками света на фоне используется для портретов и коммерческой фотографии.
  2. Natural Lighting. Естественное дневное освещение.
  3. Off-Camera Flash. Имитирует портативную вспышку. Получаются ночные снимки с освещенным лицом.
  4. Spot Lighting. Освещение, при котором используется сфокусированный луч света, освещающий определенную область.
  5. Backlight with Hair Light. Освещение «сквозь волосы».
  6. Split Lighting with Rim Light. Боковое освещение с «подсветкой» волос.
  7. Silhouette Lighting with Side Light. Источник света располагается позади объекта съемки, резко выделяя его контуры на общем фоне.
Естественное освещение
Студийное освещение
Портативная вспышка
Сфокусированное освещение
Освещение сквозь волосы
Боковое освещение с подсветкой волос
Освещение силуэта

Чтобы получить интересную композицию, комбинируйте разное время суток, погодные условия и боковое освещение, например солнечный день или туманный вечер с неоном.

Красивую картинку можно получить методом проб и ошибок: некоторые промпты будут не получаться, а цвет освещения может «задевать» одежду.

Туманная ночь с неоновым боковым освещением. Туман пропал, а неон покрасил куртку, не совсем то, что хотелось изначально
Туманная ночь с неоновым боковым освещением. Туман пропал, а неон покрасил куртку, не совсем то, что хотелось изначально
Синее боковое освещение ночью. Красивый результат
Синее боковое освещение ночью. Красивый результат
1/2
Туманная ночь с неоновым боковым освещением. Туман пропал, а неон покрасил куртку, не совсем то, что хотелось изначально

Позиция камеры. Этот параметр влияет на угол съемки и положение объекта в кадре. Вот какие варианты можно попробовать:

  1. Wide-Angle Shot. Камера удалена от объекта. Чтобы «отойти» от объекта еще дальше, добавляйте Ultra-Wide Angle или Ultra Wide-Angle. При выборе такого кадра стоит описывать, что происходит на фоне: он все равно будет размыт, но эстетика снимка от этого поменяется.
  2. Medium Shot. Снимок по пояс. Укажите, что делает модель, например «сидит», «идет» или «смотрит в телефон», иначе она будет просто смотреть в камеру. Есть вариации среднего кадра: снизу — Low-Angle Shot и кадр — High-Angle Shot.
  3. Close-Up Shot. Крупный план. Попробуйте добавить эмоцию, например «радостный», «удивленный», «печальный». Описательные слова, например «обрадованный», overjoyed, дадут лучшие результаты, чем обычное «счастливый», happy.
  4. Full-Body Shot. Модель в полный рост. Нейросеть часто обрезает ноги и коленки, но добиться желаемого результата можно.
Дальний план
Средний план
Крупный план
Крупный план снизу
Крупный план сверху

Локация. Указывайте, где находится герой: в городе, на пляже, в квартире, в кафе. Midjourney «знает», как выглядят известные города: на фон можно добавлять Лондон, Нью-Йорк, Токио или Москву. Нейросеть передает атмосферу, характерные элементы городов и известные здания, но копию с реальности не выдаст.

В зависимости от локации придумайте, что делает человек: пьет кофе, ест, просто сидит и смотрит в окно. Если не указывать действие, то он будет делать то, что обычно люди делают в такой локации. Например, если это пляж, то идти, если кафе, то сидеть за столиком.

Автобусная остановка ночью
Кафе в Италии
Пляж

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

Для этого добавьте в начале запроса две ссылки на сгенерированные изображения, а затем пропишите обычный запрос. Например, a young blonde woman sitting in american diner, medium shot, blue and pink colors — «молодая блондинка сидит в американской закусочной, средний план, голубые и розовые цвета».

Героиня
Героиня
Фон
Фон
Героиня на этом фоне
Героиня на этом фоне

Соотношение сторон. В конце запроса указывайте команду --ar. По умолчанию картинки генерируются в соотношении 1:1, но это можно поменять. Например, на 4:3 для горизонтальных, 3:4 для вертикальных или 16:9 для кинематографических снимков.

Как получить консистентную модель. Если вам понравился сгенерированный человек, то его можно «скопировать» в другие генерации. Для этого вам нужно узнать сид изображения — это точка отсчета из шума, откуда Midjourney начинает генерацию. Они случайно присваиваются каждому изображению.

Чтобы узнать сид уже сгенерированной картинки, отреагируйте на пост с результатом от бота эмодзи в виде письма. Его можно легко найти в поиске по запросу:envelope:. Бот пришлет в личные сообщения оригиналы картинок и значение сида. Сид можно также указать самостоятельно при генерации, добавляя в конце --seed x, где x — любое число.

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

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

Зимой
Летом
В парке
В городе
На пляже

Стиль фотографа. Есть лайфхак, если вам не хочется продумывать и прописывать детали вроде освещения, атмосферы, положения камеры и всего остального.

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

Фотограф Рен Ханг
Фотограф Ларри Кларк
Фотограф Петра Коллинс

Как генерировать знаменитостей

Укажите имена знаменитостей. Вместо объекта пропишите в запросе имя и фамилию человека: нейросеть знает, как выглядит Илон Маск, Леонардо ДиКаприо, Пэрис Хилтон, Билл Клинтон и другие известные личности. Российские знаменитости вряд ли получаются — только если их фото широко представлены в англоязычном пространстве рунета.

Если вы генерируете популярного героя из фильма или сериала, то указывайте имя персонажа, а не актера, чтобы точнее попасть в образ. Например, Уолтер Уайт в запросе сработает лучше, чем Билл Крэнстон. При этом книжных персонажей нейросеть создает скорее по фан-арту, чем по образу актеров из экранизации.

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

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

Откуда взялось столько фейков из Midjourney

В конце марта завирусился первый массовый мем, сгенерированный в Midjourney. Пользователь «Реддита» опубликовал картинки с Папой Римским в огромном дутом пуховике «Баленсиага». За выходные они распространились в соцсетях, а многие пользователи приняли их за реальные фотографии.

Другие пользователи стали генерировать Франциска в том же стиле и запустили флешмоб, чтобы еще больше запутать интернет. В итоге журналистам пришлось выпускать опровержения и переубеждать людей: нет, Папа Римский не ходит в белых пуховиках.

Все это — сгенерированные изображения
Все это — сгенерированные изображения
Все это — сгенерированные изображения
Все это — сгенерированные изображения

Последний фейк даже вызывал реакцию у Midjourney — компания забанила слово «тюрьма» и «арест». Теперь запросы с этими словами нейросеть больше не генерирует. Обойти ограничение несложно: для этого нужно переформулировать промпт и написать «Дональд Трамп в наручниках в окружении полиции».

Превентивно Midjourney забанила генерацию изображений китайского президента Си Цзиньпина. CEO компании прокомментировал это решение так: «Политическая сатира в Китае неприемлема. Возможность людей в Китае использовать эту технологию важнее, чем ваша возможность генерировать сатиру». Таким образом в компании намекнули на то, что Midjourney могли бы заблокировать в стране, если бы такие картинки завирусились.

Пока все еще можно понять, что перед вами сгенерированное в Midjourney изображение. При внимательном рассмотрении часто видны артефакты и смазанные предметы. Сами фотографии получаются слишком идеальными: как будто бы сделанными на профессиональную камеру и сильно заретушированными в «Фотошопе».

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


Мы постим кружочки, красивые карточки и новости о технологиях и поп-культуре в нашем телеграм-канале. Подписывайтесь, там классно: @t_technocult.

Даша ЛейзаренкоПытались генерировать людей? Что получилось?