基于潜在扩散模型的高分辨率文本到图像生成模型

MITPythonstablediffusionStability-AI 41.5k Last Updated: June 25, 2025

Stable Diffusion 项目详细介绍

项目概述

Stable Diffusion 是由 Stability AI 开发的开源文本到图像生成模型,基于潜在扩散模型(Latent Diffusion Models)技术。该项目实现了高分辨率图像合成,能够根据文本描述生成高质量的图像。

项目地址: https://github.com/Stability-AI/stablediffusion

核心技术特点

1. 潜在扩散模型架构

  • 使用潜在空间进行扩散过程,相比直接在像素空间操作更加高效
  • 采用U-Net架构作为去噪网络
  • 集成自注意力和交叉注意力机制

2. 文本编码器

  • 使用OpenCLIP ViT-H/14作为文本编码器
  • 支持复杂的文本条件控制
  • 能够理解详细的文本描述并转换为视觉内容

3. 多分辨率支持

  • Stable Diffusion 2.1-v: 768x768像素输出
  • Stable Diffusion 2.1-base: 512x512像素输出
  • 支持不同分辨率的训练和推理

主要版本历史

Version 2.1 (2022年12月7日)

  • 推出768x768分辨率的v模型和512x512分辨率的base模型
  • 基于相同的参数数量和架构
  • 在更宽松的NSFW过滤数据集上进行微调

Version 2.0 (2022年11月24日)

  • 768x768分辨率的全新模型
  • 使用OpenCLIP-ViT/H作为文本编码器
  • 从头开始训练,采用v-prediction方法

Stable UnCLIP 2.1 (2023年3月24日)

  • 支持图像变换和混合操作
  • 基于SD2.1-768微调
  • 提供两个变体:Stable unCLIP-L和Stable unCLIP-H

核心功能

1. 文本到图像生成

基础的文本描述生成图像功能:

python scripts/txt2img.py --prompt "a professional photograph of an astronaut riding a horse" --ckpt <path/to/768model.ckpt/> --config configs/stable-diffusion/v2-inference-v.yaml --H 768 --W 768

2. 图像修复(Inpainting)

支持图像的局部修复和编辑:

python scripts/gradio/inpainting.py configs/stable-diffusion/v2-inpainting-inference.yaml <path-to-checkpoint>

3. 深度条件图像生成

基于深度信息进行结构保持的图像生成:

python scripts/gradio/depth2img.py configs/stable-diffusion/v2-midas-inference.yaml <path-to-ckpt>

4. 图像超分辨率

4倍超分辨率功能:

python scripts/gradio/superresolution.py configs/stable-diffusion/x4-upscaling.yaml <path-to-checkpoint>

5. 图像到图像转换

经典的img2img功能:

python scripts/img2img.py --prompt "A fantasy landscape, trending on artstation" --init-img <path-to-img.jpg> --strength 0.8 --ckpt <path/to/model.ckpt>

安装和环境配置

基础环境

conda install pytorch==1.12.1 torchvision==0.13.1 -c pytorch
pip install transformers==4.19.2 diffusers invisible-watermark
pip install -e .

性能优化(推荐)

安装xformers库以提高GPU性能:

export CUDA_HOME=/usr/local/cuda-11.4
conda install -c nvidia/label/cuda-11.4.0 cuda-nvcc
conda install -c conda-forge gcc
conda install -c conda-forge gxx_linux-64==9.5.0

cd ..
git clone https://github.com/facebookresearch/xformers.git
cd xformers
git submodule update --init --recursive
pip install -r requirements.txt
pip install -e .
cd ../stablediffusion

Intel CPU优化

针对Intel CPU的优化配置:

apt-get install numactl libjemalloc-dev
pip install intel-openmp
pip install intel_extension_for_pytorch -f https://software.intel.com/ipex-whl-stable

技术架构细节

模型组件

  1. 编码器-解码器架构: 使用降采样因子为8的自编码器
  2. U-Net网络: 865M参数的U-Net用于扩散过程
  3. 文本编码器: OpenCLIP ViT-H/14处理文本输入
  4. 采样器: 支持DDIM、PLMS、DPMSolver等多种采样方法

内存优化

  • 自动启用内存高效注意力机制
  • 支持xformers加速
  • 提供FP16精度选项以节省显存

应用场景

1. 艺术创作

  • 概念艺术设计
  • 插画生成
  • 风格迁移

2. 内容生产

  • 营销素材制作
  • 社交媒体内容
  • 产品原型设计

3. 研究应用

  • 计算机视觉研究
  • 生成模型研究
  • 多模态学习

伦理考虑和限制

数据偏见

  • 模型反映训练数据中的偏见和误解
  • 不建议直接用于商业服务而不添加额外安全机制

内容安全

  • 内置不可见水印系统帮助识别AI生成内容
  • 努力减少显式色情内容,但仍需谨慎使用

使用限制

  • 权重仅供研究使用
  • 遵循CreativeML Open RAIL++-M许可证

Star History Chart