Нейросетим обложку с кошкодевушкой серьёзной или Как составлять запрос к нейросети (18+)
Автор: wayerrУ меня был ранее блог на эту тему, но там рассматривался prompt, который вряд ли кому-то нужен.
Сегодня я буду разбирать схожую тему, но уже на примере анимешной кошкодевушки серьёзного нрава, с чёрными волосами и зелёными глазами, одетой в белое платье (вообще там друга одежда нужна, но это для нейросети сложно) и таскающей с собой тяжёлую винтовку (вообще anti-material rifle, но это, как показывает опыт, сложно не только для нейросети).
Если кому интересно, что это за трешовый микс, то персонаж является ГГ повести Стрит Арти, состоит из жидкого металла и считает себя машиной, потому лицо печальным кирпичом — наполнено оно тоской по предыдущему хозяину кошачьих ушей.
На деле я не собираюсь менять обложку и вообще иллюстрация сия мне не требуется, но от нейросети, с одной стороны, реалистичнее спрашивать что-то стандартно-попсовое, с другой - потрет персонажа может истребовать всякий, а тут всё же есть некоторые нюансы.
Итак, приступим. В предыдущем блоге, я расписывал принципы работы нейросети, так что рекомендую ознакомиться хотябы с его началом.
В этот раз я использую всё тот же webui, но с моделью anything-v3, поскольку анимешную картинку логично генерировать анимешной моделью.
У модели этой есть много неприятных нюансов, связанных с пристрастиями массового пользователя - это и выражения лиц персонажей, и стилистика, и размер вторичных половых признаков. Чтобы раз и навсегда прекратить попытки нейросети подсовывать всякую хрень, стоит выбрать один-два известных тайтла в которых приемлемый для задачи стиль. В данном случае, я взял balck lagoon.
Начальные параметр выглядят так:
woman, white dress, black hairs, green eyes, walks on city roof parapet, highres, photorealistic, black lagoon style
Steps: 20, Sampler: DDIM, CFG scale: 12, Seed: 1888847722, Size: 512x512, Model hash: 543bcbc212, Batch size: 4, Batch pos: 0
Prompt для наглядности выделен жирным. Как видно там пока нет ничего про кошкодевушек, поскольку с ними будут заморочки - в аниме это характерный типа персонажа, который противоречит и "печальному" образу героини, и возрасту и телосложению (много ли высоких стройных?)
Также замечу, что anything обычно лучше выдаёт результат с CFG scale: 12 (у обычной модели SD оптимально 7-8). И обязательно ставить фиксированый Seed на время подбора prompt.
Результат:
woman, white dress, black hairs, green eyes, walks on city roof parapet, highres, photorealistic, black lagoon style
Во первых, волосы не чёрные, а во вторых платье местами чёрное, то есть в prompt ошибка.
Тут надо отметить, что нейросеть очень капризная штука, её обучали фиг знает на чём, особенно неофицальные модели. И хотя, автор anythin пишет, что модель поддерживает вполне себе конкретный набор тегов (здесь я их и использовал - highres, photorealistic), фактически опыт показывает, что часть тегов не работает или работает не так.
Так вот то что получилось на картинке, это явный признако ошибки в prompt и ошибку надо исправлять, преде чем картинку доделывать. К слову, опыт мне подсказывает в чём ошибка. Но сделаю вид что не знаю и буду пользоваться методом проб и ошибок.
Вторая попытка:
woman in white dress with black hairs and green eyes, walks on city roof parapet, highres, photorealistic, black lagoon style
Всего-то убрал запятые и добавил пару слов. Но как же так, ведь это уже не обещанные теги, а фактически словесное описание? Ладно. Тут у нас всё ещё черное платье, попробуем ещё способы.
woman with black hairs and green eyes in white dress, walks on city roof parapet, highres, photorealistic, black lagoon style
Обратите внимание, что такая разница только лишь за счёт перестановки слов, что казалось бы неверно если "нейросеть понимает язык" - ничего она не понимает, это надо помнить. К слову, если бы она работала именно по тегам, а не по шаманству левой пяткой, то было бы проще.
Попытка 4:
woman, black hairs, green eyes, white dress, walks on city roof parapet, highres, photorealistic, black lagoon style
Похоже нейросеть больше волнует порядок слов, чем суть. То есть чем ближе чёрные волосы к началу, тем больше всякой фигни чёрного цвета.
Попытка 5:
woman, black hair, green eyes, white dress, walks on city roof parapet, highres, photorealistic, black lagoon style
Обратите внимание, сменилось только hairs на hair, а какая разница. Это на деле и была та самая "ошибка". Это же к вопросу, можно ли писать prompt не на том языке, на котором нейросеть тренировали. Нейросеть внезапно "понимает", что цвет имеет отношение к причёске и меньше "чернит" платье. Есть тёмно зелёный цвет, он скорее всего лезет от сочетания глаз и волос, но так как там с одеждой ещё будут проблемы, то оставим его на потом.
Теперь меня немного удручает фон. Давайте что-нибудь с ним попробуем сделать. Уберём "city".
Попытка 6:
woman, black hair, green eyes, white dress, walks on roof, highres, photorealistic, black lagoon style
Ой не то. Ещё и платье потемнело, точно ли это из-за волос, если оно зеленоватое?
Попытка 7 (проверка, кто темнит):
woman, white hair, green eyes, white dress, walks on roof, highres, photorealistic, black lagoon style
Как видно, дело точно в волосах.
Попытка 8:
woman, green eyes, white dress, black hair, walks on roof, highres, photorealistic, black lagoon style
Можно сказать, ура. Платье белое, волосы чёрные. Глаза, наверное зелёные.
Теперь платье, оно на деле должно быть древнегреческой одеждой. Но названия той одежды нейросеть интерпретирует специфически (особенно хитон), потому попробуем наивный способ:
Попытка 9:
woman, green eyes, white ancient Greece dress , black hair, walks on roof, highres, photorealistic, black lagoon style
Ну это не то что я хотел, но в принципе пойдет. Однако, обратите внимание как это сказалось на фоне. Нам-то нужен современный или футуристичный город.
10:
woman, green eyes, white ancient Greece dress , black hair, walks on roof, city background, highres, photorealistic, black lagoon style
Как бы так ткнуть в современность?
12:
woman, green eyes, white ancient Greece dress , black hair, walks on roof, futuristic city background, highres, photorealistic, black lagoon style
Э-э-э, сложно отказать машине в фантазии... *слышит рычание и топот несущих дрова* Ладно-ладно, машина тупо смешала запрос, это даже не занятно, а ужас-ужас.
Попробуем теперь добавить кошкодевушек. Так как нам нужна даже не девушка, а женщина, то наивно...
13.
cat-woman, green eyes, white ancient Greece dress , black hair, walks on roof, futuristic city background, highres, photorealistic, black lagoon style
"Здравствуйте, это канал о супергероях? Как пропатчить женщину-кошку под аниме?" Понимаю, шутка тупая. Но я же не нейросеть, мне простительно.
Так вот, к нашему запросу подмешался очень знаменитый персонаж из комиксов, который нас тут совершенно не нужен.
14.
woman-cat, green eyes, white ancient Greece dress , black hair, walks on roof, futuristic city background, highres, photorealistic, black lagoon style
Перестановка слов местами очень сильно влияет, но нам это не помогает.
Может не выделываться?
15.
cat-girl, green eyes, white ancient Greece dress , black hair, walks on roof, futuristic city background, highres, photorealistic, black lagoon style
Странно, почему возраст персонажа остался почти прежним? Ответ прост - потому что "black lagoon" в промпте. Но на деле, это в дальнейшем не очень поможет и всё равно придётся искать обходные пути. Но это потом, а пока делаем вид, что нас это устроило.
И дадим даме оружие.
16.
cat-girl, green eyes, white ancient Greece dress, black hair, sniper rifle, walks on roof, futuristic city background, highres, photorealistic, black lagoon style
Когда кто-то говорит, что нейросеть не умеет рисовать пальцы или руки, вы можете смеяться, поскольку нейросеть просто нихрена не умеет очень много-го не умеет.
Вообще мне нужна не просто снайперка, а тяжёлая винтовка. В black lagoon даже была показана такая (нейросеть про неё не в курсе, если что, я проверял).
Но сейчас посмотрим, а не мешает ли оружию кошковатость, всё же мы видели как платье меняет город, и много другого видели.
17.
woman, cat ears, green eyes, white ancient Greece dress, black hair, sniper rifle, walks on roof, futuristic city background, highres, photorealistic, black lagoon style
Внезапно снизилась хтоничность оружия... На самом деле не внезапно а вполне предсказуемо - кошкодевушки в аниме и на картинах редко пересекаются с просто вооружёнными дамами, и тем более кошкодевушек нет в black lagoon.
Вообще притягивание противоположных (или несвязанных) концепций очень сильно портит качество результата нейросети. И если Просто кошкодевушка с оружием, для неросети не так страшна, то в миксе с древней грецией, с футуристичным городом, а ещё в стиле какого-то не самого популярно тайтла (это же не наруто всё же). Короче, для нейросети это сложная задача.
Давайте утяжелим винтовку, всё же.
18.
woman, cat ears, green eyes, white ancient Greece dress, black hair, heavy sniper rifle, walks on roof, futuristic city background, highres, photorealistic, black lagoon style
К слову я пробовал разные варианты, но тупо написать "тяжелая снайперка" оказалось приводит к наиболее похожему варианту. Хотя сложно сказать, на что похожему.
Может покрутить параметры? Часто увеличение CFG или числа шагов позволяет убрать лишние детали. Надо сказать, что это работает для обычных семплеров, если вы используете что-то типа "Euler a" или "DPM2 a Karras" - т.е. все те семплеры где есть отдельна буква "a", то вам это не поможет, там мягко говоря альтернативна метода и они при малейшем изменении выдают кардинально разный результат. Иными словами в тех семплерах фактически нельзя подогнать картинку.
Итак, ставлю число шагов не 20 а 60:
18 x60:
woman, cat ears, green eyes, white ancient Greece dress, black hair, heavy sniper rifle, walks on roof, futuristic city background, highres, photorealistic, black lagoon style
Ну если на мелкой обложке, то местами даже похоже на какое-то оружие. Один фиг, художники в sci-fi выдают такие фундервафли, что нейросеть нервно дыми кулером видяхи от их фантазии.
Но хочется чуть более броского фона, красочности что-ли. Закат например?
Закат, так закат.
19.
woman, cat ears, green eyes, white ancient Greece dress, black hair, heavy sniper rifle, walks on roof, futuristic city sunset background, highres, photorealistic, black lagoon style
Стало ярче и оружие снова "поползло".
А если чуть подсократить промтп?
20.
woman, cat ears, green eyes, white ancient Greece dress, black hair, heavy sniper rifle, walks on roof, city sunset background, highres, photorealistic, black lagoon style
Тут я убрал futuristic - чтобы не лезла всякая зелёная хрень на одежде. Переставил закат и... Оружие чуть поменялось, конечно.
Обратите внимание, что следов древней греции сосвсем не осталось, и никакой футуристик уже не нужен.
Можно попробовать осторожно добавить котячести, а заодно уже и сделать пропорции вертикального потрета:
21:
woman, cat-girl, cat-ears, green eyes, white long ancient Greece dress, black hair, heavy sniper rifle, walks on roof, city sunset background, highres, photorealistic, black lagoon style
Size: 512x768
Надо отметить, что если лица легко правятся тойже нейросетью, а руки можно подобрать, всёже похожими на реальные. То с оружием всё крайне футуристично.
Ну и итог:
woman, cat-girl, cat-ears, green eyes, white long ancient Greece dress, black hair, heavy sniper rifle, walks on roof, city sunset background, black lagoon style, highres, photorealistic
Steps: 60, Sampler: DDIM, CFG scale: 14, Seed: 1888847722, Size: 512x768, Model hash: 543bcbc212, Batch size: 4, Batch pos: 0
Тут конечно ещё надо ретушировать (особенно оружие), но как бесплатный арт для обложки вполне сойдёт.
UPD. По итогам обсудения я чуть подкрутил там, тут (обновил модель) и вот теперь итог такой:
lady-cat, cat ears, gloomy face, green eyes, white long ancient Greek dress, black hair, holds heavy sniper rifle, walks on rooftop, ancient Greece skyscrapers sunset background, highres, photorealistic
Negative prompt: lowres, text, error, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry
Steps: 40, Sampler: DDIM, CFG scale: 14, Seed: 1888847741, Size: 512x768, Model hash: 4e232c5e8a, Batch size: 4, Batch pos: 3, Clip skip: 2