Как убрать лишние конечности, нарушения пропорций и лишние объекты в Stable Diffusion

Лого investbro.ru

Всем привет. Продолжаем изучать возможности Yes Ai Bot и сегодня поговорим об ошибках. Разберем, что нужно делать, если Stable Diffusion рисует на изображении вместо одного персонажа нескольких, либо искажает пропорции тела.

Бывает так, что при работе с нейросетью возникают ошибки. Мы вроде бы делаем все правильно – по правилам прописываем промпты, устанавливаем по инструкции настройки, но результат все равно получается не тот.

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

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

Причина первая

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

Дело в том, что современные модели нейросетей в основном обучались на изображениях с соотношением сторон 1:1. Поэтому лучше всего у Stable Diffusion получаются изображения именно в таком соотношении сторон.

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

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

Читайте также:

Что делать в этом случае?

Есть несколько вариантов:

  • Можно попробовать сделать повторные генерации, при этом в текстовом запросе (промпте) сделать особый упор на количество человек. Например, «1woman» или «1cat».
  • Можно немного сравнять ширину картинки относительно ее высоты (или наоборот), если есть какие-то существенные перекосы.
  • Также можно указать дистанцию до объекта (например, до человека, если на новом изображении должен быть человек). Делается это путем прописывания в промпте специальных токенов (слов или словосочетаний). Например, «closeup» – очень близко, «fullbody» – в полный рост (при этом вырастет вероятность появления клонов).
  • Еще вариант – использовать лору <lora:114460:Х>. Она специально обучена менять расстояние от камеры до генерируемого объекта. Вместо «Х» нужно подставить число от -7 до 7. Где -7 – это максимальная удаленность объекта от наблюдателя, 1 – шаговое расстояние, 7 – наибольшая приближенность, как и при использовании слова «closeup». Вот пример составления промпта с этой лорой: «<lora:114460:-2> photo of a woman, blonde hair, smiling, in the woods»

Причина вторая

Следующая причина, по которой нейросеть может выдавать на изображении дубли и дефекты – это ошибка в промпте. Т.е. вероятно, что вы просто неправильно составили текстовое описание того, что нейросеть должна для вас нарисовать.

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

Например, возможно, вы в начале промпта указали «1woman», а где-то чуть дальше прописали еще имя и фамилию (или псевдоним) какой-нибудь известной личности. А нейросеть при этом думает, что нужно изобразить и ту одну женщину «1woman», и того персонажа, имя которого вы назвали далее.

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

Но стоит отметить, что это крайне редкая ошибка, и с высокой долей вероятности нейросеть не будет делать клонов только по этой причине.

Но на всякий случай вот ссылка на обучающую статью о том, как писать промпты для Stable Diffusion.

Причина третья

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

О чем это? Если в вашем текстовом описании указано то, что на картинке должен находиться определенный человек (например, возьмем ту же «1woman») и одновременно добавлена текстовая инверсия, которая предполагает генерацию какого-то человека.

В этом случае нейросеть попробует изобразить и того, и другого.

Какое здесь решение? Попробуйте удалить из описания либо упоминание человека, либо текстовую инверсию.

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

Это все по данной теме. Еще больше полезных материалов о YES Ai Bot и работе с нейросетями читайте у меня в блоге. И обязательно подписывайтесь на обновления, чтобы не пропустить новые обучающие статьи.

До скорого!

Читайте также: 
Комментарии к статье: 0
Добавить комментарий
:grinning: :grining-smiling: :tears-of-joy: :smile-open-mouth: :tall-eyes-open-mouth: :cold-sweat: :scrunched-closed-eyes: :halo: :winking: :rosy-cheeks: :slightly-smiling: :tongue: :relieved: :heart-eyes: :sunglasses:
* Нажимая на кнопку "Отправить", я даю согласие на рассылку, обработку персональных данных и принимаю политику конфиденциальности.