Stable Diffusion最详细教程(总版)

Stable Diffusion教程

本文是我在B站学习SD时做的笔记,大家有时间的话可以去学习一下这个教程,讲的很详细,是一个比较系统的教学,UP:Nenly同学

 

stable diffusion的安装

stable diffusion 百宝书_shenmingik的博客-CSDN博客

一、提示词分类和书写方式

正向提示词和反向提示词

提示词要用英文书写,可以有道翻译

书写方式可以以词组的方式进行书写

词组之间需要间隔符号,就是使用英文逗号

1.提示词分类

内容提示词

人物及主体特征

场景特征

环境光照

画幅视角

服饰穿搭 white dress

室内、室外 indoor/outdoor

白天黑夜 day/night

距离 close-up,distant

发型发色 blonde hair,long hair

大场景 forest,city,street

特定时段 morning,sunset

人物比例 full body,upper body

五官特征 small eyes,big moutn

小细节 tree,bush,white flower

光环境sunlight,bright,dark

观察视角from above,view of back

面部表情 smiling

天空blue sky,starry sky

镜头类型 wide angle,Sony A7 Ⅲ

肢体动作 stretching arms

画质提示词

画质提示词

画风提示词

通用高画质

best quality,ultra-detailed,masterpiece,hires,8k

插画风

illustration,painting,paintbrush

特定高分辨率

extremly,detailed CG unity 8K wallpaper(超精细的8K unity游戏CG),unreal engine rendered(虚幻引擎渲染)

二次元

anime,comic,game CG

写实系

photorealistic,realistic,photograph

提示词模板

描述人物

(1girl:2.0),solo,nilou \(genshin impect\),solo,long hair,jewelry,blue gemstone,earrings,horns,crown,cyan satin strapless dress,white veil,neck ring,red hair,{green eyes},

(1个女孩:2.0),独奏,nilou \(genshin impect\),独奏,长发,珠宝,蓝色宝石,耳环,角,皇冠,青色缎面抹胸裙,白色面纱,颈环,红头发,{绿眼睛},

描述场景

indoor,room,house,sofa,wooden floor,plant,flowers,trees,windows

室内,房间,房子,沙发,木地板,植物,花,树木,窗户

描述环境(时间,光照)

day,morning,sunlight,dappled sunlight,backlight,light rays,cloudy sky

白天,早晨,阳光,斑驳的阳光,背光,光线,多云的天空

描述画幅视角

full body,wide angle shot,depth of field

全身,广角,景深

其他画面要素

light particles,fantasy,wind blow,maple leaf,dusty...(其他往后增加)

光粒子,奇幻,风吹,枫叶,飞扬

高品质标准化

{{masterpiece}},{best quality},{highres},original,reflection,unreal engine,body shadow,artstationextremely detailed CG unity 8K wallpaper

{{杰作}},{最佳质量},{高分辨率},原创,反射,虚幻引擎,身体阴影,(超精细的8K unity游戏CG)

画风标准化

(illustration),painting,(stretch),anime coloring,fantasy

(插图)、绘画、(拉伸),动漫着色,奇幻

其他特殊要求

exaggerated body proportion,greasy skin,realistic and delicate facial feature,SFW

夸张的身体比例,油腻的皮肤,逼真细腻的五官,SFW

2. 权重与负面提示词

增强权重的方式

括号加数字

例:(white flower:1.5),

含义:调节白花(white flower)权重为原来的1.5倍(增强)

例:(white flower:0.8),

含义:调节百花(white flower)的权重为原来的0.8倍(减弱)

套括号

圆括号((((white flower))),

每套一层,额外×1.1倍

此处:调节白花(white flower)的权重为原来的1.1*1.1*1.1=1.331倍(增强)

大括号{{{white flower}}},

每套一层,额外×1.05倍

此处:调节白花(white flower)的权重为原来的约1.15倍(增强)

方括号:[[[white flower]]]

每套一层,额外×0.9倍

此处:调节白花(white flower)的权重为原来的0.729倍(减弱)

进阶语法

混合:white/yellow flower,

混合两个描述同一对象的提示词要素

此处:生成黄色和白色混合的花

迁移:[white/red/blue]flower

连续生成具有多个不同特征的对象,不断迁移

此处:先生成白色的花,在生成红色的花,最后在生成蓝色的花

迭代:(white flower:bush:0.8),

与采样进程关联,一定阶段后再生成特定的对象

此处:进程达到80%之前生成白花,80%之后在生成灌木

注意:避免个别词条权重过高,安全范围在1上下0.5左右,如果想要强调一个词条可以多写几个类似词条

负面提示词通用模板

保持画面颜色鲜艳,人物角色不缺少手指等畸形效果

NSFW, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, age spot, (ugly:1.331), (duplicate:1.331), (morbid:1.21), (mutilated:1.21), (tranny:1.331), mutated hands, (poorly drawn hands:1.5), blurry, (bad anatomy:1.21), (bad proportions:1.331), extra limbs, (disfigured:1.331), (missing arms:1.331), (extra legs:1.331), (fused fingers:1.61051), (too many fingers:1.61051), (unclear eyes:1.331), lowers, bad hands, missing fingers, extra digit,bad hands, missing fingers, (((extra arms and legs))),

3.出图参数详解

  • 采样迭代步数:默认20,最低不低于10,算力充足且想要更高的清晰度最高为30-40
  • 采样方法:

Euler a,Euler——适合插画风格,出图比较朴素

DPM 2M,2M Karras——出图速度较快

SDE Karras——细节会更丰富

推荐使用最下面几个带+号的,改进过的算法,相对比较稳定

  • 宽和高:出图分辨率,默认分辨率512*512,设备允许一般设置为1024*1024

分辨率过大会出现多人,多手,多脚效果

原因:AI训练使用的分辨率都很低,太大就默认多图拼接

解决措施:采用低分辨率创作,再使用高清修复选项进行修复

  • 面部修复会默认勾选
  • 平铺:用来生成可以无缝贴满整个屏幕的纹理性图片,不需要不用勾选
  • 提示词相关性:数值越高,反应提示词的忠实度也越高,一般7-12,太高容易变形
  • 生成批次:批量根据提示词生成图片
  • 每批数量:增大可以让每批次的图像数量增多,是把同一批次的画拼在一起一次画的,一般不改动,容易爆显存

4.写提示词的三大方法

📌

翻译法:自然语言转化——中文转英文,有提示词翻译插件Waifu Diffusion 1.4标签器

工具法:借助在线工具——辅助书写提示词的网站:AI绘画提示词生成器AI绘画提示词生成器 - 一个工具箱 - 好用的在线工具都在这里! (atoolbox.net)、AI词汇加速器AI词汇加速器 AcceleratorI Prompt (dawnmark.cn)

抄作业:参考提示词样本

模型网站:OpenArt.Ai:SD官方模型和欧美主流的模型生成的作品

二、图生图

图生图原理

图片作为一种信息和特征提供给AI,更好的满足需求

2.图生图三个步骤

图生图基本三步法

上传图片——>输入提示词——>参数设置(大部分和文生图一致,最大区别重绘幅度,推荐0.6-0.8)

提示词余参数的技术解析

  • 上传图片

通过拖拽或资源管理器加载图片

  • 填写提示词

即便是经由图生图让AI绘画,也需要具体、准确的提示词

内容型+标准化提示词

  • 参数设置

重绘幅度:

原图和成品图有多高的相似度,太高了容易变形,太低了实现不了重绘效果

分辨率:

优先维持和原图一致;

如果原图太大,可以按照比例折算到计算机可以实现的安全范围内;

如果成品比例和原图的比例不一致

法一:现在电脑上剪裁好再导入

法二:三种不同裁切方式提供适应尺寸

其他参数:

出图参数详解一致

3.随机种子作用解析

  • 提示词修正:对背景进行进一步定义()in background:准确定义背景内容
  • depth of field:景深,有助于营造摄影氛围
  • 随机种子:抽卡的核心:每次会议一种不同的方式随机生成,随机生成的方式被记录为一串随机数字,即随机种子
  • 不同随机种子带来随机性,相同随机种子效果相似——保持随机种子一致,进行提示词修改,实现人物风格基本一致
  • 固定随机种子的方法:图库浏览也有记录随机种子数,在图片信息处,你可以看到Seed这个就是随机种子数

4.图生图的扩展应用

  • 利用图生图实现物体拟人化

把真实的人像图片变得二次元:使用SD有更高的精确度和更大的定义空间

把静物、风景拟人化:导入不是人物的图片,用描述人物的提示词进行定义

  • 二次元人物的三次元化
  • 抽象派的AI画法

三、模型

1.文件格式

  • 大模型被称为checkpoint,一般3-7GB,也有小的模型,后缀名为safetensors,一般1-2GB

2.模型网站平台

网站一:Hugging face

主流AI学习模型和数据集平台:Hugging face

链接:Hugging Face – The AI community building the future.

在modle下搜索:stable diffusion,左侧标签选择text to image就可以看到其他用户发布的主要用于AI绘画的文生图模型了

选择对应的模型可以看到Modle card标签介绍模型

需要下载选择File and versions,里面有模型的文件,需要大模型就去safe_checker文件夹找

Vae滤镜就在对应的文件夹下面找

进入对应的文件中下载就好啦

community标签是对这个模型感兴趣的人发起的社区,如果模型有什么bug可以来这边讨论

网站二:Civitai

选择标签High Rated,就是热度最高的模型

需要大模型需要在右边筛选栏选择:checkpoint,模型种类一般选择All,底模类型一般不选择

不同标签的含义

每个模型下面的介绍都应该读取,可能作者会推荐使用的VAE以及lora

点击模型下面对应的i标识,就有作者这个模型作品的提示词和一些关键参数设置

3.模型的类目与推荐

模型类目

二次元类:插画、漫画风

真实系:真实风格

2.5D风格:介于二者之间的

推荐查找关键词

二次元模型

真实系模型

2.5D模型

推荐标签与风格关键词

illustration,painting,skectch,drawing,comic,anime,cartoon

photography,photo,realistic,photorealistic,Raw photo

3D,render,chibi,digital art,concept art,{realistic}

模型推荐

四、高清修复与放大算法

高清修复

概念:分两步,第一步生成低分辨率的图画,第二步使用它指定的高清算法,生成一个高分辨率的版本,在不改变构图的情况下丰富细节

文生图

高清修复参数:

  • 放大倍数:是指放大到原图的多少倍,也可以按照参数后面手动设置新图像的宽和高
  • 重绘幅度:是和原图的差异度,一般推荐0.5,安全放大区间0.3-0.5,具有自由度区间0.5-0.7
  • 高清采样次数:和采样迭代数一样,不用选择,保持默认0的迭代次数
  • 放大算法:概念比较复杂,几乎所有的算法出来的结果都是一致的,网上推荐无脑选择R-ESRGAN 4x+ 的,二次元的选择R-ESRGAN4x+ Anime6B,效果相较于其他算法是好一点的
图生图
  • 在图库浏览器里,浏览已经做好的图片,选择信息栏的图生图,他会把你这个图片的所有信息同步到图生图里面,你只需要改变分辨率,控制重绘幅度就可以啦(PS:图片浏览器需要自己下载,我后面内容会有写到)
  • 在设置选项的放大功能下可以自行定义用于放大图像的算法,选择完之后记得保存,这里选择的算法还是我们文生图推荐的那两个算法

SD放大(SD Upscale)

概念:根据指定的放大倍数,将图生图的图像拆解成若干小块按照固定逻辑重绘,再合并成一张大图,可以实现在低显存的条件下生成大尺寸的图片

选择”脚本“选项的SD放大脚本

缩放系数:相当于放大倍数,设置为2的意思是放大为原来的两倍

放大算法:我们还是默认选择R-ESRGAN 4x+ 的,二次元的选择R-ESRGAN4x+ Anime6B

图块重叠的像素:维持默认的64像素不变,是为了避免图片分块重画拼合的割裂的感觉(如下图),64是一个缓冲带的作用,为了分块画的画,画的更好,如果你觉得图片还是拼接的生硬,你可以把重叠像素改成128

注意:这时候要手动更改图片的尺寸,本身你的尺寸是600*600这时候要加上图块重叠像素,你要改成664*664(同理,重叠像素是128的话图片尺寸就要改成728*728)

对于缺点解决方法:增加缓冲带,重绘幅度降低为0.4

附加功能放大

概念:利用各种放大算法啊,在图像生成后再对它进行单独处理,使之拥有更高的分辨率尺寸

可以把已经绘制好的图片上传在附加功能下,也可以在图片浏览器显示的图片信息下面直接选择”附加功能”选项

在附加功能里面,可以看到以下设置,特点是有两个放大算法选择,可以给第二个算法选择权重,当然也可以不选择第二个算法,其他参数默认不变

4.总结

文生图:高清修复

图生图:SD放大

生成后处理:附加功能

“打回重画,再来一幅”

”分几块画,拼在一起“

”简单放大,随时可用“

分两步,第一步生成低分辨率的图画,第二步使用它指定的高清算法,生成一个高分辨率的版本,在不改变构图的情况下丰富细节

根据指定的放大倍数,将图生图的图像拆解成若干小块按照固定逻辑重绘,再合并成一张大图,可以实现在低显存的条件下生成大尺寸的图片

利用各种放大算法啊,在图像生成后再对它进行单独处理,使之拥有更高的分辨率尺寸

优势:

  • 不会改变画面的构图(因为随机种子固定)
  • 稳定克服多人、多头有分辨率产生的问题
  • 操作简便、清晰、直观

优势:

  • 可以突破内存限制获得更大分辨率
  • 画面精细度更高,对于细节的丰富更加出色

优势:

  • 使用方便,操作简单,随时可以调用
  • 计算速度快,没有重绘压力
  • 完全不改变图片内容

缺点:

  • 仍然受到最大显存的影响
  • 计算速度相对较慢
  • 偶尔”加戏“,出现莫名其妙的额外元素

缺点:

  • 分割重乎的过程不可控(语义误导格分界线割裂)
  • 操作繁琐且相对不直观
  • 偶尔加戏,出现莫名的额外元素

对于缺点解决方法:增加缓冲带,重绘幅度降低为0.4

缺点:

放大功能的效果不太显著

五、AI绘画进阶模型

文本嵌入——解决AI不会画手问题

(Embeddings/Textual Inversion)

  • 概念:可以为我们指向一个特定的形象
  • 后缀名:.pt
  • 文件放置位置:model文件夹旁边的同名文件夹embeddings
  • 使用方法:

不需要特别调用,只需要在提示词里使用"咒语"来召唤它,使用的咒语在下载C站的Details,可以看到Trigger World,在提示词后面加上这个”咒语“就可以生成对应的文件里

如果效果还是不是很明显,你可以将你下载的embedding图片导入到图生图功能中,选择反推提示词,有两种算法,CLP和DeepBooru,推荐DB,因为速度和识别准确度更好,再将反推词修改使用

  • 主要应用:角色转身、AI不会画手

模型:CharTurner(角色转身),很多精致的三视图人物设计

使用技巧:如下图

做出来的示例图

主要是在提示词前面要加上咒语,咒语是下载模型的时候那个信息栏的Trigger World

当然下载解决手部画的不好问题的embedding模型,可以解决这个问题

只需要在C站下载这类模型,我这里下载的是下面这个,咒语在图中标出,将咒语放在反向提示词中,给权重1.2就可以避免出现手部有问题的情况了,easynegitive不过可以处理手部的问题,它还可以处理肢体错落等问题,是一个比较好的负面提示词,但是他也不能100%保证所有的手部和四肢是好的。

这种画手模型有两个推荐:easynegitive提供给二次元

DeepNegitive主要是真人手部的问题

低秩模型Lora

概念:帮助你向AI传递一个特征明确,主体清晰的形象

放置位置:和model目录下的Lora子文件夹

使用方式:放置进去后,记住文件名字,在提示词里面使用尖括号<lora:+名字>就可以触发,现在好像可以在设置栏选择了

超网络——改变画风

Hypernetwork

  • 概念:类似Lora
  • 应用:用于改善图像整体风格,画风
  • 放置位置:model文件夹下hypernetwork文件夹下
  • 推荐:最受欢迎的叫Waven Chibi style

  • 使用方法

到”设置“找到”附加网络“,将对应的hypernetwork文件添加到提示词中

六、局部重绘

当我们在进行AI绘画的过程中经常会出现画面畸形的现象,但是我们有很喜欢其他部分,重新画图就会改变这张图的整体布局,针对这一问题,可以参考使用局部重绘功能。

局部重绘功能只是在你要重绘的区域进行修正,其他区域的画面不会发生修改。

局部重绘基本操作

打开方式

方式一:点击图片下方局部重绘功能

方式二:打开图生图,在图生图中可以找到局部重绘的选项

既可以使用AI生成的图片也可以使用自己导入的图片

使用方法

我们维持提示词不变,在提示词后面添加需要改动的提示词,在参数重绘幅度开到一个比较高的数值,比如0.75,当把鼠标移动到图片区域会出现一个画笔笔尖,在图片中你想要更改的地方涂上黑色区域,画错了还有撤销和橡皮擦功能在右上角可以使用

核心参数解析

蒙版:蒙住关键区域的板子,上图中黑色区域就是蒙版

蒙版模式:默认选择“重绘蒙版内容”,如果是“重绘非蒙版内容”就是重绘黑色区域以外的内容

重绘区域:就是你要求AI重绘的时候你所提供的信息,默认“原图”,如果选择“仅蒙版”,那么AI得不到全图信息,重绘后的部分会和其他的地方有割裂感。如果你选的是仅蒙版模式,要对于右侧的仅蒙版模式的边缘预留像素进行调整,默认32。这个预留像素的意思就是缓冲带,使得重绘拼图的时候看上去更加自然。

蒙版模糊:类似PS羽化效果,使得拼接更加丝滑

蒙版蒙住的内容:随便选,看缘分

局部重绘(手涂蒙版)功能应用

局部重绘(手涂蒙版):相较于局部重绘功能没有太大区别,多了一个调色盘,相当于AI提示了颜色信息,比如说你可以给图片主角添加一个蓝色的眼镜,并在提示词上写出来,你会发现右边就会画出来蓝色的眼镜。如果你想重绘出原本画错的手,你可以自己画一个肤色的手,在提示词中添加相关提示词:手、击掌、五根手指。

3.局部重绘(上传蒙版)功能应用

点击标签,需要上传两张图片,一张是需要修改的图片,下方需要上传蒙版图片,来告诉AI哪里是需要重绘的,白色区域是所谓的蒙版区域,默认会被重绘,黑白区域哪一个需要重绘可以在下面的参数进行调整哦!

选择选区

你可以在PS里面进行创建蒙版照片

法一:在这里简单介绍一下PS的操作,如果你的画面有很明显的主体,点击上方菜单栏的“选择”,选择“主体”

法二:如果你画面的人物过于复杂,你可以选择左边工具栏的“对象选择工具”,在图片上框选出对应选区就可以了

法三:以上两种选择方式都是2021以上的高版本才可以使用的,你可以使用最常用的“魔棒工具”或“快速选择工具”进行选择。

蒙版制作

选择上方菜单栏的“图层”——“新建填充图层”——“纯色”

在跳出来的拾色器里,先把颜色定义为“白色”

随后在图层窗口里选中这个填充图层,按下CTRL+J复制一层图层

双击拷贝图层后前面的小方块,双击,把填充图层的颜色改成黑色

然后,鼠标单击后面的长方形,后面的东西就是我们要的蒙版

选中这个长方形,按下CTRL+I,交换蒙版区域

选择”文件“——”存储为副本导出图像“,格式可以是PNG或者是JPG的,一路维持默认参数,之后,把蒙版图片上传

这个蒙版图片就相当于前面两种局部重绘的涂涂画画,接下来写相关提示词和参数就可以在这一区域生成新的图形了(PS:我这里没扣干净,看一下大概效果就好)

七、功能扩展安装与推荐

1.3种扩展安装方式教学

SD所有扩展都在菜单栏的“扩展”模块中,分为三种,“已安装”、“可用的”、“通过链接安装”

未完待续……