在学习stable diffusion如何绘画之前,我们要了解它的运行原理。内核是什么?哪些是我们能够微调修改的部分呢?
一、运行逻辑和实现原理
下面一张图就完全介绍了它是如何运行的
这张图看不懂没关系,让大佬讲一下。可以看看B站讲解
https://www.bilibili.com/video/BV1x8411m76H/?spm_id_from=333.999.0.0
https://zhuanlan.zhihu.com/p/649749094
也可以关注我,我上传学习资料中的《Stable diffusion 原理.docx》
二、熟悉各种模型及插件
1、模型安装
基本上大家都去c站:https://civitai.com/ 下载。登录不了就用国内镜像,比如 这个:https://civitai.work/
从C站选择模型,点击模型进入详情,对应模型。
下载后拷贝到你安装的stable diffusion的models目录下。
然后就会在stable diffusion的webui中模型tab看到。选择使用即可
2、模型介绍
这部分你主要熟悉: checkpoint大模型,VAE模型、hypernetworks模型、Lora模型、dreambooth模型、ControlNet模型。
新手学习先了解checkpoint、VAE、Lora就可以了。从网上下载安装上面提到的models对应目录下。
具体学习可看看大佬写的文章:
https://www.bilibili.com/read/cv24890845/
https://www.bilibili.com/read/cv23485612/
也可以给公众账号发送消息sd,获取教学视频。不仅讲了sd的安装
和使用,还有提问词怎么写,商业应用有哪些呢!
3、常用参数调整说明
我们接入webui界面,第一行就是checkpoint。你从网上下载的大模型后在这个位置点击右侧刷新图标就会显示。选择就可以了。
你要输入的文案就要在提示词这个区域输入。具体这个提示词怎么写,网上有好很多专门的教程。
基本上是从人物本身,头发,眼睛,皮肤,穿着,背景,图片质量与否等部分描述。负向词这个也好理解,就是不要在最终图中出现什么瑕疵。比如不要多手多脚,画面不要正常或较差质量等等排除词。
采样模式基本上 都固定好了。靠前的采样( euler ): 适合动漫,细节简练,快速靠后的采样(DPM): 适合写实,细节丰富,较慢
-
柔和插画模式-进阶( Euler a )
-
柔和插画模式-景深(Euler)
-
中步模式(PLMS)
-
高步模式(Heun)
-
宽幅模式(DDIM)
-
低对比模式(LMS)
-
油画模式(LMS Kartas )
-
高文本模式(DPM 2)
-
高文本模式-特写强化(DPM 2 a)
-
高文本插画模式(DPM++ 2S
-
高文本插画模式-深(DPM++ 2M)
-
高文本细节模式(DPM++ SDE)
-
强文本模式(DPM2Karras)
-
强文本模式-进阶(DPM 2 a Karras
-
强文本插画模式-进阶(DPM++ 2Sa karras
-
强文本插画模式-景深进阶(DPM++ 2M kartas
-
强文本细节模式-进阶(DPM++ SDE karras
采样绘图步数是我们要能调整的。越低: 细节简练,耗时更短。越高: 细节丰富,耗时变长。注*步数过高可能产生细节扭曲。基本上设置都是20或30
高清精绘 Hires.fix,这个精绘倍数(扩充倍数)基本上也设置为1、2。
生图长宽这块根据你的需求让sd出大小尺寸的图。严重影响效率,如果512大概几秒,如果2048的话需要20多分钟。我们可以实现一张小图,在后续操作的图生图、扩展生图,图信息部分进行调整图的大小。毕竟这是高清修复,而不用再进入sd的神经网络中进行识别。
CFG scan 文本增强 Classifier Free Guidance scale(分类器自由指导比例)是一个参数,用于控制模型应尊重你的提示的程度。如果CFG值太低,稳定扩散将忽略你的提示。太高时图像的颜色会饱和。基本上下面几个值:
-
1–大多忽略你的提示。
-
3–更有创意。
-
7–遵循提示和自由之间的良好平衡。
-
15–更加遵守提示,图片的对比度和饱和度增加。
-
30–严格按照提示操作,但图像的颜色会过饱和。
随机种子 用于在潜在空间中生成初始随机张量的种子值。实际上,它控制图像的内容。生成的每个图像都有自己的种子值。如果设置为-1,stablediffusion将使用随机种子值;如果设置为一个固定的种子值,你可以增加或替换关键词达到在图片上增加或替换的效果。当然,过强的关键词也会导致构图的改变。
在“设置”下的"采样参数"可以ETA噪声种子偏移 ENSD 有着固定初始值的作用,是确保在还原图片时与原始图片保持一致。基本上设置 31337或者33137即可。
在“设置”下的"sd"下,可以看到clip skip终止层数。ChatGpt中也有Clip,功能一样,就是把文本转化为数字信号的。你输入12个单词构成的文案提示词。Clip skip就是在哪层终止处理。而你想处理到那一层就是:clip的终止层数(clipskip)
-
ClipSkip为1:处理到最后一层(即所有层)
-
ClipSkip为2:处理到倒数第二层(忽略最后一层)
-
ClipSkip为3:处理到倒数第三层(忽略最后和倒数第二层)
-
....
-
ClipSkip为12:全部终止忽略,你的提问次就没起作用
简言之,随着剪辑跳过的增加,要处理的层数逐渐减少。结果,详细信息被按顺序丢弃,没有反映的提示数量增加了。
我们常做微调的就是:clip skip终止层数,绘画步数,噪声种子、随机种子,正面描述词,和负向词。
具体可以查看文章
https://zhuanlan.zhihu.com/p/649749094
https://zhuanlan.zhihu.com/p/646853233
也可通过我上传的教学视频中学习到
我也上传了训练用的基础包。参数设置完成后,我们就可以去C站找相关模型进行AI绘画了。而且你点击每个模型的图片后会进入到详情页
每个详情页面都有参数的设置的数值,完全对照它给的参数设置,生成人物大体是一样的,仅细微差别。
训练了几张海贼王,妮可罗宾的,看像不像?
|
|
原文始发于微信公众号(程序员老朱):小白从入门到精通stable diffusion
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论