Stable Diffusion 完全指南


目录


什么是 Stable Diffusion?

Stable Diffusion 是由 Stability AI 公司开发的开源文本到图像生成模型。它可以根据文字描述生成高质量、高分辨率的图像,是 AI 绘画领域的里程碑式作品。

核心特点

  1. 开源免费 - 完全开源,可商用

  2. 高质量 - 生成图像质量优秀

  3. 快速 - 消费级显卡即可运行

  4. 灵活 - 支持多种风格和定制

  5. 社区活跃 - 大量插件和扩展

发展历程

时间

版本

重要特性

2022.08

SD 1.4

首个公开版本

2022.11

SD 2.0

架构优化

2023.03

SD XL

更高分辨率

2023.08

SD XL Turbo

实时生成

2024.02

SD 3

多模态能力


核心原理

扩散模型基础

扩散过程

原始图像 → 添加噪声 → 完全噪声
    ↓
逐步去噪 → 生成新图像

两个阶段

  1. 前向扩散(加噪)

    • 逐步向图像添加高斯噪声

    • 最终变成纯随机噪声

  2. 反向扩散(去噪)

    • 学习从噪声中恢复图像

    • 根据文本提示生成目标图像

关键技术

1. Latent Diffusion(潜在扩散)

核心思想

  • 在压缩的潜在空间操作

  • 而非原始像素空间

  • 大幅降低计算量

优势

  • 速度提升 10 倍+

  • 显存需求降低

  • 可消费级显卡运行

2. CLIP 文本编码

作用

  • 将文本转换为向量

  • 理解语义信息

  • 指导图像生成

3. U-Net 架构

功能

  • 预测噪声

  • 逐步去噪

  • 结合文本信息

4. VAE(变分自编码器)

作用

  • 图像压缩和解压缩

  • 像素空间 ↔ 潜在空间

  • 保持图像质量


技术架构

整体架构

┌─────────────────────────────────────┐
│         文本提示(Prompt)           │
└──────────────┬──────────────────────┘
               ↓
┌─────────────────────────────────────┐
│      CLIP Text Encoder              │
│    (文本编码器)                    │
└──────────────┬──────────────────────┘
               ↓
┌─────────────────────────────────────┐
│         文本嵌入(Embedding)         │
└──────────────┬──────────────────────┘
               ↓
┌─────────────────────────────────────┐
│         U-Net 去噪网络               │
│    + Cross-Attention(注意力)       │
└──────────────┬──────────────────────┘
               ↓
┌─────────────────────────────────────┐
│         VAE Decoder                  │
│    (解码器)                        │
└──────────────┬──────────────────────┘
               ↓
┌─────────────────────────────────────┐
│         生成图像                     │
└─────────────────────────────────────┘

组件详解

1. Text Encoder(文本编码器)

作用:将提示词转换为模型可理解的向量

常用模型

  • CLIP ViT-L/14

  • OpenCLIP

  • T5(SD 3)

2. U-Net

作用:核心去噪网络

结构特点

  • 编码器 - 解码器结构

  • 跳跃连接

  • Cross-Attention 机制

3. VAE

作用:图像压缩和解码

压缩率

  • 512x512 图像 → 64x64 潜在表示

  • 压缩 64 倍

  • 保持视觉质量


版本演进

SD 1.x 系列

SD 1.4(2022.08)

  • 首个公开版本

  • 512x512 分辨率

  • 768M 参数

SD 1.5(2022.11)

  • 优化细节

  • 更好的手部生成

  • 社区最广泛使用

SD 2.x 系列

SD 2.0(2022.11)

  • 新的文本编码器

  • 768x768 分辨率

  • 移除 NSFW 内容

SD 2.1(2022.12)

  • 恢复部分能力

  • 改进人脸生成

SD XL 系列

SD XL 1.0(2023.07)

  • 1024x1024 分辨率

  • 3.5B 参数

  • 双文本编码器

  • 质量大幅提升

SD XL Turbo(2023.11)

  • 实时生成(1 步)

  • adversarial 训练

  • 质量速度平衡

SD 3 系列

SD 3(2024.02)

  • 多模态架构

  • 更好的文本理解

  • 支持多语言

  • 改进的构图能力


安装部署

方案 1:WebUI(推荐新手)

Stable Diffusion WebUI(AUTOMATIC1111)

安装步骤

# 1. 克隆项目
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui

# 2. 运行安装脚本
# Windows
webui-user.bat

# Linux/Mac
./webui.sh

特点

  • 图形界面

  • 功能丰富

  • 插件生态

  • 易于上手

方案 2:ComfyUI(推荐进阶)

安装

git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
pip install -r requirements.txt
python main.py

特点

  • 节点式工作流

  • 高度可定制

  • 性能优秀

  • 可视化流程

方案 3:Python API

安装

pip install diffusers transformers accelerate torch

使用示例

from diffusers import StableDiffusionPipeline
import torch

# 加载模型
pipe = StableDiffusionPipeline.from_pretrained(
    "runwayml/stable-diffusion-v1-5",
    torch_dtype=torch.float16
).to("cuda")

# 生成图像
prompt = "a photo of an astronaut riding a horse"
image = pipe(prompt).images[0]
image.save("output.png")

方案 4:在线服务

平台

  • DreamStudio - Stability AI 官方

  • Replicate - 云端 API

  • Hugging Face Spaces - 免费试用


使用方式

1. 文生图(Text-to-Image)

基本用法

Prompt: "a beautiful sunset over mountains, 
         golden hour, cinematic lighting, 
         highly detailed, 8k"

Negative Prompt: "ugly, blurry, low quality"

Steps: 20
CFG Scale: 7
Width: 512
Height: 512

2. 图生图(Image-to-Image)

用途

  • 基于参考图生成

  • 风格转换

  • 图像修复

  • 图像扩展

参数

  • Denoising Strength: 0.1-1.0

    • 低值:保留原图

    • 高值:更多变化

3. 图像修复(Inpainting)

用途

  • 修复图像缺陷

  • 替换部分内容

  • 添加/删除元素

流程

  1. 上传图像

  2. 涂抹要修改的区域

  3. 输入新的提示词

  4. 生成修复

4. 图像扩展(Outpainting)

用途

  • 扩展画布

  • 补充画外内容

  • 创建全景图

5. ControlNet 控制

用途

  • 精确控制构图

  • 姿势控制

  • 边缘检测

  • 深度图控制

控制类型

  • Canny(边缘)

  • Depth(深度)

  • Pose(姿势)

  • Segmentation(分割)

  • Scribble(涂鸦)


应用场景

1. 艺术创作

应用

  • 概念艺术

  • 插画设计

  • 数字绘画

  • 风格探索

案例

Prompt: "fantasy landscape with floating islands, 
         waterfalls, magical atmosphere, 
         art by Greg Rutkowski and Albert Bierstadt"

2. 产品设计

应用

  • 产品概念图

  • 包装设计

  • 工业设计

  • 快速原型

3. 游戏开发

应用

  • 角色设计

  • 场景概念图

  • 道具设计

  • 宣传素材

4. 影视制作

应用

  • 分镜草图

  • 场景概念

  • 角色定妆

  • 海报设计

5. 建筑设计

应用

  • 建筑外观

  • 室内设计

  • 景观规划

  • 效果图

6. 电商营销

应用

  • 产品渲染

  • 广告素材

  • 模特生成

  • 场景图

7. 教育培训

应用

  • 教学插图

  • 可视化素材

  • 创意启发

  • 艺术教学


优势与局限

优势

1. 开源生态
  • ✅ 完全开源免费

  • ✅ 可商用

  • ✅ 社区活跃

  • ✅ 持续更新

2. 灵活定制
  • ✅ 支持微调

  • ✅ 大量插件

  • ✅ 可扩展

  • ✅ 模型众多

3. 质量优秀
  • ✅ 高分辨率

  • ✅ 细节丰富

  • ✅ 风格多样

  • ✅ 艺术感强

4. 易于使用
  • ✅ 图形界面

  • ✅ 在线服务

  • ✅ 文档完善

  • ✅ 教程丰富

局限

1. 生成问题
  • ❌ 手部生成不稳定

  • ❌ 文字渲染困难

  • ❌ 复杂构图难控制

  • ❌ 一致性难保证

2. 技术限制
  • ❌ 需要 GPU

  • ❌ 显存要求高

  • ❌ 生成速度慢

  • ❌ 随机性强

3. 伦理问题
  • ❌ 版权争议

  • ❌ 深度伪造风险

  • ❌ 艺术家风格模仿

  • ❌ 虚假信息

4. 学习曲线
  • ❌ 参数众多

  • ❌ 需要调优经验

  • ❌ 提示词技巧

  • ❌ 问题排查难


生态工具

1. Web 界面

AUTOMATIC1111 WebUI

ComfyUI

2. 模型资源

Civitai

  • 网址:https://civitai.com/

  • 最大模型分享社区

  • Checkpoint、LoRA、Embedding

  • 用户评分和评论

Hugging Face

3. 训练工具

Kohya's Trainer

  • LoRA 训练

  • Dreambooth 训练

  • 图形界面

  • 易于上手

Dreambooth

  • 个性化微调

  • 少量样本

  • 高质量结果

4. 辅助工具

ControlNet

  • 精确控制构图

  • 多种控制方式

  • 必备插件

Roop/ReActor

  • 换脸工具

  • 一键换脸

  • 视频支持

Ultimate SD Upscale

  • 图像放大

  • 细节增强

  • 无损放大


最佳实践

1. 提示词技巧

基本结构
[主体] + [细节描述] + [风格] + [质量词] + [艺术家]

示例:
"portrait of a young woman, 
 long black hair, blue eyes, 
 fantasy style, 
 highly detailed, 8k, masterpiece, 
 art by Artgerm and Greg Rutkowski"
质量增强词
positive:
- masterpiece, best quality, high quality
- highly detailed, intricate details
- 8k, UHD, HDR
- professional, cinematic

negative:
- low quality, worst quality
- blurry, ugly, deformed
- watermark, signature
- bad anatomy, bad hands
权重控制
# 增加权重
(masterpiece:1.2)
[best quality:1.3]

# 降低权重
(low quality:0.8)

# 交替权重
(breakfast:0.5|dinner:0.5)

2. 参数调优

Steps(步数)
  • 20-30: 标准质量

  • 30-50: 高质量

  • 50+: 极致质量(收益递减)

CFG Scale(引导系数)
  • 5-7: 平衡

  • 7-9: 遵循提示词

  • 9-15: 严格遵循(可能过饱和)

  • <5: 更自由发挥

Sampling Method(采样方法)

常用采样器

  • Euler a: 快速,创意性强

  • DPM++ 2M Karras: 高质量,推荐

  • UniPC: 快速,适合批量

  • DDIM: 经典,稳定

3. 模型选择

场景推荐

场景

推荐模型

写实人像

ChilloutMix

二次元

Anything V5

风景

Realistic Vision

概念艺术

SD XL

产品设计

SD XL Turbo

4. 工作流优化

批量生成
1. 准备提示词列表
2. 设置批量数量
3. 使用不同种子
4. 筛选最佳结果
迭代优化
1. 快速生成草稿(低步数)
2. 选择满意的方向
3. 提高参数细化
4. 最终高质量输出

5. 资源管理

显存优化
- 使用 --medvram 或 --lowvram
- 启用 xformers 优化
- 使用 --precision autocast
- 分批处理
存储管理
- 定期清理临时文件
- 整理模型文件
- 使用云端存储
- 建立分类体系

常见问题

Q1: 需要什么样的显卡?

最低要求

  • NVIDIA 显卡

  • 4GB 显存

  • 支持 CUDA

推荐配置

  • RTX 3060 12GB 或更高

  • 8GB+ 显存

  • 16GB 系统内存

Q2: 生成的人像为什么手部奇怪?

原因

  • 训练数据中手部样本少

  • 手部结构复杂

  • 模型理解有限

解决方案

  • 使用 ControlNet Pose

  • 后期修复

  • 使用专门的人像模型

  • 避免手部特写

Q3: 如何提高生成质量?

方法

  1. 优化提示词

  2. 增加 Steps(20→30)

  3. 调整 CFG Scale

  4. 使用高质量模型

  5. 启用 Hires. fix

  6. 后期放大

Q4: 模型文件太大怎么办?

解决方案

  1. 使用.fp16 精度模型(减半)

  2. 使用 EMA 版本

  3. 只保留常用模型

  4. 使用云端存储

Q5: 如何保持角色一致性?

方法

  1. 使用相同种子

  2. 固定提示词

  3. 训练 LoRA 模型

  4. 使用 Reference 功能

  5. ControlNet 辅助

Q6: 商用有版权问题吗?

答案

  • SD 模型本身:可商用

  • 生成的图像:一般可商用

  • 注意:

    • 避免使用有版权的角色

    • 注意艺术家风格模仿

    • 查看具体模型许可证

Q7: 如何训练自己的模型?

方法

  1. Dreambooth: 微调整个模型

  2. LoRA: 训练小模型(推荐)

  3. Textual Inversion: 训练嵌入

  4. Hypernetwork: 训练超网络

工具:Kohya's Trainer


相关资源

官方资源

学习资源

教程网站

  • YouTube: 搜索 "Stable Diffusion tutorial"

  • Bilibili: SD 中文教程

  • 知乎: SD 技术文章

模型下载

工具插件

  • ControlNet: 精确控制

  • Roop: 换脸工具

  • Ultimate SD Upscale: 图像放大

  • OpenPose: 姿势检测


总结

Stable Diffusion 的核心价值

  1. ** democratize AI** - 让 AI 绘画普及化

  2. 开源生态 - 社区驱动发展

  3. 创作自由 - 降低创作门槛

  4. 无限可能 - 激发创意灵感

技术趋势

  1. 更快速度 - 实时生成

  2. 更高质量 - 照片级真实

  3. 更好控制 - 精确构图

  4. 多模态融合 - 文本 + 图像 + 视频

学习建议

  1. 从 WebUI 开始

  2. 学习提示词技巧

  3. 了解参数作用

  4. 多实践多尝试

  5. 关注社区动态

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐