元素法师的修习日志-SD/NovelAI Prompt写法总览
总览
平时写tag超过150就会心慌了,之前的极限是不超过250。
这次元素堆的有点多,堆tag超过400了,也顺便试试看哪些有冲突。目前完整按照我设想的出图率在5%,良品率在20%左右。
其他大部分都是背景设定(虽然效果也不错)。
减少一些元素描述会增加出图稳定性(或者你也可以当成词条包来看待
- 在 WebUI 中,可以通过修改前端的代码,从而修改渲染迭代步数的上限
Prompt写法
通法
三段式
第一段: 画质tag,画风tag
1 | (((masterpiece))), best quality, ultra-detailed, highres, extremely detailed CG, unity 8k wallpaper,best illustration, resolution, |
第二段:画面主体,主体强调,主体细节概括。(主体可以是人、事、物、景)画面核心内容,一般提供人数,人物主要特征,主要动作(一般置于人物之前),物体主要特征,主景或景色框架等
1 | 场景(但是因为先后生成关系,需要在场景最前面加上关键人物词条) |
第三段:画面场景细节,或人物细节,embedding tag。画面细节内容,整体氛围
1 | atmosphere, dramatic_ shadow, ray_tracing |
例如:
1 | (((masterpiece))), best quality, ultra-detailed, extremely detailed CG unity 8k wallpaper,best illustration, an extremely delicate and beautiful,floating,high resolution, |
三种描绘方法
- pitch型咏唱会对画面中不同分立的元素描绘的更加准确
- 自然语言咏唱的效果对于主体从属关系会还愿的更加准确,但是不稳定度却比其他的要高不少
Prompt 语法特性
放置顺序
- 如果将要被描述的主体放在前面,那么 AI 就一定会将前面的元素作为主要描绘对象
加权
- 小括号
()
相当于 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
的方式进行描绘渲染,从而达到融合的效果
分步描绘的好处有很多:
- 可以隔离元素污染
- 可以改善冰原效应,因为渲染某一个主体的时间足够长,就可以使它吸收别的元素的特质
- 如果Steps足够的情况下,可以改善局部细节,例如修手
- 脚手架法:脚手架法指一些特定的人无法做出特性的动作(诸如此类的),这种情况下,我们可以利用分步渲染,先解决动作的问题,再指定这个人(先画脚手架,再画人)。一般来说,直接描写动作或者是利用tag的隐藏属性都能实现这一点。目前最广泛的应用就是:让人偶再前面部分,后部分根据需要更改为自己想要的元素tag, 从而让自己想要的元素居中。
描绘距离
因为
hair
和flower
离得很近,同时flower
的权重又是1.35,AI 则会自动的联想到头发上出现花而如果将两者隔开一定距离,则会断开联想
占位符
上述的花却出现在了衣服上,如果想要完全不出现,可以加入无意义的占位符,例如:is, that, which, ai is sb(国内用的最多)
同时,因为 WebUI 对于描述 tokens 的分类是 75 个为一组,所以如果想要进行连续描述却到75个的时候,尽量在75个前后加入占位符,以避免连续描述被打断所造成的元素污染
高纯度词内占位符
在关键词前后加上形如:\
*
+
_
这种占位符,整体画面不会有大变化,但是会在关键词描述的元素上加上细微的区别,同时渲染,细节描写也会更多
颜文字的妙用
颜文字的信息密度很高,很少的token就可以表达一大段效果
- 可以去这个网站找到好的颜文字表情:Emoji大全 | Emoji表情符号词典 📓 | EmojiAll中文官方网站
AI生成的原理
顺序如下:
- 我们输入的词句,会被蓝色的自然语言处理器解析成一个个数字,存进蓝色的数组中。
- 这个输入数组会按顺序结合高斯噪声输入到红色的生成器中,生成粗糙的图像。
- 将粗糙的图与输入数组重复第二步,对生成的图像进行迭代
- 将迭代完的输入黄色的放大器,扩大图像分辨率,使图像细致。
简述原理参考:【AI绘画】完整tags书写思路,从人工智能理论来了解如何绘画 - 哔哩哔哩
所以可以解释以下问题:
AI生成的特性及污染
源于训练素材导致的AI自动联想
- 如果没有能自行训练模型的能力,从而用的是别人训练的模型,那么很有可能结果会不尽如人意(或者会触发奇怪的反应)
我们想绘制一个女孩手捧着耳环的图片,如果不加以描述,AI在默认情况下一定会生成一个带着耳环的女孩的照片(因为这是正常情况)
但是也因为 AI 的联想,有些奇怪的prompt却触发很多意想不到的效果,比方说如下例子中,使用了
Monster Energy
(“魔爪”饮料名),AI会引入魔爪的扭曲 logo,从而使画面往扭曲的方向去偏
元素污染
- 该 Prompt 中明显使用
white hair
来描述头发,却因为周边的元素污染,导致头发变成金色了当然,有利有弊,有一些不好描述的衣物效果也可以通过元素污染来实现
元素溢出
- 因为画布太大而 prompt 太少,从而导致AI只能将现有元素进行溢出或者重复绘制
冰原效应(强行占有另一元素的特性)
- 例如我们想要生成具有冰背景的同时,主体也带冰元素,很有可能就不能兼得,原因是两者的元素会相互侵占,即便再去加权重也没用
0级污染
在普通模型中,Flat chest
(平胸)往往和年龄较小的女性联系在一起,从而如果我们生成一个女性并指明平胸,那么很有可能人物的样貌都会产生变化,即0级污染
- 比方说:人偶,修女,平胸,这三个词条都存在0级污染
色彩的实际效果
色彩词汇并不能完全被ai认知,部分词汇无法表达出应有的效果。但是还是有很多色彩可以被被激活,具体可以参考:
img2img
元素法师的修习日志-SD/NovelAI Prompt写法总览