Создание изображения с одним персонажем в нейросетях — задача, с которой сегодня справится даже новичок, однако стоит добавить в кадр ещё пару действующих лиц, как начинаются настоящие проблемы. Генерируя групповой портрет, искусственный интеллект довольно часто норовит смешать цвета волос, элементы одежды и даже конечности героев в один невообразимый «винегрет», превращая задуманную сцену в сюрреалистический кошмар. Львиная доля пользователей на этом этапе опускает руки, считая, что добиться четкого разделения образов без сложного фотошопа невозможно. Но чтобы получить качественный результат, нужно лишь понять логику машины и грамотно структурировать запрос.
Сложно ли это?
На первый взгляд, задача кажется невыполнимой. Ведь нейросеть мыслит образами, смешивая их в так называемом скрытом пространстве. Если вы напишете «девушка в красном и парень в синем», то с высокой долей вероятности получите парня в красном платье или девушку с синей бородой. Этот эффект называется concept bleeding (перетекание концептов). Однако бороться с ним можно, и довольно успешно. Главное — это синтаксическая дисциплина и использование специальных разделителей. К тому же, современные версии Midjourney и Stable Diffusion научились лучше понимать контекст (особенно последние модели), хотя контроль со стороны человека всё ещё необходим.
Структура запроса
Фундамент успеха — это правильная последовательность слов. Не стоит сваливать всё описание в одну кучу. Лучший метод — описывать персонажей последовательно, словно вы читаете книгу слева направо. Сначала левый персонаж, затем центральный, и, наконец, правый. К слову, использование предлогов места (on the left, in the middle, on the right) творит чудеса. Нейросети крайне чувствительны к порядку слов: то, что стоит в начале промта, имеет наибольший вес. Поэтому начинать стоит именно с перечисления действующих лиц, а описание фона и стиля оставлять на десерт.
Пример для фэнтези: Три воина
Представим классическую ситуацию для RPG: эльф, гном и человек. Задача не из лёгких. Ведь нужно передать разницу в росте и комплекции. Чтобы нейросеть не запуталась, мы будем использовать четкое разделение.
Вот как может выглядеть добротный промт для Midjourney:
«Full body shot of three fantasy adventurers standing in a dark dungeon. On the left is a tall female Elf archer with silver hair wearing green leather armor holding a bow. In the middle is a human male knight with black hair wearing shiny steel plate armor holding a sword. On the right is a short Dwarf warrior with a red beard wearing heavy fur and chainmail holding an axe. Cinematic lighting, volumetric fog, detailed textures, 8k, unreal engine 5 style.»
Обратите внимание на конструкцию. Мы жестко привязали каждого персонажа к его месту и атрибутам. Разумеется, стопроцентной гарантии с первой попытки это не даст, но шанс на то, что борода гнома перекочует на эльфийку, становится минимальным. А если результат всё же далёк от идеала, стоит попробовать вариации (V1-V4) или использовать функцию Vary Region для исправления конкретных участков.
Городской сюжет: Подруги в кафе
Теперь перенесёмся в современность. Допустим, нам нужно изображение трех девушек, пьющих кофе. Здесь важно не только внешнее различие, но и взаимодействие. Обыватель часто забывает прописывать эмоции, из-за чего лица получаются кукольными.
Попробуем такой вариант:
«A candid photo of three happy young women sitting at a cafe table near a window. On the left involves a blonde woman in a beige trench coat laughing. In the center sits a brunette woman in a black turtleneck smiling and holding a coffee cup. On the right is a redhead woman with curly hair wearing a denim jacket looking at the center woman. Sunlight streaming through window, bokeh background of city street, photorealistic, 35mm film grain, high resolution.»
Тут мы использовали хитрость — задали направление взгляда (looking at the center woman). Это связывает композицию воедино. Без этого уточнения персонажи часто смотрят в пустоту или прямо в камеру, что выглядит неестественно. А вот солнечный свет и боке добавляют тот самый антураж, который делает картинку живой.
Стимпанк: Изобретатели
Сложные костюмы — ещё один камень преткновения. Когда деталей слишком много, нейросеть начинает путаться. В стиле стимпанк, где много шестерёнок, очков и латуни, риск ошибки возрастает многократно.
Для такой задачи промт должен быть максимально сухим и техничным:
«Wide angle shot of three steampunk inventors in a workshop. Character on the left: old man with white crazy hair, brass goggles, brown leather apron, holding a wrench. Character in the center: young woman with copper hair, Victorian corset, mechanical arm, examining a blueprint. Character on the right: tall man in a top hat, long coat, monocle, holding a glowing glass tube. Background filled with steam engines and gears. Brass and copper color palette, dramatic shadows, intricate details.»
Использование конструкции «Character on the left: …» (с двоеточием) иногда помогает лучше, чем предлоги внутри предложения. Это работает как своеобразный разделитель для алгоритма. Кстати, двойное двоеточие :: в Midjourney можно использовать для разделения смысловых блоков, назначая им веса, но это уже тема для отдельного разговора.
Семейный портрет: Мама, папа и ребёнок
Разница в возрасте и габаритах — это то, где нейросети «сыпятся» довольно часто. Ребёнок может получиться размером со взрослого, или взрослый с лицом младенца. Чтобы избежать конфуза, стоит делать акцент на возрасте.
Пример запроса:
«Studio family portrait of three people on a gray background. On the left stands a 40-year-old father wearing a blue suit and tie. On the right stands a 35-year-old mother wearing an elegant white dress. In the center stands a small 7-year-old girl holding a teddy bear, wearing a pink dress. Soft studio lighting, sharp focus, professional photography, Canon EOS R5.»
Здесь ключевой момент — указание возраста цифрами. Нейросеть хорошо понимает цифры. Слова small и stands также помогают задать правильную композицию. Тем более, что студийный фон упрощает задачу генератору: ему не нужно тратить ресурсы на прорисовку сложного заднего плана, и вся вычислительная мощь уходит на лица.
Как улучшить результат?
Не всегда текст решает всё. Бывает, что даже самый скрупулёзный промт выдает кашу. В таких случаях на помощь приходят дополнительные инструменты. Для пользователей Stable Diffusion настоящим спасательным кругом станет ControlNet (особенно модуль OpenPose). Вы можете буквально нарисовать «скелеты» трех персонажей в нужных позах и скормить их нейросети. Это на порядок эффективнее, чем пытаться описать сложную позу словами.
Midjourney же пока не имеет полноценного ControlNet, но там выручает функция Pan (панорамирование). Можно сгенерировать сначала одного персонажа, а затем с помощью стрелочек «расширить» холст вправо или влево, добавляя новых героев по одному. Это дольше, но результат часто получается более детализированным и чистым. Процесс не сложный, но кропотливый.
Нюансы лексики
Интересно, что некоторые слова действуют на нейросеть как красная тряпка на быка, заставляя её игнорировать остальные части запроса. Например, если написать very beautiful, сеть может так увлечься красотой лиц, что забудет про правильный цвет одежды. Поэтому избегайте абстрактных эпитетов. Лучше используйте конкретику: вместо «красивое платье» пишите «шелковое вечернее платье с вышивкой».
Цветовая кодировка — ещё один мощный прием. Если вы хотите чётко разделить персонажей, дайте им кардинально разные цвета одежды. «Red shirt», «Blue jacket», «Green coat». Контраст помогает алгоритму понять границы объектов. Ведь для машины изображение — это набор пикселей, и резкий переход цвета служит отличным маркером границы тела.
Ну и, наконец, пару слов о стилизации.
Промт для троих в стиле Киберпанк
Киберпанк с его неоном и дождём — благодатная почва для групповых снимков, так как яркое освещение позволяет скрыть мелкие огрехи анатомии в тенях.
Попробуйте такой вариант:
«Three cybernetic hackers in a rainy neon alleyway at night. Left: muscular cyborg male with a metal jaw and red robotic eye, wearing a black tactical vest. Center: female hacker with short purple hair and glowing tattoos on face, typing on a holographic keyboard. Right: hooded figure with a gas mask and cables connected to the head, holding a drone. Wet asphalt reflections, pink and blue neon lights, atmosphere of danger, cyberpunk 2077 aesthetic.»
Здесь мы снова используем дробление через двоеточие. Обратите внимание на детализацию света — «pink and blue neon». Это задает общую гамму, объединяя разрозненных персонажей в единую сцену.
Частые ошибки
Главная ошибка — это перегруз. Не стоит пытаться впихнуть в промт всё: и цвет шнурков, и марку часов, и погоду на Марсе. Чем длиннее запрос, тем быстрее нейросеть «забывает» начало. Ограничьтесь самым важным. Если какая-то деталь не критична — опустите её.
Также не стоит забывать про формат соотношения сторон. Для трех персонажей в ряд лучше всего подходит горизонтальный формат (–ar 16:9 или –ar 3:2). В квадрате (1:1) трем фигурам будет тесно, и нейросеть начнёт ставить их друг за друга или сливать воедино. Это же правило касается и вертикальных форматов, если только вы не планируете вертикальную композицию (например, тотемный столб из людей, что, согласитесь, редкость).
Впрочем, даже с идеальным промтом придётся сделать несколько генераций. Искусственный интеллект — это всё-таки генератор случайных чисел, хоть и очень умный. Иногда изюминка появляется там, где её не ждали, а иногда идеально прописанный запрос выдает откровенный брак.
Работа с «весами» (Weights)
В Midjourney можно использовать веса для усиления значимости определенных частей промта. Если нейросеть упорно игнорирует третьего персонажа (что случается довольно часто, так как он находится в конце текста), можно повысить его «вес».
Пример синтаксиса:
«Man in suit::1 Woman in dress::1 Child in pyjamas::1.5»
Такая запись скажет алгоритму: «Обрати на ребёнка в полтора раза больше внимания». Это полезный инструмент для балансировки композиции. Но с ним нужно быть осторожным: если переборщить, второстепенный персонаж может заполнить собой всё пространство.
Итог
Создание сцен с тремя и более персонажами — это высший пилотаж промт-инжиниринга. Это требует терпения, тестов и понимания того, как машина «видит» ваши слова. Не бойтесь экспериментировать с порядком слов и синонимами. Иногда замена standing next to на standing alongside меняет композицию кардинально. И пусть ваши генерации всегда будут чёткими, пальцы — в нужном количестве, а лица — уникальными. Терпение и практика — и ваши групповые портреты станут настоящими шедеврами цифрового искусства.