元素法师的修习日志-SD/NovelAI Prompt写法总览

总览

image.png

image.png

平时写tag超过150就会心慌了,之前的极限是不超过250。
这次元素堆的有点多,堆tag超过400了,也顺便试试看哪些有冲突。目前完整按照我设想的出图率在5%,良品率在20%左右。
其他大部分都是背景设定(虽然效果也不错)。
减少一些元素描述会增加出图稳定性(或者你也可以当成词条包来看待

  • 在 WebUI 中,可以通过修改前端的代码,从而修改渲染迭代步数的上限
    image.png

    image.png

Prompt写法

通法

image.png

image.png

三段式

第一段: 画质tag,画风tag

1
(((masterpiece))), best quality, ultra-detailed, highres, extremely detailed CG, unity 8k wallpaper,best illustration, resolution, 

第二段:画面主体,主体强调,主体细节概括。(主体可以是人、事、物、景)画面核心内容,一般提供人数,人物主要特征,主要动作(一般置于人物之前),物体主要特征,主景或景色框架等

1
2
3
4
5
6
7
场景(但是因为先后生成关系,需要在场景最前面加上关键人物词条)
(1girls:1.5), castle, ((pumpkin lanterns)), in_ autumn, (bats:1.2), (ghost:1.25), Halloween,

人物
(1girl),blue eyes,(multicolored_hair+silver hair:1.3+red hair:1.2+purple hair+yellow hair:1.3+green hair:1.3), white wuxia clothes,neck ribbon, beautiful face,

灵动姿态:vibrant, dynamic Poses,

第三段:画面场景细节,或人物细节,embedding tag。画面细节内容,整体氛围

1
atmosphere, dramatic_ shadow, ray_tracing

例如:

1
2
3
4
5
(((masterpiece))), best quality, ultra-detailed, extremely detailed CG unity 8k wallpaper,best illustration, an extremely delicate and beautiful,floating,high resolution,

dynamic angle,dynamic pose,(1girl),blue eyes,(multicolored_hair+silver hair:1.3+red hair:1.2+purple hair+yellow hair:1.3+green hair:1.3), white wuxia clothes,neck ribbon, beautiful face,

too many drops of water,cloud,twilight, wide shot,watercolor,

image.png

image.png

三种描绘方法

image.png

image.png

  • pitch型咏唱会对画面中不同分立的元素描绘的更加准确
  • 自然语言咏唱的效果对于主体从属关系会还愿的更加准确,但是不稳定度却比其他的要高不少

Prompt 语法特性

放置顺序

  • 如果将要被描述的主体放在前面,那么 AI 就一定会将前面的元素作为主要描绘对象
    image.png

    image.png

加权

  • 小括号 () 相当于 1.1 倍权重,多重小括号 (()) 即为 1.21倍权重,即为 1.1 倍的叠加
  • 中括号是 [] 是 0.91 倍权重,相当于是除以了 1.1
  • 可以直接在词语后面冒号加数字来达到加权目的: (prompt:1.2)
  • 不一定要给整词加权,也可以部分加权:long black (messy:1.2) hair

融合描绘

  • 分步描绘:[green hair:red hair flower:0.2]

即前 20% 用 green hair ,后 80% 为 red hair 进行分布融合描绘

可以使用 [A::0.2] ,即为将 A元素 渲染到 20% 进度的时候删除 A元素

  • 循环描绘:a [dog | frog] in lake

即第一步 dog 第二步 frog 第三步再 dog 第四步再 frog 的方式进行描绘渲染,从而达到融合的效果

分步描绘的好处有很多:

  1. 可以隔离元素污染
    image.png

    image.png

  2. 可以改善冰原效应,因为渲染某一个主体的时间足够长,就可以使它吸收别的元素的特质
    image.png

    image.png

  3. 如果Steps足够的情况下,可以改善局部细节,例如修手
    image.png

    image.png

  4. 脚手架法:脚手架法指一些特定的人无法做出特性的动作(诸如此类的),这种情况下,我们可以利用分步渲染,先解决动作的问题,再指定这个人(先画脚手架,再画人)。一般来说,直接描写动作或者是利用tag的隐藏属性都能实现这一点。目前最广泛的应用就是:让人偶再前面部分,后部分根据需要更改为自己想要的元素tag, 从而让自己想要的元素居中。

描绘距离

  • 因为 hairflower 离得很近,同时 flower 的权重又是1.35,AI 则会自动的联想到头发上出现花
    image.png

    image.png

  • 而如果将两者隔开一定距离,则会断开联想

image.png

image.png

占位符

上述的花却出现在了衣服上,如果想要完全不出现,可以加入无意义的占位符,例如:is, that, which, ai is sb(国内用的最多)
image.png

image.png

同时,因为 WebUI 对于描述 tokens 的分类是 75 个为一组,所以如果想要进行连续描述却到75个的时候,尽量在75个前后加入占位符,以避免连续描述被打断所造成的元素污染

高纯度词内占位符

在关键词前后加上形如:\ * + _ 这种占位符,整体画面不会有大变化,但是会在关键词描述的元素上加上细微的区别,同时渲染,细节描写也会更多
image.png

image.png

颜文字的妙用

颜文字的信息密度很高,很少的token就可以表达一大段效果
image.png

image.png

AI生成的原理

image.png

image.png

顺序如下:

  1. 我们输入的词句,会被蓝色的自然语言处理器解析成一个个数字,存进蓝色的数组中。
  2. 这个输入数组会按顺序结合高斯噪声输入到红色的生成器中,生成粗糙的图像。
  3. 将粗糙的图与输入数组重复第二步,对生成的图像进行迭代
  4. 将迭代完的输入黄色的放大器,扩大图像分辨率,使图像细致。

简述原理参考:【AI绘画】完整tags书写思路,从人工智能理论来了解如何绘画 - 哔哩哔哩

所以可以解释以下问题:
image.png

image.png

AI生成的特性及污染

源于训练素材导致的AI自动联想

  • 如果没有能自行训练模型的能力,从而用的是别人训练的模型,那么很有可能结果会不尽如人意(或者会触发奇怪的反应)
  1. 我们想绘制一个女孩手捧着耳环的图片,如果不加以描述,AI在默认情况下一定会生成一个带着耳环的女孩的照片(因为这是正常情况)
    image.png

    image.png

  2. 但是也因为 AI 的联想,有些奇怪的prompt却触发很多意想不到的效果,比方说如下例子中,使用了 Monster Energy (“魔爪”饮料名),AI会引入魔爪的扭曲 logo,从而使画面往扭曲的方向去偏
    image.png

    image.png

元素污染

  • 该 Prompt 中明显使用 white hair 来描述头发,却因为周边的元素污染,导致头发变成金色了
    image.png

    image.png

    当然,有利有弊,有一些不好描述的衣物效果也可以通过元素污染来实现

元素溢出

  • 因为画布太大而 prompt 太少,从而导致AI只能将现有元素进行溢出或者重复绘制
    image.png

    image.png

冰原效应(强行占有另一元素的特性)

  • 例如我们想要生成具有冰背景的同时,主体也带冰元素,很有可能就不能兼得,原因是两者的元素会相互侵占,即便再去加权重也没用
    image.png

    image.png

0级污染

在普通模型中,Flat chest(平胸)往往和年龄较小的女性联系在一起,从而如果我们生成一个女性并指明平胸,那么很有可能人物的样貌都会产生变化,即0级污染
image.png

image.png

  • 比方说:人偶,修女,平胸,这三个词条都存在0级污染

色彩的实际效果

色彩词汇并不能完全被ai认知,部分词汇无法表达出应有的效果。但是还是有很多色彩可以被被激活,具体可以参考:

img2img

image.png

image.png

元素法师的修习日志-SD/NovelAI Prompt写法总览

https://resek4.github.io/2023/03/31/SD-prompting/

Author

Resek4

Posted on

2023-03-31

Updated on

2023-03-31

Licensed under

Comments