Stable Diffusion WebUI 使用综述
前言
2022 年开始的 AI 浪潮让人类走向智能化,AI 图像生成领域是主流方向之一。Stable Diffusion WebUI 是目前比较主流的图片生成软件,特点是开源且自定义程度高,扩展性强。
Stable Diffusion WebUI 是一款开源的 AI 图像生成工具,支持高自定义程度。文章涵盖硬件配置建议、多平台部署方案、性能加速技巧(如 cudnn、xformers)、提示词工程、模型类型与管理、常用插件以及高清修复和局部重绘等进阶功能。同时介绍了 ControlNet 构图控制和 ComfyUI 节点式生图方式,帮助用户掌握从基础使用到高级控制的核心技能。

2022 年开始的 AI 浪潮让人类走向智能化,AI 图像生成领域是主流方向之一。Stable Diffusion WebUI 是目前比较主流的图片生成软件,特点是开源且自定义程度高,扩展性强。
简单理解使用 Diffusion 扩散模型生成图片的过程就是一个添加噪声再去除噪声的过程。在这个过程中 AI 将你的意图以及它通过无数训练样本建立起来的特征和原图的关联所形成的潜在变量空间为指导生成图片,而 WebUI 就是用于控制 AI 生成图片的工具。
Stable Diffusion WebUI 目前最主流的搭配方式是 Windows + Nvidia 显卡。
配置层面上显卡有两个核心指标:
如果你只有一台 Mac 电脑并且只是想简单体验一下可以参考,但速度会比较慢。苹果官方进行了适配,可以在 M1/M2 Mac 上运行,但速度仍然比不上 N 卡方案。
如果没有本地机器,可以租用或白嫖显卡平台提供的机器进行训练或者部署。优点是可以租用到高性能显卡,缺点是会受到平台限制。
部署 stable-diffusion-webui 项目需要安装 python 环境,下载相关 python 库,下载模型,安装插件,安装 cudnn 加速库,安装 xformers 等。网上有不少整合包供用户开箱使用。如果不想折腾,想要立即上手可以下载整合包,由于全套都在 python 虚拟环境中因而和已有环境的冲突概率小。
如果是自行部署注意需要开启 cudnn 加速,升级 pytorch 2.0 以及开启 xformers 以提升生成速度。
NVIDIA CUDA® 深度神经网络库 (cuDNN) 是一个 GPU 加速的基元库。启用 cudnn 可以通过 cudnn 来进行 GPU 加速,从而提高 diffusion 生成速度。实测启用之后,速度提升差不多 30% ~ 40% 左右。
PyTorch 是一个针对深度学习优化的 tensor library。仅仅是升级到 pytorch 2.0 就可以使 WebUI 速度提升 20% 左右。
Xformers 是 Facebook 出品的一款加速 Transformers 的工具库。xformers 可以加速图片生成,并显著减少显存占用,是小显存玩家的福音。代价是可能生成不确定性的结果,注意该选项仅可用于 Nvidia 显卡,实测部分情况下提速接近 100%。
安装部署完成后,认识一下软件界面及关键参数设置。
prompt 顾名思义是"提示词"的意思,在 AI 文生图中用于指导 AI 生成过程。一个 AI 能够读懂的好咒语应该是内容充实丰富且画面具有清晰标准的,这里提供一个通用模板供快速使用。
AI 模型类别分为大模型和微调模型。
模型后缀分为 .safetensor 和 .ckpt 或 pt。safetensor 格式更加安全,推荐使用。
同一模型可能也有不同版本,ema, pruned, fp16, fp32 等。
SD 模型调校目前有四种主流的优化方法,分别是 DreamBooth, Text Inversion, LoRA 和 Hypernetworks。
效果上:DreamBooth > LoRA ≈ Textual Inversion > Hypernetworks
内存占用上:Textual Inversion >> Hypernetworks ≈ LoRA >> DreamBooth
训练速度上:LoRA > DreamBooth > Textual Inversion > Hypernetworks
综上所述:
使用模型:推荐 DreamBooth, LoRA, Textual Inversion
训练模型:推荐 LoRA, DreamBooth, Textual Inversion
不推荐:Hypernetworks 目前可以不用考虑,慢慢会被其他模型优化方法所取代。
Embedding 可以改变画面风格,快速得到你想要的画面特征的图片,常用于负向提示词,可有效提高出图质量。 通俗理解 Embedding 是'提示词打包',即通过触发词将相关的一组特征词描述打包在一起。
LoRA 出自微软的一篇论文,中文名可以称呼为'低秩适应模型',简称 LoRA。LoRA 可以帮助你向 AI 传递、描述某一个特征准确,主体清晰的形象,其所携带的信息相比 Embeddings 要更丰富。
目前 LoRA 的一个主要应用是各种游戏、动漫角色的二次创作构建,由于其训练成本低,体积小,速度快,效果好,在社区中存在着大量优质的 LoRA 模型。
插件体系是 WebUI 能够保持强大扩展能力的关键基础设施。
webui 提供两种方式安装插件,一个是从它的官方列表安装,一个是从指定网址安装。当然我们也可以手动下载插件文件后复制到插件文件夹。
推荐一些常用的插件,具体可根据需求在社区查找。
要提升成图质量,可以选用精度高表现好的模型,添加质量标准化提示词,增加分辨率等方式。除了以上方式之外,在 WebUI 中还有一系列功能是为了专门优化图像产出质量。
有人问为什么不直接设置更高的分辨率呢?更高的分辨率意味着更多的生成时间和更高的显存占用,非常容易爆显存。由于 SD 训练时大多采用 512 * 512 或 768 * 768 的图进行训练,如果设置非常高的分辨率往往会导致多个人或者多个头的情况出现。
Hires.fix 的原理是先生成一张低分辨率图像,在此画面基础上结合文本提示词进一步添加画面细节,从而提高分辨率,达到放大图像的目的。它的优势是:
在图生图的页面中其实是没有高清修复的选项的,如果原图分辨率比较低,只要按更高的分辨率设置就可以实现"高清修复"。如果想要生成的图片更大,画面更精细,可以使用 UpScale 放大脚本。 UpScale 放大脚本的原理是将原图切成若干块之后分别重新绘制,最后拼合到一起。 优势是可以突破内存限制,获得更大的分辨率,最大四倍宽高,画面精细度高。 缺点是分割重绘的过程比较不可控,比如分界线割裂,操作繁琐,偶尔加戏出现莫名其妙的奇怪区域。
如果生成图片后对图像的尺寸仍然不够满意,可以通过 WebUI 中的后期处理功能进行图像放大来实现进一步的精细化。
局部重绘顾名思义就是将 AI 生成画面中不满意的局部进行重新绘制以期待生成自己满意的画面。通常在我们对画面的 99% 都比较满意,只想修复图片不希望改变大部分区域时使用,比如 AI 绘画中常见的手画崩了的问题。
在 web-ui 中主要提供了三种方式进行局部重绘:
ControlNet 构图插件功能比较强大。简单来说 ControlNet 能从指定图像中提取结构,构图,或者深度信息,用于指导 Stable Diffusion 生成指定结构或者构图。我们知道 AI 出图具有随机性,而 ControlNet 让控制 AI 稳定出图提供了可能性。
ComfyUI 是一种节点式控制 AI 生成图像的软件,其提供了节点式的控制方式,可以任意组合输入和输出,让 AI 出图的过程更加流程化和易于控制,能够达到 WebUI 无法达到的控制自由度。
随着技术的迭代,目前 Stable Diffusion 已经能够生成非常艺术化的图片了。最新 Stable Diffusion 除了有 win 多个版本,还带来了 Mac 版本。社区中不断有新的工具和资源涌现,建议关注官方文档和社区动态以获取最新支持。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online