4.学徒级语法【三段式】&如何写提示词
三段式与基本提示词写法
简而言之,三段式就是把质量词、主体、背景三者的描述分开进行。很多人在写提示词的时候会受到英语水平的限制,于是就提出了三段式语法,其目的是在较多提示词的时候能够一目了然的分辨内容,方便删减提示词和调整提示词的权重。这在当时元素法典时期使得大家能够快速的分享自己的提示词或者使用其他人的提示词。
质量词和效果词放最前面,人物与人物特征放在中间,背景和光效放以及功能性tag最后面,这是三段式的基础用法。
8k Wallpaper,grand,(((masterpiece))), (((best quality))), ((ultra-detailed)), (illustration), ((an extremely delicate and beautiful)),dynamic angle,
rainbow hair,detailed cute anime face,((loli)),(((masterpiece))),an extremely delicate and beautiful girl,flower,cry,
water,corrugated,flowers tire,broken glass,(broken screen),transparent glass.
前缀(质量词+画风词+整体效果)
质量词用于提升生成质量:
例如:masterpiece、best quality等
画风词用于凸显图片的画风:
例如:
冰箱贴前缀:
[(flat color,vector graphics,outline):1.35),(paper cutting:1.2)::0.6],
立绘法的前缀:
official art,1girl, simple background,[(white background:1.5)::0.2],open-mouth,(white background:1.2)
当然了,这些符号的意义将在后面详细讲解,现在看不懂也没关系
效果词为整体画面效果的提示词
例如:炫光lensflare、景深Depthoffield、 角色焦点character focus、从下面看from below等等
注意:部分固定(例如白背景立绘)这种属于风格类提示词,建议放到前缀里而非最后的背景
主体(画面中的主体部分)
主体为图画想要凸显的主体,可以是人物,建筑,景物等,主体部分要进行丰富的描述才能获得细节丰富的图像。
对于角色来说,通常包括了面部,头发,身体,衣着,姿态等描写。
没有角色时,可以将场景中的重要点即高耸如云的城堡,绽放的花朵,破碎的钟表等,想要位于画面中心的物体进行描述。
描述的顺序大致为由主到次,即你想要生成图中占据大部分画面的元素放到最前面。除此之外你想要生成违反生活常识经验/常见创作的元素的图你需要更为详细的描写或者更高的权重。
当 1 girl 和 earring 简单结合时,无论两者谁先谁后,最后都会变成“一个二次元美少女带着耳环”的样子,不会在简短描述下就轻易地出现诸如“美少女向前抬手捧着耳环、耳环在镜头前是一个特写、美少女的身体被景深虚化”的情况。因为在我们的生活常识中,大多数这两个“物”结合的情况都是前者,后者在作品描绘里出现的情况极少,因而这两者即使是顺序调换也只是让美少女是否摆出展示耳环的姿势,无法轻易地切换主次
继续深讲就到训练集的部分了,虽然它的本质是训练集与 LatentDiffusion 对于自然语言的处理,但考虑到大多数组成训练集的作品都取自于生活经验 / 常见创作想象,且自然语言处理本就是努力拟合生活经验的过程,所以实际上并无明显不同。
场景(背景,环境)
场景是主体存在的周围场景,没有场景描述时容易生成纯色背景或者是效果tag相关的背景,且主体会显得很大。部分主体会自带场景内容,例如建筑,景物。
例如:繁花草甸flowerymeadow,羽毛feather,阳光sunlight,河流river,碎玻璃Brokenglass等
此外,元素法典后期的提示词实际上并没有严格遵循三段式,具体原因是大家都开始研究分步语法,分步语法会将背景和主题放到同一模块,成为“两段式”,而非上面所说的三段式。
当然了有关分步渲染的相关内容,在下面【7.WebUI基本进阶用法】会有详细的讲解,现在看不懂也是没有关系的。
(((masterpiece))),(((crystals texture Hair))),(((((extremely detailed CG))))),((8k_wallpaper)), (1 girls:1.5),big top sleeves, floating,beautiful detailed eyes, overexposure,light shafts, soft focus,side blunt bangs, buttons, bare shoulders,(loli), character focus,wings,(((Transparent wings))),
[[((Wings made of golden lines,angel wing,gold halo around girl,many golden ribbon,Aureate headgear,gold magic circle in sky,ight, black sky):0.7):((galaxy background, snowflakes, night sky, black pupils, starts sky background, stars behind girl, view on sky,standing):0.8)],Elegant hair,Long hair,The flying golden lines,Messy golden lines,halo,hairs between eyes,Small breasts,ribbons, bowties,red eyes, golden pupil, white hair,flowing hair,disheveled hair,lowing long hair):(Delicate arms and hands):0.9]
隔离元素污染
如果你在别人的提示词中看到了BREAK 这个词,或者是看到了++++////\\这种毫无意义的符号,无需感到疑惑,这只是占位词。Stable Diffusion模型仅限在提示词中使用75个token,所以超过75个token的提示词就使用了clip拼接的方法,让我们能够正常使用。
BREAK这个词会直接占满当前剩下的token,后面的提示词将在第二段clip中处理。而早期++++////\\这些符号,大都是因为不知道BREAK这个词而添加上用于占token的。
输入BREAK之后你可以看到直接占满了剩下的token
为什么要使用占位词/BREAK呢?
AI在生成图像的时候会将一些提示词的特征放到其他的物品上,例如我在提示词中写了white clothes和Flower background,那么很有可能在衣服上出现花的装饰。如果我们不想在衣服上出现花的装饰,那么比较简单的方法就是把这两个词放到两段clip中处理。
自然语言“咏唱法”
自然语言的效果实际上在Stable diffusion上效果是更好的,但是由于novelai模型的训练方法和一部分LoRA模型训练的时候训练集的标注以tag为主,所以可能tag的表现更好一些。但既然是Stable diffusion模型,那么使用自然语言本身就没有什么问题,甚至于说部分时候效果还更好。例如下面提示词就混合了自然语言和tag,大家也可以自己尝试一下自然语言去写提示词。
flat design,
(official art:1.2)
(white background:1.2),
depth of field, double exposure,
(There is a big world tree with magic:1.2),
(She is inside the world tree:1.2),
1girl,solo,fullbody,
(She is a angel with beautiful detailed eyes with crystal textured hair with beautiful detailed face with (clothes)+(beautiful transparent wing)),
(She is a angel with red eyes with white hair with (clothes)+(light wings)),
(She is a girl with long flowing hair with the hair between the eyes),
(She with white dress with detached Sleeve with off_shoulder clothes),
(She with symmetrical wings with transparent wings with mechanical wings),
(She is a sitting girl with small breasts with (wariza:1.2)),
(She is far away form viewers and looking at viewers with (from side:0.5)),
(She is beside the floating cubes:1.4),
(super fucking cool golden light:1.2),
(white background:1.2),
irradiance particles, ray tracing,(The broken floor:1.3),
depth of field, tyndall effect, double exposure,
visual impact,((Ink mist,Coloured lead painting,[[Gouache painting]]):1.5)
(Glitch Art:1.414)
请不要使用shit山负面
大量的负面提示词会对生成的图片产生灾难性的影响。新的tag串在编写的时候负面提示词是需要放到最后再添加的,因为无论如何负面提示词都会对画面产生一定的影响,并且很多影响是不可预见。这将会导致很多想要达到的效果无论如何也无法实现。实际上《元素法典》研究提示词的时候一般的操作是当生成图出现自己不想要的东西的时候再作为补充。
负面embedding也不是越多越好,负面embedding对构图会有影响,很多人以为越多越好从而叠一堆负面embedding,其实不用也一样能出好图。甚至好的手也不依赖负面embedding,有的时候手崩了即使用了负面embedding也不会很好的修复。
放这么多的负面embedding堆在一起,不但会严重影响提示词的准确性,还会严重影响生成图效果和模型的泛化,甚至于说能把大部分模型干成同一种风格。
前者未使用负面embedding,后者为使用embedding。可以明显的看到,使用embedding生成的图已经明显失去风格化
本文档作者为:千秋九yuno779 https://civitai.com/user/Yuno779