51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

AI绘画Stable Diffusion进阶使用

本文讲解,模型底模,VAE美化模型,Lora模型,hypernetwork。 文本Stable Diffusion 简称sd 欢迎关注留言讨论! 使用模型 ==== C站:https://civitai.com/ huggingface:https://huggingface.co/models?pipeline_tag=text-to-image 大模型(底模型) -------- ![](https://img1.51tbox.com/static/2024-03-13/col/64482bc91e1dd0323884ad9c5faf8880/786c28311fa249b4937a5146826b7457.jpg) stable diffusion webui 部署完成后,checkpoint是放底模 home\\webui\\models 目录下 常见模式:后缀ckpt/safetensors 常见大小:2G-7G ![](https://img1.51tbox.com/static/2024-03-13/col/64482bc91e1dd0323884ad9c5faf8880/b463940104b54664a88e807a326a5c22.jpg)
![](https://img1.51tbox.com/static/2024-03-13/col/64482bc91e1dd0323884ad9c5faf8880/4104cf52cadf492d8856ee192994d7ef.jpg) 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: ![](https://img1.51tbox.com/static/2024-03-13/col/64482bc91e1dd0323884ad9c5faf8880/5f187b290e6e4780ba60521357298b01.jpg) 最后点击上面的「Apply settings」,在点「Reload UI」就会重新刷新页面,即可看到头部的 VAE 区域: ![](https://img1.51tbox.com/static/2024-03-13/col/64482bc91e1dd0323884ad9c5faf8880/b5fc0817575c4dc79730f9ab6a5baa86.jpg) ![](https://img1.51tbox.com/static/2024-03-13/col/64482bc91e1dd0323884ad9c5faf8880/2eacc47a955a40e888ecccc6be1fd3b1.jpg) 可以去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 ```
![](https://img1.51tbox.com/static/2024-03-13/col/64482bc91e1dd0323884ad9c5faf8880/3e35a875283f4f50a525356e667a113b.jpg) ![](https://img1.51tbox.com/static/2024-03-13/col/64482bc91e1dd0323884ad9c5faf8880/e21d1f686fb4406ba61ba6359953f266.jpg) 所谓没有对比就没有伤害,对比明显可以感受到不加 VAE 图片优点灰蒙蒙的,不够鲜艳,另外是细节不够,而加了不同的 VAE 都有了更好的颜色效果,细节更全了 (微调)。 最后,注意不同的 VAE 适配的模型不同,也不是某个 VAE 可以用在任何模型下,否则可能会生成非常奇怪的图。 Lora模型 ------ LoRA模型是通过截取大模型的某一特定部分生成的小模型,虽然不如大模型的能力完整,但短小精悍。因为训练方向明确,所以在生成特定内容的情况下,效果会更多。 常见模式:后缀ckpt/safetensors/pt 常见大小:100MB 模型下载并把它放入到models/Lora目录下 可以去C站下载搜索Lora模型 ![](https://img1.51tbox.com/static/2024-03-13/col/64482bc91e1dd0323884ad9c5faf8880/3e9d6c39da0a4a57adf4156445fa3be9.jpg) ![](https://img1.51tbox.com/static/2024-03-13/col/64482bc91e1dd0323884ad9c5faf8880/a8e4d20e5423410380157b68b7064a9e.jpg) Embeddings ---------- 通过角色训练产出,能够让你的主模型识别某个指定的角色,因为你的主模型不可能每个角色都认识,通过文件名触发。 常见模式:后缀pt 常见大小:几十KB 模型下载放到webui\\embeddings 可以去C站下载搜索Embeddings模型 ![](https://img1.51tbox.com/static/2024-03-13/col/64482bc91e1dd0323884ad9c5faf8880/31499c751e5544f697585572032f64ae.jpg) ![](https://img1.51tbox.com/static/2024-03-13/col/64482bc91e1dd0323884ad9c5faf8880/c5f859180f4d44a48a30c9858ebf14eb.jpg) Hypernetworks ------------- 通过画风训练产出,能够指定特定的画风! 常见模式:后缀pt 常见大小:几十KB 模型下载放到webui\\models\\hypernetworks 可以去C站下载搜索hypernetworks模型 ![](https://img1.51tbox.com/static/2024-03-13/col/64482bc91e1dd0323884ad9c5faf8880/0c6c7170185144848bbeee6c207acaa5.jpg) 功能类型选择 ====== 除了文生图,也可根据自己的需求选择其他选项卡进行操作,以下简单介绍正常流程会用到的选项卡: **图生图**(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页面为例,介绍如何获取插件、使用插件和插件推荐: ![](https://img1.51tbox.com/static/2024-03-13/col/64482bc91e1dd0323884ad9c5faf8880/0493628ff658478d98f642b931928518.jpg) **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 是不错的选择。 欢迎关注! 我是李孟聊AI,独立开源软件开发者,SolidUI作者,对于新技术非常感兴趣,专注AI和数据领域,如果对我的文章内容感兴趣,请帮忙关注点赞收藏,谢谢!
赞(8)
未经允许不得转载:工具盒子 » AI绘画Stable Diffusion进阶使用