Повышение реалистичности генераций
В этом материале мы разберёмся что такое гиперреализм и постараемся сделать мультяшного персонажа в фотографическом реалистичном стиле.
Определение понятия hyperrealism
Гиперреализм — это жанр искусства, характеризующийся экстремальной точностью и детализацией, что делает произведения чрезвычайно реалистичными и почти неотличимыми от фотографии. Этот стиль стремится создать настолько детализированные изображения, что они могут восприниматься зрителем как реальные, иногда даже превосходя возможности человеческого зрения.
Как добиться фотореализма
Как добиться гиперреализма в генерации изображений с помощью Stable Diffusion:
Выбор правильной модели: Использование хорошо обученных моделей знакомых с предметом генерации, обладающих универсальностью с возможностью генерации изображений фотографического качества при правильных настройках.
Использование токенов детализации: Использование в подсказке токенов, которые акцентируют внимание на мелких деталях, таких как текстуры кожи, волос, тканей и поверхностей. Например, detailed texture of skin, realistic fabric folds, intricate lighting effects. Зачастую даже перечисление элементов повышает степень реалистичности. Сюда же можно отнести акцент на точных пропорциях и анатомии, включая мышечную структуру и естественные пропорции тела. Описание конкретных текстур и материалов, таких как realistic metal texture, authentic leather surface, glass with accurate reflections and refractions - при наличии соответствующих поверхностей.
Использование токенов освещения, затенения и отражения: Указание на реалистичные источники света и их влияние на объекты, тени и отражения. Например: soft natural lighting with accurate shadow placement, realistic reflections on surfaces.
Негатив: в случае с реалистичным изображением негатив играет роль завершающего штриха уменьшающего эффект кукольности и повышающего степень универсальности всей подсказки.
- Применение кинематографических токенов.
*Без первого пункта - невозможно реализовать тему фотореализма.
В качестве тестовых изображений сгенерируем 3 различных персонажа обладающих своим стилем: Sailor Moon,SpongeBob,Venom. На разных моделях эти изображения будут выглядеть по разному, поэтому эти изображения следует держать в уме как образ персонажей для экспериментов, не более. Далее мы постараемся выделить стиль для реализации любого изображения в гиперреалистичном виде.
Задача не только сделать фотографического качества изображение, но и не похерить нормальное изображение изначально выполненное в реалистичном стиле.
Применение ВСЕХ токенов из тестов - не рекомендуется, исходите из своих потребностей и принципа - "чем меньше тем лучше". Чем больше описание стиля, тем позже нужно применять стиль для сохранения композиции. Лучшим решением является минимальный набор (например мини стиль) с самого начала генерации, но с учётом что композиция может поменяться.
Помните - это не готовый рецепт, это алгоритм его написания:
Prompt с итоговым примером стиля №1
Sailor Moon, [ : by Harry Gruyaert, hyperrealism, Photo, muted colors, color graded, exposure blend, sharp, portra PIXPRO film, shot with cinematic camera, beautiful background, beautiful light, beautiful shadows, intricate, detailed, textured, realistic lighting, naturalistic shading realistic, soft Rim Light: 0.15]
Negative prompt: cgi, illustration, doll, 3d, cartoon, anime, drawing, painting, abstract, cartoon, stylized, octane render
Steps: 20, Sampler: DPM++ 2M, Schedule type: Karras, CFG scale: 7, Seed: 1, Size: 1024x1024, Model hash: c9e3e68f89, Model: juggernautXL_v9Rundiffusionphoto2, Script: X/Y/Z plot, X Type: Prompt S/R, X Values: "Sailor Moon,SpongeBob,Venom", Version: v1.9.4-192-gebe8be90
Prompt с итоговым примером стиля №2
Sailor Moon, [ : by Alex Huguet, by JaeCheol Park, by Marek Denko, lightroom, natural, perfect, intricate, exposure blend,realistic lighting, naturalistic shading, realistic, detailed, textured, natural skin texture, hyperrealism, soft light, shar : 0.1]
Negative prompt: cgi, illustration, doll, 3d, cartoon, anime, drawing, painting, abstract, cartoon, stylized, octane render
Steps: 20, Sampler: DPM++ 2M, Schedule type: Karras, CFG scale: 7, Seed: 1, Size: 1024x1024, Model hash: c9e3e68f89, Model: juggernautXL_v9Rundiffusionphoto2, Script: X/Y/Z plot, X Type: Prompt S/R, X Values: "Sailor Moon,SpongeBob,Venom", Version: v1.9.4-192-gebe8be90
Prompt mini
Sailor Moon,
natural, perfect, intricate, exposure blend, realistic lighting, naturalistic shading realistic, detailed, textured, hyperrealism, soft light, sharp
Steps: 20, Sampler: DPM++ 2M, Schedule type: Karras, CFG scale: 7, Seed: 1, Size: 1024x1024, Model hash: c9e3e68f89, Model: juggernautXL_v9Rundiffusionphoto2, Script: X/Y/Z plot, X Type: Prompt S/R, X Values: "Sailor Moon,SpongeBob,Venom", Version: v1.9.4-192-gebe8be90
Образно, можно представить применение стилей и их необходимости в виде последовательности:
тесты
Выбор модели
Модели бывают как универсальными, так и узкоспециализированными. Из данного теста мы выделим возможности модели и её знакомство с объектом генерации. Для создания фотореалистичного изображения следует использовать модель которая может делать генерации соответствующего качества. Для примера сгенерируем композицию по простой подсказке: Russia, 2000s, The men sat at the table and ate. А так же проведём тест узнаваемости центрального объекта генерации на примере тестовых персонажей: Sailor Moon, SpongeBob, Venom
Все совпадения лиц - чистая случайность 🙄 Из этого коротенького теста можно отсеять модель у которой явно нет цели сделать что-то реалистичное, т.е. она изначально делает арт. Вы же можете использовать свою подсказку без конкретного указания стиля генерации с простейшей композицией. Я уверен у вас уже есть модель на примете, но подобный тест акцентирует внимание на основном направлении модели, а следовательно более верном выборе для начинающих.
Допустим что вы определились с моделью, например это будет универсальная модель juggernautXL_v9Rundiffusionphoto2 - что бы далее разговор был более предметным и не рассусоленным по всему спектру модельного ряда. Данная модель чётенько определила стиль фото того времени, и грамотно составила композицию, особо понравились обои 😉 В плане персонажей можно увидеть разноплановый тип применяемого датасета, а так же степень "знакомства" с объектом генерации.
Детализация
Очень сильное влияние на реалистичность оказывает степень детализации которая достигается либо внедрением токенов отвечающих за детализацию либо описанием составных элементов композиции. Однако в последнем случае следует иметь ввиду изменение композиции.
В примерах, сначала просто перечислим компоненты композиции, из-за короткого описания уменьшим вес и разбавим токеном beatiful - задача уменьшить вес внедряемых токенов. В Вашей композиции, из-за большей длины описания в подсказке - возможно такой проблемы с весами не будет.
Сюда же можно отнести акцент на точных пропорциях и анатомии, включая мышечную структуру и естественные пропорции тела.
Повторюсь, суть повышения реализма достигается двумя способами. Объединяя их должны получить максимальный результат. В вашем случае реализм может быть ещё выше т.к. будет непростое перечисление компонентов одного единственного персонажа, а конкретное и развёрнутое описание всей композиции.
Сохранить композицию можно либо применяя конструкцию [ : стиль : шаг] или с применением расширения ControlNet - но это другая история, которую мы затронем чуть-чуть в самом конце.
Освещение, затенение и отражения
Зачастую такие элементы как источники света, и тип освещения, так же как тени и отражения - игнорируются в мультипликационных или анимационных произведениях. Акцент на наличии таких эффектов свидетельствует о реалистичности изображения. С отражениями нужно быть аккуратнее, применять только там где их действительно не хватает.
В некоторых случаях, после применения только токенов освещения и затенения, требуется более подробно описать композицию, в особенности фон. Т.к. только объект, свет и тень характерны для студийного без фонового произведения.
Prompt дополнением в виде освещения и затенения
Sailor Moon, realistic lighting, naturalistic shading realistic, soft Rim Light
Steps: 20, Sampler: DPM++ 2M, Schedule type: Karras, CFG scale: 7, Seed: 1, Size: 1024x1024, Model hash: c9e3e68f89, Model: juggernautXL_v9Rundiffusionphoto2, Script: X/Y/Z plot, X Type: Prompt S/R, X Values: "Sailor Moon,SpongeBob,Venom", Version: v1.9.4-192-gebe8be90
Негатив
Изначально следует понимать что негатив нужен не только для повышения качества, как в примере. Ибо "повышение качества" - весьма расплывчатое понятие.
Негатив прежде всего служит для исключения или уменьшения указанных в нём эффектов или объектов в случае их проявления на генерации, т.е. негатив по факту не обязан делать улучшение генерации, хотя создаёт такое обманчивое впечатление.
В примере генерация с характерными искажениями и результатом их устранения через негатив.
Negative для устранения уродств и общего повышения качества:
(worst quality:2), (low quality:2), (normal quality:2), dot, mole, lowres, cropped, jpeg artifacts, ugly, duplicate, morbid, mutilated, out of frame, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, mutation, deformed, bad anatomy, bad proportions, extra limbs, cloned face, disfigured, gross proportions, malformed limbs, missing arms, missing legs, extra arms, extra legs, fused fingers, too many fingers, long neck
Применяя обычный негатив на "устранение непотребств" получить изображение в стиле гиперреализма - не подойдёт. В случае с фотореалистичной генерацией нам нужно убрать не уродства и не повысить качество, а основная цель убрать ощущение "нереальности". При этом очень важно что бы негатив не конфликтовал с описанием! Например, если в описании только аниме персонаж - убрать негативом аниме нельзя, это и есть конфликт. Мало того, в случае наличия конфликта хороший негатив не должен ничего убирать или изменять!
В примере далее мы увидим минимальное влияние негатива, т.к. по факту негатив в конфликте с описанием и не может ничего убрать. Это есть пример хорошего негатива, который не разрушает композицию из-за своего влияния.
Prompt с явным конфликтом некоторых композиций и негатива:
Sailor Moon
Negative prompt: cgi, illustration, doll, 3d, cartoon, anime, drawing, painting, abstract, cartoon, stylized, octane render
Steps: 20, Sampler: DPM++ 2M, Schedule type: Karras, CFG scale: 7, Seed: 1, Size: 1024x1024, Model hash: c9e3e68f89, Model: juggernautXL_v9Rundiffusionphoto2, Script: X/Y/Z plot, X Type: Prompt S/R, X Values: "Sailor Moon,SpongeBob,Venom", Version: v1.9.4-192-gebe8be90
Теперь добавим кратенькое описание к каждой генерации. Для каждой композиции описание должно соответствовать композиции, но конкретно в данном случае мы сделаем неправильное описание - одно для всех. И уже теперь, когда конфликт описания имеет меньшую роль, применим негатив.
Как видно из примера, в данном случае негатив весьма успешно устраняет компоненты 3D и кукольности посредством соответствующих токенов, т.к. в данном случае при удалении этих компонентов вся композиция не разрушится. И чем подробнее описание, тем лучше будет отрабатывать негатив.
Prompt с более подробным описанием композиции:
Sailor Moon, 1girl, blonde, with two pigtails
Negative prompt: cgi, illustration, doll, 3d, cartoon, anime, drawing, painting, abstract, cartoon, stylized, octane render
Steps: 20, Sampler: DPM++ 2M, Schedule type: Karras, CFG scale: 7, Seed: 1, Size: 1024x1024, Model hash: c9e3e68f89, Model: juggernautXL_v9Rundiffusionphoto2, Script: X/Y/Z plot, X Type: Prompt S/R, X Values: "Sailor Moon,SpongeBob,Venom", Version: v1.9.4-192-gebe8be90
Токены реализма
Токены реализма делятся на:
- общие токены: hyperrealism, Photo, cinestill
- цветовые токены: muted colors, color graded
- токены камер, их эффектов и параметров. Например: exposure blend, sharp, portra PIXPRO film, shot with cinematic camera
- Artist сборник изображений объединённых общим названием, например фотограф, киноперсонаж, актёр кино и т.д. Например фотографы: by alex webb, by Harry Gruyaert
Prompt с токенами на реализм
Sailor Moon,
hyperrealism, Photo, muted colors, color graded, exposure blend, sharp, portra PIXPRO film, shot with cinematic camera, by Harry Gruyaert
Steps: 20, Sampler: DPM++ 2M, Schedule type: Karras, CFG scale: 7, Seed: 1, Size: 1024x1024, Model hash: c9e3e68f89, Model: juggernautXL_v9Rundiffusionphoto2, Script: X/Y/Z plot, X Type: Prompt S/R, X Values: "Sailor Moon,SpongeBob,Venom", Version: v1.9.4-192-gebe8be90
Применение
Применение в момент генерации (с сохранением композиции)
Одно из самых классных применений стилей является возможность его включения с определённого шага. Например: ваше описание [ : стиль : X.YY] - с применением данной конструкции можно подробно ознакомиться в соответствующем материале. Ещё больше сохранить композицию можно с использованием расширения CaontrolNet.
В следующем примере стиль применяется спустя 10% от общего количества шагов. Применять весь спектр токенов - необязательно - это лишь пример.
Prompt
Sailor Moon,
[ : hyperrealism, Photo, muted colors, color graded, exposure blend, sharp, portra PIXPRO film, shot with cinematic camera, by Harry Gruyaert,
(beautiful big eyes:0.1), (beautiful mouth:0.1), beautiful background, beautiful light, beautiful shadows, intricate, detailed, textured, average body, attractive face,
realistic lighting, naturalistic shading realistic, soft Rim Light : 0.1]
Negative prompt: cgi, illustration, doll, 3d, cartoon, anime, drawing, painting, abstract, cartoon, stylized, octane render
Steps: 20, Sampler: DPM++ 2M, Schedule type: Karras, CFG scale: 7, Seed: 1, Size: 1024x1024, Model hash: c9e3e68f89, Model: juggernautXL_v9Rundiffusionphoto2, Script: X/Y/Z plot, X Type: Prompt S/R, X Values: "Sailor Moon,SpongeBob,Venom", Version: v1.9.4-192-gebe8be90
Тест начала включения стиля и универсализация стиля
Применять весь спектр токенов - необязательно, уберём всё что связано с внешностью и перенесём фотографа в начало для удобства последующего изменения. Цифра "-0.1" служит для генерации без конструкции [ : стиль : шаг] несмотря на её наличие. Цифра менее 1 служит для определения включения спустя процентное соотношение от общего количества шагов. Если более 1 - означает количество шагов после которого включается стиль. Протестируем шаг включения стиля:
Prompt
Sailor Moon, [ : by Harry Gruyaert, hyperrealism, Photo, muted colors, color graded, exposure blend, sharp, portra PIXPRO film, shot with cinematic camera, beautiful background, beautiful light, beautiful shadows, intricate, detailed, textured, realistic lighting, naturalistic shading realistic, soft Rim Light: -0.1]
Negative prompt: cgi, illustration, doll, 3d, cartoon, anime, drawing, painting, abstract, cartoon, stylized, octane render
Steps: 20, Sampler: DPM++ 2M, Schedule type: Karras, CFG scale: 7, Seed: 1, Size: 832x1216, Model hash: c9e3e68f89, Model: juggernautXL_v9Rundiffusionphoto2, Script: X/Y/Z plot, X Type: Prompt S/R, X Values: "-0.1,0.1,0.15,0.2", Version: v1.9.4-192-gebe8be90
Применение в момент генерации (без сохранения композиции)
Обычное применение стиля позволяет лучше "внедрить" стиль, но с потерей изначальной композиции.
С таким применением нужно быть более аккуратным - подходят не все наборы токенов.
Prompt №1
Sailor Moon,
by Harry Gruyaert, hyperrealism, Photo, muted colors, color graded, exposure blend, sharp, portra PIXPRO film, shot with cinematic camera, beautiful background, beautiful light, beautiful shadows, intricate, detailed, textured, realistic lighting, naturalistic shading realistic, soft Rim Light
Negative prompt: cgi, illustration, doll, 3d, cartoon, anime, drawing, painting, abstract, cartoon, stylized, octane render
Steps: 20, Sampler: DPM++ 2M, Schedule type: Karras, CFG scale: 7, Seed: 1, Size: 1024x1024, Model hash: c9e3e68f89, Model: juggernautXL_v9Rundiffusionphoto2, Script: X/Y/Z plot, X Type: Prompt S/R, X Values: "Sailor Moon,SpongeBob,Venom", Version: v1.9.4-192-gebe8be90
В таком случае нужно более тщательно подбирать стиль
Prompt №2
Sailor Moon,
by Alex Huguet, by JaeCheol Park, by Marek Denko,
lightroom, natural, perfect, intricate, exposure blend,realistic lighting, naturalistic shading, realistic, detailed, textured, natural skin texture, hyperrealism, soft light, sharp
Negative prompt: cgi, illustration, doll, 3d, cartoon, anime, drawing, painting, abstract, cartoon, stylized, octane render
Steps: 20, Sampler: DPM++ 2M, Schedule type: Karras, CFG scale: 7, Seed: 1, Size: 1024x1024, Model hash: c9e3e68f89, Model: juggernautXL_v9Rundiffusionphoto2, Script: X/Y/Z plot, X Type: Prompt S/R, X Values: "Sailor Moon,SpongeBob,Venom", Version: v1.9.4-192-gebe8be90
Мини стиль
При применении стиля реализма с первых шагов, нужно "не перегнуть палку" с токенами реализма и их количеством. Пример неплохого мини стиля:
Prompt мини
Sailor Moon,
natural, perfect, intricate, exposure blend, realistic lighting, naturalistic shading realistic, detailed, textured, hyperrealism, soft light, sharp
Steps: 20, Sampler: DPM++ 2M, Schedule type: Karras, CFG scale: 7, Seed: 1, Size: 1024x1024, Model hash: c9e3e68f89, Model: juggernautXL_v9Rundiffusionphoto2, Script: X/Y/Z plot, X Type: Prompt S/R, X Values: "Sailor Moon,SpongeBob,Venom", Version: v1.9.4-192-gebe8be90
Применение к готовой картинке
Закидываем картинку в img2img
В описание обязательно накидываем описание изображения. На примере это: girl, yellow hair, matrosk, big eyes, two tail hairstyle, long hair, moon
Вставляем наш стиль в подсказку:
hyperrealism, Photo, muted colors, color graded, exposure blend, sharp, portra PIXPRO film, shot with cinematic camera, by Harry Gruyaert,
(beautiful big eyes:0.1), (beautiful mouth:0.1), beautiful background, beautiful light, beautiful shadows, intricate, detailed, textured, average body, attractive face,
realistic lighting, naturalistic shading realistic, soft Rim Light
И про негатив не забываем: cgi, illustration, doll, 3d, cartoon, anime, drawing, painting, abstract, cartoon, stylized, octane render
В зависимости от выбранного сэмплера и вашего описания подбираем Denoising strength=0.4-0.9 который отвечает за допустимую степень вносимых изменений.
Если реализм есть, но его недостаточно, можно повторить манипуляцию с уже сгенерированным изображением.
Применять весь спектр токенов - необязательно - это лишь пример.
Prompt для img2img
girl, yellow hair, matrosk, big eyes, two tail hairstyle, long hair, moon,
hyperrealism, Photo, muted colors, color graded, exposure blend, sharp, portra PIXPRO film, shot with cinematic camera, by Harry Gruyaert,
(beautiful big eyes:0.1), (beautiful mouth:0.1), beautiful background, beautiful light, beautiful shadows, intricate, detailed, textured, average body, attractive face,
realistic lighting, naturalistic shading realistic, soft Rim Light
Negative prompt: cgi, illustration, doll, 3d, cartoon, anime, drawing, painting, abstract, cartoon, stylized, octane render
Steps: 20, Sampler: DPM++ 2M, Schedule type: Karras, CFG scale: 7, Seed: 1, Size: 1024x1024, Model hash: c9e3e68f89, Model: juggernautXL_v9Rundiffusionphoto2, Denoising strength: 0.8, Version: v1.9.4-192-gebe8be90
Примеры
Персонажи
Определение понятия Artist в контексте применения персонажа
Персонаж сам по себе является сборником исходного материала в виде набора изображений, поэтому обладает индивидуальным стилем. Следовательно, стиль персонажа нужно "перебить" новым стилем.
В нашем случае мы будем использовать солянку из ЧАСТИ вышеперечисленных токенов в тестах - такой стиль будет более универсальным и не перегруженным. Ещё точнее, удаляем всё что связано с внешностью - ибо эти части могут и не быть у персонажа, перемещаем в начало токен отвечающий за фотографа - для удобства замены на другого. Используя конструкцию [ : стиль : 0.15] - начинаем применять стиль спустя 15% от общего количества шагов, тем самым сохраняя исходную композицию.
Prompt №1
PERSONA, [ : by Harry Gruyaert, hyperrealism, Photo, muted colors, color graded, exposure blend, sharp, portra PIXPRO film, shot with cinematic camera, beautiful background, beautiful light, beautiful shadows, intricate, detailed, textured, realistic lighting, naturalistic shading realistic, soft Rim Ligh : 0.15]
Negative prompt: cgi, illustration, doll, 3d, cartoon, anime, drawing, painting, abstract, cartoon, stylized, octane render
Steps: 20, Sampler: DPM++ 2M, Schedule type: Karras, CFG scale: 7, Seed: 1, Size: 1024x1024, Model hash: c9e3e68f89, Model: juggernautXL_v9Rundiffusionphoto2, Script: X/Y/Z plot, X Type: Prompt S/R, X Values: "Sailor Moon,SpongeBob,Venom", Version: v1.9.4-192-gebe8be90
Sailor Moon
"Sailor Moon" — популярная японская франшиза, включающая аниме, мангу и другие медиа, созданная Наоко Такэути. Характеризуется яркими, красочными изображениями и магическими темами. Главные герои — девочки-воительницы (сейлор-солдаты), борющиеся с силами зла. Стиль отличается использованием больших, выразительных глаз, сложных костюмов и анимационных спецэффектов.
Frankenstein
"Frankenstein" - персонаж, результат научного эксперимента, собранный из различных человеческих останков и оживленный. В визуальной культуре образ Франкенштейна часто ассоциируется с готической атмосферой, темными, мрачными элементами, индустриальными и научными атрибутами.
SpongeBob
Токен "SpongeBob" относится к популярному персонажу мультсериала "Губка Боб Квадратные Штаны". Стилистика изображений, связанных с этим токеном, включает яркие и насыщенные цвета, упрощенные и выразительные формы, а также юмористический и легкомысленный тон
Korra
"Korra" — главный персонаж анимационного сериала "Легенда о Корре" (The Legend of Korra). Этот токен обычно используется для создания изображений в стиле данного сериала, а также для передачи элементов персонажа Коры, таких как её боевой дух, физическая сила и способность управлять различными стихиями (вода, огонь, воздух, земля).
pudge art by dota
Токен "Pudge art by Dota" используется в Stable Diffusion для создания изображений в стиле персонажа Пуджа из популярной игры Dota 2. Пудж — это мясник-нежить, известный своим жутким, комичным внешним видом и грубыми чертами. Стиль его изображения обычно включает тематику ужасов, с элементами гротеска и готики.
Prince of Persia
"Prince of Persia" — это классическая серия видеоигр, известная своими приключенческими сюжетами, элементами платформинга и эстетикой, вдохновленной ближневосточной архитектурой и мифологией. Визуальный стиль часто включает в себя элементы арабской архитектуры, песчаные пейзажи и персонажей в традиционной одежде. Токен "Prince of Persia" в контексте генерации изображений может привнести элементы из этой франшизы.
Пример Artist в реалистик стиле
В случае применения Artist, под которым можно подразумевать фотографа или художника работающего в реалистичном стиле с высокой детализацией, негатив на "реализм" играет гораздо большую роль, но может как улучшить, так и похерить генерацию. Поэтому применять негатив целесообразно на более длинной (подробной) подсказке. Вот пример до и после применения негатива с токеном by alex webb - фотограф, на КОРОТКОЙ подсказке.
Поэтому далее будет идти только Artist, без негатива: