cover

每个 Stable Diffusion 用户都要解决的第一个问题是构建好的提示。本文总结了通过实验和其他用户输入开发的流程和技术。目标是写下我所知道的关于提示的所有内容,以便你可以在一个地方了解它们。

好的提示的剖析

好的提示需要详细和具体。一个好的方法是查看关键字类别列表,并决定是否要使用其中任何一个。 关键字类别是

  1. 主题
  2. 媒介
  3. 风格
  4. 艺术分享网站
  5. 分辨率
  6. 附加细节
  7. 颜色
  8. 照明

每个类别的关键词列表可在提示生成器中找到。你还可以在这里找到一个简短的列表。 不需要将所有类别的关键词都包括在内。可以将它们当作一个检查清单,用来提醒你可能用到的元素。

让我们逐一审视这些类别,并通过添加关键词来创建一些图像。我会使用DreamShaper 模型,这对新手来说是一个非常棒的选择。

为了更清楚地看到提示本身的效果,我目前不会使用任何负面提示。稍后我们会探讨负面提示的内容。

这些图像都是通过25步的DPM++ 2M Karas采样过程,以及512×768的图像尺寸生成的。

主题

主题是你想在图像中看到的内容。常见的错误是对主题的描述不够充分。假设我们想生成一个施法的巫师。初学者可能会写道:

A sorceress

这样留下了太多的想象空间。你想让巫师的样子怎么样?有什么形容词可以缩小她的形象范围?她穿着什么?她在施展什么样的魔法?她是站着、跑着还是悬浮在空中?背景场景是什么?Stable Diffusion 无法读懂我们的思绪。我们必须准确地表达我们想要的。对于人类主体,一个常见的技巧是使用名人名字。它们具有很强的效果,是控制主体外貌的绝佳方式。然而,请注意,这些名字可能会改变脸庞、姿势等等。我会将这个话题推迟到本文的后面部分。

作为演示,让我们将巫师描绘成强大、神秘,并使用闪电魔法。我们希望她的服装非常精致,这样她看起来会很有趣。

a beautiful and powerful mysterious sorceress, smile, sitting on a rock, lightning magic, hat, detailed leather clothing with gemstones, dress, castle background

现在,我们生成了更具体的图像。这些图像在服装、姿势和背景方面保持了一致性。

媒介

媒介 Medium 是制作艺术作品所使用的材料。例如插图、油画、3D 渲染和摄影等。Medium 的选择对作品的风格有着很大的影响,甚至单个关键词的变化也可以戏剧性地改变整个风格。现在,让我们在描述中加入关键词 digital art。

a beautiful and powerful mysterious sorceress, smile, sitting on a rock, lightning magic, hat, detailed leather clothing with gemstones, dress, castle background, digital art

我们看到了我们所期望的!图像从照片变成了数字绘画。到目前为止一切顺利。我想我们可以在这里停下来。当然是开玩笑的。

风格

风格指的是图像的艺术风格。例如印象派、超现实主义、幻想主义等。添加 hyperrealistic, fantasy, dark art (超现实主义、幻想、黑暗艺术) 到提示中。

a beautiful and powerful mysterious sorceress, smile, sitting on a rock, lightning magic, hat, detailed leather clothing with gemstones, dress, castle background, digital art, hyperrealistic, fantasy, dark art

现在,场景变得更为阴暗和阴沉。

艺术分享网站

专注于特定图形领域的网站,如Artstation和Deviant Art,聚合了许多不同类型图像。将这些网站用于提示时,可以确保图像朝着这些风格发展。让我们将artstation添加到提示中。

a beautiful and powerful mysterious sorceress, smile, sitting on a rock, lightning magic, hat, detailed leather clothing with gemstones, dress, castle background, digital art, hyperrealistic, fantasy, dark art, , artstation

改变并不很大,但图像确实看起来像是 Artstation 上的内容。

分辨率

分辨率表示图像的清晰度和细节程度。让我们添加 highly detailed 高度细致和 sharp focus 锐利的焦点这两个关键词。

a beautiful and powerful mysterious sorceress, smile, sitting on a rock, lightning magic, hat, detailed leather clothing with gemstones, dress, castle background, digital art, hyperrealistic, fantasy, dark art, , artstation, highly detailed, sharp focus

好吧,效果可能不是很大,也许是因为之前的图像已经非常锐利和细致了。但是添加上也没有坏处。

附加细节

附加细节是添加到图像中的修饰元素,用于改变图像。我们将添加 sci-fi 科幻、 dystopian 反乌托邦等元素,为图像增添一些气氛。

a beautiful and powerful mysterious sorceress, smile, sitting on a rock, lightning magic, hat, detailed leather clothing with gemstones, dress, castle background, digital art, hyperrealistic, fantasy, dark art, , artstation, highly detailed, sharp focus, sci-fi, dystopian

颜色

您可以通过添加颜色关键词来调整图像的整体颜色。您指定的颜色可能会以色调或在物体中显现。

让我们用关键词 iridescent gold 彩虹金色为图像添加一些金色。

a beautiful and powerful mysterious sorceress, smile, sitting on a rock, lightning magic, hat, detailed leather clothing with gemstones, dress, castle background, digital art, hyperrealistic, fantasy, dark art, , artstation, highly detailed, sharp focus, sci-fi, dystopian, iridescent gold

金色的部分在一些地方效果非常好!

光照

任何摄影师都会告诉你,光照对于创造成功的图像至关重要。光照关键词可以对图像的外观产生巨大的影响。让我们在提示词中添加 studio lighting 工作室式光照。

a beautiful and powerful mysterious sorceress, smile, sitting on a rock, lightning magic, hat, detailed leather clothing with gemstones, dress, castle background, digital art, hyperrealistic, fantasy, dark art, , artstation, highly detailed, sharp focus, sci-fi, dystopian, iridescent gold, studio lighting

这完成了我们的示例提示。

备注

您可能已经注意到,图像的质量已经相当不错了,并且在主题中添加了一些关键词。在为 Stable Diffusion 构建提示时,通常不需要太多关键词就可以获得好的图像。

负面提示

使用[负面提示]是另一种指导图像生成的好方法,不同的是你输入的是你不想要的内容,而不是你想要的。这些内容不一定是对象,也可以是风格和不希望出现的属性。(例如:丑陋、变形)对于v2模型来说,使用负面提示是必不可少的。如果没有它,图像的质量会比v1的要差得多。对于v1模型来说,虽然它们是可选的,但我经常使用它们,因为它们要么有帮助,要么不会带来害处。我将使用通用的负面提示。你可以[阅读更多]来了解它的工作原理。

disfigured, deformed, ugly

使用通用的负面提示。负面提示有助于使图像更加突出,使它们看起来不那么平庸。

构建好的提示的过程

迭代式提示构建

你应该将提示构建视为一个迭代过程。正如前一节所示,只需在主题中添加几个关键词,图像就可能非常好。我总是从一个简单的提示开始,只包含主题、媒体和风格。每次至少生成4张图像,看看你能得到什么。大多数提示并不会100%的时间都起作用。你想了解它们可以做什么统计上的事情。最多添加两个关键词。同样,每次至少生成4张图像以评估其效果。

使用负面提示

如果你是初学者,可以使用[通用负面提示]。将关键词添加到负面提示中也可以是迭代过程的一部分。这些关键词可以是你想避免的对象或身体部位(由于v1模型不太擅长渲染手,在负面提示中使用“手”来隐藏它们并不是一个坏主意。)

提示技巧

你可以通过在某个采样步骤中切换到不同的关键词来修改关键词的重要性。以下语法适用于AUTOMATIC1111 GUI。你可以使用网络上的Colab笔记本一键运行此GUI (Google 禁止在 Colab 上运行 Stable Diffusion)。你也可以在Windows和Mac上安装它。

关键词权重

你可以通过语法(keyword: factor)来调整关键词的权重。factor是一个值,其中小于1表示不那么重要,大于1表示更重要。 例如,我们可以在以下提示中调整关键词dog的权重。

dog, 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.

(dog: 0.5)
dog
(dog: 1.5)

增加 dog 这个词的权重有助于生成更多的狗图像。相反,减少它的权重会导致生成的狗图像减少。这个规律并不是对每张图片都适用的,但是从统计上来看是成立的。 这种技术不仅可以应用于主题关键词,还可以应用于所有类别,例如风格和照明。

()和[]语法

(此语法适用于 AUTOMATIC1111 GUI。)调整关键词强度的另一种方法是使用()和[]。(keyword)可以将关键词的强度提高 1.1 倍,与(keyword:1.1)等效。[keyword]可以将其强度降低 0.9 倍,与(keyword:0.9)等效。您可以像代数一样使用多个它们…效果是乘法的。

  • (keyword) 等效于 (keyword: 1.1)
  • ((keyword)) 等效于 (keyword: 1.21)
  • (((keyword))) 等效于 (keyword: 1.33)

使用多个[]的效果如下:

  • [keyword] 等效于 (keyword: 0.9)
  • [[keyword]] 等效于 (keyword: 0.81)
  • [[[keyword]]] 等效于 (keyword: 0.73)

AUTOMATIC1111 提示:您可以使用 Ctrl + Up/Down Arrow(Windows)或 Cmd + Up/Down Arrow 增加/减少关键词的权重。

关键词融合

(此语法适用于 AUTOMATIC1111 GUI。)您可以混合两个关键词。这被称为提示调度。语法是

[keyword1 : keyword2: factor]

factor 控制在哪个步骤将 keyword1 切换到 keyword2。它是一个介于 0 和 1 之间的数字。例如,如果我使用提示

Oil painting portrait of [Joe Biden: Donald Trump: 0.5]

进行 30 个采样步骤。这意味着步骤 1 到 15 的提示是

Oil painting portrait of Joe Biden

步骤 16 到 30 的提示变成了

Oil painting portrait of Donald Trump

因子决定了何时更改关键字。这是在 30 步 x 0.5 = 15 步之后。更改因子的效果是以不同程度融合两位总统。

您可能已经注意到特朗普穿着白色套装,这更像是一件乔的装束。这是关键词融合的一个非常重要规则的完美示例:第一个关键字决定了全局组成。早期扩散步骤设置了整体组成。后期步骤细化细节。

测验:如果您交换了唐纳德·特朗普和乔·拜登,会得到什么?

混合脸孔

常见的用例是创建一个具有特定外貌的新脸,借鉴演员和女演员。例如,将 Emma Watson 和 Amber Heard 的脸孔按照比例 0.85:0.15 混合,经过 40 步处理后可以得到一种介于两者之间的外貌:

当仔细选择两个名字并调整混合比例时,我们可以准确地获得想要的外貌。另外,你可以使用多个名人名字和关键词权重来调整脸部特征。例如,将 Emma Watson、Tara Reid 和 Ana de Armas 的脸孔按照比例 0.5:0.9:1.2 混合:

(Emma Watson:0.5), (Tara Reid:0.9), (Ana de Armas:1.2)

混合 3 张脸:(Emma Watson:0.5), (Tara Reid:0.9), (Ana de Armas:1.2)

如果你想要生成一致的脸孔,请参考这个教程。

穷人的提示到提示

使用关键词混合,你可以实现类似于提示到提示的效果,生成具有高度相似性的图像对,并进行编辑。以下两张图像是使用相同的提示生成的,只是将 apple 换成了 fire,种子和步数保持不变。

holding an [apple: fire: 0.9]
holding an [apple: fire: 0.2]

需要小心调整这个因素。它是如何运作的呢?这背后的理论是,图像的整体组成是由初始的扩散过程决定的。一旦扩散被限制在一个小空间内,交换任何关键词对整体图像的影响不会太大。它只会改变图像的一小部分。

一致面孔

使用多个名人姓名是一种简单的方法,可以将两个或多个脸合成在一起。这种合成在图像中将保持一致。甚至不需要使用提示调度。当你使用多个名字时,Stable Diffusion 会理解为生成一个人,但具有那些面部特征。以下词语使用多个名字来混合三张脸,权重不同。

(Emma Watson:0.5), (Tara Reid:0.9), (Ana de Armas:1.2)

将这种技巧付诸实践,提示是:

(Emma Watson:0.5), (Tara Reid:0.9), (Ana de Armas:1.2), photo of young woman, highlight hair, sitting outside restaurant, wearing dress, rim lighting, studio lighting, looking at the camera, dslr, ultra quality, sharp focus, tack sharp, dof, film grain, Fujifilm XT3, crystal clear, 8K UHD, highly detailed glossy eyes, high detailed skin, skin pores

以下是具有相同提示的图像:

看到这张脸在图像中重复出现!使用多个名人姓名和关键字权重来仔细调整所需的面部特征。你也可以在负面提示中使用名人姓名来避免不想要的面部特征。了解更多生成一致面孔的技巧。

提示的长度有限吗?

这取决于您使用的 Stable Diffusion 服务。在提示中,您可能会遇到关键词的最大数量限制。在基本的 Stable Diffusion v1 模型中,限制是 75标记(tokens)。请注意,标记与单词不同。Stable Diffusion 会自动将提示转换为标记,这是它已知的单词的数字表示。如果您输入它以前未见过的单词,它将分解为 2 个或更多的子单词,直到它知道它是什么。它已知的单词称为标记,这些标记用数字表示。例如,dream是一个标记,beach是另一个标记。但 dreambeach 是两个标记,因为模型不知道这个单词,因此模型将单词分解为dream和beach,它知道这两个单词。

AUTOMATIC1111 提示限制

AUTOMATIC1111没有令牌限制。如果提示中包含超过75个令牌(即CLIP令牌化器的限制),它将开始新的另外75个令牌的块,因此新的“限制”变为150。该过程可以永远持续或直到您的电脑内存耗尽…每个包含75个令牌的块都独立处理,并在输入到Stable Diffusion的U-Net之前将其结果表示连接起来。在AUTOMATIC1111中,您可以通过查看提示输入框右上角的小框来检查令牌数。

AUTOMATIC1111 中的令牌计数器

开始新的提示块

如果您想在达到75个令牌之前开始新的提示块,有时您可能希望这样做,因为块的开头令牌可能更有效,您可能希望将相关关键字分组在一起。您可以使用关键字BREAK来开始一个块。以下提示使用两个块来指定帽子是白色的,裙子是蓝色的。

photo of a woman in white hat
BREAK
blue dress

如果没有BREAK,Stable Diffusion更有可能混淆帽子和裙子的颜色。

检查关键词

即使看到别人在使用某个关键词,也不一定意味着它是有效的。就像做作业一样,我们都会无意识地复制别人的提示,有时甚至没有多少思考。你可以通过使用它作为提示来检查一个关键词的有效性。例如,v1.5版本的模型是否知道美国画家John Singer Sargent?让我们用以下提示来检查:

John Singer Sargent

是的!那么,Artstation的传奇wlop呢?

wlop

好像不是。这就是为什么你不应该使用“by wlop”的原因。这只会增加噪音。

你可以通过这种方法来观察融合两位或更多艺术家风格后的效果。

John Singer Sargent, Picasso

限制变化

要成为构建提示的高手,你需要像Stable Diffusion一样思考。其核心是一个图像采样器,生成我们人类可能会认为是合法和好的像素值。你甚至可以在没有提示的情况下使用它,它会生成许多无关的图像。在技术上,这称为无条件或无导向的扩散。提示是一种指导扩散过程到匹配的采样空间的方式。我之前说过,提示需要详细和具体。这是因为详细的提示缩小了采样空间。让我们看一个例子。

castle

castle, blue sky background

wide angle view of castle, blue sky background

通过在提示中添加更多描述性关键词,我们缩小了堡垒的采样。在第一个例子中,我们要求获取任何图像的堡垒。然后,我们要求只获取那些有蓝天背景的。最后,我们要求它是拍摄为宽角照片。

提示中指定的越多,图像的变化就越少。

联系效应

属性联系

有些属性是相互关联的。当你指定一个属性时,往往会随之出现另一个属性。Stable Diffusion 能够生成可能带有非预期关联效应的最可能的图像。假设我们想生成带有蓝色眼睛的女性照片。

a young female with blue eyes, highlights in hair, sitting outside restaurant, wearing a white outfit, side light

Blue eyes

如果我们改为 brown eyes 棕色眼睛?

a young female with brown eyes, highlights in hair, sitting outside restaurant, wearing a white outfit, side light

Brown eyes

在这个例子中,我们可以看到,当我们要求生成带有蓝眼睛的女性照片时,由于蓝眼睛主要是欧洲人的特征,因此生成的图像中出现了白种人。而当我们要求生成带有棕色眼睛的女性照片时,由于棕色眼睛在不同种族中更常见,因此生成的图像中出现了更多种族的样本。这就是所谓的关联效应。刻板印象和偏见是人工智能模型中的一个重要问题。虽然本文主要关注技术方面,但是我们仍然需要意识到这个问题的存在,并尽可能避免在我们的模型中产生刻板印象和偏见。

名人姓名的关联

每个关键词都有一些无意的联想。这在名人姓名方面尤其明显。有些演员和女演员喜欢在拍照时摆出某些姿势或穿戴某些服装,因此在训练数据中也会有这些情况。如果你仔细想想,模型训练实际上就是通过联想学习的过程。如果泰勒·斯威夫特(在训练数据中)总是交叉双腿,模型就会认为交叉双腿也是泰勒·斯威夫特的一部分。

提示: full body taylor swift in future high tech dystopian city, digital painting

当你在提示中使用泰勒·斯威夫特时,你可能想使用她的脸。但主体的姿势和服装也会产生影响。这种影响可以通过单独使用她的名字作为提示来研究。姿势和服装是全局组成。如果你想要她的脸,但不想要她的姿势,你可以使用关键词融合在后续采样步骤中将她替换进来。

艺术家名字的联系

最引人注目的联系例子可以在使用艺术家名字时看到。19世纪的捷克画家阿尔芬斯·穆谢(Alphonse Mucha)在肖像提示中非常受欢迎,因为这个名字有助于生成有趣的装饰,他的风格与数字插图融合得非常好。然而,它也常常在背景中留下一个标志性的圆形或拱形图案。在户外环境中,这些图案可能看起来不自然。

提示: digital painting of [Emma Watson:Taylor Swift: 0.6] by Alphonse Mucha. (30 steps)

嵌入是关键词的组合

嵌入,文本反转的结果,其实就是关键词的组合。它们可以比自己所声称的要做得更多一些。让我们来看看以下不使用嵌入的钢铁侠做饭的基础图像。

提示: iron man cooking in kitchen.

Style-Empire 是我喜欢使用的嵌入,因为它会给肖像图像添加黑暗的色调,并创造有趣的照明效果。由于它是在夜晚街景图像上训练的,因此你可以期望它会添加一些黑色,也可能会添加建筑和街道。看看下面带有嵌入的图像。

提示: iron man cooking in kitchen Style-Empire.

注意一些有趣的效果

  • 第一张图像的背景变成了夜晚城市建筑。
  • 钢铁侠倾向于显示他的脸。也许训练图像是一个肖像?

因此,即使一个嵌入是用来修改风格的,它只是一堆关键词,可能会有意外的效果。

自定义模型的影响

使用自定义模型是实现特定风格的最简单方法,而且效果可靠。这也是 Stable Diffusion 的一大优势所在。由于大型开源社区的存在,成千上万的自定义模型免费提供。在使用模型时,需要注意关键词的含义可能会改变。这在风格方面特别明显。以 Henry Asencio 为例。在 v1.5 版本中,只用他的名字就会生成:

使用 DreamShaper,一个专门用于人像插图的模型,与相同的提示会产生:

这是一种相当不错但显然不同的风格。该模型在生成清晰漂亮的脸上有很强的基础,这在这里得到了显示。所以,在使用自定义模型中的风格时,请务必检查。van Gogh 的风格可能已经不再是 van Gogh 的风格!

区域特定提示

你知道可以为图像的不同区域指定不同的提示吗?例如,你可以把月亮放在左上角:

或者在右上角:

你可以使用 Regional Prompter 扩展来实现这一点。这是控制图像组成的一种很棒的方法!