「AI绘图基础」使用stable-diffusion生成图片?文生图的基本理解

SD指南 2年前 (2023) Rui
2,213 0

之前讲过prompt的基本使用,比如()以及[]的作用.现在讲一讲脚本的使用,对于prompt的理解和使用有很大帮助.主要来源是stable diffusion webui的库介绍.

首先回顾一下prompt权重的更改,一般利用()以及[]

•a (word) - increase attention to word by a factor of 1.1•a ((word))- increase attention toword by a factor of 1.21 (= 1.1 * 1.1)•a [word] - decrease attention to word by a factor of 1.1•a (word:1.5) - increase attention to word by a factor of 1.5•a (word:0.25) - decrease attention to wordby a factor of 4 (= 1 / 0.25)•a \(word\) - use literal () characters in prompt

而()可以指定权重,格式类似(word:1.5),[]代表 0.952倍权重,[]不能指定权重

注意

生成的图像大小默认是512*512,因为训练时的图像大多也是这个大小,所以如果更改生成图的大小,画面可能出现多个人物或者一些奇怪的东西.

「AI绘图基础」使用stable-diffusion生成图片?文生图的基本理解

安装stable diffusion的web ui后点击文生图,下面有脚本选择

「AI绘图基础」使用stable-diffusion生成图片?文生图的基本理解

 

使用x/y/z图表

 

创建具有不同参数的多个图像网格。X和Y被用作行和列,而Z网格被用作批处理尺寸。

 

「AI绘图基础」使用stable-diffusion生成图片?文生图的基本理解

通过X类型、Y类型和Z类型字段选择哪些参数应该由行、列和批共享,并将这些参数用逗号隔开输入X/Y/Z值字段。对于整数和浮点数,以及范围都支持。

 

•范围:•1-5 = 1, 2, 3, 4, 5•范围以及增长的值:•1-5 (+2)= 1, 3, 5•10-5 (-3) = 10, 7•1-3 (+0.5) = 1, 1.5, 2, 2.5, 3•范围以及在这之中要选择几个数:•1-10 [5] = 1, 3, 5, 7, 10•0.0-1.0 [6] = 0.0, 0.2, 0.4, 0.6, 0.8, 1.0

 

下图就是一个X轴利用Prompt S/R,Y轴是跌打步数的图

 

「AI绘图基础」使用stable-diffusion生成图片?文生图的基本理解

 

上图只用了X和Y轴,还可以再加上Z轴

「AI绘图基础」使用stable-diffusion生成图片?文生图的基本理解

Prompt S/R

 

S/R提示是X/Y图的一种较难理解的操作模式。S/R是搜索/替换的意思,这就是它的作用--你输入一个单词或短语的列表,它从列表中选取第一个并将其作为关键词,然后用列表中的其他条目替换该关键词的所有实例。

 

举例如下

「AI绘图基础」使用stable-diffusion生成图片?文生图的基本理解

这里将prompt S/R作为X轴,迭代步数作为Y轴.

 

prompt是

 

a girl,suspender skirt,high quality, masterpiece,

 

所以会选取其中的suspender skirt,替换为其他单词再跑一遍.

 

如果想一次替换多个单词,

 

参考上图,可以使用双引号括住一个表示一次S/R替换.

 

此外X/Y/Z图表中还有很多其他可选参数,可以自己多尝试

「AI绘图基础」使用stable-diffusion生成图片?文生图的基本理解

 

Prompt matrix

 

使用|字符分隔多个提示,系统将为它们的每个组合产生一个图像。例如,如果你使用a busy city street in a modern city|illustration|cinematic lighting提示,有四种可能的组合(提示的第一部分总是被保留):

 

•a busy city street in a modern city•a busy city street in a modern city, illustration•a busy city street in a modern city, cinematic lighting•a busy city street in a modern city, illustration, cinematic lighting

 

拿官网的例子说明,在上面写的prompt中,本身是a busy city street in a modern city,然后使用了matrix语法,首先会有原本的prompt,然后加上第一个illustration,然后是cinematic lighting,最后是这两个都加上.所以会生成四张图.

「AI绘图基础」使用stable-diffusion生成图片?文生图的基本理解

 

Prompts from file or textbox

 

这个功能比较实用,我们可以把常用的prompt存到本地或者从本地再拿出来用.

 

「AI绘图基础」使用stable-diffusion生成图片?文生图的基本理解

 

可以自己输入,也可以拖入文本文件.

 

最后快速介绍一下模型融合,或者叫模型合并

 

模型合并

 

当我们想使用多个模型中每个模型的一些样式风格时,可以考虑使用模型合并,这跟之前讲过的Lora多个模型不同,之前是Lora多个人物,现在是多个模型生成一个新的模型.

 

当然也可以使用这个功能将.ckpt格式的模型与.safetensor的模型相互转换

 

「AI绘图基础」使用stable-diffusion生成图片?文生图的基本理解

主要参数如下

 

主要考虑

 

1.要使用哪种插值方法2.将乘数设置为多少3.要使用哪些主模型、副模型和(如果需要)第三模型4.一个文件名以给出合并后的模型

 

本身并没有太多的技巧

 

推荐可以看看其他大佬们融合模型的方法,比如/hdg/ Stable Diffusion Models Cookbook (rentry.org)[1]

 

比如这里通过多次融合最终得到了一个berrymix的模型

 

「AI绘图基础」使用stable-diffusion生成图片?文生图的基本理解

 

首先使用NovelAI和stable diffusion 1.4采用权重和得到Novel AI Fix,再用得到的模型跟其他模型不断融合,因为大模型的训练对于个人比较麻烦,但是通过这种方法得到新的模型还是不错的.此外在放一个优秀的融合模型列表STABLE DIFFUSION MIXING EMPORIUM (rentry.co)[2]

 

参考资料

 

1.Stable Diffusion-⑤如何有效书写提示词_哔哩哔哩_bilibili[3]2.stable-diffusion-webui prompt语法详解 - 知乎 (zhihu.com)[4]3.Stable Diffusion Rentries + Simple Installation Tutorial! (rentry.org)[5]4.Features · AUTOMATIC1111/stable-diffusion-webui Wiki (github.com)[6]官方文档 推荐查看

 

References

 

[1] /hdg/ Stable Diffusion Models Cookbook (rentry.org):

https://rentry.org/hdgrecipes#model-merging-crash-course

[2] STABLE DIFFUSION MIXING EMPORIUM (rentry.co):

https://rentry.co/lftbl

[3] Stable Diffusion-⑤如何有效书写提示词_哔哩哔哩_bilibili:

https://www.bilibili.com/video/BV1ac411p7hj

[4] stable-diffusion-webui prompt语法详解 - 知乎 (zhihu.com):

https://zhuanlan.zhihu.com/p/600821549

[5] Stable Diffusion Rentries + Simple Installation Tutorial! (rentry.org):

https://rentry.org/stablediffusion

[6] Features · AUTOMATIC1111/stable-diffusion-webui Wiki (github.com): https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Features#attentionemphasis

相关文章