Перейти к содержанию

Как написать негативный промт в Stable Diffusion - Negative Prompt (NP)


Рекомендуемые сообщения

  • Модератор

В этой статье мы разберём, как написать негативный промт (Negative Prompt) в Stable Diffusion и для чего он нужен. Проще говоря, Negative Prompt в Stable Diffusion — это текстовый список стоп‑слов и фраз, который действует как фильтр для нейронной сети при создании изображений.

В Stable Diffusion есть пара категорий промтов:

  1. обычный промт, в котором вы подробно описываете изображения, которые хотите создать нейронной сетью;
  2. негативный промт (Negative Prompt), где вы указываете элементы и/или атрибуты, которые нейронная сеть не должна включать в свою генерацию.

Как написать негативный промт в Stable Diffusion - Negative Prompt (NP)

Нейросеть stable diffusion онлайн на сайтеДоступ к Stable Diffusion

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

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

image.png

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

За этим нет никакой гнусной цели, просто SD, наряду с другими нейронными сетями, обрабатывающими изображения, получает огромный массив картинок, изображающих людей в самых разных проявлениях (различные позы, части тела, оттенки кожи и т. д.). Следовательно, когда нейросеть попытается сгенерировать для вас что-то новое из этой обширной коллекции, могут возникнуть определенные неясности. Сюда может входить количество пальцев, ног, рук и т. д., поскольку для ИИ не существует абсолютного правила, гласящего, что у человека может быть не более двух рук.
Объяснив суть, давайте вернемся к нашему основному обсуждению.

Какие слова и стоп‑слова включить в негативный промт (Negative Prompt) в Stable Diffusion?

Есть два способа написать негативный промт (Negative Prompt) в Stable Diffusion:

  • составить список слов и фраз самостоятельно
  • использовать инверсии текста, созданные другими экспертами

Если вы не уверены в создании промта в Stable Diffusion, рекомендуется начать с прочтения этой статьи или просмотра этого видео, а в идеале — сделать и то, и другое.

Наиболее распространенные стоп слова и фразы, используемые в негативных промтах:

  • ugly - (некрасивый) — этот термин употребляется, чтобы свести к минимуму вероятность возникновения различных уродств
  • blurry - размытый
  • bad anatomy - (плохая анатомия)
  • wrong anatomy - (неправильная анатомия)
  • missing limb - (отсутствующая конечность)
  • amputation - (ампутация) предпочитаю не видеть изображения с отсутствующими конечностями
  • missing limb - (отсутствующая конечность)
  • text, watermark - (текст, водяной знак) — нейросеть стремится добавлять к изображениям надписи на воображаемых языках; этот негативный промт почти наверняка предотвратит это
  • mutated hands and fingers - (мутировавшие руки и пальцы) — мы обязательно включим это в негативный промт, хотя это может быть не во всех случаях эффективно
  • mutation - (мутация)
  • distorted - (искаженный)
  • deformed - (деформированный)
  • disgusting - (отвратительный)
  • extra limb - (дополнительная конечность) дополнительные конечности нам тоже не особо выгодны
  • disconnected limbs (разъединенные конечности)
  • mutated (мутировавший)
  • poorly drawn (плохо нарисованный)
  • disfigured (изуродованный)

Вы можете включить все эти термины и слова в негативный промт одновременно:

(deformed, distorted, disfigured:1.3), poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs, (mutated hands and fingers:1.4), (text, watermark:1.1), disconnected limbs, mutation, mutated, ugly, disgusting, blurry, amputation

Имейте в виду, что некоторые токены включены в список с возрастающим весовым коэффициентом, чтобы повысить вероятность исключения определенного атрибута. Чем настойчивее свойство пытается появиться на ваших изображениях, тем выше весовой коэффициент вы должны ему присвоить. Например, тексты и водяные знаки, такие как "text, watermark", продолжали отображаться на сгенерированных изображениях без увеличения весового коэффициента. Поэтому нам пришлось увеличить вес до 1.1, в результате чего получилось "(text, watermark:1.1)".

Если вы хотите исключить обнажённых людей и другой NSFW‑контент  🔞 из генераций Stable Diffusion, добавьте в Negative Prompt следующие слова:

nsfw, nude

Обращаем внимание! Избегайте использования чрезмерных слов и фраз в негативном промте, так как это может привести к сбоям в генерации. Использование длинного NP приведет к снижению качества изображения.

Давайте рассмотрим второй способ использования негативных сигналов: инверсию текста (embeddings)

Вместо предоставления обширного списка стоп‑слов вы можете просто использовать один термин‑встраивание, например EasyNegative для Stable Diffusion, или другое назначенное имя триггера, предназначенное для использования в Negative Prompt.

В негативном промте можно использовать встраивания и обычные токены одновременно, например, можно написать так:

EasyNegative, gems

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

Теперь мы подошли к решающему моменту.

Действия по настройке Negative Prompt (негативного промта) в Stable Diffusion

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

Если вы взаимодействуете с нейронной сетью Stable Diffusion через Telegram‑бота @yes_ai_bot, вы тоже можете настраивать Negative Prompt (негативный промт). В этом режиме работы Stable Diffusion ваши возможности немного расширяются, поэтому давайте разберём их шаг за шагом.

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

Второй вариант - хотите задать свой собственный Negative Prompt (NP) для Stable Diffusion?
Просто введите боту следующую команду:

/np хххххх

...где xxxxxxx — список стоп-слов или фраз, которые следует добавить к негативному промту. В этом случае все последующие поколения будут работать с учетом указанного NP.

Пример промта на установку NP (Negative Prompt):

/np (deformed, distorted, disfigured:1.3), poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs, (mutated hands and fingers:1.4), (text, watermark:1.1), disconnected limbs, mutation, mutated, ugly, disgusting, blurry, amputation

Третий вариант - если вы не хотите использовать стандартный негативный промт только в конкретной сборке, а предпочитаете использовать какой-то временный NP, сформулируйте запрос на генерацию следующим образом:

zzzzzzz /np xxxxxx

...где zzzzzzz представляет собой текст вашего промта, а xxxxxx соответствует тексту негативного промта.

В этом сценарии @yes_ai_bot распознает, что ему следует использовать текст из xxxxxx в качестве негативного промта при создании изображения, полученного на основе основного промта zzzzzzz.

Примером использования временного негативного промта может быть:

золотое кольцо /np gems

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

image.png

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

  • Лайк 1

image.png.9d5b4205072e7e483a6f7d59aebe58e3.pngimage.pngimage.png.401b8a419d2091e7d0b7f9d60646a724.png

Ссылка на комментарий
Поделиться на другие сайты

Краткий обзор материала: В статье рассматривается написание негативного промта для нейронной сети Stable Diffusion, которая используется для создания изображений. Негативный промт - это текстовый список стоп-слов и фраз, который действует как фильтр, чтобы предотвратить включение определенных элементов в генерируемое изображение. Для предотвращения изменения конечностей людей и животных можно использовать такие слова как 'deformed', 'distorted', 'disfigured', 'poorly drawn', 'bad anatomy', 'wrong anatomy', 'missing limb', 'extra limb', 'floating limbs', 'mutated hands and fingers', 'text', 'watermark'. В статье также описывается использование инверсии текста и бота Telegram @yes_ai_bot для настройки негативного промта.
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...