Stable Diffusion是2022年最火的开源AI绘画工具。

和Midjourney不同,Stable Diffusion是开源的,可以在本地运行,免费使用。这意味着,你不需要付费订阅,不需要科学上网,只要有一台性能不错的电脑,就能体验AI绘画。

本文是Stable Diffusion的入门指南,从零开始教你安装、配置和使用。包括环境搭建、模型下载、基本用法、Prompt技巧、参数调整、常见问题,以及和Midjourney的对比。

一、Stable Diffusion是什么

先说说Stable Diffusion是什么。

1. 基本介绍

Stable Diffusion是由Stability AI公司开发的开源文本生成图像模型。

它基于Latent Diffusion Models(潜在扩散模型),可以根据文字描述生成高质量的图像。2022年8月,Stable Diffusion正式开源,发布了模型权重和代码,任何人都可以免费下载和使用。

2. 和Midjourney的区别

对比项Stable DiffusionMidjourney
开源是,完全开源否,闭源
使用方式本地运行或在线服务Discord机器人
费用免费(本地)付费订阅
隐私本地运行,数据不出去数据上传到服务器
可控性高,可以自定义很多参数中等
上手难度较难,需要配置环境简单,输入指令即可
生成质量高,取决于模型和参数高,默认质量好
社区活跃,模型和插件丰富活跃

简单说,Midjourney是"开箱即用",适合不想折腾的人;Stable Diffusion是"自由度高",适合喜欢折腾、追求可控性的人。

3. 为什么选Stable Diffusion

我选择Stable Diffusion的原因:

  • 免费:本地运行,不需要付费
  • 开源:可以研究原理,自定义修改
  • 隐私:图片在本地生成,不会上传
  • 可控:参数多,可以精细控制生成结果
  • 社区活跃:有大量的模型、LoRA、插件

当然,它的缺点是上手门槛高,需要一定的技术基础。但只要跟着教程一步步来,也不难。

二、环境要求和准备

在安装之前,先看看你的电脑能不能跑。

1. 硬件要求

最低要求:

  • 显卡:NVIDIA显卡,显存4GB以上(GTX 1060 6GB起步)
  • 内存:8GB以上
  • 硬盘:至少20GB空闲空间(模型文件就有4-7GB)
  • 系统:Windows 10/11,或Linux

推荐配置:

  • 显卡:NVIDIA RTX 3060 12GB或更高
  • 内存:16GB以上
  • 硬盘:SSD,50GB以上空闲空间
  • 系统:Windows 10/11

注意:

  • Stable Diffusion主要支持NVIDIA显卡(CUDA)
  • AMD显卡也可以用,但配置更复杂,性能可能不如NVIDIA
  • 没有独立显卡的话,可以用CPU跑,但速度很慢(一张图可能要几分钟)
  • 显存越大越好,4GB能跑但很勉强,8GB比较舒服,12GB以上可以跑大模型

2. 软件准备

需要安装的软件:

  • Python 3.10(不要用太新的版本,3.10最稳定)
  • Git(用于克隆代码仓库)
  • NVIDIA显卡驱动(最新版)
  • CUDA Toolkit(可选,一般装驱动就够了)

3. 模型下载

Stable Diffusion需要模型文件才能运行。

常用的模型:

  • SD 1.5:最经典、最稳定的模型,资源最多
  • SD 2.1:更新的模型,质量更好,但部分资源不兼容
  • 各种微调模型:如Anything(二次元)、Realistic Vision(写实)、Deliberate(通用)等

模型文件一般是.ckpt.safetensors格式,大小在2-7GB之间。

下载渠道:

  • Hugging Face:官方模型仓库
  • Civitai:社区模型分享平台,模型最多
  • 各种网盘分享

注意:下载模型时,要注意模型的版本和用途,选择适合自己需求的。

三、安装步骤

说说具体的安装步骤。

方法一:用WebUI(推荐新手)

最流行的Stable Diffusion WebUI是Automatic1111的版本,功能强大,社区活跃。

步骤:

  1. 安装Python和Git

- 下载Python 3.10,安装时勾选"Add Python to PATH" - 下载Git,默认安装即可

  1. 克隆WebUI仓库

`` git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git ``

  1. 放入模型文件

- 把下载的模型文件(.ckpt或.safetensors)放到models/Stable-diffusion/目录下

  1. 运行

- Windows用户双击webui-user.bat - 第一次运行会自动下载依赖,可能需要几分钟到十几分钟 - 运行成功后,会显示一个本地地址(如http://127.0.0.1:7860

  1. 打开浏览器

- 在浏览器中打开显示的地址,就可以开始使用了

方法二:用Docker(适合有经验的用户)

如果你熟悉Docker,可以用Docker部署,更干净,不会污染本地环境。

docker pull camenduru/stable-diffusion-webui
docker run -p 7860:7860 camenduru/stable-diffusion-webui

方法三:在线服务(不想本地部署)

如果电脑配置不够,或者不想折腾,可以用在线服务:

  • Hugging Face Spaces:有免费的Stable Diffusion在线演示
  • Google Colab:用谷歌的云GPU运行
  • 各种国内的AI绘画平台:如百度文心一格、阿里通义万相等

但在线服务一般有使用限制,而且数据不在本地。

四、基本用法

安装好之后,说说基本用法。

1. 界面介绍

WebUI的主要界面:

  • txt2img:文生图,根据文字描述生成图片
  • img2img:图生图,根据参考图和文字描述生成图片
  • Extras:图片放大、修复等
  • PNG Info:查看图片的生成参数
  • Checkpoint Merger:模型合并
  • Train:训练模型(LoRA等)

最常用的是txt2img(文生图)。

2. 文生图(txt2img)

基本操作:

  1. 在"Prompt"输入框中,输入你想要的画面描述(正面提示词)
  2. 在"Negative Prompt"输入框中,输入你不想要的内容(负面提示词)
  3. 调整参数(采样方法、步数、尺寸、数量等)
  4. 点击"Generate"按钮,等待生成

生成的图片会显示在右侧,可以下载保存。

3. 基本参数说明

  • Sampling method(采样方法):常用的有Euler a、DPM++ 2M Karras、DDIM等。不同的采样方法,生成的风格和速度不同。新手推荐用Euler a或DPM++ 2M Karras。
  • Sampling steps(采样步数):生成图片的迭代次数,一般20-30步就够了。步数越多,细节越丰富,但速度越慢。
  • Width/Height(宽高):图片尺寸。SD 1.5默认512x512,SD 2.1默认768x768。尺寸越大,显存占用越多,速度越慢。
  • Batch count/Batch size(批量):一次生成多少张。Batch size受显存限制,一般1-4张。
  • CFG Scale(提示词相关性):控制AI遵循提示词的程度。一般7左右比较好。太高会导致画面僵硬,太低会偏离提示词。
  • Seed(随机种子):随机数种子。相同的种子+相同的参数+相同的提示词,会生成相似的图片。-1表示随机。

五、Prompt技巧

Prompt(提示词)是AI绘画的核心,写得好不好,直接影响生成效果。

1. 正面提示词(Prompt)

正面提示词,描述你想要的画面。

一个好的提示词,通常包含:

  • 主体:画面的主要对象(人、物、场景)
  • 细节:主体的细节(外貌、服装、表情、动作)
  • 环境:背景和环境(室内/室外、天气、时间)
  • 风格:艺术风格(油画、水彩、赛博朋克、写实)
  • 画质:质量描述(masterpiece, best quality, highly detailed, 8k)
  • 构图:构图和视角(特写、全景、俯视、对称)

示例:

masterpiece, best quality, 1girl, long hair, blue eyes, white dress, 
standing in a flower garden, sunset, soft lighting, oil painting style, 
highly detailed, 8k

翻译:杰作,最佳质量,一个女孩,长发,蓝眼睛,白色连衣裙,站在花园里,日落,柔和的光线,油画风格,细节丰富,8K。

2. 负面提示词(Negative Prompt)

负面提示词,描述你不想要的内容。

常用的负面提示词:

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

翻译:低分辨率,解剖结构错误,手画错了,文字,错误,缺少手指,多余的数字,数字不足,裁剪,最差质量,低质量,普通质量,JPEG伪影,签名,水印,用户名,模糊。

负面提示词可以有效避免AI生成常见的错误(如多手指、模糊、水印等)。

3. 提示词技巧

  • 用英文写:Stable Diffusion对英文的理解更好
  • 关键词用逗号分隔:不要写完整的句子,用关键词和短语
  • 重要的词放前面:前面的词权重更高
  • 用括号增加权重(word:1.5)表示权重1.5倍,(word)默认1.1倍
  • 用方括号降低权重[word]表示权重0.9倍
  • 具体比抽象好:不要只说"一个女孩",要说"一个长发蓝眼睛穿白裙子的女孩"
  • 参考艺术家风格:可以加"by Van Gogh"、"by Makoto Shinkai"等

六、进阶功能

说说一些进阶功能。

1. 图生图(img2img)

图生图,是根据一张参考图,结合文字提示,生成新的图片。

用法:

  1. 上传一张参考图
  2. 输入提示词
  3. 调整"Denoising strength"(去噪强度):0表示完全保留原图,1表示完全重新生成。一般0.5-0.7比较合适
  4. 点击生成

图生图的用途:

  • 改变图片风格
  • 修改图片的某些部分
  • 给线稿上色
  • 扩展图片(Outpainting)

2. 局部重绘(Inpaint)

局部重绘,可以只修改图片的某一部分,其他部分保持不变。

用法:

  1. 在img2img中,选择"Inpaint"标签
  2. 上传图片,用画笔涂抹要修改的区域
  3. 输入提示词,描述你想要的内容
  4. 调整参数,点击生成

这是一个非常实用的功能,可以修复AI生成的错误(如手画错了),或者修改图片的某个部分。

3. 高清修复(Hires. fix)

直接生成大图,效果可能不好。高清修复的思路是:先生成小图,再放大并细化。

用法:

  1. 在txt2img中,勾选"Hires. fix"
  2. 选择放大方法(Latent、ESRGAN、SwinIR等)
  3. 设置放大倍数(一般1.5-2倍)
  4. 生成

高清修复可以生成更清晰、细节更丰富的大图。

4. LoRA模型

LoRA(Low-Rank Adaptation)是一种轻量级的模型微调方法,可以给基础模型增加特定的风格或角色。

用法:

  1. 下载LoRA模型(.safetensors文件),放到models/Lora/目录
  2. 在提示词中引用:<lora:模型名:权重>
  3. 生成

LoRA的好处是体积小(几十MB),可以灵活组合。比如,你可以用一个LoRA生成特定角色,用另一个LoRA生成特定风格。

5. ControlNet

ControlNet是一个强大的控制工具,可以让你更精确地控制生成的图片。

ControlNet的模式:

  • Canny:根据边缘线生成
  • Depth:根据深度图生成
  • Pose:根据人体姿势生成
  • Seg:根据分割图生成
  • Lineart:根据线稿生成

用法:

  1. 安装ControlNet插件
  2. 上传参考图,选择控制模式
  3. 输入提示词,生成

ControlNet可以解决AI绘画的很多不可控问题,比如人物姿势、构图、线稿上色等。

七、常见问题

说说常见的问题和解决方法。

问题一:显存不足(Out of Memory)

原因: 图片尺寸太大,或Batch size太大,或模型太大。

解决方法:

  • 减小图片尺寸
  • 减小Batch size(设为1)
  • 用更小的模型
  • 开启" medvram"或"lowvram"模式(在webui-user.bat中加参数)
  • 用xformers加速(节省显存)

问题二:生成速度慢

原因: 显卡性能不够,或参数设置不合理。

解决方法:

  • 减少采样步数(20步足够)
  • 减小图片尺寸
  • 用更快的采样方法(如Euler a)
  • 开启xformers
  • 升级显卡硬件

问题三:生成的图片质量差

原因: 提示词写得不好,或模型不适合,或参数不对。

解决方法:

  • 优化提示词,加更多细节
  • 用负面提示词排除不好的内容
  • 换一个更好的模型
  • 调整CFG Scale(一般7左右)
  • 增加采样步数

问题四:人物手画错了

原因: AI画手一直是个难题。

解决方法:

  • 负面提示词中加"bad hands, missing fingers, extra fingers"
  • 用局部重绘(Inpaint)修复
  • 用ControlNet Pose控制手部姿势
  • 用专门的手部修复模型或插件

问题五:安装失败

原因: 环境配置问题,依赖下载失败。

解决方法:

  • 确保Python版本是3.10
  • 确保Git已安装
  • 网络问题的话,用国内镜像源
  • 看错误信息,针对性解决
  • 实在不行,用Docker或在线服务

八、学习资源

推荐一些学习资源:

官方资源:

  • Stable Diffusion官方GitHub
  • Automatic1111 WebUI的Wiki文档
  • Hugging Face的模型和文档

社区:

  • Civitai:模型分享社区,也有很多教程
  • Reddit的r/StableDiffusion板块
  • B站:很多UP主做Stable Diffusion教程
  • 各种QQ群、微信群

教程:

  • B站搜索"Stable Diffusion教程",有很多入门到进阶的教程
  • YouTube上也有很多英文教程
  • 知乎、公众号上也有不少文章

九、写在最后

Stable Diffusion,是AI绘画领域的一个里程碑。

它的开源,让AI绘画从少数人的玩具,变成了人人都能用的工具。不需要付费,不需要科学上网,只要有一台电脑,就能体验AI绘画的魅力。

当然,Stable Diffusion的上手门槛比Midjourney高一些,需要配置环境,学习参数,研究提示词。但正是这种自由度,让它有了无限的可能性。你可以自定义模型,训练LoRA,用ControlNet精确控制,做出Midjourney做不到的事情。

2022年8月,Stable Diffusion刚刚开源不久,生态还在快速发展。新的模型、新的插件、新的技术,层出不穷。现在入门,正是时候。

最后,用一句话总结:"Stable Diffusion是开源的AI绘画利器,免费、自由、可控。虽然上手有门槛,但只要跟着教程一步步来,你也能创作出精美的AI画作。"

愿你在AI绘画的世界里,找到创作的乐趣。