使用Stable Diffusion绘图
Stable Diffusion是一种新兴的生成对抗网络模型,主要用于通过文本描述生成图像。其基于DDPM和LDM,能够根据文本生成符合描述的图片,对于Stable Diffusion的详细原理,可以参考DDPM和LDM的两篇论文。本文简单将介绍如何使用Stable Diffusion Webui进行绘图。
Stable Diffusion Webui环境搭建
本文主要介绍在本地进行Stable Diffusion绘图的方法,如果你想要使用Stable Diffusion Webui进行绘图,可以参考在线AI服务列表。
计算机环境要求
Stable Diffusion基于Pytorch,因此要使用Stable Diffusion, 请先安装Python,Stable Diffusion Webui建议的Python 版本为 3.10.6,安装时请勾选将Python加入环境变量path,为了方便安装SD-Webui运行所必需的各类第三方库,请网络环境不好的用户为pip更换国内源或合理使用全局代理; GPU具有很强的并行计算能力,使用CUDA加速可以大幅提升Stable Diffusion的训练及使用速度,因此建议使用Nvidia显卡并安装CUDA开发环境,CUDA的安装及配置可以参考我的这篇博客,建议的CUDA版本为11.8,对于使用AMD显卡的用户,可以参考Webui Wiki中的解决方法;Stable Diffusion Webui有大量的插件支持,为了方便下载插件及更新SD-Webui,建议安装Git,关于Git的安装可以参考我的这篇博客,如果您的网络环境不能流畅访问Github,建议为Git设置代理或使用全局代理。
安装Stable Diffusion Webui
对于Windows用户,请在Powershell中运行以上和之后的命令,Linux用户应该不用我教了吧。
1 | # 下载Stable Diffusion Webui |
初次运行时,SD-Webui会自动创建虚拟环境和下载第三方库及实例模型,第一次运行之后,只要直接运行Stable Diffusion Webui一键脚本就可以启动了,在命令行使用 Ctrl+C 或者直接关闭命令行窗口退出。运行成功终端会显示如下信息:
1 | Running on local URL: http://127.0.0.1:7860 |
在浏览器访问上述链接即可进入Webui页面。
Stable Diffusion Webui插件安装
在 Webui 的 Extensions 页面可以安装插件,插件的安装方法有两种,一种是通过URL安装,一种是通过本地文件安装,本地文件安装需要将插件文件夹放在./stable-diffusion-webui/extensions目录下,URL安装则需要在插件页面输入Github仓库地址,例如:
1 | # ControlNet插件 |
使用Stable Diffusion Webui绘图的tricks
关于运行参数
运行参数在 stable-diffusion-webui/webui-user.bat 中可以设置,更改set COMMANDLINE_ARGS=后的内容即可,下面给出几个常用的参数:
1 | # 使用xformers优化 |
关于提示词
- 可以使用tags、自然语言、emoji、颜文字作为prompt
- 合理调整权重,[]代表权重0.952,{}代表权重1.05,()代表权重1.1,不同括号叠加使用代表的权重相乘,建议使用小括号调整权重,如(purple_hair:1.2),权重越大,生成图片中该特征越明显,主要元素使用1以上的权重,次要元素使用1以下的权重,权重为1.5以上的元素会对画面产生较大影响。
- 使用中括号可以控制prompt出现的步数,如
[pink|white|blue]_hair会在每三步交替使用pink_hair和blue_hair和white_hair,配合multicolored_hair可实现挑染发色效果,[girl:9]代表在第9步开始加入girl作为prompt,[girl:12]代表在第12步开始从prompt删除girl,[girl:dog:0.9]表示总步数的前90%使用girl,其余使用dog。
关于i2i
合理使用i2i有助于更快跑出想要的图,可以先用t2i+ControlNet跑出大量构图好但是分辨率较低的大致图像,然后使用i2i打磨细节,或者使用Inpaint对局部进行修改;也可以使用t2i先跑出大致风格,然后再通过调整prompt和ControlNet对构图和人物动作进行调整。 通过调整 Denoising strength 可以调整i2i对图像的重构程度。以下是一个例子:
使用t2i+ControlNet进行构图:

在i2i使用相同prompt和不同模型改变画风:

使用Inpaint对局部进行修改+Upscaling提高分辨率

关于模型下载
使用别人训练好的模型可以大幅提升绘图速度,如果想要针对个别特征进行调整,可以自行训练Lora,别人训练好的模型或Lora一般从网站社群(Civitai、Hugging Face、Pix.ink)或者社交平台的社群获取。
结语
AI绘图是一项非常有趣的技术,Stable Diffusion是一种非常有潜力的模型,希望本文能够帮助到你,如果你有任何问题或者有任何值得分享的建议,欢迎在评论区提出。
1gitl, (touhou project), daylight , bluesky, high quality, 8k wallpaper, anime,
(Shameimaru_Aya:1.5), (wings:1.3), (full body:1.2), a camera in hands, 😘, (loli:1.4), cute
leaving center part of the screen blank,
使用Stable Diffusion绘图