手把手教你从0基础入门Stable Diffusion
在开始学之前,我想提前说一下,我所理解的AI绘画的本质,就是手替,人提出方案,AI帮你完成具体的作画过程。
写这篇文章的初衷,网上的stable diffusion教程太多了,但是我真正去学的时候发现,没有找到一个对小白友好的,被各种复杂的参数、模型的专业词汇劝退。所以在我学了之后,想出一篇这样的教程,希望能帮助完全0基础的小白入门,即使完全没有代码能力和手绘能力的设计师也可以学得会的教程。软件从来不应该是设计师的限制,设计师真正的门槛是审美。
受限于篇幅,这篇只介绍最基本的操作,并且会带手把手带大家去做一个案例出来,让大家先把AI绘图的整个流程跑通。如果反馈还不错的话,下一篇补充一些进阶的操作。
另外我还想说的是,最近ai的工具越来越多,尤其是ai绘画,让大家变得越来越焦虑。我个人感觉要破解这种AI绘画带来的焦虑感,第一是要去了解它背后的原理,或者说它大概能做什么了解之后就相对没有那么焦虑了,第二是打不过就加入,让AI成为你的一个工具, 同时,即使通过AI可以抹平大家技法上的差距,但是审美上的差距是无法用AI抹平的,而这个可能会变成大家能力差距的重要来源。
先给大家看一下我用Stable Diffusion(以下称SD)画出来的图。
AI绘画工具的选择
目前市面上最流行的两个绘图工具 Midjourney 和 Stable diffusion 以及他们之间的区别,具体的研发背景等信息这里不做赘述,大家可以自行百度,只说一下对于设计师更关心的五个方面。
综上,从我的个人角度出发,SD在工作中落地的潜力是要大于MJ的,这也是我选择学习和深入研究SD的原因。
软件安装与打开
关于软件的安装,以及环境的部署,建议直接下载大佬们网上的整合包。这里推荐秋葉aaaki大佬的整合包,链接在这里:https://www.bilibili.com/video/BV17d4y1C73R/?spm_id_from=333.788.video.desc.click&vd_source=bd8f1862d445f4e01d7c1f49857dd474
这里建议直接安装大佬的一键整合包,极大地降低了安装难度,对小白非常友好。
这里演示一下win下如何安装,mac系统的同学也可以在网上找到对应的一键整合包,以及显卡不太好的同学也可以选择云端部署,这里给大家把链接贴出来。大家可以自行对照视频一步一步进行,基本没有什么难度。
mac m芯片:https://www.bilibili.com/video/BV1Kh4y1W7Vg/?spm_id_from=333.337.search-card.all.click&vd_source=bd8f1862d445f4e01d7c1f49857dd474
云端部署:https://www.bilibili.com/video/BV1po4y1877P/?spm_id_from=333.337.search-card.all.click&vd_source=bd8f1862d445f4e01d7c1f49857dd474
1. 下载后是这两个文件,先双击运行一下右边的程序,安装一些必要的运行环境,然后解压左侧的压缩文件到你想要安装的位置。
2. 然后打开解压后的文件夹,找到“A启动器”的exe文件,双击打开。
3. 打开后如图所示。
4. 然后点击“一键启动”,稍等片刻后会自动打开这个浏览器界面,就可以使用了(第一次打开时会有点久)
流程和界面介绍
这里不去介绍sd的实现模型,只介绍一下我们所看到的呈现模型。可以理解为,就像是在做一道菜一样。首先准备原料(提示词和参数),然后按照菜谱(模型)来烹饪,让原料经历各种处理,最后就得到了可供品尝的美食(图像)。
下面是关于软件的界面整体布局介绍,主要是由三大模块构成的,模型,提示词和参数,后面的章节会具体介绍一下每个模块。
模型五大分类
如前面所说,模型就像是我们做菜时所用到的菜谱。每个模型都会有自己的风格,例如二次元画风,cg画风等等。
在sd中,目前共有5种模型。
1. 基础底模型(单独使用):checkpoint,
2. 辅助模型(配合底模使用):Embedding,Lora,Hypernetwork
3. 美化模型:VAE
对于这几种的区别和使用方式,可以理解为基础底模型就是烹饪中的“炒”,而辅助模型则是“爆炒,小炒”,最后美化模型则是更细节的方式,例如(盐爆,葱爆,油爆)等。
在sd中,基础底模型必须有且只能有一种,而后面的模型则没有限制性,可以没有,也可以是一种或多种。
模型的下载和使用
我们在下模型时,就可以看到对应的类别:这里以最常用的基础底模型(checkpoint)和lora模型为例,介绍一下它们怎么使用。
1. 首先我们要知道下载的模型是什么类别,如果是从上面两个网站下载的,那我们下载时就知道它的类别。如果是从其他渠道比如说别人的百度网盘链接,那这时,我们可以借助一个网站去获取模型类别:https://spell.novelai.dev/
2. 然后,将模型文件放到对应的文件夹中。在这里,我们可以同时放一张模型的预览图,然后将图片名称改成和模型一样,这样后面我们调用模型时,就可以直接根据预览图来选择。另外在模型的命名上,我们可以用 “/” 来对模型进行分类整理。例如一个模型是二次元相关的,就可以命名为“二次元/XXX” 。
3. 接下来就是模型的调用,对于基础底模型,我们可以直接在这里选择,如果没有找到,点一下右边的刷新按钮,稍等即可。VAE模型则是在后面的下拉框中选择。这里可以一般采用默认的选项,然后如果出来的图发灰,再考虑使用Vae模型。对于其他模型,则需要先点一下这里的icon,然后点一下想用的模型即可,这时上面的正向提示词输入框会出现对应的模型,想取消调用的话,再点一下模型或者直接在输入框中删掉即可。对于某一些模型,还需要在正向提示词输入框中输入特定的触发词,才可以让模型发挥效果。
提示词也就是我们对AI的指令。
正向提示词:即对画面的描述,例如,一个女孩,月亮,吉他,沙发等
反向提示词:指你不想在画面中出现的元素或属性。例如,低质量,畸形的手等
基本规范
这里有两条基本规范需要注意一下:
提示词包括标点符号全部用英文的
单词、短语、句子基本上是等效的。例如“1gril、sofa、sitting”与“A girl sitting on the sofa”对SD来说是等效的。
书写提示词的整体思路 在给正向提示词的时候,我们一般通过分类描述的方式来给出。具体可以分为以下三类:整体描述、主体、场景。
整体描述
这里包括四个方面:
画质:高画质还是中等画质或者低画质,2k、或者4k等等
画风:CG、二次元、真人等
镜头:画面中人物的占比,半身像还是全身像
色调:冷色调或暖色调
对于人物主体的描述包括三个方面:头部、服饰、姿势
头部
这里面包括的内容和我们玩游戏时捏脸的内容差不多,具体也就是包括这些内容:
1. 眼睛大小、颜色和形状,鼻子大小和形状,嘴巴大小和形状,下巴形状等等。
2. 皮肤颜色和纹理:人物的皮肤颜色和纹理,例如光滑或有皱纹的皮肤等等。
3. 面部特征细节:进一步描述人物的面部细节,例如眼睛的纹理、唇色、发色,等等。
服饰
包括衣服,裤子、鞋以及其他更细节的比如袜子之类的
姿势
即人物的姿势,坐立跑等
场景
基础的场景描述一般包括三个内容:时间、地点、天气,进阶的表达可以加入一些细节,例如天空中的蝴蝶、花瓣等。
提示词的语法
仅仅有了提示词还不够,我们还需要知道怎么把提示词组成SD可以识别的格式。
提示词的连接方式
1. 不同的提示词之间用英文逗号分隔
2. 提示词越靠前,权重越高,所以主体应该放在前面
提示词的强化/弱化方式
1. (提示词:权重数值)。其中这个数值的取值范围是0.1~100,默认是1,小于1是弱化,大于1是强化。例如:(a girl:0.8)
2. (提示词)[提示词]。提示词外面加()表示强化,加[]表示弱化。允许套多层来增强强化或弱化的程度。例如:((a girl))
这里推荐几个提示词的网站。在掌握了提示词的基本用法后,再去看这些网站就会更得心应手一些。
1. https://Prompttool.com/NovelAI?goLogin=1
2. https://wolfchen.top/tag/
3. https://moonvy.com/apps/ops/
4. http://poe.com/ChatGPT
5. https://magic-tag.netlify.app/#
这里不想去说太多参数的官方解释,而且,在初期并不是所有的参数都需要了解,所以这里直接用通俗易懂的语言来给大家介绍一下需要用到的参数是什么,以及怎么用。
采样方法
这里的原理比较复杂,笔者这里直接抛出结论:一般情况下使用DPM++ 2M或DPM++ 2M Karras或UniPC,想要一些变化,就用Euler a、DPM++ SDE、DPM++ SDE Karras、DPM2 a Karras。
迭代步数
这里指的是sd用多少步把你的描述画出来。这里先给出结论,一般20到40步就足够了。迭代步数每增加一步迭代,都会给AI更多的机会去比对提示和当前结果,并进行调整。更高的迭代步数需要更多的计算时间。但并不意味着步数越高,质量越好。
这里是相同提示词和参数,不同迭代步数时的表现。可以看到在这组参数下,步数在32左右表现是最好的,从32到40提升不大,到48时以及出现了一些畸形,到64时腿部已经完全畸形了。
面部修复
根据个人喜好开关,这个对最终成像效果影响不大。
平铺图
这个一般用不到。
高分辨率修复
通俗来说,就是以重新绘制的方式对图像进行放大,并且在放大的同时补充一些细节。
打开后,这里会出现一些子参数。
放大算法:
用默认值即可。
高分迭代步数:
一般选在10~20即可。这里还是以这个图为例,可以看到在步数超过20后就开始出现了畸形。
一般是0.5~0.8之间。幅度过小,效果不好,幅度过大时,和原图差异太大。
放大倍率
这个比较好理解,就是指最终的图原来图的分辨率的比值。例如,默认生成的图是512_512,设定为2倍后,最终产出的图就是1024_1024。
总批次数和单批数量
这个是指一次性出图的数量。以搬砖为例,同样是搬4块砖,体力好的人可以一次搬4块,只搬一次,对应到SD中,就是总批次数是1,单批数量为4;而体力不好的人一次只能搬一块,需要搬4次,对应到SD中,就是总批次数是4,单批数量为1。一般而言,如果不是顶级显卡,我们都会保持单批数量为1,去改变总批次数来增加一次性出图的数量。
提示词引导系数
最终生成的画面和你的描述词的趋近程度,一般设置为7~15之间,太高也会出现问题。
随机数种子
随机数种子就像在做一道菜时加入的特定调料,它可以影响整道菜的味道。在这个图像生成方法中,随机数种子就是一个特定的数值或代码,可以影响最终生成的图像的过程,就像特定的调料会影响整道菜的味道一样。不同的随机数种子会生成不同的图像,就像加入不同的调料会让同一道菜变成不同的味道。每个图都会有它对应的随机数种子,如果想还原这张图,或者绘制一张相似的图,必须保证这个值是相同的。随机数种子不变的情况下,即使模型发生了改变,最终生成图的大概结构和配色也会有一定相似性。就像是无论是以土豆还是以茄子作为食材,只要加入的都是甜辣酱,最终的味道是差不多的。我们可以在输入框中输入特定的值,以保证随机数种子固定,否则可以点一下旁边的骰子icon,变成-1(-1就指的是随机值)使得模型采用随机的值来生成图像。
变异随机种子
在理解了随机种子之后,我们再去理解变异随机种子就更好理解了。变异随机种子相当于又加入了第二种特定调料。而后面的变异强度就指的是两种调料的占比,数值越大,越接近第二种。数值为0时,就指的是完全不用变异随机种子。一般是用于确定了图后,对图生成其他相似画面的图像。例如,在做ip时,通过加入变异随机种子,可以实现画面内容不变的情况下,生成带有些许差异的画,从中选择更优的。
我们来总结一下上面提到的重要参数。
这里以做这样一个盲盒IP为例,演示一下基础的文生图的流程,在了解了基础的概念后,其他的操作就相对简单了,大家可以自行去探索。
这里先说一下做这个图的整理思路。
1. 风格探索与主体内容
2. 对合适的图进行细节补充与修复。
模型下载与安装
首先我们去C站下载对应的模型,以这个盲盒模型为例,链接是:https://civitai.com/models/25995/blindbox
从右边模型信息,我们可以知道两个重要的信息,这个模型的种类是 LORA 模型,以及它的触发词是full body, chibi。这里补充一下,所谓触发词指的就是,只有在将触发词加入到正向提示语的输入框中,才能触发这个Lora模型的效果。前面我们讲过,LORA模型是一种辅助模型,需要配合基础底模型来使用。这里我们一般也推荐使用作者示例图中所使用的基础底模型。点开一个示例图,这里就是示例图的信息,包括基础底模型,提示语,以及参数。
这里作者也贴心得给出了对应资源的下载链接:https://civitai.com/models/7371?modelVersionId=46846
我们将两个模型下载好后,分别放到对应的文件夹中。
基础底模型(checkpoint)的文件夹是“novelai-wvebui一键包/novelai-webui-aki-v4/models/Stable-diffusion”,lora模型的文件夹是“novelai-wvebui一键包/novelai-webui-aki-v4/models/lora”
这里有两个小技巧:
1. 在Lora中新建一个文件夹,改为盲盒,对模型进行一个分类管理。
2. 保存模型时,再下载一张示例图,并将名称改成和Lora模型一样,然后将图片模型文件旁边,这样在SD界面,就可以预览模型效果。
接下来,打开web ui界面,点击模型后的刷新按钮。并将左上角的第一个下拉框选择到对应的模型。其中,Lora模型是默认隐藏的,需要点一下生成按钮下的第三个icon才会显示。
到这里,我们完成了模型的下载和基础底模型的调用。
提示词的书写
对于新手,建议先从模仿开始,这里还是打开C站盲盒模型的页面,然后点击示例图,可以看到包括提示词在内的各种信息。
然后,我们把提示词复制下来,对于英文不好的小伙伴可以直接复制到翻译工具中。
接下来, 我们对这段关键词做一个简单的分析拆解:
整体描述:(杰作),(最好的质量),(超细节),(全身:1.2),(美丽的细节脸),(美丽的细节眼睛),
触发词:chibi
人物&场景:一个女孩,可爱,微笑,张开嘴,花,户外,弹吉他,音乐,贝雷帽,拿着吉他,夹克,腮红,树,衬衫,短发,樱花,绿色头饰,模糊,棕色头发,腮红贴纸,长袖,刘海,耳机,黑色头发,粉红色的花
我们可以直接复用整体描述的部分,将这部分复制到正向提示词输入框中。然后对后面的人物和场景部分重写。
这里用到我们之前介绍过的书写提示词中人物和场景的技巧:【眼睛,皮肤、头发、服饰、姿势、时间、地点】,按着这个顺序对画面描述如下:
将英文复制到正向提示词中,接下来,我们点击一下盲盒的Lora模型,正向提示词部分就多了一句<lora:blindbox_V1Mix:1 >,这句话就表示对lora模型的调用。
最后一步,将示例图的负向提示词也复制到我们的SD中,就得到了如图所示的最终的提示词。
参数设置
参数设置这里,采样方式、采样迭代步数和提示词引导系数三个参数建议设置成和Lora模型示例图一致的参数,这样能比较好地发挥Lora模型的效果。然后,作为我们前期探索风格的阶段,总批次数和单批数量可以设置成9和1,随机种子设置成-1,这样一次性会产出9张不同的图,方便我们选择。高分辨率修复在前期不建议打开,可以在图的内容确定后再打开,进行细节优化。
可以看到,整体图片的风格已经比较满意了,除了手的部分还有些问题。接下来,就可以选择一张最满意的,去补充和修复细节了,这里就以第6张图为例,大家可以选一张自己喜欢的。
最终修复
我们接下来要做的是这三件事:
1. 固定这张画面,保证下一张画是在这个基础上完成的
2. 补充画面的细节和提高分辨率
3. 修复手的部分。
首先是第一步固定画面,前面我们讲过,每个图都会有它对应的随机种子,如果想还原这张图,或者绘制一张相似的图,必须保证这个值是相同的。所以,我们需要把找到这张图的seed值,填入参数栏中的随机数种子输入框中。
下一步是对画面进行细节补充,这一步我们会用到高分辨率修复的参数,先选中第6张图,然后根据前面的知识,把高清修复采样次数调整到15,重绘幅度调整到0.6。注意,这一步把总批次数和单批数量调整到1,否则还是会一次性生成9张图,会需要较长的时间。
最后一步,我们去修复手的问题,这里我们采用补充反向提示词的方式来完成。这里依然用有道翻译:
将英文翻译填入反向提示词中后,我们点击生成,就可以得到这么一张效果还算不错的图了。
这只是一个简单的例子,里面用到的提示词并不多,我们可以继续加入提示词来丰富画面,提升细节,例如加入光效描述到正向提示词中。
生成的图像如下,可以看到又增加了一些光感,整体细节和品质又提升了一些。这里仅仅以此为范例,大家可以去增加自己想要的各种提示词来生成自己想要的图。
文章最后再给大家整理一下,所提到的链接以及一些其他资源推荐:
win安装包:https://www.bilibili.com/video/BV17d4y1C73R/?spm_id_from=333.788.video.desc.click&vd_source=bd8f1862d445f4e01d7c1f49857dd474
mac m芯片安装教程:https://www.bilibili.com/video/BV1Kh4y1W7Vg/?spm_id_from=333.337.search-card.all.click&vd_source=bd8f1862d445f4e01d7c1f49857dd474
云端部署教程:https://www.bilibili.com/video/BV1po4y1877P/?spm_id_from=333.337.search-card.all.click&vd_source=bd8f1862d445f4e01d7c1f49857dd474
模型下载网站
https://civitai.com/
https://huggingface.co/
识别本地模型类别:https://spell.novelai.dev/
提示词辅助网站
1. https://prompttool.com/NovelAI?goLogin=1
2. https://wolfchen.top/tag/
3. https://moonvy.com/apps/ops/
4. http://poe.com/chatgpt
5. https://magic-tag.netlify.app/#
盲盒lora模型:https://civitai.com/models/25995/blindbox
盲盒对应的基础底模型:https://civitai.com/models/7371?modelVersionId=46846
以及5个我认为非常优质的模型:
https://civitai.com/models/9409/or-anything-v5
https://civitai.com/models/12597/moxin
https://civitai.com/models/18323/xiaorenshu
https://civitai.com/models/6755/cetus-mix
https://civitai.com/models/7240/meinamix
如果有什么问题,可以私信加我好友交流。
本篇文章来源于微信公众号: JIN石为KAI