随心玩玩(十三)Stable Diffusion初窥门径

这篇具有很好参考价值的文章主要介绍了随心玩玩(十三)Stable Diffusion初窥门径。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面:时代在进步,技术在进步,赶紧跑来玩玩


简介

Stable Diffusion是一种人工智能(AI)模型,可以根据训练数据创建图像。
Stable Diffusion使用的是一种称为潜在扩散模型(LDM)的东西。
Stable Diffusion用于根据文本提示生成图像,并使用修复和外部绘制的过程改变现有的图像。

参考资料1:
https://www.lifewire.com/what-is-stable-diffusion-7485593
参考资料2:
https://en.wikipedia.org/wiki/Stable_Diffusion
参考资料3:
https://stablediffusionweb.com/

不想写的太长,更详细的介绍请查看参考资料

配置要求

显存 > 6G
内存 > 16G

安装部署

参考资料:
https://github.com/AUTOMATIC1111/stable-diffusion-webui
可以看这个视频:
https://www.bilibili.com/video/BV1gj411R7eQ/

先创建一个环境
conda create --name light python=3.9

然后git clone安装WebUI项目或者下载压缩包,下载慢的话可以使用代理:https://mirror.ghproxy.com/
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
或者国内用代理下载更快
git clone https://mirror.ghproxy.com//https://github.com/AUTOMATIC1111/stable-diffusion-webui

等待WebUI项目下载完成
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

回到conda环境,
首先,我们需要先安装torch,因为torch默认是装最新的版本不支持我们的CUDA11.7
可以到这个网站https://pytorch.org/get-started/previous-versions/,CTRL+F搜索CUDA 11/12找自己版本对应的pytorch安装pytorch

以我的CUDA 11.7为例子,pip进行安装:
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
安装python lighting,==后填上自己的版本号,因为我上面pytorch装的2.0.1,所以我pytorch-lightning也装2.0.1
pip install pytorch-lightning==2.0.1 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
提前安装opencv库,这些都是踩了无数坑后才知道的…
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python
安装scipy
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scipy
清华源没有tb_nightly,切换阿里云
pip install tb_nightly -i https://mirrors.aliyun.com/pypi/simple

下载完后进入项目主目录,安装requirements_versions.txt
pip install -r requirements_versions.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
这可能会将花费比较长时间…

下载模型

https://www.liblib.art/下一个自己喜欢的,注意的是需要下载checkpoint类型模型
全部类型,选择checkpoint
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

我下载的是lu简笔画风卡通模型_v2.safetensors,大家可以找自己喜欢的,然后把这个文件复制到项目主目录下的models/Stable-diffusion文件夹里
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
注意这里可能会出现中文乱码的问题,是linux操作系统的问题…很坑
因此,我在服务器上用mv重新命名了一下这个文件名成中文的:
mv lu.safetensors lu简笔画风卡通模型_v2.safetensors

下面是模型推荐

https://huggingface.co/gsdf/Counterfeit-V2.5
配合EasyNegative使用,上面的萝姬就是用这个模型,很好看,tag写起来也简单。

https://huggingface.co/andite/anything-v4.0
祖师爷,出图质量稳定,插图风格很不错。

https://huggingface.co/datasets/gsdf/EasyNegative
用这个负面tag就可以写很简单了。

https://huggingface.co/TASUKU2023/Chilloutmix
真人模型,不过我没怎么用过,还是喜欢二次元的图,不过之后可能研究配合Lora玩赛博COS。

来源: https://www.bilibili.com/read/cv21987039/

启动ui

启动UI还要远程安装一些文件,
因为我们连不上github,因此我们需要修改一下配置文件,如果你们能连上github就跳过这步:

需要修改的下载github路径配置文件在:
stable-diffusion-webui/modules/launch_utils.py

我们去编辑一下launch_utils.py,推荐先在本地编辑在传会服务器
或者大佬直接用vim
vim modules/launch_utils.py

搜索prepare_environment
在https://github.com开头的网址前面都加上代理网址
https://mirror.ghproxy.com,推荐使用ctrl+r替换
"https://github.com 替换成"https://mirror.ghproxy.com/https://github.com
'https://github.com 替换成'https://mirror.ghproxy.com/https://github.com

注意:这个文件可能会随项目后续更新,所以可能不一定是一样的,各位只能自行判断了。
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

我们可以看看webui.sh,根据提示,我们应该去webui-user.sh修改一下自己的配置

#!/usr/bin/env bash
#################################################
# Please do not make any changes to this file,  #
# change the variables in webui-user.sh instead #
#################################################

修改我自己的webui-user.sh,各位看者自行把握了,毕竟这是我的个人设置了…
重点是:修改python3 executable路径,改成刚刚安装的conda环境light

# python3 executable
python_cmd="/home/$(whoami)/anaconda3/envs/light/bin/python3"

添加执行权限
chmod +x webui.sh
在项目主目录用webui.sh启动
如果你的服务器不能开放端口,那么使用--listen
./webui.sh --listen --no-half --device-id 2
如果可以的话,使用--share
./webui.sh --share --no-half --device-id 2
--no-half表示不用半精度,防止出现黑图像
--device-id表示使用指定的GPU

等待安装下载,喝杯咖啡…
这里就会使用到之前配置的github链接进行下载文件随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

然后等待模型加载
出现一个报错:
OSError: Can’t load tokenizer for ‘openai/clip-vit-large-patch14’. If you were trying to load it from ‘https://huggingface.co/models’, make sure you don’t have a local directory with the same name. Otherwise, make sure ‘openai/clip-vit-large-patch14’ is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer.

解决方案见这篇:
https://blog.csdn.net/SuperB666/article/details/132826492
具体做法是先在这个镜像网站下载所有文件:
https://hf-mirror.com/openai/clip-vit-large-patch14/tree/main

又可以泡杯茶了…
同和解决方案的博客做法一样,创建stable-diffusion-webui/.cache/huggingface/transformers目录,把文件都丢上去
注意:.cache是创建隐藏目录
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
在两个文件各两处搜索:openai/clip-vit-large-patch14
改成stable-diffusion-webui/.cache/huggingface/transformers的绝对路径,
请自行参考解决方案博客。

这是那两个文件位置:
stable-diffusion-webui/repositories/generative-models/sgm/modules/encoders/modules.py
stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/modules/encoders/modules.py

重新启动webui.sh
出现Model loaded in 21.8s (load weights from disk: 1.3s, create model: 0.6s, apply weights to model: 19.5s, calculate empty prompt: 0.2s).表明启动成功!

然后本地做个隧道
本机设置:
win+r开启cmd,
使用以下命令将本地端口与服务器端相映射:
ssh -L [本地端口]:localhost:[远程端口] [远程用户名]@[远程IP] -p [ssh连接端口]
例如:
ssh -L 7860:localhost:7860 root@172.31.224.191 -p 22
自行更改ip和用户名后,输入密码连接即可

本地访问127.0.0.1:7860
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

尝试生成一张图片,这个模型看了下显存卡2占用大概是8G左右,
注意:卡0需要有300M的空间预留,不然会OOM
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

插件安装教程

详细可见参考资料:https://www.bilibili.com/video/BV1Qw411N7uM(推荐观看)

注意:
受限于SD的安全策略 开启监听后默认不允许安装插件
解决办法是在webui-user.sh 的export COMMANDLINE_ARGS 参数中增以下参数
–enable-insecure-extension-access
参考资料:https://zhuanlan.zhihu.com/p/640499741

# Commandline arguments for webui.py, for example: export COMMANDLINE_ARGS="--medvram --opt-split-attention"
export COMMANDLINE_ARGS="--listen --enable-insecure-extension-access"

点击extensions-》available
url换成镜像:https://mirror.ghproxy.com/https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui-extensions/master/index.json
点击load from,去掉location,搜索hans,找到zh_Hans Localization
对需要的插件点击install即可,这里我们安装中文汉化
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

安装好后,去到setting,点击apply setting,最后点击reload UI
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
再去到setting,找到user interface,到localization选择zh-hans插件,在apply后再重启一边UI
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

第二种方式使用从url下载,同样的也是安装好后apply setting再reload UI即可
https://github.com/canisminor1990/sd-webui-lobe-theme.git
这里只为了演示,大家仍就可以从安装列表搜索的方式安装
注意:如果因为网络问题安装不了,可以使用代理哦~
https://mirror.ghproxy.com/https://github.com/canisminor1990/sd-webui-lobe-theme.git
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

最后我们尝试增加两个功能参数在UI,在setting找到user interface,
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
添加sd_vae和clip_stop_at_last_layers,重启UI
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

最后设置成功:
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

分区提示词插件

参考资料:https://www.bilibili.com/video/BV1Fa4y1S7bS/

安装regional prompter
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
如果网络不好出现:
fatal: unable to access ‘https://github.com/hako-mikan/sd-webui-regional-prompter.git/’: GnuTLS recv error (-110): The TLS connection was non-properly terminated.

那么可以用URL镜像下载:
https://mirror.ghproxy.com/https://github.com/hako-mikan/sd-webui-regional-prompter.git

重启UI,出现regional prompter表示安装成功
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

打开regional prompter,勾选启用

我发现效果不是很好…我决定换个checkpoint,我下了_GhostInShell_大佬的模型试试,同时查看一下regional prompter更多的教程

参考资料:https://zhuanlan.zhihu.com/p/632947775

关键点:
勾选使用常见提示词,提示词的开头加上公共提示词:

公共提示词
BREAK
区域 0 的提示词
BREAK
区域 1 的提示词

上面我们就有三个提示词:(1)公共提示词;(2) 区域 0 的提示词;(3)区域 1 的提示词。公共提示词会被添加到每个区域的提示词开头。

这是我的例子:

two girl 
BREAK
a girl with green hair,red eyes
BREAK
a girl with black hair,green eyes

随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

regional prompter的设置
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
这时候我想画三个人…
那么可以改分割比率为1,1,1

three girl 
BREAK
a girl,green hair,
BREAK
a girl,black hair
BREAK
a girl,white hair

随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

总结:
在安装和使用regional prompter时遇到了一些问题。

网络问题可以尝试使用URL镜像下载。

效果不佳的问题,可以尝试更多的模型。

可以查看更多regional prompter的教程,也许有一些技巧可以提高效果,

比如在提示词的开头加上公共提示词以及区域的提示词。

Adetailer插件

Adetailer是人脸重绘修复插件,会自动检测人类生成蒙版进行重绘

官网:https://github.com/Bing-su/adetailer

输入https://github.com/Bing-su/adetailer.git进行安装

也可以通过直接从“扩展”选项卡安装它
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
选择启用

感觉效果一般…

提示词的分步采样

语法:
[物体1:物体2:介入时机]

决定主框架的物体放在前面,而汲取主特征的物体放在后面,介入时机是0到1之间的小数,表示从百分之多少开始介入

先抽卡-》确定种子-》设置介入参数

一般从0.3开始尝试,提前介入0.2会太早

物体2可以采用1.5倍强调

推荐流程:抽卡-》固定种子-》设置参数[物体1:(物体2:1.x):0.3] -》设置参数[物体1:(物体2:1.x):0.x]

采样器选择

参考资料:https://www.bilibili.com/video/BV1FN411i7sB/ (Stable diffusion采样器全解析,30种采样算法教程,推荐观看)
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
图片来源:https://www.bilibili.com/opus/838501405743382562

采样器的收敛性

如SDE不收敛采样器,收敛性并非一成不变,ETA参数即噪声倍率值,控制添加噪声的强度,进而控制发散程度,甚至可以完全关闭,在设置中找到采样方法Eta系数:

随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

可以将这个参数添加到快捷键:
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
选择2M SDE Karras采样器做实验
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

使用脚本,画XYZ plot
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
ETA为1时不收敛,ETA为0有收敛趋势
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

UniPC采样器

优势:最新采样器,低步数快速出图

参数有:
UniPC variant
UniPC skip type
UniPC order
UniPC lower order final

将这4个参数添加到快捷菜单中:
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
首先是变体,有三个,当步骤 < 10 时,建议使用 bh1 进行无条件采样,否则使用 bh2。
什么是无条件采样,那就无任何提示词
solver_type (str, default bh2) — Solver type for UniPC. It is recommended to use bh1 for unconditional sampling when steps < 10, and bh2 otherwise.
参考资料:https://huggingface.co/docs/diffusers/main/en/api/schedulers/unipc
我们使用uniPC时候,应该使用bh2,cfg值适当降低至3~4
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

第二参数,UniPC skip type:
>51*512选 time_uniform
<512*512选logSNR
两者都不行,请尝试time_quadratic
选择time_uniform即可,因为大部分场景不会涉及小于512的情况

随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

第三个参数,UniPC order
这个值我们需要微调
生成器会先生成高阶特征,再生成低阶特征
高阶特征:图像中具有较高层次结构的特征,如场景,体型,信号处理中的低频部分,可以理解成高斯模糊后图片的大光影结构
低阶特征:图像中具有较低层次结构的特征,如边缘,纹理,信号处理中的高频部分
低阶步数就是生成低阶特征的步数,一般不会设置太大,1~3之间就行
官网建议:solver_order (int, default 2) — The UniPC order which can be any positive integer. The effective order of accuracy is solver_order + 1 due to the UniC. It is recommended to use solver_order=2 for guided sampling, and solver_order=3 for unconditional sampling.

solver_order (int, 默认值 2) — UniPC 顺序,可以是任何正整数。由于 UniC 的原因,有效精度顺序为 solver_order + 1。建议使用 solver_order=2 进行引导采样,使用 solver_order=3 进行无条件采样。

记住默认为有条件为2就好

其实可以按照画面需求进行设置,如果觉得画面太过平滑,可以设置成3,4…但是过高手部会出现奇怪细节

也就是步数越高,细节更多,越 不够唯美

随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

第四个参数,UniPC lower order final保持勾选即可,不然会出现鬼图

高分辨率修复 (Hires. fix)

参考资料:https://medium.com/rendernet/using-hires-fix-to-upscale-your-stable-diffusion-images-8d8e2826593e

先生成低分辨率再超分

下面这几个比较常用:latent效果个人感觉不好
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

放大倍数,不要调太大会占不下显存
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

可以在 0–150 范围内设置 HiRes 步长
将其保持为 0 会使 HiRes 步骤 = 采样步骤
因此,如果您的采样步数为 20,而 HiRes 步数为 0,则总步数为 40。

选择正确的 HiRes 步数非常重要,因为将其设置得太低或太高都会使图像结果恶化。我们发现选择 10-15 个 一般效果较佳

但是,如果采样步数超过 50,那么最好将 HiRes 步数设置为采样步数的一半。

随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

去噪,默认降噪强度为0.7。然而,在很多情况下,这往往过于强烈。
建议首先使用 0.3–0.5 之间的值,然后根据结果将其调高或调低

如果出现网络问题无法下载:Unable to load RealESRGAN model https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth

那么可以自行下载一下,根据提示丢到
stable-diffusion-webui/models/RealESRGAN/RealESRGAN_x4plus_anime_6B.pth

个人感觉比较占显存,放大2倍就要16G显存了。

图生图

图生图必装:Interrogate图像反推

下面是Interrogate模型:
https://github.com/AUTOMATIC1111/TorchDeepDanbooru/releases/download/v1/model-resnet_custom_v3.pt
放至stable-diffusion-webui/models/torch_deepdanbooru/

记得重启项目,上传图片,点击Interrogate(下图红色框框位置),自动填充prompt,然后点生成
当然可以自己调整一下参数
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

刚刚用的就是最基础的图生图,在原图上修改,如高清转化,图片放大等。下面介绍其他几个功能:

涂鸦模式,是在原图上进行简单的手绘,让AI完成润色

局部重绘,需要重绘的地方用画笔画出来,写好提示词

涂鸦重绘,类似局部重绘,会多考虑颜色

上传重绘蒙版,其实就是局部重绘

批处理,用的不多

参数调整:
重绘幅度,对原图的改造程度,大家可以0~1自己调整试试,取决于自己的需求
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
缩放图像
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
仅调整大小如果长宽比不一致会出现拉伸,那么可以选择裁剪后缩放,
缩放后填充空白,有点像重绘
潜空间放大,在潜空间进行,这时候要调高cfg

类似PS羽化效果,透明程度越高被影响越小
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
小幅修改使用原版
大幅修改,但又不想产生割裂,使用填充
更多的自由发挥空间,使用潜空间噪声或者空白潜空间,注意的是这里需要搭配较高cfg
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

重绘区域,仅蒙版区域下面的预留边缘像素才会生效
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

ControlNet

介绍

ControlNet是一种网络结构,通过添加额外控制条件,来控制出图效果。

参考资料:
https://github.com/Mikubill/sd-webui-controlnet(官网,适合高玩直接上手)
https://openai.wiki/controlnet-install.html(推荐新手照着做)
https://openai.wiki/controlnet-models-download.html (模型下载,当然我下面也提供百度盘)

首先安装ControlNet插件,然后下载模型:
打开“扩展”选项卡。
在选项卡中打开“从 URL 安装”选项卡。
输入https://github.com/Mikubill/sd-webui-controlnet.git
(下不动的话使用代理,https://mirror.ghproxy.com/https://github.com/Mikubill/sd-webui-controlnet.git
安装后等消息:已安装到 stable-diffusion-webui\extensions\sd-webui-controlnet。
切换到设置,应用并重新启动 UI
完全重新启动 webui,退出启动的应用,重新用webui.sh启动

重启提示:ControlNet init warning: Unable to install insightface automatically. Please try run pip install insightface manually.
手动安装pip install insightface即可,注意切换环境

目前ControlNet 1.1的所有14个模型都处于beta测试阶段。
从 ControlNet 1.1 下载模型:https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main
您需要下载以“.pth”结尾的模型文件。
将模型放入stable-diffusion-webui\extensions\sd-webui-controlnet\models中。只需要下载“pth”文件。
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

请勿右键单击 HuggingFace 网站中的文件名进行下载。一些用户右键单击这些 HuggingFace HTML 网站,并将这些 HTML 页面保存为 PTH/YAML 文件。他们没有下载正确的文件。请点击 HuggingFace 中的小下载箭头“↓”图标进行下载。

我提供了百度盘可以用百度盘下载,失效了记得踹我一脚
Sd15模型:
链接:https://pan.baidu.com/s/1f8Ya8mnD379yIb0uZCG75w?pwd=2jem
提取码:2jem
sdxl模型:
链接:https://pan.baidu.com/s/1z_TtoQ_EdQbL8YiumCns7Q?pwd=nip8
提取码:nip8
本地存放地址:[你安装sd的位置]/stable-diffusion-webui/extensions/sd-webui-controlnet/models

注意玩的模型目前主流的是SD1.5和SDXL,当然你可以选择你需要的模型进行下载,反正我是一股脑全扔上去了

像我现在用的鬼混模型就是SD1.5,但还是把SDXL装了(其实可以不装)
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

下面是SD1.5的ControlNet模型介绍,关于模型的描述为官方描述【机器翻译】,可供参考。

ControlNet/models/control_sd15_canny.pth

ControlNet+SD1.5 模型,用于使用精明边缘检测来控制 SD。
ControlNet/models/control_sd15_depth.pth

ControlNet+SD1.5模型使用Midas深度估计来控制SD。
ControlNet/models/control_sd15_hed.pth

ControlNet+SD1.5 型号使用 HED 边缘检测(软边缘)控制 SD。
ControlNet/models/control_sd15_mlsd.pth

ControlNet+SD1.5模型使用M-LSD线检测来控制SD(也可以与传统的Hough变换一起使用)。
ControlNet/models/control_sd15_normal.pth

ControlNet+SD1.5 模型使用法线贴图控制 SD。最好使用该 Gradio 应用程序生成的法线贴图。只要方向正确,其他法线贴图也可以工作(左边看红色,右边看蓝色,上看绿色,下看紫色)。
ControlNet/models/control_sd15_openpose.pth

ControlNet+SD1.5 模型,使用 OpenPose 姿势检测控制 SD。直接操纵姿势骨架也应该有效。
ControlNet/models/control_sd15_scribble.pth

ControlNet+SD1.5模型使用人类涂鸦控制SD。该模型使用边界边缘进行训练,具有非常强大的数据增强功能,以模拟类似于人类绘制的边界线。
ControlNet/models/control_sd15_seg.pth

ControlNet+SD1.5模型使用语义分割来控制SD。协议是ADE20k。
ControlNet/annotator/ckpts/body_pose_model.pth

第三方模型:Openpose的姿势检测模型。
ControlNet/annotator/ckpts/hand_pose_model.pth

第三方模型:Openpose的手部检测模型。
ControlNet/annotator/ckpts/dpt_hybrid-midas-501f0c75.pt

第三方模型:迈达斯深度估计模型。
ControlNet/annotator/ckpts/mlsd_large_512_fp32.pth

第三方模型:M-LSD检测模型。
ControlNet/annotator/ckpts/mlsd_tiny_512_fp32.pth

第三方模型:M-LSD的另一个较小的检测模型(我们不使用这个)。
ControlNet/annotator/ckpts/network-bsds500.pth

第三方模型:霍尔效应器件边界检测。
ControlNet/annotator/ckpts/upernet_global_small.pth

第三方模型:Uniformer 语义分割。

泡杯咖啡吧…少女下载中…

下载模型
将模型放入正确的文件夹后,您可能需要刷新才能看到模型。刷新按钮位于“模型”下拉列表的右侧。
我选择直接重启应用…

出现Warning问题:

Warning: ControlNet failed to sync submodules. Please try run `git submodule init` and `git submodule update` manually.

解决方案参考:https://github.com/Mikubill/sd-webui-controlnet/pull/2428
反正是warning,就不管了

下面是安装好了模型,下面从控制类型开始介绍吧

随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

控制类型

控制类型用于固定画面的基本结构

注意:在使用的时候可能会下载额外的模型,大家自行下载放至指定的位置即可,比如:Downloading: “https://huggingface.co/lllyasviel/Annotators/resolve/main/res101.pth” to /home4/likeghee/work_place/sd/stable-diffusion-webui/extensions/sd-webui-controlnet/annotator/downloads/leres/res101.pth。那么就下载这个pth放到stable-diffusion-webui/extensions/sd-webui-controlnet/annotator/downloads/leres下面即可

我们启controlnet,打开允许预览,勾选完美像素模式,不要勾选低显存模式,是用你的CPU来跑的
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

完美像素模式,1.1版本的新功能,作用是自动计算分辨率
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

线稿类型

那么一般的线稿类型有: Canny,软边缘,涂鸦,线稿,直线

选择Canny,点击下面的执行按钮,我们就可以在预处理结果预览看到结果
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
写上提示词,生成图片,你会发现生成的图片就固定了画面的基本结构
Canny是边缘检测算法,根据灰度梯度判断图片边缘,那么自然就有梯度阈值进行过滤,越低保留的线条越多。
实际使用还是靠感觉了

随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
软边缘有四种提取算法,软边缘一般有过渡效果,没有那么锐利,具体作用不详
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
涂鸦,提取线稿比较粗糙,不常用
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

线稿,类似手绘的线稿,动漫类线稿比写实类线稿细节更少,按自己需求使用
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

直线,只提取直线,弯曲线条忽略,不适合人像图,适合建筑之类的
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

结构类型

深度,提取图片的深度来控制出图效果,越黑表示离我们越远,越白的部分离我们越近,不同算法提取的深度细节同,可以根据自己的需求选择
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

法线图,空间中平面方向的信息图,与深度图类似,用于传输图像中的空间的一个组成,会有不同颜色,其实就是颜色表示平面所对的那个方向,算法选用bae即可
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

姿态,控制人物面部和肢体动作的控制器,目前来看面部特征识别效果还不是不太行,要用的话直接选DW_openpose_full这个算法即可,使用了双向卷积处理图像,效果更好也更快
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

我们可以使用open pose editor来编辑骨骼,然后发送姿势回controlNet
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
语义分割,自动识别画面中的物体,并分割成不同的区域,然后用不同的颜色表示,一般情况下20K优于coco,这个数据集做CV的应该很熟悉了,COCO数据集数据种类不多,算法方面OneFormer更快更准确,直接用默认的即可。
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

参考类型

Reference控制器
用输入图片作为参考来控制AI出图的一种控制器,adain只会进行视觉分割迁移,only会迁移内容,adain+attn是二者的结合,可以理解为参考原始内容并且ai还会有一定程度的发挥
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
风格忠诚度参数可以调节,越大越忠于原图
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
个人觉得这个参考的控制还不太稳定

修订控制器

将上传图片作为条件作为输出,但是我们一般用咒语,这里提出了图片也能作为条件作为控制,建议直接使用作为补充
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion
参数噪声增强,只有0和1选择有点类似ETA参数,可以理解成AI是否自我发挥
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

InstructP2P控制器
类似图生图,感觉作用不强

shuffle控制器
只是像素打乱,用于画风迁移,感觉作用不强

IP-Adapter控制器
类似修订,但是效果更好,推荐使用plus版本
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

重绘类型

局部重绘
图生图也有局部重绘,但是会出现画面撕裂扭曲,ctrlnet就是为了解决这个问题
可以选择only预处理器,第一个和第二个是一样的,
+lama会产生一个比较干净的画面,会用lama模型先对图像进行预处理
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

分块/模糊
分块就是先分割成若干块,并识别出每块信息,好处是分块处理减小硬件的压力。

如果提示词与某块中的对象匹配,就会不改变对象定义的情况下,生成新的细节,
如果提示词与某块中的对象不匹配,那就以对象为准,降低提示词的影响,
以此达到局部和全局的统一
随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion

重上色
给图片重上色彩风格,如老照片的上色

总结

介绍了这么多控制器,建议还是看看别人更多的成功案例,我这里并不深入,可能给不了太多的启发…

并且没有介绍组合单元用法,更多的功能就交给各位自行探索了…

随心玩玩(十三)Stable Diffusion初窥门径,随心玩玩,stable diffusion文章来源地址https://www.toymoban.com/news/detail-806318.html

到了这里,关于随心玩玩(十三)Stable Diffusion初窥门径的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Stable Diffusion】Stable Diffusion免安装在线部署教程

    一、开启Google Colab网址 官网:https://colab.research.google.com/ 点击添加代码: 二、执行如下代码指令 点击执行按钮 会自动安装相关的套件、模型,然后等待运行完 注意:如果发生如下错误,该如何解决 RuntimeError:No CUDA GPUs are available 解决办法: 1、点击右上角点选硬件资源 2、

    2024年02月04日
    浏览(49)
  • Stable Diffusion stable-diffusion-webui开发笔记

    Stable Diffusion用来文字生成图片,ControlNet就是用来控制构图的,LoRA就是用来控制风格的 。 国内加速官网: mirrors / AUTOMATIC1111 / stable-diffusion-webui · GitCode 安装参考: Stable Diffusion安装与常见错误(+Lora使用)2023年最新安装教程_cycyc123的博客-CSDN博客 保姆级教程:从0到1搭建St

    2024年02月10日
    浏览(74)
  • Stable Diffusion教程之使用Stable Diffusion改进图像分割模型

    作为 ML 工程师,Edge Analytics和Infinity AI的团队非常熟悉与为计算机视觉应用程序获取高质量标记图像相关的挑战。随着生成图像模型的发布,例如来自Stability AI的开源Stable Diffusion,我们探索了使用生成模型来提高特定语义分割模型的性能。 Stable Diffusion是 Stability AI 在今年早些

    2024年02月10日
    浏览(47)
  • 【Stable Diffusion】Windows端纯净版Stable Diffusion安装教程

    因为我们目前安装的Stable Diffusion和市面上的其他AIGC工具不同,他是在GitHub上的一个开源项目需要在自己的电脑环境配置Python和Git之后进行安装来利用自己电脑的性能进行图像生成,而其他AIGC工具一般是在其公司提供的云服务器上进行计算生成。因此我们使用Stable Diffusion时候

    2024年02月02日
    浏览(50)
  • Stable Diffusion stable-diffusion-webui ControlNet Lora

    Stable Diffusion用来文字生成图片,ControlNet就是用来控制构图的,LoRA就是用来控制风格的 。 国内加速官网: mirrors / AUTOMATIC1111 / stable-diffusion-webui · GitCode 安装参考: Stable Diffusion安装与常见错误(+Lora使用)2023年最新安装教程_cycyc123的博客-CSDN博客 保姆级教程:从0到1搭建St

    2024年02月09日
    浏览(78)
  • Stable Diffusion - Stable Diffusion WebUI 图像生成工具的环境配置

    欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/131528224 Stable Diffusion WebUI 是一款基于深度学习的图像生成工具,根据用户的输入文本或图像,生成高质量的新图像,特点如下: 支持多种图像生成任务,如人脸生成、风格迁移、图像修复、

    2024年02月16日
    浏览(68)
  • Stable Diffusion - ChatGPT 与 Stable Diffusion 结合提供无限创意构图

    欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/131782672 ChatGPT 和 StableDiffusion 结合使用的优势: 高效率 :ChatGPT 可以在很短的时间内完成复杂的语言任务,比如生成 StableDiffusion 的提示,这对于时间敏感的应用非常理想。 创造力 :ChatGP

    2024年02月13日
    浏览(61)
  • 【扩散模型】11、Stable Diffusion | 使用 Diffusers 库来看看 Stable Diffusion 的结构

    参考:HuggingFace 参考:https://jalammar.github.io/illustrated-stable-diffusion/ Stable Diffusion 这个模型架构是由 Stability AI 公司推于2022年8月由 CompVis、Stability AI 和 LAION 的研究人员在 Latent Diffusion Model 的基础上创建并推出的。 其原型是(Latent Diffusion Model),一般的扩散模型都需要直接在像

    2024年01月16日
    浏览(47)
  • 【扩散模型】12、Stable Diffusion | 使用 Diffusers 库来看看 Stable Diffusion 的结构

    参考:HuggingFace 参考:https://jalammar.github.io/illustrated-stable-diffusion/ Stable Diffusion 这个模型架构是由 Stability AI 公司推于2022年8月由 CompVis、Stability AI 和 LAION 的研究人员在 Latent Diffusion Model 的基础上创建并推出的。 其原型是(Latent Diffusion Model),一般的扩散模型都需要直接在像

    2024年01月18日
    浏览(61)
  • 【stable diffusion】保姆级入门课程-Stable diffusion(SD)介绍与安装

    目录 0.学前准备 1.什么是AI绘画 2.当前主流的AI绘画工具 3.什么是SD(stable diffusion) 4.SD能做什么 1.文生图 2.图生图 3.AI换模特,背景 5.使用stable diffusion配置要求 6.环境配置与安装 需要注意的地方: 扩展知识: 1.python 2.git 3.控制界面 7.SD的原理 8.结语 不需要了解相关知识的可以直

    2024年02月16日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包