关于Stable Diffusion的负面提示词(negative prompt)的原理及应用

前沿

使用负面提示是引导Stable Diffusion获得你想要的结果的另一种有效方式。与需要画遮罩的修图不同,你可以非常方便地通过文本输入使用负面提示。事实上,有些图片只能通过使用负面提示来生成!

补充:理解起来并不复杂,但实际用起来可能没你想的那么容易……特别是要用的恰到好处!看完之后你慢慢会理解这一点!

一个简单的例子

让我们尝试生成一些人类的图像。
使用Stable Diffusion v1.5模型:

Portrait photo of a man.
一个男人的肖像照片。

img

一个男人的肖像照片

好的,我们得到了我们期望的。不足为奇。这些人看起来有点太严肃了!让我们尝试去除他们的胡须让他们轻松些。让我们尝试提示:

Portrait photo of a man without mustache.
一个没有胡子的男人的肖像照片。

img

提示:一个没有胡子的男人的肖像照片

我们这里出现了问题。胡子变得更明显了!发生了什么?原因很可能是跨注意力机制没有将“without”和“mustache”关联起来或者压根就没有训练“without”这个词语!。Stable Diffusion将提示理解为“男人”和“胡子”。这就是为什么你同时看到了两者。

补充:跨注意力机制在关于Stable Diffusion工作原理有讲解!

正面和负面提示

那么,我们能做些什么来产生没有胡子的男人呢?这是Stable Diffusion无法做到的吗?答案否定的,需要使用负定提示。如果我们使用提示:

正面

Portrait photo of a man.
一个男人的肖像照片。

同时负面

mustache
胡子

我们可以产生一些没有胡子的男人了!

img

提示:一个男人的肖像照片。负面提示:胡须。

负面提示的原则:如果您看到不想要的内容,请将其置于负面提示中!
负面提示的原则:如果您看到不想要的内容,请将其置于负面提示中!!
负面提示的原则:如果您看到不想要的内容,请将其置于负面提示中!!!

补充:这个原则理解起来很简单吧……但是……

负面提示如何工作?

回想一下,在文本到图像条件化中,提示被转换为嵌入向量,然后被输入到U-Net噪声预测器中。实际上有两组嵌入向量,一组用于正向提示,另一组用于负向提示。
  正向提示和负向提示地位平等。它们都有75个标记。你可以随时使用其中一个,或不使用另一个。
  负向提示是在采样器中实现的,采样器负责实现反向差分。要理解负向提示的工作原理,我们首先需要理解在不使用负向提示的情况下采样是如何工作的。

补充:文生图原理在关于Stable Diffusion工作原理有讲解!

无负提示的采样

在Stable Diffusion中的一个采样步骤中,算法首先通过文本提示进行有条件采样,对图像进行轻微去噪。然后,采样器通过无条件采样对同一图像进行轻微去噪。这完全是无引导的,就像你不使用文本提示一样。注意,它仍然会扩散成一个不错的图像,像下面的篮球或酒杯,但它可以是任何东西。实际完成的扩散步骤是有条件采样和无条件采样之间的差异。这个过程会重复进行采样步骤的次数。

img

如果没有负提示,扩散步骤是朝着提示迈出的一步,远离随机图像

带有负面提示的采样

负面提示是通过劫持无条件采样来实现的。不使用生成随机图像的空提示,而是使用负面提示。

img

当使用负面提示时,扩散步骤是朝着正面提示迈出的一步,然后远离负面提示

技术上讲,正面提示会引导扩散朝着与其相关的图像,而负面提示会引导扩散远离它。请注意,Stable Diffusion中的扩散发生在潜在空间,而不是图像中。图像空间中的上述图形仅用于说明过程。如果你对代码级实现感兴趣,可以看看这篇文章

采样空间

我们来看看下面的采样空间图解。当我们使用“带胡子男人的肖像照”这个提示时,Stable Diffusion会从所有带胡子和不带胡子男人的整个潜在空间中进行采样。你应该能得到带胡子和不带胡子男人的图片。

img

当添加了“mustache”这个负面提示时,“带胡子男人”的空间会被排除在外。有效地,我们实际上是在不带胡子男人的空间中进行采样。


接下来开始实际使用环节!

我将演练一些负面提示的用例,包括修改内容和修改样式。

输入负面提示

许多Stable Diffusion GUI 或 Web 服务提供负面提示。在 AUTOMATIC1111中,您可以在输入提示符的位置下方输入负面提示。

img

使用案例

我将介绍一些使用负面提示的示例,以便您可以了解做什么以及如何调整它。在本节中,我将使用 v1.5 基本模型,但这些技术适用于 v2 模型。

删除东西

第一个明显的用法是删除您不想在图像中看到的任何内容。假设你创作了一幅雨天巴黎的画。

img

雨天巴黎的画

Prompt: autumn in paris, ornate, beautiful, atmosphere, vibe, mist, smoke, fire, chimney, rain, wet, pristine, puddles, melting, dripping, snow, creek, lush, ice, bridge, forest, roses, flowers, by stanley artgerm lau, greg rutkowski, thomas kindkade, alphonse mucha, loish, norman rockwell. Seed: 1923936260
提示: 巴黎的秋天, 华丽, 美丽, 大气, 共鸣, 薄雾, 烟雾, 火, 烟囱, 雨, 湿, 原始, 水坑, 融化, 滴水, 雪, 小溪, 郁郁葱葱, 冰, 桥, 森林, 玫瑰, 花朵, 作者:斯坦利·阿特格·刘、格雷格·鲁特科夫斯基、托马斯·金德卡德、阿尔方斯·穆夏、洛伊什、诺曼·洛克威尔。

你想生成另一个,但一条空荡荡的街道。您可以做的是使用相同的种子值,该值指定图像,并添加否定提示“people”。您会看到一张大多数人都被删除的图像。

img

添加否定提示“人”,但保持相同的提示和种子

请注意,该场景与原始场景非常相似,但不完全相同。如果你真的需要原版,你需要使用修复来煞费苦心地去除人物,同时保持场景的连贯性。
  您可能已经注意到,上图中还剩下一个人。您可以通过在负面提示(people:1.3)中添加强调来告诉稳定扩散更加努力。这告诉稳定扩散,关键字people现在重要了30%。

img

在负面提示 people 中增加 30% 的权重会删除最后一个人

请记住,虽然您可以在 AUTOMATIC1111 中使用关键字强调(),但并非所有平台都普遍支持它!

补充:以上举例是非常理想的情况!实际并非如此简单!只是方便你好理解!

修改图像

您可以在Stable Diffusion使用负面提示进行细微更改。您不想删除任何内容,而是对主题进行轻微更改。

让我们处理这个基础图片:(这里开始将介绍一些不简单的原因!)

img

原作者范例1

Prompt: emma watson as nature magic celestial, top down pose, long hair, soft pink and white transparent cloth, space, D&D, shiny background, intricate, elegant, highly detailed, digital painting, artstation, concept art, smooth, sharp focus, illustration, artgerm, bouguereau. Seed: 479804672

看起来像刮风了,头发在飘荡。让我们使用负面提示“风”来保持头发向下。

img

原作者范例2

但实际上是很不一样的哦!如下图:

img

补充:负面提示有时候可不止影响一点点!符号也有差异!(符号差异是因为标记器生成token有差异而造成的,具体请看关于Stable Diffusion工作原理

如果想让头发遮住耳朵怎么办?让我们添加具有不同强调因子的负面提示“耳朵”。以下是三个增加的重点1.3,1.6和1.9。

img

在所有强调数值中,耳朵更多地被头发覆盖。但当数值达到1.9时,图像的构图发生了变化。负面提示可能会强烈影响扩散过程。

让负面提示在指定步骤内运行

假如你真的想使用高权重(ear:1.9)怎么办?虽然不知道你跟耳朵有什么过节,但我有个诀窍可以告诉你。你可以先使用一个无意义的词语作为负面提示,然后在后面的采样步骤中切换到(ear:1.9)。
  我们选择一个无意义的词语“the”作为无效的负面提示。你可以通过把它放入负面提示来验证它的无用性。使用它你会得到和不使用任何词语一样的图像。现在使用这个作为负向提示:
“the”
然后在第20步采样时,切换到:
(ear:1.9)
这样就可以避免在早期采样时过度去除耳朵,只在后期采样移除不需要的耳朵细节。

[the: (ear:1.9): 0.5]

由于我使用了 20 个采样步骤,the这意味着在步骤 1 – 10 和(ear:1.9)步骤 11-20 中使用负面提示。

这背后的原因是扩散过程在开始的步骤中是最重要的。后面的步骤只是对细节进行更精细的调整,例如覆盖耳朵的头发。

img

仅在后面的步骤中切换到负面提示

现在,我们所取得的成就简直令人惊叹。

  • 我们现在可以使用更强的强调 (ear:1.9) ,而无需更改构图。
  • 我们得到的图像更接近原始图像。
  • 耳朵被遮住。

补充:虽然这一些都是在最理想的情况下,但是不失为一种好的方法储备!

修改风格

负面提示不仅对修改内容有用,也可以修改样式。为什么使用负向提示来改变样式?有时在正向提示中添加太多会让模型混淆。想象一下,有人让你同时去75个地方(令牌限制),你会怎么样?但如果他们告诉你应该避开哪些地区,可能会更有帮助的。
  负面提示可以告诉模型应该避开的风格,这比正面添加所有想要的样式更简单直接。有时模型看到太多正面风格会产生混淆,使用负面提示指出应避免的样式能更好地控制最终结果。

锐化

不是在正面提示中使用“sharp”、“focused”等关键词,而是可以在负面提示中使用“blurry”(模糊)。这样生成的图像确实会更加锐化。

img

照片逼真

使用负提示painting, cartoon使其更像照片。

img

如果你想保留原来的构图,你可以尝试我之前提到的关键字切换。使用我们[the: (painting cartoon:1.9): 0.3]得到:

img

它更接近原版,但增加了照片级写实主义风格。

通用负面提示

没有标准答案,有时候一个符号都可以产生巨大影响,你可以随便抄,也可以自己微调!

总结

你需要有使用负面提示词这个想法,因为它同样也可以产生巨大的影响!
  请别忘记在恰当的时候积极使用它!

关于AI绘画技术储备

学好 AI绘画 不论是就业还是做副业赚钱都不错,但要学会 AI绘画 还是要有一个学习规划。最后大家分享一份全套的 AI绘画 学习资料,给那些想学习 AI绘画 的小伙伴们一点帮助!

感兴趣的小伙伴,赠送全套AIGC学习资料和安装工具,包含AI绘画、AI人工智能等前沿科技教程,模型插件,具体看下方。

需要的可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!
在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述
在这里插入图片描述

四、AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述
这份完整版的学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值