当前位置:首页|资讯|Stable Diffusion|提示词

AI图像生成之Prompt解析——简明版?

作者:Astarlia发布时间:2023-03-11

没有深奥的魔咒,stable diffusion的Prompt语法就是如此很简单

前提说明

本文只涉及Prompt的书写规则,因此我假设你已经配置好了stable diffusion webui或者其他类似应用,并且至少成功跑出过一张图。

本文无任何技巧性内容,只介绍能让你随心所欲出图的最基本规则。

本文只展示结果,省略了大多数分析过程,还请大家多多包含。

本文确实参照许多大佬的文献和作品,非常感谢这些大佬在AI图像方面的贡献。

如果你跑过图,你应当知道下面这些最基础的概念:

Prompt:提示词,顾名思义你写什么AI就可能生成什么,常用英文。

Negative Prompt:负面提示词,你写什么AI就避免生成什么,常用英文。

权重:一个小数,表示提示词的重要程度。


除Prompt的其他参数

这部分是为了方便你复现本文内容,如果你相信作者没粘错图可以跳过

本文所有的图都是在按照如下参数跑出来的

Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 8, Seed: 2484682528, Size: 512x384, Model hash: 56be194f47, Model: cetusMix_cetusVersion2Fp16, Denoising strength: 0.7, Hires upscale: 2, Hires upscaler: Latent

Time taken: 18.62sTorch active/reserved: 6878/9184 MiB, Sys VRAM: 11616/12288 MiB (94.53%)

另外本文所有负面Prompt都是一致的,即

worst quality, low quality, malformed hands,poorly drawn hand,mutated fingers,extra limbs,poorly drawn face, monochrome, zombie,word


Prompt基本用法

先看一段示例

Prompt

masterpiece, best quality, ultra-detailed,detailed background,beautiful detailed face,high quality,extremely detailed,1girl,hood,upper body,blood,(red eye) AND (black hair),sad,A girl who is using magic and creates a magic circle,highest quallity, black light particles,illustration, cinematic light,

Negative prompt:

worst quality, low quality, malformed hands,poorly drawn hand,mutated fingers,extra limbs,poorly drawn face, monochrome, zombie,word

非常普通的描述,没有任何花哨的语法,通过这些描述跑出的图这样的

瑕疵有不少,但是还算符合个人审美,接下来我们对上述Prompt进行分析,以正面Prompt为例:

Prompt:

masterpiece, best quality, ultra-detailed,detailed background,beautiful detailed face,high quality,extremely detailed,1girl,hood,upper body,blood,(red eye) AND (black hair),sad,A girl who is using magic and creates a magic circle,highest quallity, black light particles,illustration, cinematic light,

因为是简明版,就不一句一句分析了,直接上结论:

语言:一般用英语,没什么好纠结的,有关Prompt的工具也有不少了,实在不行上百度翻译啊

构成:英文单词/短语/句子+逗号

语句长短:一个词、一个短语、几个AND相连的短语(用AND相连的词语推荐带小括号)和一个句子均可

顺序:一般来说越靠前优先级越高,但也不绝对

距离:这里指的是Prompt与Prompt的距离,如果我们想让一些Prompt有所关联,那么应该把他们放在一起


加权Prompt

每一个提示词可以有不同的权重,权重是跟在提示词一个小数,他的默认值(不写的情况)是1,越大越重要,越小越不重要。

请查看示例:

masterpiece, best quality, ultra-detailed,detailed background,beautiful detailed face,high quality,extremely detailed,1girl,(hood:1.2),upper body,(blood:1.4),(red eye) AND (black hair),sad,A girl who is using magic and creates a magic circle,highest quallity, black light particles,illustration, cinematic light,

相比于之前只改了两处:hood -> (bood:1.4) , blood -> (blood:1.4) , 之前明明写了blood却没什么效果,接下来我们把他增强一些,以下结果:

结论如下:

推荐语法: (提示词 :权重)    

非常简单,只要在小括号里写提示词、冒号和权重就行了。

其他语法:括号嵌套,比较麻烦,感兴趣的看一下吧

%E6%8F%90%E7%A4%BA%E8%AF%8D%E6%9D%83%E9%87%8D%3D1*1.1%5E%7B%E5%B0%8F%E6%8B%AC%E5%8F%B7%E5%B5%8C%E5%A5%97%E5%B1%82%E6%95%B0%7D*0.91%5E%7B%E4%B8%AD%E6%8B%AC%E5%8F%B7%E5%B5%8C%E5%A5%97%E5%B1%82%E6%95%B0%7D

范围:一般写0-2之间,当然你也可以写100试试


特效

适当加一些描述画面的词能达到意想不到的效果,其实之前的描述中已经包含不少特效了,我们加一个镜头(注意最后的逗号,加不加结果不同),再跑一下:

masterpiece, best quality, ultra-detailed,detailed background,beautiful detailed face,high quality,extremely detailed,1girl,hood,upper body,(blood:1.4),(red eye) AND (black hair),sad,A girl who is using magic and creates a magic circle,highest quallity, black light particles,illustration, cinematic light,close up,

效果如下:

可以发现人物靠近了,镜头确实起效了。

另外,上面的有很多特效相关的描述,总结如下:

质量:masterpiece, best quality, ultra-detailed,detailed background,beautiful detailed face,high quality,extremely detailed,highest quallity

镜头:close up

光影:black light particles, cinematic light

画风:illustration

原来上面的图全是特效的功劳啊,大家可以自己试一试其他特效的描述词

下面的参考文献里有更多更详细的介绍,建议大家都去看看。


融合Prompt

将两种物体融为一体(创造新生物?)

请查看示例:

masterpiece, best quality, ultra-detailed,detailed background,beautiful detailed face,high quality,extremely detailed,[1girl:10|rabbit:10],(hood:1.2),upper body,(blood:1.4),(red eye) AND (black hair),sad,A girl who is using magic and creates a magic circle,highest quallity, black light particles,illustration, cinematic light,medium view

结果如下:

头(兜帽)上确实有了兔耳朵一样的物体。

语法如下:

基础:[a | b]    先画a,再画b

带权重:[a : a的权重 | b : b的权重]

多步:[a | b | c | ...]

step: 据说小于1时表示总的步数的百分比,大于1时表示步数


分步Prompt

规定了AI绘制的先后顺序,比如示例中我希望AI先绘制黑发少女,然后在把黑发绘制成红发

请查看示例:

masterpiece, best quality, ultra-detailed,detailed background,beautiful detailed face,high quality,extremely detailed,1girl,(hood:1.2),upper body,(blood:1.4),(red eye) AND ([black hair:red hair:5]),sad,A girl who is using magic and creates a magic circle,highest quallity, black light particles,illustration, cinematic light,medium view

效果如下:

嗯,头发多了些红色,但好像也增加了更多的瑕疵。

语法如下:

基础:[a: b : step]  Prompt的值初始时为a,在step之后变成b

嵌套:[a: [b : c : step] : step]

省略:[a: : step]  ,[ : b : step]

step:  据说小于1时表示总的步数的百分比,大于1时表示步数


基于模型训练的猜测

占位符

并不是所有文字都能被AI理解,比如说“+++++++------”,我们看这段符号无法看出任何意义,训练时就不会把它们作为输出,所以机器也一样看不懂,这意味着我们可以用这些符号作为占位符,把相邻的一些Prompt分隔。

适当地使用现实的经验

为何不把你在现实中看到的景象如实地告诉AI呢,画面里有些元素总是一起出现的,例如天空和白云、无头和学姐,画师是这么画的,AI是这么学的,你把这些告诉AI之后大概率可以得到满意的结果。

关于逗号

多输入一个逗号都会导致生成不同的图,这可以理解,机器并不会过滤某些词,而是把所有词都编码、然后一起喂给AI模型,Prompt结尾的逗号虽然没什么意义但有些事务(对自然语言模型没研究,不确定是不是逗号本身)也被作为描述输入到模型,其中的转换过程不得而知,但从结论上来说,逗号起到了添加噪声的效果。


模板?

个人很反感模板,但不得不承认,用起来是真香。=

分为三个步骤

前置:质量+画风+镜头+光照

主要内容:主要景物+次要景物+镜头和光照

全局效果:光照+镜头+画风

参考:《元素同典:确实不完全科学的魔导书》

woc,这什么玩意儿,看懂了但不会弄呀,说了等于什么也没说呀。我在此强烈建议同学们去把大神们出图的Prompt抄下来(例如civitai上的很多图都可以看到模板的影子),自己分析一遍,然后照猫画虎写一写。千万不要排斥模仿,创新本来就是无意识的模仿加一点灵感(随机种子)。


参考文献

《元素法典》

《元素同典:确实不完全科学的魔导书》


“万事皆虚,万事皆允” 大家都喜欢把简单的事情理论化、复杂化。什么都不看遵从自己的本心也许未必是坏事,花几分钟浏览下此文也可,毕竟我们中大多数只是过往的看客。


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1