Stable Diffusion使用入门教程

本文参考bilibili的链接:B站第一套系统的AI绘画课!零基础学会Stable Diffusion,这绝对是你看过的最容易上手的AI绘画教程 | SD WebUI 保姆级攻略_哔哩哔哩_bilibili

目录


首先提几个好玩的名词:

炼丹:训练AI学习图片生成模型

咒语:prompt提示词

 一、prompt提示词

1、概况

包含内容:作品主题、画风、形象特点以及一些具体包含的要素

提示词的语法规则:

  • 提示词需要英文书写
  • 提示词以词组作为单位

2、prompt分类

(1)人物及主体特征

服饰穿搭:white dress

发型发色: blonde hair, long hair

五官特点:small eyes, big mouth

面部表情:smiling

肢体动作:stretching arms

(2)场景特征

室内、室外:indoor / outdoor

大场景:forest, city, street

小细节:tree, bush, white flower

(3)环境光照

白天黑夜:day / night

特定时段:morning, sunset

光环境:sunlight, bright, dark

天空:blue sky, starry sky

(4)补充:画幅视角

距离:close-up, distant

人物比例:full body, upper body

观察视角:from above, view of back

镜头类型:wide angle, Sony A7 III

(5)画质

通用高画质:

Best quality最高的质量

Ultra-detailed 超级细节

Masterpiece 杰作

Hires 高分辨率

8k 8k分辨率

特定高分辨率类型:

Extremely detailed CG unity 8k wallpaper 超精细的8K Unity游戏CG

Unreal engine rendered 虚幻引擎渲染

3、提示词的权重分配

(1)括号加数字

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

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

(2)套括号

圆括号:(((white flower))) 每套一层,额外*1.1倍

大括号:{ { {white flower}}} 每套一层,额外*1.05倍

方括号:[[[white flower]]] 每套一层,额外*0.9倍

4、反推提示词

可以识别图像已有的成分,再总结成AI的字典里有的东西,来帮助你更准确地向AI描述一些东西。

DeepBooru和CLIP是两种不同的图像识别算法,DeepBooru的速度和识别准确率都更具有优势。

5、提示词网站

AI绘画提示词生成器 – 一个工具箱 – 好用的在线工具都在这里!

二、WebUI参数说明

1、文生图参数

(1)采样迭代步数:去噪迭代次数,一般超过20次后面提升不大

(2)分辨率:分辨率太大,可能会出现多人多手多脚的情况,AI在训练的时候用的图片分辨率一般都比较小,如果分辨率太大就会被认为是多张图片拼接而成的。如果需要高分辨率的图片,先绘制512*512的图片,再通过”hires.fix”进行高清修复。

(3)”restore faces”面部修复,采用一些对抗算法识别人物面部并进行修复。

(4)”Tiling”平铺,用来生成那种可以无缝贴满整个屏幕的纹理性图片

(5)生成批次:为了追求一张完美的图片可能会用一套提示词生成多次,通过该功能可以一次生成多张图片,它提供了所有图片合在一起的预览图以及各张图片。

2、图生图参数

Denoising strength:重绘幅度,它跟原图有多像的权重

3、inPaint局部重绘及参数

它就像我们写作业时使用的涂改液、修正带一样,它可以针对一张大图里的某一个区域覆盖重画。既能修正错误,又不至于把整张纸撕掉重画一遍。

它利用图生图的方式对局部重绘了一下,然后又拼回到原图中。

蒙版(mask):泛指一些用以限定处理区域的范围对象。蒙住了某些关键区域的版子。

Inpaint Sketch:绘制。画上去的有颜色的线条会同时构成这个画面的一部分,并参与到图生图的过程里。

三、模型

1、模型类型

模型下载网站:hugging face / civitai

(1)大模型

Checkpoint 检查点或者关键点模型,叫ckpt大模型,一般2~7GB之间

Safetensor 通常1~2GB,也是大模型,是训练者们为了使模型变得更加可靠、高效而专门开发的

(2)Embeddings

文本嵌入,对应C站的Model types是”Textual Inversion”,即文本倒置

Embeddings文件都非常小,一般就几十KB

如果是checkpoint是一本大字典,那么Embeddings就像上面的一片小“书签”,它能够精准地指向个别字、词的含义,从而提供一个极其高效的索引。

Embeddings本身不包含信息,只是一个标记而已。

Embeddings可以为我们指向某一种特定的形象

文件后缀是pt,下载后放在models文件夹旁边的同名文件夹embeddings里面。

Embeddings不需要额外的调用,只需要在提示词里面用特定的prompt去召唤它

(3)LoRa:低秩模型

LoRa的作用在于向AI传递、描述某一个特征准确、主体清晰的形象。

可以让AI学习一些原本不存在于它的世界里的东西。

如果说embeddings是一张书签,那么Lora就是一张彩页,它直接就在纸上写明白了形象的特点,可以用什么样的方式去呈现出来。

Lora的位置是在models下面的Lora子文件夹。

使用lora的方式,直接在提示框中输入即可:

训练大模型的最低要求是拥有12G以上的显存,但训练LoRA模型可能只需要8G甚至更低。常规的大模型至少会占用2个G以上的存储空间,但最大的LoRA模型也不会超过200M。

它需要和checkpoint搭配使用,从而实现对这个checkpoint在某些方面的“微调”。

(4)Hypernetwork 超网络

它能实现的效果和Lora差不多的。

可以让AI学习一些原本不存在于它的世界里的东西。

Hypernetwork一般用于改善生成图像的整体风格。不太需要使用,后面直接用LORA即可

2、模型分类及top模型名称

(1)二次元模型

Anything V5:用于动漫、插画、角色立绘等的画面风格

Counterfeit:插画风模型,细节还原度高

Dreamlike Diffusion:漫画插画风模型,打造梦幻般、具有幻想色彩的画面和作品

(2)真实系模型

Deliberate:超级升级版的SD官方模型,非常精细、全面的写实风格

Realistic Vision:朴素且有整活空间,用来做人像、食物、动物图片,做些具有真实感的假新闻照片

LOFI:精致的照片级人像专精模型,对人物面部处理比前两个更加精致

(3)2.5D风格模型

NeverEnding Dream:非常适合“三次元化”的2.5D模型,结合Lora进行动漫游戏角色的二次创作

Photorealism:优秀的照片效果和创意发挥空间

Guofeng3:实现“文化输出”的国风精致模型

四、分辨率放大的工具

1、高清修复Hires.fix

Upscale by:放大倍率,指将这个图片由原始分辨率放大到多少

Hires steps:高清修复采样次数,高清修复需要经过一次重绘,因此需要设置采样步数。保持默认的0数值,它会和我们设置的采样迭代次数(20)保持一致。

Denoising strength:重绘幅度,等同于图生图中的重绘幅度。

生成过程:SD会先绘制一份低分辨率的图像,再根据它画第二幅高分辨率的图像。它的本质就是把这个低分辨率成品“图生图”一次,打回潜空间内重新去噪,从而得到一张更大的图片。

高清修复本质:打回重画,再来一副!适合文生图

  • 优势:

不会改变画面构图(经由随机种子固定);

稳定克服多人、多头等由分辨率产生的问题;

操作简单、清晰、直观。

  • 缺陷:

仍然受到最大显存的限制;

计算速度相对较慢,画一次等于常规情况下画两到三次

偶尔“加戏”,出现莫名的额外元素

2、SD UpScale

图生图中把图片分辨率放大的好帮手。

脚本:

选择SD upscale

它的绘制过程:和高清修复的“打回重画”截然不同,它是通过把这张图均匀地切成4块去画的,逐一画4块然后再拼在一起。

如果只是机械地切成4块,那么相邻图块之间地接缝处肯定会出现非常生硬地过渡边缘,于是,通过tile overlap像素重叠就会起到一个“缓冲带”的作用。

优势:

可以突破内存限制获得更大的分辨率

画面精细度高,对细节的丰富效果出色

缺陷:

分割重绘的过程较为不可控(语义误导和分界线割裂)

操作繁琐且相对不直观

偶尔“加戏”,出现莫名的额外元素

五、AI绘画入门级扩展插件

所有和扩展有关的功能都被集中收纳在这个”Extensions”标签里进行管理。

插件被统一安装在根目录下“Extension”的文件夹里,每一个扩展是一个单独的文件夹。

1、中文本地化语言包

GitHub – hanamizuki-ai/stable-diffusion-webui-localization-zh_Hans: SD-WebUI 简体中文翻译扩展

2、图库浏览器

 GitHub – yfszzx/stable-diffusion-webui-images-browser: an images browse for stable-diffusion-webui

3、提示词自动补全

 https://github.com/DominikDoom/a1111-sd-webui-tagcomplete

它是基于本地的一个Booru词库实现的。

这个插件还能进行中文输入,然后切换成英文进行输入。

4、提示词反推

 https://github.com/toriato/stable-diffusion-webui-wd14-tagger.git

比CLIP和DeepBooru更高效的反推工具。

5、Upscale放大扩展

 https://github.com/Coyote-A/ultimate-upscale-for-automatic1111.git

安装完成后没有独立tab,而是出现在脚本中。

6、局部细化重绘

https://github.com/hnmr293/sd-webui-llul 

与第5个工具相比,它不会让一整张图片变得特别大,而是把一些局限于尺寸没法变得更精致的部分给“放大”一下。

它在于不改变原有的结构,就可以为画面带来更加丰富的细节。

7、提示词语义分割

https://github.com/hnmr293/sd-webui-cutoff.git 

解决提示词之间的相互干预。

扩展的原理如下:

它会将里面的每一个提示词的“描述性”成分抽取出来单独处理,再结合回原画里面。

8、无限放大动画视频

https://github.com/v8hid/infinite-zoom-automatic1111-webui.git 

我们可以去想象它的场景在不断往外延伸,最终生成动画视频。

六、ControlNet插件

1、概括说明

在此之前,基于扩散模型的“AI绘画”是非常难以控制的,去扩散这张图片的过程充满了随机性。

在原理上,ControlNet和LoRA是有许多相似之处,定位都是对大扩散模型做微调的额外网络。它的核心作用是根据一些额外信息控制扩散走向。

比如“姿势”,如果只是通过提示词输入一个“跳舞”,那么画面中的角色、人物可能会有无数种舞蹈姿势,ControlNet的精髓在于可以给他输入一张记录了某种特定“姿势”信息的图片来指导它作图。ControlNet能够读懂下面信息。

2、安装

 插件下载地址:GitHub – Mikubill/sd-webui-controlnet: WebUI extension for ControlNet 

 下载后同样放在extensions目录下即可,重启生效后就可以在文生图或图上图的下方看到该插件。

此时还没法使用ControlNet,因为需要下载相应的控制模型才能工作,对应模型的下载地址为:

lllyasviel/ControlNet-v1-1 · Hugging Face

下载完一个模型之后,需要把它放在ControlNet文件夹内的models文件夹里,注意:同名的pth模型文件和yaml配置需要一起放置。

ControlNet插件的Annotator功能能够从图片中提取对ControlNet有用的额外信息。

Control Weight:决定这个控制效应在图片中呈现出来的强度。后面两个选项,会影响在图像不断扩散的过程中什么时候加入ControlNet的影响。默认的0到1代表从头到尾全程生效。

3、比较流形的5个ControlNet模型

(1)Openpose模型

直接掌握了人物体态呈现的“命脉”。

下图为openpose-hand

下面为openpose-face

(2)Depth模型

它的重点是对场景的描绘还原,尤其是富有空间感的多层次场景

(3)Canny模型

来自于图像处理领域的一种边缘检测算法。

(4)HED模型

整体边缘线条检测。

输入的线条相对Canny更加模糊,两者对比如下:

Canny更关注人物内部的细节,HED这一类处理只会把大的轮廓保留下来,内部其实是有更大的发挥空间的。

(5)Scribble模型

涂鸦。

得到:

3、MultiControlNet

多重ControlNet

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年12月8日
下一篇 2023年12月8日

相关推荐