Stable Diffusion 简介 #
什么是 AI 图像生成? #
AI 图像生成是指使用人工智能模型根据文本描述或其他输入条件创建图像的技术。这项技术近年来取得了突破性进展,从最初的模糊图像到如今可以生成照片级真实感的高质量图像。
text
┌─────────────────────────────────────────────────────────────┐
│ AI 图像生成发展历程 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 2014年 ─── GAN 时代 │
│ │ 生成对抗网络 │
│ │ 图像质量逐步提升 │
│ │ │
│ 2021年 ─── CLIP + VQGAN │
│ │ 文本引导生成 │
│ │ 艺术风格图像 │
│ │ │
│ 2022年 ─── 扩散模型崛起 │
│ │ DALL-E 2 发布 │
│ │ Stable Diffusion 开源 │
│ │ │
│ 2023年 ─── 技术成熟期 │
│ │ Midjourney V5 │
│ │ SDXL 发布 │
│ │ │
│ 2024年 ─── 多模态时代 │
│ SD 3.0 多模态理解 │
│ DALL-E 3 文字渲染 │
│ │
└─────────────────────────────────────────────────────────────┘
什么是 Stable Diffusion? #
Stable Diffusion 是由 Stability AI 公司开发的开源文本到图像生成模型。它基于扩散模型(Diffusion Model)技术,能够根据文字描述生成高质量图像。
核心定位 #
text
┌─────────────────────────────────────────────────────────────┐
│ Stable Diffusion 定位 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 开源免费 │ │ 本地运行 │ │ 高度可定制 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 活跃社区 │ │ 商业友好 │ │ 生态丰富 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
为什么选择 Stable Diffusion? #
text
优势 1:开源免费
────────────────────────
- 完全开源,代码和模型权重公开
- 无需付费订阅
- 可自由修改和分发
优势 2:本地运行
────────────────────────
- 数据隐私保护
- 无需网络连接
- 无使用限制
优势 3:高度可定制
────────────────────────
- 支持自定义模型训练
- LoRA 风格微调
- ControlNet 精确控制
优势 4:活跃社区
────────────────────────
- 海量模型资源
- 丰富的教程和技巧
- 持续的技术更新
Stable Diffusion 的历史 #
发展历程 #
text
2022年8月 ─── Stable Diffusion 1.4 发布
│
│ 首个开源版本
│ 引发 AI 绘画热潮
│ 512×512 分辨率
│
2022年10月 ─── Stable Diffusion 1.5
│
│ 改进的训练
│ 更好的图像质量
│ 成为最流行的版本
│
2022年11月 ─── Stable Diffusion 2.0
│
│ 新的文本编码器
│ 更高分辨率支持
│ v-prediction 目标
│
2022年12月 ─── Stable Diffusion 2.1
│
│ 优化版本
│ 更好的风格理解
│
2023年7月 ─── SDXL 发布
│
│ 2.6B 参数
│ 1024×1024 原生分辨率
│ 双文本编码器
│
2024年2月 ─── Stable Diffusion 3.0
│
│ 全新架构
│ 多模态理解
│ 更强的文字渲染
│
2024年10月 ─── Stable Diffusion 3.5
│
│ 性能优化
│ 更好的指令遵循
版本特性对比 #
| 版本 | 发布时间 | 参数量 | 分辨率 | 文本编码器 | 特点 |
|---|---|---|---|---|---|
| SD 1.4 | 2022.08 | 860M | 512×512 | CLIP ViT-L | 首个版本 |
| SD 1.5 | 2022.10 | 860M | 512×512 | CLIP ViT-L | 最流行版本 |
| SD 2.0 | 2022.11 | 865M | 768×768 | OpenCLIP | 新编码器 |
| SD 2.1 | 2022.12 | 865M | 768×768 | OpenCLIP | 优化版 |
| SDXL | 2023.07 | 2.6B | 1024×1024 | 双编码器 | 高质量 |
| SD 3 | 2024.02 | 2B-8B | 1024×1024 | T5+CLIP | 多模态 |
扩散模型原理 #
什么是扩散过程? #
扩散模型的核心思想是模拟一个"加噪-去噪"的过程:
text
┌─────────────────────────────────────────────────────────────┐
│ 扩散模型原理 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 前向扩散(加噪) │
│ │
│ 清晰图像 ──→ 加噪 ──→ 加噪 ──→ ... ──→ 纯噪声 │
│ 🖼️ 📺 📺 📺 │
│ │
│ 反向扩散(去噪) │
│ │
│ 纯噪声 ──→ 去噪 ──→ 去噪 ──→ ... ──→ 清晰图像 │
│ 📺 🖼️ 🖼️ 🖼️ │
│ │
│ 文本条件 │
│ │ │
│ └───→ 引导去噪方向 ───→ 生成符合描述的图像 │
│ │
└─────────────────────────────────────────────────────────────┘
前向扩散过程 #
python
前向扩散过程:
x_0 (原图) → x_1 → x_2 → ... → x_T (纯噪声)
每一步添加高斯噪声:
x_t = √(1-β_t) * x_{t-1} + √β_t * ε
其中:
- β_t 是噪声调度参数
- ε 是标准高斯噪声
- T 通常为 1000 步
反向扩散过程 #
python
反向扩散过程:
x_T (噪声) → x_{T-1} → ... → x_1 → x_0 (生成图像)
每一步预测并去除噪声:
x_{t-1} = μ_θ(x_t, t) + σ_t * z
其中:
- μ_θ 是神经网络预测的均值
- σ_t 是噪声强度
- z 是随机噪声
条件引导 #
text
文本条件引导:
┌─────────────────────────────────────────┐
│ │
│ 文本提示词 │
│ │ │
│ ▼ │
│ ┌─────────┐ │
│ │ CLIP │ ─── 文本嵌入向量 │
│ │ Encoder │ │
│ └─────────┘ │
│ │ │
│ ▼ │
│ ┌─────────┐ │
│ │ U-Net │ ─── 条件去噪 │
│ │ │ 生成符合文本的图像 │
│ └─────────┘ │
│ │
└─────────────────────────────────────────┘
Stable Diffusion 架构 #
三大核心组件 #
text
┌─────────────────────────────────────────────────────────────┐
│ Stable Diffusion 三大组件 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. CLIP Text Encoder(文本编码器) │
│ ├── 将文本转换为向量表示 │
│ ├── 提供语义引导信号 │
│ └── SD 1.x: CLIP ViT-L/14 │
│ │
│ 2. U-Net(核心去噪网络) │
│ ├── 预测噪声 │
│ ├── 接收文本条件 │
│ └── 多层注意力机制 │
│ │
│ 3. VAE(变分自编码器) │
│ ├── Encoder: 图像 → 潜空间 │
│ ├── Decoder: 潜空间 → 图像 │
│ └── 大幅降低计算量 │
│ │
└─────────────────────────────────────────────────────────────┘
潜空间扩散 #
Stable Diffusion 的关键创新是在潜空间(Latent Space)而非像素空间进行扩散:
text
像素空间扩散 vs 潜空间扩散:
像素空间(DALL-E 2):
┌──────────┐ ┌──────────┐ ┌──────────┐
│ 512×512 │ → │ 512×512 │ → │ 512×512 │
│ ×3通道 │ │ 去噪 │ │ 图像 │
│ = 786K │ │ │ │ │
└──────────┘ └──────────┘ └──────────┘
计算量大,显存占用高
潜空间(Stable Diffusion):
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ 512×512 │ → │ 64×64 │ → │ 64×64 │ → │ 512×512 │
│ 图像 │ │ ×4通道 │ │ 去噪 │ │ 图像 │
│ │ │ = 16K │ │ │ │ │
│ │ │ VAE编码 │ │ │ │ VAE解码 │
└──────────┘ └──────────┘ └──────────┘ └──────────┘
计算量小,可在消费级GPU运行
U-Net 结构 #
text
┌─────────────────────────────────────────────────────────────┐
│ U-Net 结构 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ │
│ │ 输入 │ 64×64×4 │
│ └────┬────┘ │
│ │ │
│ ┌────────────────────┼────────────────────┐ │
│ │ 下采样路径(编码器) │ │
│ │ │ │ │
│ │ ┌───────────────┼───────────────┐ │ │
│ │ │ ResBlock + Attention │ │ │
│ │ │ 64×64 → 32×32 → 16×16 │ │ │
│ │ └───────────────┼───────────────┘ │ │
│ │ │ │ │
│ └────────────────────┼────────────────────┘ │
│ │ │
│ ┌────┴────┐ │
│ │ 中间层 │ 8×8 │
│ └────┬────┘ │
│ │ │
│ ┌────────────────────┼────────────────────┐ │
│ │ 上采样路径(解码器) │ │
│ │ │ │ │
│ │ ┌───────────────┼───────────────┐ │ │
│ │ │ ResBlock + Attention │ │ │
│ │ │ 8×8 → 16×16 → 32×32 → 64×64 │ │ │
│ │ └───────────────┼───────────────┘ │ │
│ │ │ │ │
│ └────────────────────┼────────────────────┘ │
│ │ │
│ ┌────┴────┐ │
│ │ 输出 │ 64×64×4 │
│ └─────────┘ │
│ │
│ ←─── Skip Connections(跳跃连接)───→ │
│ │
└─────────────────────────────────────────────────────────────┘
Stable Diffusion 的能力 #
文生图(Text-to-Image) #
text
输入:文本描述
输出:对应图像
示例:
提示词:"a beautiful sunset over mountains, digital art"
输出:一幅数字艺术风格的山脉日落图像
图生图(Image-to-Image) #
text
输入:原图 + 文本描述
输出:风格化后的图像
示例:
原图:一张照片
提示词:"convert to oil painting style"
输出:油画风格的图像
局部重绘(Inpainting) #
text
输入:原图 + 蒙版 + 文本描述
输出:蒙版区域被修改的图像
示例:
原图:人物照片
蒙版:背景区域
提示词:"fantasy castle background"
输出:背景替换为城堡
外绘(Outpainting) #
text
输入:原图 + 扩展方向
输出:扩展后的图像
示例:
原图:512×512 图像
扩展:四个方向各 128 像素
输出:768×768 图像,内容自然延伸
Stable Diffusion vs 其他工具 #
与 Midjourney 对比 #
| 特性 | Stable Diffusion | Midjourney |
|---|---|---|
| 开源 | ✅ 完全开源 | ❌ 闭源 |
| 本地运行 | ✅ 支持 | ❌ 仅云端 |
| 费用 | 免费 | 订阅制 |
| 可定制性 | 极高 | 低 |
| 图像质量 | 高 | 极高 |
| 文字理解 | 中 | 高 |
| 学习曲线 | 中等 | 低 |
与 DALL-E 3 对比 #
| 特性 | Stable Diffusion | DALL-E 3 |
|---|---|---|
| 开源 | ✅ | ❌ |
| API | ✅ 本地 API | ✅ 云端 API |
| 文字渲染 | 中 | 优秀 |
| 指令遵循 | 中 | 高 |
| 风格控制 | 高 | 中 |
| 商业使用 | ✅ | ✅ |
应用场景 #
1. 艺术创作 #
text
场景:数字艺术家创作作品
应用:
- 概念艺术生成
- 风格化图像创作
- 创意灵感探索
- 快速原型制作
2. 游戏开发 #
text
场景:游戏资产制作
应用:
- 角色设计
- 场景概念图
- 道具图标
- 宣传素材
3. 产品设计 #
text
场景:产品概念可视化
应用:
- 产品渲染
- 包装设计
- 场景展示
- 概念验证
4. 内容创作 #
text
场景:媒体内容制作
应用:
- 文章配图
- 社交媒体素材
- 视频封面
- 广告创意
学习路径 #
text
入门阶段(当前位置)
├── Stable Diffusion 简介(本文)
├── 安装与配置
└── 快速开始
基础阶段
├── 模型架构
├── 提示词工程
├── 采样器详解
└── 参数调优
进阶阶段
├── LoRA 模型
├── ControlNet 控制
├── 模型训练
└── 图生图技术
实战阶段
├── 图像生成技巧
├── 高级工作流
└── API 开发
下一步 #
现在你已经了解了 Stable Diffusion 的基本概念,接下来学习 安装与配置,开始搭建你的 AI 绘画环境!
最后更新:2026-04-05