Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Stable Diffusion

Stable Diffusion 是 Stability AI 推出的开放权重潜在扩散模型系列,可在消费级 GPU 上根据文本提示生成和编辑图像。

Stable Diffusion 是 Stability AI 推出的一系列开放权重文本生成图像模型,可根据自然语言提示词生成和编辑图像。该系列的首个版本于 2022 年 8 月发布,由慕尼黑 LMU 的 CompVis 团队与 Runway 合作开发,并将他们的潜在扩散研究应用于 LAION-5B 数据集的一个子集中的 512×512 图像。其拥有 8.6 亿参数的 U-Net 和 1.23 亿参数的文本编码器可在至少配备 10 GB 内存的消费级 GPU上运行;由于任何人都可以下载权重,它成为庞大的微调模型、适配器和编辑工具生态的基础。最新版本 Stable Diffusion 3.5 于 2024 年 10 月发布,它用多模态扩散 Transformer取代了 U-Net,并使用整流流进行训练。

Stable Diffusion 的工作原理#

Stable Diffusion 是一种扩散模型,它对压缩图像而非像素进行去噪,并使用三个网络:

  • 变分自编码器(VAE):编码器将 512×512×3 的图像压缩为 64×64×4 的潜变量,数值数量减少 48 倍;解码器则将生成完成的潜变量转换回图像。所有去噪操作都在较小的潜变量上进行,这就是模型能够在消费级硬件上运行的原因。
  • 文本编码器:将提示词(最多 77 个词元)转换为嵌入。Stable Diffusion 1.x 使用 OpenAI 的 CLIP ViT-L/14,2.x 使用 OpenCLIP ViT-H/14,SDXL 结合两个 CLIP 编码器,而 Stable Diffusion 3 则在两个 CLIP 编码器之外加入 T5-XXL 语言模型,以更好地理解提示词。
  • 去噪网络:预测每一步要移除的噪声。1.x、2.x 和 SDXL 使用 U-Net,其交叉注意力层让图像特征能够关注文本嵌入;3 和 3.5 则使用 MMDiT,同时处理图像和文本词元。

生成从一个随机的 64×64×4 潜变量开始。调度器通常会运行去噪网络20 到 50 步,每一步移除一部分预测噪声;无分类器引导会增强提示词的影响。随后,VAE 解码器生成图像:

由于起始潜变量是随机的,同一提示词使用不同种子会生成不同图像;而相同种子和设置则会复现相同结果。

模型版本#

  • Stable Diffusion 1.x(2022):支持 512×512 图像生成,采用拥有 8.6 亿参数的 U-Net;1.5 版成为社区微调模型的常见基础,ControlNet论文也以此为基础。权重采用 CreativeML OpenRAIL-M 许可证。
  • Stable Diffusion 2.x(2022 年末):改用 OpenCLIP 文本编码器,并新增 768×768 模型。
  • SDXL(2023 年 7 月):原生支持 1024×1024 图像生成,采用一个拥有约 26 亿参数的 U-Net 和两个文本编码器。同年 11 月发布的 SDXL Turbo 使用对抗式扩散蒸馏,可通过单步生成图像。
  • Stable Diffusion 3 和 3.5(2024):用整流流 Transformer取代 U-Net,并为图像和文本词元使用单独的权重。Stable Diffusion 3.5 Large拥有 81 亿参数,3.5 Medium 拥有 25 亿参数。Stability AI 社区许可证允许年收入低于 100 万美元的组织免费用于商业用途。

使用 Stable Diffusion 编辑图像#

  • 图生图:对现有图像进行编码,将其加噪至由强度值设定的中间步骤,再使用新的提示词对其去噪,因此结果会保留原图的布局和颜色,同时改变风格或内容。
  • 微调:DreamBooth 和 LoRA可使用几十张图像让模型适应新的主题或风格;ControlNet 则会将边缘、深度或姿态图作为结构条件输入。
  • 图像修复:仅重新生成掩码区域,使其符合提示词并融入周围环境。Stable Diffusion 图像修复检查点会为 U-Net 增加五个输入通道:四个用于编码后的掩码图像,一个用于掩码本身。

图像修复掩码中,白色表示图像需要更改的区域,黑色表示保留的区域。Ultralytics YOLO26实例分割模型可以自动生成此类掩码,例如在街景照片中替换或移除某一类别的所有车辆:

import cv2
from ultralytics import YOLO

# 使用 YOLO26 实例分割模型分割公交车(COCO 类别 5)
model = YOLO("yolo26n-seg.pt")
results = model("https://ultralytics.com/images/bus.jpg", classes=[5], retina_masks=True)
result = results[0]

# 白色标记 Stable Diffusion 应重新绘制的像素,黑色标记应保留的像素
mask = (result.masks.data.sum(dim=0) > 0).cpu().numpy().astype("uint8") * 255
cv2.imwrite("bus_inpaint_mask.png", mask)

保存的 bus_inpaint_mask.png具有照片的完整分辨率,因为 retina_masks=True会以原始图像尺寸返回掩码。给定照片、这个掩码和“红色双层巴士”等提示词后,图像修复管线会重新生成巴士,同时保留周围的街景。

实际应用#

  • 用于视觉模型的合成数据:团队会生成罕见缺陷、异常天气或少见视角的图像,以弥补训练数据集中的不足,并使用图像修复将新物体放入真实背景。
  • 概念艺术与设计:游戏工作室、建筑师和产品设计师可以在前期概念设计中用几分钟探索多种风格和构图。
  • 营销与电商图像:图生图和 ControlNet 可以固定产品形状,同时通过提示词更改场景、光照和背景。
  • 潜在扩散模型:Stable Diffusion 是潜在扩散架构最知名的实现,因此所有 Stable Diffusion 模型都是潜在扩散模型。
  • GAN:通过一次前向传播生成图像,但训练稳定性较差,生成多样性也较低。除非经过蒸馏(如 SDXL Turbo),否则 Stable Diffusion 需要经过许多去噪步骤。
  • 闭源生成器:OpenAI 的图像模型和 Midjourney 等服务只能在其提供商的服务器上运行。Stable Diffusion 的权重可以下载、离线运行、检查和微调。
  • FLUX.1:Black Forest Labs 于 2024 年由原始潜在扩散论文的幕后研究人员创立,其中包括 Robin Rombach、Andreas Blattmann 和 Patrick Esser。该公司发布了拥有 120 亿参数的 FLUX.1 系列,采用与 Stable Diffusion 3 相同的整流流 Transformer 方法。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来