首页 > Ai资讯 > Ai知识库 > AI绘画Stable Diffusion进阶使用

AI绘画Stable Diffusion进阶使用

发布时间:2024年06月06日

本文讲解,模型底模,VAE美化模型,Lora模型hypernetwork。

文本Stable Diffusion 简称sd

欢迎关注留言讨论!

使用模型

C站:https://civitai.com/

huggingface:https://huggingface.co/models?pipeline_tag=text-to-image

大模型(底模型)

 

stable diffusion webui 部署完成后,checkpoint是放底模

home\webui\models 目录下 

常见模式:后缀ckpt/safetensors 

常见大小:2G-7G

 

 

 

Realistic Vision:逼真的照片风格。 

Anything v5:动漫风格。 

Dreamshaper:写实绘画风格。

VAE美化模型

可以理解为滤镜,选择VAE就像给图片套上了一层滤镜,会改变图片原有的颜色风格;一般默认是无,而且有些大模型中会自带VAE 

常见模式:后缀ckpt/pt 

名字中带有vae

stable-diffusion-webui 默认页面并没有显示 VAE 设置部分,所以需要先设置一下。首先点击「Settings」,然后点左侧菜单的「User interface」这个 Tab,拉到下面有个选项叫做Quicksettings list,在输入框里面添加,sd_vae,CLIP_stop_at_last_layers:

 

最后点击上面的「Apply settings」,在点「Reload UI」就会重新刷新页面,即可看到头部的 VAE 区域:

 

 

可以去C站和huggingface下载 我们把这些 VAE 模型下载并把它放入到models/VAE目录下:

wget https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.ckpt -O ~/workspace/stable-diffusion-webui/models/VAE/vae-ft-mse-840000-ema-pruned.ckpt
wget https://huggingface.co/AIARTCHAN/aichan_blend/resolve/main/vae/Anything-V3.0.vae.safetensors -O ~/workspace/stable-diffusion-webui/models/VAE/Anything-V3.0.vae.safetensors
wget "https://huggingface.co/AIARTCHAN/aichan_blend/resolve/main/vae/Berry's%20Mix.vae.safetensors" -O ~/workspace/stable-diffusion-webui/models/VAE/BerrysMix.vae.safetensors

 

 

 

所谓没有对比就没有伤害,对比明显可以感受到不加 VAE 图片优点灰蒙蒙的,不够鲜艳,另外是细节不够,而加了不同的 VAE 都有了更好的颜色效果,细节更全了 (微调)。

最后,注意不同的 VAE 适配的模型不同,也不是某个 VAE 可以用在任何模型下,否则可能会生成非常奇怪的图。

Lora模型

LoRA模型是通过截取大模型的某一特定部分生成的小模型,虽然不如大模型的能力完整,但短小精悍。因为训练方向明确,所以在生成特定内容的情况下,效果会更多。 

常见模式:后缀ckpt/safetensors/pt

常见大小:100MB 

模型下载并把它放入到models/Lora目录下

可以去C站下载搜索Lora模型

 

 

Embeddings

通过角色训练产出,能够让你的主模型识别某个指定的角色,因为你的主模型不可能每个角色都认识,通过文件名触发。 

常见模式:后缀pt 

常见大小:几十KB 

模型下载放到webui\embeddings 

可以去C站下载搜索Embeddings模型

 

 

Hypernetworks

通过画风训练产出,能够指定特定的画风! 

常见模式:后缀pt 

常见大小:几十KB

模型下载放到webui\models\hypernetworks 

可以去C站下载搜索hypernetworks模型

 

功能类型选择

除了文生图,也可根据自己的需求选择其他选项卡进行操作,以下简单介绍正常流程会用到的选项卡:

图生图img2img):将文生图的结果继续生成图片,或自己上传一张图片,常用于调整和优化图片,或修改图片风格、背景、人物形象等场景;

附加功能Extras):对单张或批量图片进行缩放的操作;

图片信息PNG Info):将本地图片上传后,可以用于其他选项卡的功能中;

模型合并Checkpoint Merger):将多个模型进行不同权重的合并,从而获得一个新的模型;

扩展SD的扩展插件配置区,可以查看已安装的插件内容,并控制开启和禁用状态;也支持通过URL的方式获取其他插件。

掌握提示词技巧

提示语输入基本要求

使用英语描述最佳,避免出现单词拼写错误;(不同模型可能有训练中文和日文,可自行判断)

标点符号同样使用英文半角进行输入;

建议使用逗号隔开的单词作为提示词;(也可用句号、甚至是空字符(\0)来分隔关键词,可以提高图像质量;

也可以使用自然语言描述图片内容,比如:A handsome hero armed with a sword(一个英俊的英雄装配着剑)

提示语描述和图像风格搭配,相近的描述不要重复出现

善于利用反向提示语来去除图片的负面效果;

尽可能使用特定含义的词汇,比如将 big 调整为 huge ,避免使用有多种含义的词汇;

避免使用with、and之类的连接词

可使用emoji() 进行补充描述;

逗号前后的少量空格并不影响实际效果;

可以通过指定风格提示语来创作带有特效或指定画风的图片;(风格获取参考下文

姿势的描述越精简越好,否则容易出现肢体重复的情况;(肢体生成是AI硬伤,可用controlnet来解决)

避免过长提示词,越尾部的提示词在图片中的权重默认就越低,因此关键特征尽可能放在头部或通过语法来提高权重;(过长提示词可适当提高生成步数获取更好效果)

输入提示词技巧

输入模板

将自己构思的图片特征抽象为标签描述,并将标签按分类进行排列,以下为模板示例:

(quality), (subject)(style), (action/scene), (artist), (filters)

(quality)  代表画面的品质,比如 low res 结合 sticker使用来“利用”更多数据集,1girl结合high quality使用来获得高质量图像。

(subject) 代表画面主题,锁定画面内容,这是任何提示词基本组成部分。

(style) 是画面风格,可选。

(action/scene) 代表动作/场景,描述了主体在哪里做了什么。

(artist) 代表艺术家名字或者出品公司名称

(filters) 代表一些细节,补充。可以使用 艺术家,工作室,摄影术语,角色名字,风格,特效等等。

提示词语法

(word) - 将权重提高 1.1 倍 

((word)) - 将权重提高 1.21 倍(= 1.1 * 1.1),乘法的关系。

[word] - 将权重降低 90.91%

(word:1.5) - 将权重提高 1.5 倍

(word:0.25) - 将权重减少为原先的 25% 

(word) - 在提示词中使用字面意义上的 () 字符 使用数字指定权重时,必须使用()  括号。如果未指定数字权重,则假定为 (权重增加通常会占一个提示词位,应当避免加特别多括号)

n)=(n:1.1)
((n))=(n:1.21)
(((n)))=(n:1.331)
((((n))))=(n:1.4641)
(((((n)))))=(n:1.61051)
((((((n))))))=(n:1.771561)

相关模板

正向提示语:

#万能画质要求#
(masterpiece, best quality),

反向提示语:


#避免糟糕人像的#
ugly, fat, obese, chubby, (((deformed))), [blurry], bad anatomy,disfigured, poorly drawn face, mutation, mutated, (extra_limb),(ugly), (poorly drawn hands fingers), messy drawing, morbid,mutilated, tranny, trans, trannsexual, [out of frame], (bad proportions),(poorly drawn body), (poorly drawn legs), worst quality, low quality,normal quality, text, censored, gown, latex, pencil,

#避免生成水印和文字内容#
lowres, bad anatomy, bad hands, text, error, missing fingers,extra digit, fewer digits, cropped, worst quality, low quality,normal quality, jpeg artifacts, signature, watermark, username, blurry,

#通用#
lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry,


#避免变形的手和多余的手#
extra fingers,fused fingers,too many fingers,mutated hands,malformed limbs,extra limbs,missing arms,poorly drawn hands,

辅助工具推荐

标签参考

最全tag库(根据分类查找):https://danbooru.donmai.us/

颜色列表:https://en.wikipedia.org/wiki/List_of_colors_by_shade

表情符号:https://unicode.org/emoji/charts/emoji-list.html

标签冰山图:https://icebergcharts.com/i/Danbooru_Tags

 

美图灵感

C站:https://civitai.com/

OpenArt:https://openart.ai/discovery

prompthero:https://prompthero.com/

ptsearch(韩风):https://www.ptsearch.info/home/

arthub :https://arthub.ai/

lexica(艺术风格):https://lexica.art/

 

提示词工具

Danbooru 标签超市:https://tags.novelai.dev/

AI绘画提示词生成器:http://www.atoolbox.net/Tool.php?Id=1101

魔咒百科词典:https://aitag.top/

 

风格化标签

Stable Diffusion V1 Artist Style Studies(风格化总结):https://proximacentaurib.notion.site/e28a4f8d97724f14a784a538b8589e7d?v=42948fd8f45c4d47a0edfc4b78937474

艺术家风格:https://www.urania.ai/top-sd-artists

Artists To Study:https://artiststostudy.pages.dev/

MidLibrary 这个网站提供了不同的图像风格,每一种都带有鲜明的特色:https://midlibrary.io/midjourney-style-classifier#styles-by-categories

看到这里,说明你已经完成进阶,继续加油,帮忙关注!

获取和使用插件

插件系统作为SD的能力扩展, 很多大佬发挥想象力制作了许多强力的插件,个人认为普通画图不需要研究太多的插件内容,因为你根本没那个时间精力,不过有几个常用插件可以安装和尝试使用,以下我以本地部署的SD页面为例,介绍如何获取插件、使用插件和插件推荐:

 

 

sd-webui-additional-networksStable Diffusion WebUI添加支持更多的网络架构和模型,如RealESRGAN等。

https://github.com/kohya-ss/sd-webui-additional-networks

sd-webui-controlnetStable Diffusion WebUI提供控制网络功能,可以精细控制图像生成结果。

https://github.com/Mikubill/sd-webui-controlnet

sd_civitai_extensionCivitai的模型集成到Stable Diffusion WebUI中,提供更多高质量的模型。

https://github.com/civitai/sd_civitai_extension.git

sd-webui-animatediffStable Diffusion WebUI提供图像动画生成功能。https://github.com/continue-revolution/sd-webui-animatediff

sd-dynamic-prompts实现一个微型模板语言,用于Stable Diffusion WebUI中的随机prompt生成。

https://github.com/adieyal/sd-dynamic-prompts

sd_dreamboothStable Diffusion WebUI提供DreamBooth功能,可以进行细粒度的少样本训练。

https://github.com/d8ahazard/sd_dreambooth_extension

sd-webui-deforumStable Diffusion WebUI添加各种视觉效果,如图像动画、语音生成等。

https://github.com/deforum-art/sd-webui-deforum

Stable-Diffusion-Webui-Civitai-Helper辅助管理Civitai模型,使其更容易集成到Stable Diffusion WebUI中。


https://github.com/butaixianran/Stable-Diffusion-Webui-Civitai-Helper

Tiled Diffusion & VAE应用瓦片化扩散模型和VAE进行超分辨率图像生成,降低VRAM用量。

https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111

了解和配置参数

常用参数的基本介绍

采样器Sampler):不同采样器的图片效果有所差异,具体看下文介绍;采样迭代步数Steps):图片生成时需要进行多少步的计算,20-50即可,太低图片质量差,太高可能图片失真;更多的步骤意味着从噪声到图像的更小、更精确的步骤。增加这一点直接增加了生成图像所需的时间;

面部修复Restore faces):可选项,修复面部细节,用于人像图片生成;

平铺/分块Tiling):可选项,生成平铺拼接的图案,类似瓷砖拼接的效果;

高清修复Hires.fix):可选择,常用于大尺寸的高清图片输出需求,非常耗性能速度很慢;宽度/高度Width/Height):图像的宽度,像素。要增加这个值,你需要更多的显存。大尺度的图像一致性会随着分辨率的提高而变差(模型是在 512x512 的基础上训练的)。非常小的值(例如 256 像素)也会降低图像质量。这个值必须是8的倍数;出图尺寸太宽时,图中可能会出现多个主体,推荐使用 小尺寸分辨率 + 高清修复;

生成批次Batch count):每次执行画图的批次数;最终出图=生成批次*每批数量每批数量Batch size):每批画图的数量,增加这个值可以提高性能,但你也需要更多的 VRAM,默认为1即可;(数量与时间成正比)

提示词相关性CFG Scale):是否严格按照提示词的要求来生图,数值越小AI就会自由发挥,过大过小的数值都会让图片变形;一般7-10。

随机种子seed):是图片生成算法在初始状态的基础,指定一个数值,那么对于相同提示词+同样参数+同样的种子,就会出来一个一模一样的图片;-1是指每次生成时都随机一个值,这样图片的生成就会有差异性;图片的种子值可在右侧输出的日志中找到;不同显卡由于微架构不同,可能会造成预料之外的不同结果

Samplers 采样器推荐

DPM(离散概率模型)采样器:这些采样器基于离散概率模型,用于图像生成等任务。“2M”、“SDE” 和 “Karras” 变体可能指的是标准 DPM 方法的特定修改或改进。

欧拉和亨恩采样器:这些是解决微分方程的数值方法,在逆向扩散过程中至关重要。"欧拉"是一种更简单的方法,而"亨恩"则是一种更准确但计算上更密集的方法。

LMS(朗之万蒙特卡洛采样):这是一种用于采样的蒙特卡洛方法,在某些场景下以其效率而闻名。

DDIM(去噪扩散隐式模型):这是扩散模型的一种变体,允许更快的采样,并且可以更加可控。(最初发布的 SD 模型 v1 中附带的采样器)

PLMS(概率流朗之万蒙特卡洛采样):一种结合了概率流和朗之万蒙特卡洛方法的采样器。(最初发布的 SD 模型 v1 中附带的采样器)

UniPC:一个为快速采样扩散模型而设计的统一预测-校正框架。https://github.com/wl-zhao/UniPC

你可能注意到还有一些采样器的名称中也有一个字母 a 呢? 

比如 Euler a、DPM2 a、DPM++ 2S a、DPM++ 2S a Karras,它们都属于祖先采样器(ancestral samplers)。祖先采样器会在每个采样步骤中向图像添加噪声。因为采样结果有一定的随机性,所以它们是随机采样器。

带有 “Karras” 标签的采样器,它们采用了 https://arxiv.org/abs/2206.00364 文章中推荐的噪声策略。在接近去噪过程结束时,将噪声步长变小。研究人员发现这可以提高图像的质量。

如何选择合适采样器

如果你想使用快速、新颖且质量不错的算法,最好的选择是 DPM++ 2M Karras,设置 20~30 步。

如果你想要高质量的图像,那么可以考虑使用 DPM++ SDE Karras,设置 10~15 步,但要注意这是一个计算较慢的采样器。或者使用 DDIM 求解器,设置 10~15 步。

如果你喜欢稳定、可重现的图像,请避免使用任何原始采样器(SDE 类采样器)。

如果你喜欢简单算法,Euler 和 Heun 是不错的选择。

 

 

 

出自:https://mp.weixin.qq.com/s/icPQUk1B0i1cYznvEA4bfg