Фотореализм в Midjourney: как генерировать в нейросети снимки людей, неотличимые от настоящих
В марте в соцсетях вирусились ИИ-картинки, которые сложно отличить от фотографий.
2022 год стал годом нейросетей, рисовавших арты не хуже человека. В 2023 году пришло время фотографий: фотореализм в Midjourney v5 вышел на абсолютно новый уровень. Если раньше нейросетевые фото можно было отличить по косым глазам или восьми пальцам на руке, то теперь ситуация иная.
Папа Римский в пуховике «Баленсиага», свидание Илона Маска с американским политиком Александрой Окасио-Кортес, никогда не происходившее разрушительное землетрясение в Канаде 2002 года — многие пользователи решили, что это реальность. Midjourney из-за этого уже вводит ограничения и блокирует некоторые запросы. Но фотореализм в нейросетях, видимо, с нами надолго.
Рассказываем, как сгенерировать «настоящие» фотографии и снимки знаменитостей.
31 марта Midjourney приостановила доступ к генератору изображений для бесплатных пользователей. Среди причин в компании назвали «абьюз пробного периода». Создатели нейросети пообещали улучшить систему модерации в скором времени.
Почему у Midjourney v5 получается реализм
До пятой версии Midjourney тренировала свою нейросеть преимущественно для рисования иллюстраций — из стандартных запросов получались арты. Но люди все равно находили способы подражать фотографиям.
В v5 больше всего усовершенствовали именно аспект фотореализма — теперь можно добиться снимков, похожих на реальные. Пока v5 находится в альфа-тестировании, но уже выдает впечатляющие результаты.
Фотореализм по умолчанию. Раньше сгенерировать фотографию в Midjourney было непросто. По запросу вроде «Девушка на улице» нейросеть рисовала арт, а для превращения в снимок приходилось задавать множество дополнительных параметров: тип камеры, жанр съемки, имя знаменитого фотографа.
В v5 Midjourney сразу генерирует фотографии с идеальным освещением, драматичными позами и насыщенными цветами. Так обычно выглядят заретушированные фотографии знаменитостей и моделей.
Картинки более высокого качества. По сравнению с четвертой версией в v5 разрешение увеличили в два раза. Благодаря этому картинки стали выглядеть качественнее.
Улучшенная детализация. Так, v5 почти не страдает от старых проблем ИИ: пальцев на руках теперь пять, глаза смотрят в одну сторону, а во рту — стандартное количество зубов. Благодаря дополнительным деталям генерация лиц заметно улучшилась.
Большое количество людей. Раньше нейросеть не справлялась с несколькими людьми на одном изображении. Сейчас артефакты все еще видны, но уже на втором-третьем плане.
Как генерировать реалистичных людей
Чтобы понять, как пользоваться 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 сгенерирует современную фотографию.
Герой. Это основа любого запроса. Если написать в промпте «мужчина» или «женщина» без дополнительных деталей, то нейросеть генерирует случайного человека. Это удобно, если у вас нет конкретного образа в голове и вы просто перебираете идеи.
А если указать черты лица, цвет волос, этничность, одежду и аксессуары, то 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, а затем название камеры или пленки. Цифровые камеры дают резкую контрастность, а пленочные — теплоту и мягкость. Вот какие цифровые камеры можно попробовать:
- Hasselblad X1D. Стандартная камера, с которой генерируются хорошие снимки. Альтернативы, чтобы получить немного другие результаты: Canon EOS R6 Mark II Mirrorless, FUJIFILM X-T5 Mirrorless, Canon PowerShot G7 X Mark II, Control.
- GoPro или GoPro Video. Добавляет эффект рыбьего глаза к селфи, подходит для снимков с активным действием.
- Insta360 Pro. Экшен-камера с углом обзора 360°.
Для пленочных фотографий указывайте не камеру, а название пленки. Вот что можно попробовать:
- Fujifilm Pro 400H. Высокочувствительная пленка, подходящая для дневного освещения. Для свадебных, рекламных и модельных снимков.
- Agfa Vista Plus 200. Хорошо воспроизводит естественный тон кожи и работает в разном освещении. Подходит для портретной съемки.
- Tri-X 400. Черно-белая пленка, подходящая для сложных условий освещения.
- Kodak vision3 500. Подходит для естественного и солнечного освещения, особенно для золотого часа.
- Kodak Gold 200. Пленка с яркой насыщенностью, мелким зерном и высокой резкостью картинки. Для естественного освещения.
- Kodak Portra. Подходит для снимков на природе или с легким туманом.
- Kodak Ektar. Дает ретрооттенки и контраст.
Более интересные варианты на «низкокачественные» камеры, подходящие для вечеринок:
- Lomo. Перенасыщенные снимки с высоким контрастом и мягким размытием.
- Disposable Camera. Фиксированный фокус и мягкий свет.
- Polaroid. Блеклые фото с высокой точкой черного.
- Instax. Дневные снимки с яркой насыщенностью и фильтром как будто из соцсети начала 2010-х.
Освещение задает тон и общую атмосферу снимка. Указывайте погодные условия: sunny, cloudy, rainy, snowy, foggy, hazey — солнечно, облачно, дождливо, снежно, туманно, дымчато.
Время суток тоже влияет на освещение: sunrise, morning, afternoon, golden hour, sunset, twilight, evening night — рассвет, утро, полдень, золотой час, закат, сумерки, ночь.
Midjourney также понимает тип освещения и его источник. Например:
- Studio Lighting. Студийное освещение с искусственными источниками света на фоне используется для портретов и коммерческой фотографии.
- Natural Lighting. Естественное дневное освещение.
- Off-Camera Flash. Имитирует портативную вспышку. Получаются ночные снимки с освещенным лицом.
- Spot Lighting. Освещение, при котором используется сфокусированный луч света, освещающий определенную область.
- Backlight with Hair Light. Освещение «сквозь волосы».
- Split Lighting with Rim Light. Боковое освещение с «подсветкой» волос.
- Silhouette Lighting with Side Light. Источник света располагается позади объекта съемки, резко выделяя его контуры на общем фоне.
Чтобы получить интересную композицию, комбинируйте разное время суток, погодные условия и боковое освещение, например солнечный день или туманный вечер с неоном.
Красивую картинку можно получить методом проб и ошибок: некоторые промпты будут не получаться, а цвет освещения может «задевать» одежду.
Позиция камеры. Этот параметр влияет на угол съемки и положение объекта в кадре. Вот какие варианты можно попробовать:
- Wide-Angle Shot. Камера удалена от объекта. Чтобы «отойти» от объекта еще дальше, добавляйте Ultra-Wide Angle или Ultra Wide-Angle. При выборе такого кадра стоит описывать, что происходит на фоне: он все равно будет размыт, но эстетика снимка от этого поменяется.
- Medium Shot. Снимок по пояс. Укажите, что делает модель, например «сидит», «идет» или «смотрит в телефон», иначе она будет просто смотреть в камеру. Есть вариации среднего кадра: снизу — Low-Angle Shot и кадр — High-Angle Shot.
- Close-Up Shot. Крупный план. Попробуйте добавить эмоцию, например «радостный», «удивленный», «печальный». Описательные слова, например «обрадованный», overjoyed, дадут лучшие результаты, чем обычное «счастливый», happy.
- 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.