点赞 + 关注 + 收藏 = 学会了
本文简介
我刚接触 Stable Diffusion 时,最头痛的一点就是不知道怎么写提示词,有时候写出来了但总觉得词不达意。一时间搞不清楚是我表达能力有问题还是AI的理解能力有问题。
其实只要掌握了基本的语法,提示词写起来就不会词不达意了。无非就是词语出现的位置、多几个括号的问题。
基础语法
写 Stable Diffusion 的提示词,建议使用英文书写。现在部分模型是支持中文的,比如快手的 Kolors 。但现在主流的模型还是对英文的支持程度比较好。
比如,我很喜欢的 aniverse 这个模型(模型地址:civitai.com/models/1078...
使用英文输入得到的效果。
1girl, ocean, yellow dress
而用中文来输入的话
一个女孩,大海,黄色裙子
明显看到,这个模型能理解,但理解得不全。黄色裙子不见了。
所以说,能用英文就尽量用英文吧,毕竟现在的翻译软件那么强大。再不行就把你想绘制的内容告诉 GPT,让 GPT 帮你生成 SD 的提示词。
提示词的权重
提示词的权重,指的是提示词的重要性、分量、比重。
一个提示词的权重越高,它在即将生成的图片中的重要性、细节等要素就越多。
比如我要生成一篇花海,其中蓝色花的权重是1.1,黄色花的权重是0.9。
less
sea of flowers, (blue flower:1.1), (yellow flower:0.9)
可以看到,在这个提示词中,蓝色花的重要性比黄色花要高。
而一旦权重的值调转,就会生成一副权重比例完全不一样的图片。
less
sea of flowers, (blue flower:0.9), (yellow flower:1.1)
再举个例子,生成一个女孩在花园里,此时女孩的权重是1.2,花园的权重是0.8
scss
(1girl:1.2), (garden:0.8)
此时女孩在图片的占比会比花园高,女孩的细节比较丰富,而花园的细节比较粗糙。
而将 garden
改成 1.2
,1girl
改成 0.8
,虽然人仍然是主体,但背景花园部分的细节明显比前一张要增多了。
scss
(1girl:0.8), (garden:1.2)
控制的权重语法
中括号(降低权重)
中括号代表0.9倍的权重,比如 [Cat]
就等价于 (Cat:0.9)
。
也就是说,给提示词加上中括号后,提示词的比重会变小,会降低它的重要性。
小括号(增加权重)
小括号代表着1.1倍的权重。比如 (Cat)
就等价于 (Cat:1.1)
给一个提示词加上一个小括号后,那么该提示词在画面中的比重就会增高。
大括号(轻微增加权重)
大括号代表着1.05倍的权重。算是一种微调。比如 {Cat}
等价于 (Cat:1.05)
叠加的括号。
当我们给某个提示词添加2个中括号时,那么就相当于为这个提示词加上了0.9乘以0.9倍的权重。
lua
[[Cat]] = (Cat:0.9x0.9) = (Cat:0.81)
那么就相当于给这个提示词加上了0.81倍的权重。
那么同样的,当我们给一个提示词加上2个小括号时,那么就等于1.1乘以1.1倍的权重。也就是1.21。相当于我们给这个提示词加上了1.21倍的权重。
scss
((Cat)) = (Cat:1.1x1.1) = (Cat:1.21)
大括号也同理。
权重的快捷键
将光标移动到某个提示词,按住 Ctrl+⬆️,就能给这个提示词增加权重。按Ctrl +⬇️就会减少权重。
需要注意的是,提示词的权重我们设置得多低都行,但不要设置得过高。因为设置得太高的花图片就会出现过度拟合的情况,也就是说可能会出现变形或者失真。
一个个单词拼写是怎么回事?
为什么写提示词的时候,是一个一个单词这样去拼写,而不是用一句话去描述我们想要生成的内容呢?
1girl, ocean, yellow dress
一个穿着黄色裙子的女孩在海边
其实两种都行的,但是就目前而言,用一个一个的词组去生成图片的效果会更加的准确。更能表达我们提示词所含的意思。
另外一点,使用一个一个词的时候,也方便我们进行权重的调整。
现在也有很多开发者去研究如何让长句媲美短句的效果,也有一些平台已经支持使用长句生图了,比如 Dall-E3、Meta ai、文心一言等。但出来的效果还是一般般。
提示词的整体长度
输入提示词的时候,并不是越多越好。太啰嗦的话 AI 会觉得你喝醉酒,它也会跟着喝醉,生图效果可能会变得更糟糕。
经过众多玩家的经验以及研究表明,最好把提示词的数量控制在75个以内,这样出来的效果是最精准的。
起手式
什么是起手式呢?
在SD各个大模型训练中,会加入许多如4K、8K或者masterpiece各种各样高质量的图形去训练。
那么当我们在输入提示词的时候,比方说 4K masterpiece,那么就可以使我们生成的图像更加精美。
反向提示词也一样。比如我们输入 blur(模糊),就是不想要模糊嘛。相当于也会让生成出来的图片更加清晰。
提示词的顺序
提示词的书写顺序对权重是有一点点影响的。
arduino
text, text, cat
cat, text, text
在一组权重一样的提示词中(没有增加各种括号调整权重),越靠前的提示词权重会有所增加。
在我们书写提示词的时候,我们尽量按照如下格式进行书写。
- 画质词/画风词,首先输入可以提升画质或者改变画风的词汇(比如:masterpiece、high quality、heig detail)
- 主体,描述画面的主体(1girl、blue dress)
- 环境/场景/构图,描写环境场景灯光或者构图(garden、white background、soft light)
- lora(关于loar和相关模型下载,之后的教程会讲解)
以上就是本文的全部内容啦,想了解更多 ComfyUI 使用方法的工友,欢迎关注 👉 ComfyUI 中文教程