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-networks为Stable Diffusion WebUI添加支持更多的网络架构和模型,如RealESRGAN等。
https://github.com/kohya-ss/sd-webui-additional-networks
sd-webui-controlnet为Stable Diffusion WebUI提供控制网络功能,可以精细控制图像生成结果。
https://github.com/Mikubill/sd-webui-controlnet
sd_civitai_extension将Civitai的模型集成到Stable Diffusion WebUI中,提供更多高质量的模型。
https://github.com/civitai/sd_civitai_extension.git
sd-webui-animatediff为Stable 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_dreambooth为Stable Diffusion WebUI提供DreamBooth功能,可以进行细粒度的少样本训练。
https://github.com/d8ahazard/sd_dreambooth_extension
sd-webui-deforum为Stable 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
Pollinations 是一个通过AI生成媒体内容的平台。平台可能提供多种类型的模板和工具,支持文本、图像、音频、视频等多媒体格式的创作。