Stable Diffusion 新手入门:AI 绘画基础与指令详解
关于 AI 绘画,很多人在体验了 Midjourney(以下简称 MJ)之后,发现它创意能力很强,但可控性比较弱,不便应用,于是转向 Stable Diffusion(以下简称 SD),但又发现 SD 貌似很复杂。本文旨在帮助新手快速认识 SD,理解其核心逻辑。
AI 绘画工具对比
AI 绘画的算法工具,如果要做一个不一定准确的类比,可以说 MJ 是类似 AI 美图秀秀般的存在,简单易上手;SD 则类似 Photoshop,同样是图片处理,但学习起来要复杂一些,精通相对更难。
Stable Diffusion 的直译是'稳定的扩散'。很多教程一开始就讲'扩散'原理,讲一大堆运行逻辑,令人望而生畏。实际上,我们只需知道它是一个 AI 画图算法工具即可,就像母鸡可以产蛋,但普通用户并不需要研究母鸡的生殖构造和产蛋原理。

一、使用环境
SD 目前需要在电脑中工作。在使用 SD 之前,首先要了解它的使用环境。
1. 硬件要求
SD 和 MJ 一样可在线使用,不同的是 SD 是开源的。如果条件允许的话可考虑在本地部署,完全免费,可以非常灵活地配置各种模型等,但对本地硬件要求比较高。
- 显卡:要求独立显卡,显存一般在 8G 或以上。普通的办公电脑无法达到要求,需要更高配的台式机或电竞本才可满足。
- 内存:建议 16GB 及以上。
2. 软件环境
对软件环境也有要求,例如配置 Python 等。听起来好像很麻烦,实际不然,目前已有各种一键安装包,小白都可轻松安装。在线部署的服务商也会提供具体教程,如阿里云的 SD 部署,这里不做多讲。
二、使用基础:文本指令
ChatGPT 也好,AI 绘画也好,都属于生成式 AI,这类 AI 目前有一个特点,需要人工输入指令去引导它工作。你提出的'问题',就是使它工作的指令。
AI 绘画和 ChatGPT 不同的是,不需要提问,但需要你告诉它,你要画什么东西。用过 MJ 的朋友应该非常理解这个动作,例如,MJ 用户需要它画一个女孩,只需要输入对应的英文'A girl'即可。
在 SD 中,这种方式可行吗?当然可以。但和 MJ 这种一句话搞定的方式不同,SD 的绘画指令和参数明确由多个部分组成,看似繁多但不复杂,也比较容易理解。
这些指令主要属于文本指令,是'文生图'方式。SD 还支持同时使用文本 + 样图,去生成图片或对图片进行修改,这种是'图生图'方式。
三、文本指令构成
SD 的所有绘画指令,在一个的操作界面(WebUI)中完成,界面主体由几个部分组成。
1. 具体的'文字'指令
包含 2 个部分:你想画什么(正面描述)、你不希望画面出现什么(负面/反面描述)。
这种指令,和 MJ 是大体相同的,只不过在 MJ 中需要用一句话讲完,而在 SD 中,要在不同的输入框中分开填写,更加直观。比如说,你希望画'一个漂亮的 18 岁的女孩',这是一个正面描述;你希望这个女孩不要出现'多余的手指',这是一个反面描述。只需要在对应的输入框中填入即可。
文本指令是非常重要的部分,描述得清晰不清晰,出来的画面大相径庭。
2. 参数指令
无需一听'参数'二字就觉得麻烦,就是一个简单的设置。在 SD 中,基础参数设置主要包括以下几个地方:
(1) 采样方法 (Sampler)
这个名词的原本含义解释起来比较拗口,但你可以将它理解为不同的图像渲染方式。不同的采样方法有不同的特长。
- Euler a:生成速度比较快,适合于二次元、小场景和图标等画面生成。
- DPM++ 2S Karras:适合写实人像,复杂场景等画面生成。 其它的采样方法,自己可以探索,实践生成一下可看到它们之间的差异。
(2) 采样迭代步数 (Steps)
这个步数值影响图像的细节,一般来说,建议 20 起步,越大代表图像越精细,但并不是越大越好,需要在实践中结合不同的模型去观察。区间在 20-40 比较常见。


