欢迎光临散文网 会员登陆 & 注册

AI绘画:Stable Diffusion Web UI(三.5)提示词的进阶使用

2023-04-10 08:10 作者:bjl1015  | 我要投稿

        此次是为了补充(三)中当时不懂的提示词进阶知识。非技术大佬,仅个人理解,如有错误,纯属正常。

如果大家有更深的需求,还是多读读科普向大佬们的文章,比如知乎的佬们

题外话:

        昨天逛C站的时候发现KoreanDollLikeness、JapaneseDollLikeness还有taiwan doll的作者已经回归,并且发布了KoreAV2和Japanesev1.5,需要的小伙伴快去下载

上不了C站的可以去作者的抱脸

        作者在抱脸项目上用Chilled_re_generic_v2chilloutmix_cilloutmixNi作为示例演示了v2与v1.5

本着走过路过不能错过的原则,我把Chilled_re_generic_v2也下载下来,

        先来个1girl看看,负面是NSFW。我设置的尺寸是512*768,出图几乎都是全身与七分照,而且都是小朋友,害得我又打了一遍马赛克...图片太大做了压缩处理,将就看吧,没有加载vae,颜色有点淡

2s a和sde看起来更真一点,再试一次,加载了vae-ft-mse

这个妆容实在是太重了,最后也没弄掉

        模型下载链接是谷歌网盘,我这里提供一份国内网盘供大家下载。另外新的Koreadoll和Japanesedoll可以在(四)中提供的链接下载

接下来继续正题

需要注意,以下提示词的进阶用法:

  • 进阶语法使用[ ]中括号,不会降低权重;

  • 使用进阶语法的效果并不一定比直接添加类似的提示词效果好,但是可以在不增加/减少提示词的情况下,得到一些想要的效果;

  • 我感觉和模型、采样器的选择有很大关系,效果怎么样,完全要靠自己琢磨、尝试;

  • 为了方便演示,一些示例步数设为100步,可能会造成比较大的影响;

  • AI和人类的视觉并不一样,它认为它已经画了,但是在人类眼中可能啥也不是,所以要考虑这方面的因素。

1、提示词编辑

        又称分步,格式为  [from:to:when],官方对提示词编辑的解释是,在固定的步骤后添加和删除提示词。我们可以理解为【前:后:设定的步数】,即,在设定步数之前,画的内容,之后画的内容

例如:

[sliver:yellow:0.4] hair,

  • 前40%的步数用来画银色,sliver hair

  • 40%步数以后,开始画黄色,yellow hair,一直到结束。因为后面没有银色的提示词了,AI自由发挥的话可能会把银色覆盖掉。

它的两个变体

  • [from::when],因为from从开始就直接参与进绘画,所以即便when很小,后面也会有很多的表现(感觉就像个股东一样...)

  • [:to:when]==[to:when],后来的肯定不如先到的,一般需要增加权重

  • [to:when]的形式,和降低权重[tag:num]一样,不知道会怎么样,因此不建议使用,后面也不再说

例如:

[sliver::0.4] hair,

  • 前40%的步数用来画银色,sliver hair

  • 40%步数的以后,因为没有提示词,AI自由发挥。

[:yellow:0.4] hair

  • 前40%的步数因为没有提示词,AI自由发挥

  • 40%步数的以后,开始画黄色,yellow hair,一直到结束。

        假设我们的迭代步数是30步,如果when大于1,是这种[sliver:yellow:10] hair的格式,则百分比的形式会变成步数的形式,10代表第10步,第10步之前画银色,后面20步画黄色;

总结一下:AI绘画,是从噪点到图像,越早出现的提示词能得到的分配就越多,还有模型本身的调校,采样器的影响,比如Euler a,对步数的要求低。因此from的影响要远大于to,when一般都不会过大,这个要靠自己不断尝试增加对when的敏感度。

前面的示例多说一些,后面尽可能省略

示例 :

大部分示例使用的模型为henmixRealv20,这个模型生成半身肖像真不错,不过全身的话脸很大概率会崩,全身强烈建议使用高清修复以及EasyNegative

①融合

颜色

使用[silver:yellow:40] hair作为提示词看看效果:

euler a↓

Heun↓

DPM++2M K

DPM++SDE K↓  黄色占比最大的一个

DDIM ???

其余的采样器不再一一尝试

试一下其他模型

猫猫头

a portrait photo of [man:cat:2] humanoid,

画猫猫头,when越小、to介入越早效果越好,前面也不要加1girl啥的,最好使用animal进行定义,不然很可能会出现一个猫耳娘....如果用了man,还是男性面孔猫耳娘....

换个模型↓

然后是错误示范↓这种效果直接添加两个提示词就可以,完全不需要进阶语法,除非模型不支持这种人物,那就可以试试分步

嘿嘿嘿

②  分步提示

[1girl,running:followed by a dog:0.1]

        从上面的猫猫头我们能看出来,[from:to:when]就像以步数为基础给from和to加/减权重一样,虽然效果不大一样。因此我们不仅仅可以拿它做形容词去修饰,还可以直接把提示词放进去进行较为精准的引导,或者解决一些提示词之间的冲突。

但是因为绘画知识匮乏我也不知道怎么应用,以下只是简单的示例。

一女孩在夕阳下奔跑,后面跟着个狗子

先随机来几张看看

        前一张使用了euler a,鉴于提示词够少,几乎所有的内容一开始就都有体现;后一张采用了SDE,先是人和夕阳,然后是狗,最后是河。

我们使用后一张图,保持种子不变,然后使用分步看看有什么效果

1girl,running作为一个整体,是from;followed by a dog是to;测试when从0.1开始的变化 。

[1girl,running:followed by a dog:0.1]

0.1↓girl即便只占0.1,也会被完整的体现,区别就是作为陪衬只有个背影

0.2↓

0.3↓

0.4↓

0.5↓

0.6↓

0.7↓

0.8↓

  • when较小的时候狗子会变成主体

  • 0.6的时候狗子在画面中消失了,0.7的时候还能在预览中看到一个一闪而逝的模糊狗子,0.8已经没有狗子的任何痕迹;

  • 我们可以发现迭代步数的规律,前一半步数用来构图(50%-60%之间,采样器不同、提示词相关性不同这个数值应该还会有浮动),后一半用来画细节;

  • 在前期构图时没有出现的,画细节时也就没有。

再来试一下加强权重:

[1girl,running:(followed by a dog:1.2):0.1],sunset,riverside,

0.1

0.2

0.3

0.4

0.5

0.6

0.65

0.7

        加强权重会有那么一丢丢的影响。

③ 变体的使用

[(white background:1.5)::0.1]

        在②中,分步会对girl和dog都产生影响,如果只想影响其中的某一个,可以使用分步的变体。

下面使用[from::when]的形式,表示画到多少步停止

我想画纯白又五彩斑斓

先随机一张

↑背景只有部分是白的,多了一些复杂的东西,颜色明显不够colorful,泼墨成了泼水,我们先使用[from::when]减少白色背景的步数,先看看能不能更五彩斑斓一点

折中取个0.25进行尝试,[white background::0.25]

没啥效果,再减,顺便加强colorful的权重

再减一点,顺便高清重绘修修这张脸....

有点colorful了,但是白色背景少了,多出来个星空似的背景,加强一下白色的权重,colorful也加到1.5吧

到1.5提示词也差不多了,这张图因为固定的种子,估计再修就已经废了,换个模型使用随机种子来一张

术业有专攻,这个模型很酷....虽然不知道这是画的啥

所以使用分步和正常操作有什么区别?我们在上面最终结果的的基础上再改回去尝试一下

把[(white background:1.5)::0.1]换成white background↓

把[(white background:1.5)::0.1]换成(white background:1.5)↓白色虽然造成了很严重的影响,但是这种我觉得再修一修应该也挺好的

直接不要[(white background:1.5)::0.1]

使用[(white background:1.5)::0.1]再随机一张比较一下

通过上面的对比,我们可以看到[from::when]的作用:通过很少的步数,from会给后面定下基调,然后尽量减少对一些内容的影响。

C站@Ropeanon的作品👍👍👍


[:to:when]的形式,我也没找到啥好例子,简单凑合吧

在海浪中摇摆的小船

(rocking small boat:0.8) 先看看降低权重↓因为提示词太少,降这点 没感觉

[:rocking small boat:1] ↓

[:rocking small boat:3]↓变远景了

[:(rocking small boat:1.1):3] 加强权重的嵌套↓稍微变大一点

[:rocking small boat:3]随机种子+hiresfix,感觉也没多大区别,周围环境的表现变好了一点↓

换个模型再测试一次,步数50,使用高清修复

rocking small boat↓

(rocking small boat:0.8)先看降低权重的效果,作为比较


[:rocking small boat:3]↓船少了一只


(rocking small boat:0.6)↓云和浪变多


[:rocking small boat:20]↓图片尺寸太高了,云变更多

调整尺寸

(rocking small boat:0.6),↓先看一下降低更多权重的


[:rocking small boat:20],↓


相比直接降低权重,[:to:when]将更多的绘画空间让给了其他提示词;不同模型、用不用高清修复(尤其是潜变量)、甚至尺寸,都会使分步有不同的表现


嵌套

[:[rocking small boat::30]:20],第20步开始,第30步结束

2、提示词交替

        交替的格式是[tag1|tag2|tag3|.....],意思是第一步画tag1,第二步画tag2,第三步tag3.....全都画完以后又回到tag1,一直循环到步数结束

先试试[silver|yellow] hair,看看和上面有什么区别

.....

[silver|yellow|green|red] hair,

基本上是直接覆盖了,也不知道为啥最后是银色

[silver|yellow|green] hair,

再试试猫猫头

a portrait photo of [man|cat] humanoid,

a portrait photo of [cat|man] humanoid,

这个模型交换cat|man位置并没有区别,很稳,我尝试过其他模型,交换位置会发生很多变化

因此对于不同的模型要多做尝试

a portrait photo of [man|cat|man|dog|dog|man|dog|cat|man|man|man] humanoid,

下一个 a [deer|horse] on grass

一天,赵高趁群臣朝拜秦二世时,让人牵来一只鹿献给秦二世,说:“这是一匹千里马,我特意敬献给陛下。”

秦二世左看右看,这明明是一只鹿,赵高怎么说是马呢?便笑着说:“丞相弄错了吧?这是一只鹿,怎么说是马呢?”

赵高没有理会胡亥的话,只见他祭出SD,输入[deer|horse],然后一本正经地厉声问左右的大臣们:“你们说说,这到底是鹿还是马?”

a [(deer:1.1)|(horse:0.8)] on grass

[cow|cow|horse|man|siberian tiger|ox|man] in a field

3、提示词组合

        上面两个用法,总会有提示词出现或者消失。提示词组合最大的特点就是提示词一直不会消失。

格式为tag1 AND tag2 AND tag3.....  例如 a cat AND a dog

        这种格式下提示词的权重是一样的(这个权重指的是在AND组合中的权重),如果想要修改权重,不需要再加圆括号。

格式为tag1:num AND tag2:num  AND tag3:num .....  例如a cat:1.2 AND a dog:0.3

AND必须大写,AND内容越多,需要越高的迭代步数

注意DDIM不支持AND用法

① 颜色

silver hair AND yellow hair

可以发现,颜色不再是融合或者覆盖,而是混合

red AND white hair,这种不知道程序是如何判定的?

red hair AND white hair,与red AND white hair并不一样

sliver hair AND yellow hair AND green hair AND blue hair AND purple hair,步数太低,崩了

重新来

......

调整权重

slive hair:1.2 AND yellow hair:0.4 AND green hair:0.7 AND blue hair:0.3 AND purple hair:1.1,

尝试一下二次元效果

② 猫猫头系列

a portrait photo of man AND cat humanoid,

...


指鹿为马 a deer AND horse on grass,

a deer:1.1 AND horse:0.8 AND cow:0.2 AND sheep:0.4 on grass,


a bird:1.05 AND lion:1.1 AND horse:0.8

③ 

在正常的绘图中,使用AND组合。

没想到什么用法,就简单做个对比吧

没有组合的状态,几乎百分百还原提示词的要求

将这几个描述人物的medium hair AND black hair AND black eyes AND light smile AND pleated skirt组合起来

随机几张,

除了头发颜色,其他的都和提示词一样。一张要比正常没组合的多花30多秒,(full body:1.5)也不能全部生效,即便一开始生成全身,也会立马被拉近,然后开始刻画细节和背景(如果没有(full body:1.5),会直接拉近到面部)

这效果我感觉把full body换成其他提示词也能做到吧....

减少组合词的数量应该会有其他效果?不尝试了

预览图对比:

AND组合↓

正常↓

就这样吧























AI绘画:Stable Diffusion Web UI(三.5)提示词的进阶使用的评论 (共 条)

分享到微博请遵守国家法律