Stable Diffusion基础

Stable Diffusion(SD)是目前最流行的开源图像生成模型之一。本节将带你了解SD的核心概念、架构原理和基本使用方法。

预计阅读时间:45分钟·难度:入门

什么是Stable Diffusion

Stable Diffusion是由Stability AI于2022年发布的开源图像生成模型。它使用潜在扩散模型(Latent Diffusion Model)架构,在保证生成质量的同时大幅降低了计算成本。

核心优势

  • 开源免费:模型权重完全公开,可本地部署
  • 资源友好:4GB显存即可运行,相比DALL-E大幅降低门槛
  • 社区活跃:大量第三方模型、插件和教程
  • 可控性强:支持LoRA、ControlNet等精细控制
  • 商业化友好:开源许可允许商业使用

发展历程

时间版本重要特性
2022.08SD 1.4首个公开发布版本
2022.10SD 1.5经典版本,生态最丰富
2022.11SD 2.0OpenCLIP,768分辨率
2023.07SDXL 1.01024分辨率,双编码器
2024.06SD3多模态扩散Transformer

模型架构

Stable Diffusion由三个核心组件构成:VAE、文本编码器和UNet。

三大核心组件

1. VAE(变分自编码器)
  • • 编码器:将图像压缩到潜在空间(512×512 → 64×64×4)
  • • 解码器:将潜在表示还原为图像
  • • 作用:降低计算成本,在潜在空间进行扩散
2. 文本编码器(CLIP)
  • • 将文本提示词编码为嵌入向量
  • • SD1.x使用OpenAI CLIP ViT-L/14
  • • SDXL使用双编码器架构
3. UNet(去噪网络)
  • • 核心扩散网络,预测噪声
  • • 包含ResNet块和注意力层
  • • 通过Cross-Attention接收文本条件

模型参数量

组件SD 1.5SDXL
UNet860M2.6B
文本编码器123M817M
VAE83M83M
总计约1.1B约3.5B

工作流程

文生图流程

  1. 文本编码
    提示词通过CLIP编码为文本嵌入向量
  2. 初始化噪声
    在潜在空间采样随机高斯噪声
  3. 迭代去噪
    UNet预测噪声,逐步去噪(通常20-50步)
  4. 图像解码
    VAE解码器将潜在表示转换为像素图像

图生图流程

  1. 图像编码
    VAE编码器将输入图像压缩到潜在空间
  2. 部分加噪
    根据去噪强度添加噪声(0=不改动,1=完全重建)
  3. 迭代去噪
    UNet根据文本条件进行去噪
  4. 图像解码
    VAE解码器输出最终图像

核心参数

理解这些参数是生成高质量图像的关键。

采样步数(Steps)

  • 作用:控制去噪过程的迭代次数
  • 推荐范围:20-50步
  • 说明:步数过少图像模糊,过多收益递减
  • 建议:日常使用20-30步,高质量生成可用40-50步

CFG Scale(引导强度)

  • 作用:控制图像与提示词的匹配程度
  • 推荐范围:7-12
  • 说明:值越高越严格遵循提示词,但可能过饱和
  • 建议:写实风格5-8,艺术风格10-15

采样器(Sampler)

采样器特点推荐场景
Euler a快速,效果平衡日常使用
DPM++ 2M Karras速度快,质量高推荐首选
DPM++ SDE Karras细节丰富高质量生成
UniPC新算法,效率高快速生成
DDIM确定性,可复现需要固定种子

分辨率

  • SD 1.5:推荐 512×512,支持 512×768 等比例
  • SD 2.x:推荐 768×768
  • SDXL:推荐 1024×1024
  • 注意:非标准分辨率可能导致图像畸变

💡 参数组合建议

  • 快速预览:Euler a + 20步 + CFG 7
  • 日常生成:DPM++ 2M Karras + 30步 + CFG 8
  • 高质量:DPM++ SDE Karras + 50步 + CFG 10

快速上手

部署方式

本地部署
  • WebUI:AUTOMATIC1111 / ComfyUI
  • 硬件需求:NVIDIA显卡,8GB+显存推荐
  • Python环境:Python 3.10+,PyTorch
在线平台
  • • Stability AI官方平台
  • • Civitai在线生成
  • • Hugging Face Spaces

第一个提示词

基础模板:

a beautiful landscape, mountains, sunset, golden hour, photorealistic, 8k, highly detailed

负面提示词:

low quality, blurry, distorted, watermark, text

⚠️ 新手常见问题

  • Q: 生成的图像颜色不对?
    A: 可能需要加载对应的VAE文件
  • Q: 图像模糊或畸变?
    A: 检查分辨率是否符合模型推荐值
  • Q: 提示词效果不明显?
    A: 提高CFG Scale,或将关键词放在前面

模型选择指南

选择合适的模型是生成高质量图像的第一步。

主流模型分类

基础模型(Base Models)
  • SD 1.5:生态最丰富,兼容性最好,资源最多
  • SD 2.1:更高质量的文本理解,支持768分辨率
  • SDXL 1.0:最新一代,1024分辨率,效果最佳
  • SD3:DiT架构,文本理解最强
衍生模型(Fine-tunes)
  • Realistic Vision:写实风格,适合人像和摄影
  • DreamShaper:通用型,风格多样
  • Juggernaut XL:SDXL生态中的高质量模型
  • Animagine:动漫风格专用

模型选择策略

使用场景推荐模型理由
写实人像Realistic Vision / Juggernaut XL高度写实的皮肤和光影
动漫插画Anything V5 / Animagine专为动漫风格优化
概念艺术DreamShaper / Deliberate风格多样,创意性强
产品设计SDXL + 产品LoRA高分辨率,细节丰富
LoRA训练SD 1.5 / SDXL 基础模型兼容性好

模型资源

  • Civitai:最大的模型分享平台,有丰富的预览图和评价
  • Hugging Face:官方模型发布平台,版本更新及时
  • LiblibAI:国内平台,下载速度快

💡 模型选择建议

  • • 新手从SD 1.5开始,生态最成熟
  • • 追求高质量可尝试SDXL
  • • 下载前查看模型示例和用户评价
  • • 注意模型的许可证和商用限制

WebUI详解

深入了解Stable Diffusion WebUI的功能和使用方法。

主流WebUI对比

WebUI特点适合人群
AUTOMATIC1111功能全面,插件丰富,界面直观新手和进阶用户
ComfyUI节点式工作流,高度可定制,效率高高级用户和工作流需求
ForgeA1111优化版,性能更好追求效率的用户
InvokeAI界面美观,工作流友好专业创作者

A1111核心功能

txt2img(文生图)
  • • 输入提示词和负面提示词
  • • 设置采样器、步数、CFG、分辨率
  • • 使用脚本批量生成或变化
img2img(图生图)
  • • 基于输入图像生成新图像
  • • 控制去噪强度调整修改程度
  • • 支持重绘和扩图
Extras(后期处理)
  • • 超分辨率放大
  • • 面部修复(GFPGAN/CodeFormer)
  • • 图像压缩和格式转换

常用插件推荐

  • ControlNet:结构控制必备
  • ADetailer:自动面部修复
  • Ultimate SD Upscale:高质量放大
  • OpenPose Editor:姿态编辑
  • Supermerger:模型合并
  • LoRA / Additional Networks:LoRA管理

⚠️ 显存优化建议

  • • 使用xformers加速,减少显存占用
  • • 启用VAE切片处理大图
  • • 使用--medvram或--lowvram参数
  • • 降低分辨率或批量大小

进阶技巧

掌握这些技巧,提升生成质量和效率。

高质量生成流程

  1. 选择合适的模型:根据风格选择基础模型或衍生模型
  2. 编写精准提示词:主体 + 细节 + 风格 + 质量词
  3. 设置负面提示词:排除不想要的元素
  4. 调整核心参数:采样器、步数、CFG、分辨率
  5. 使用ControlNet控制结构:如果需要精确控制
  6. 使用LoRA增强效果:风格、角色或概念
  7. Hires.fix高清修复:提升分辨率和细节
  8. ADetailer面部修复:修复人脸问题

高清放大策略

方法1:Hires.fix(推荐)
  • • 生成时直接放大,效率高
  • • 推荐设置:放大倍数1.5-2x,重绘幅度0.3-0.5
  • • 配合ESRGAN或R-ESRGAN放大器
方法2:Ultimate SD Upscale
  • • 分块放大,支持超大分辨率
  • • 可以添加更多细节
  • • 配合Tile ControlNet效果更佳

人脸修复技巧

  • ADetailer:自动检测并修复人脸,推荐日常使用
  • CodeFormer:AI修复,效果好但可能改变面部特征
  • GFPGAN:保守修复,保留原始特征
  • Inpaint手动修复:精细控制,适合重要作品

批量生成策略

  • X/Y/Z Plot:参数对比测试,找到最佳组合
  • Prompts from file:批量读取提示词生成
  • 循环采样:自动调整种子生成多张图
  • 保存设置:记录成功的参数配置

💡 效率优化建议

  • • 建立提示词模板库,快速复用
  • • 使用ComfyUI工作流自动化复杂流程
  • • 保存成功的生成配置
  • • 善用种子复现和微调效果
  • • 定期整理和清理模型文件
----