August 14, 2023

Краткое руководство по созданию фотореалистичных картинок для нейросети Stable Diffusion и Midjourney

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

Все примеры я буду специально создавать в приложении PlaygroundAI, так как среди бесплатных и доступных оно самое функциональное. И его достаточно легко и быстро можно освоить.

Пример изображения, созданного нейросетью:

Процесс создания запроса


Шаг 1. Субъект

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

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

Это может быть:

- Воин (warrior)
- Эльф (elf)
- Маг (mage или wizard)
- Солдат (soldier)
- Король (king)
- Киборг (cyborg)
- Викинг (viking)

Шаг 2. Пол

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

Перед субъектом я добавляю male (мужской род) или female (женский род).

Шаг 3. Внешний вид / одежда

Определившись с субъектом, я добавляю описание его внешнего вида.

Например, если я изображаю война, то опишу, что он в доспехах. Если маг, то в робе в шляпе мага.

Примеры:

- A male mage wearing a robe and a witch hat (маг, одетый в робу и шляпу ведьмы)
- A male warrior wearing a steel armor (воин одетый в стальную броню)
- A male pirate wearing a pirate vest (пират, одетый в пиратский жилет)

Иногда я могу проигнорировать описание одежды и дать нейросети самой пофантазировать или дать очень общее описание. Например:

A male pirate wearing a pirate clothing (пират одетый в пиратскую одежду)

Но как правило, описание одежды улучшает запрос и позволяет избежать ракурсов без тела (когда в кадре одна голова).

Шаг 4. Композиция

Перед каждый запросом я всегда пишу “a portrait of”. Переводится как портрет. “Of” в английском языке является связкой подразумевающей, что портрет кого-то, о ком речь идет дальше.

Например A portrait of a male warrior wearing a steel armor (портрет война, одетого в стальной доспех).

Такое небольшой дополнение приводит к тому, что нейросеть чаще выдает нам портретную композицию. Без этой приписки наш персонаж может часто стоять к нам спиной или боком. Или находиться слишком далеко.

Шаг 5. Местность / задний план

После описания внешности я добавляю описание местности, где находится наш субъект.

Есть 2 способа описания этой местности, которые я использую. Первый выглядит так:

- In the forest (в лесу)

- In the mountains (в горах)

- In the space ship (на космическом корабле)

Второй способ выглядит следующим образом:

- Forest in the background (лес на фоне)

- Mountains in the background (горы на фоне)

- Spaceship in the background (космический корабль на фоне)

Трудно сказать какой из этих способов лучше. Это обычно предмет экспериментов.

Лайфхак:

Обычно перед описанием местности я ставлю запятую. Как и перед описанием одежды. Это не обязательно, но помогает лучше потом воспринимать визуально запрос.

A portrait of a male warrior, wearing armor, in the forest (портрет война, одет в доспех, в лесу)

Или так:

A portrait of a pirate wearing a black vest, on the ship (портрет пирата, одетого в черный жилет, на корабле)

Шаг 6. Тип изображения

Наконец, последней основной частью запроса является тип изображения.

Ваше изображение может быть:

- Фотографией

- Цифровой картиной

- 3D графикой

- Мультяшкой

- Аниме

И т.д.

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

Например:

- A portrait of a male pirate wearing a black vest, on the ship, digital painting (портрет пирата, одетого в черный жилет, на корабле, цифровая картина).
- A portrait of a male warrior, wearing armor, in the forest, a photography (портрет война, одет в доспех, в лесу, фотография)

Шаг 7. Негативный запрос

Уже на этом этапе я обычно начинаю рисовать то, что у меня получилось.

Но перед этим обязательно добавляю негативный запрос.

Главное слово в моем негативном запросе - это disfigured (уродливый).

По какой-то неведомой причине - это очень сильное слово, которое в положительную сторону влияет на результат.

Далее я добавляю:

- text (чтобы он не пытался писать текст)

- Signature (подпись - чтобы не пытался ее ставить)

- Double heads (двойные головы - сокращает вероятность их появления)

- Black and white, b&w (снижает шансы на появление черно-белых изображений)

- Cartoon (если я не хочу, чтобы нейросеть искажало изображение в стиле мультиков)

- Oversaturated (сокращает шанс появления картинок перенасыщенных цветом)

У некоторых в негативном запросе используется гораздо больше слов, но я не замечал положительных эффектов от этого.

Вот мой типичный негативный запрос:

disfigured, double heads, text, signature, black and white, oversaturated

Если вы создаете изображения в публичном приложении вроде Playground и при этом рисуете женщину, то рекомендую добавить в негативный запрос слово nude (обнаженный), что значительно снизит число моментов, когда нейросеть будет ругаться и не выдавать результат, сообщая о том, что сработала защита от недопустимого контента.

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

disfigured, double heads, text, signature, black and white, oversaturated, nude

Первичный результат:

А вот что у меня получилось нарисовать в сервисе PlaygroundAI с первого раза по запросу:

- A portrait of a male warrior, wearing armor, in the forest, a photography

Без использования фильтров!

Если объект слишком часто находится далеко, то после его описания, я добавляю detailed face или highly detailed face (детализированное лицо или высоко детализированное лицо).

Это также часто спасает от проблемы, что воин рисуется в шлеме (конечно если мы этого не хотим). Шлем также можно прописать в негативном запросе.

Шаг 8. Добавляем детали

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

Например, мне нравится добавлять солнечные лучи (sun rays).

A portrait of a male warrior, wearing armor, highly detailed face, in the forest, sun rays, a photography

Солнечные лучи будут появляться не всегда. Часто их не будет видно в явном виде, однако свет и тени будут более интересными.

Можно попробовать добавить известных фотографов, что иногда помогает сделать изображения более интересными.

Например, я люблю добавлять фотографа Олега Оприско.

A portrait of a male warrior, wearing armor, highly detailed face, sun rays, in the forest, sun rays, a photography by Oleg Oprisco

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

Например, при использования стиля Олега Оприско, воин по-умолчанию часто становится без более молодым и без бороды.

А вот при использования фотографа Стива МакКари (Steve McCurry), воин часто имеет восточную внешность.

Однако, это совсем не значит, что вы не сможете создать война с европейской внешности

при использовании стиля этого фотографа. Достаточно уточнить тип внешности в запросе:

A portrait of a male warrior, 30 years old, european, blonde long hairs, wearing armor, highly detailed face, sun rays, in the forest, sun rays, a photography by Steve McCurry

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

Например, самый часто используемый художник - это Greg Rutkowski. С него можно и начать.

Меняем в конце наш запрос:

A portrait of a male warrior, 30 years old, european, blonde long hairs, wearing armor, highly detailed face, sun rays, in the forest, sun rays, a digital painting by Greg Rutkowski

Вот и все! Ваше изображение готово!