图片:
【资料图】
prompt :
正向:
(((masterpiece))),best quality,watercolor,((illustration),
(((beautiful detailed girl))),((mysterious)),small chest,(witch_brew),
((delicate cute face)),red eyes,
ringlets,white hair,
((witch_robe)),black robe,hooded robe,golden laces,
((fairytale)),(night),((cauldron)),mushroom_forest,glowing_mushrooms,luminous_spirit,light_particles,
反向:
EasyNegative, extra fingers,fewer fingers,
参数列表和模型:
Steps: 30, Sampler: DPM++ SDE Karras, CFG scale: 10, Seed: 2566641591, Size: 512x384, Model: counterfeit2.5, Denoising strength: 0.5, Clip skip: 2, ENSD: -1, Hires upscale: 2.75, Hires upscaler: Latent (nearest-exact), Eta: 0.667
解析:
这张图片的话,是一次 TtoI 的产物来着...没有经过多次处理就产生了原图中这种比较特殊的效果,主要是利用了 prompt 中的一些特性...
最主要的是利用了噪点来着...
一般来说,对于 512*384 的图片,使用 2.75 的 up,是需要 0.6 以上的 DS 防止产生噪点的来着...而这里只使用了 0.5 的 DS。
但是对于这个 prompt,2.75 的 up 首先模糊化了所有的背景(也就是 cauldron 之后的所有 tags,它们虽然可能难以从结果图中看出完整的表现,但为生成提供了相应的基底...),而 0.5 的 DS ,在进一步的生成中,是不足完全链和,从而补全这些背景 tags 的,所以产生了具有部分关联性的噪点...
进一步的,因为有高加权强泛化词 fairytale 的存在,所以这些噪点有了明确的补全方向...(实际上补全为小花也是噪点的一般补全方向之一)
所以就有了如图的效果。
嗯,概括而言就是,因为加入的噪点与图片的放大比例不均衡,所以出现了噪点,利用背景 tags 将这些噪点进行一定程度的规约后就可以用关联的强泛化词进一步修饰它们,使它们成为图片的特色而非错误。
大概就是这样?
然后...还有其他的一些特性来着...
比如第四个 tag illustration,左右侧括号不等并不是误打来着...这是一个我比较喜欢使用的特性...效果的话...和后面 tag 之间的关联顺序有关,因为比较繁琐所以这里就不细说了...
(这个其实主要是用来保证“不使用高清修复的情况下,1k*1k 的分辨率不会导致人物的边缘化" 这一属性的,其实是之前没有使用高清修复时的遗留特性...用习惯了就没改来着///)
(具体参见最下面的注释)
还有一些词汇,权重,分块,顺序,长度之类的特性...嗯,应该很明显的来着?
注释:
一般而言,((A),B 可以看作 ((A),B) 理解
也就是说,省略了一个位于整个 prompt 末尾的反括号。(虽然这两种写法好像也有一些微妙的差别来着//)
但是上面的写法,与 ((A)),(B) 之间是有绝对的差异的。虽然它们看上去都是增加所有 tags 的权重,但是整体的括号效果上会更加“平滑”一些。
【另外,这两种写法在与整个括号外的,其他词汇的交互上可能也有一些区别】
这个 “平滑” 是什么意思呢?
如果要理解这一点的话,就要提一个历史遗留问题:
同类型的 tag,它们的效果(尤其是加权后的效果)是可能有非常大的差异的。
这一问题的由来是 tag 属性的两面性:比如 red hair,如果给它加权,那么是词汇的本质(红的程度)得到强化,还是词汇的数量(头发的多少)得到强化呢?
实际上,强化的效果是二者的结合,也就是整体意义上的加权得到强化。
这看上去似乎并没有什么好奇怪的,但实际上导致了非常大的问题。
举个例子:short hair,wavy hair,(Blond hair),(hair flower),
这是一组关于头发的描述,我们假设这一组描述在整体描述中的权重是均衡的。
那么这一组描述有没有什么问题呢?
是有问题的!它几乎必然会在高分辨率(直接生成而非高清修复)下分裂成两个人。
当然,如果利用一些其他的特性也是可以保证只生成一个人的。
原因是 short hair 无法承载后面大量关于头发的描述带来的 “量” 上的强化。
如果换成 long hair,虽然它和 short hair ,在我们的理解上,词性几乎是一模一样的,但是分裂成两个人的概率会小很多,原因是显然的。
好,回到之前的话题,为什么说这种打括号的方法会比单独打更优呢?
因为如果想直接生成高分辨率的图(而不经过高清修复)的话,我们是需要增加人物的权重的(不然会导致人物的边缘化)。
增加人物的整体权重的同时需要增加人物各部分的权重...这就会引起上面提到的问题:
加权之后 short hair 这类对 “量” 有限制的词汇会出现错误,可能是 short hair 失效,可能是身体扭曲,当然,最可能的还是出现两个人(毕竟这确实是满足 prompt 的最优方案)
而最上面那种打括号的方式可以一定程度上避免这种问题,它加权的模式比较“平滑”。
大概就是这样(虽然好像还是没有解释什么叫 “平滑”)。
这是一个没有必要了解的知识点
在有 EN 一类效果强大的负面 Pt 的现在,用上高清修复后,一般而言,就算 prompt 里有大量原本非常致命的错误描述,也不会太过影响生成的图片的效果了
另外,更大多数的情况下,这么打括号只是打错了而已...