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

Latent Diffusion Model (LDM)

潜在扩散模型(LDM)在自动编码器压缩后的潜在空间而非像素上运行扩散过程,这是 Stable Diffusion 背后的设计。

潜在扩散模型 (LDM) 是一种扩散模型,它通过对预训练自编码器生成的压缩表示进行去噪来生成数据,而不是直接处理原始像素。Robin Rombach、Andreas Blattmann、Dominik Lorenz、Patrick Esser 和 Björn Ommer 在使用潜在扩散模型进行高分辨率图像合成中提出了这一方法,该论文发表于 CVPR 2022。自编码器会去除建模成本高、对图像观感影响却不大的精细像素细节,因此扩散网络能将容量用于内容和构图。由此,训练和采样的成本远低于像素空间中的扩散过程,让最知名的 LDM Stable Diffusion能够在单个消费级GPU上生成图像。生成式 AI领域大多数当今的图像、视频和音频生成器都采用相同的两阶段设计。

潜空间扩散的工作原理#

第一阶段负责压缩图像。编码器会将尺寸为 H×W×3 的图像映射为尺寸为 H/f×W/f×c 的潜变量,其中 f 是下采样因子,c 是潜变量通道数;解码器则将潜变量映射回像素。Rombach 及其同事使用感知损失和基于图块的对抗目标训练自编码器,类似于 GAN判别器,从而让重建图像保持清晰;他们还使用小型 KL 惩罚项使潜变量接近标准正态分布,或通过向量量化对潜变量进行正则化。下采样因子为 4 到 16 时,速度与质量较为平衡:像素空间训练(f = 1)速度较慢,而 f = 32 的压缩程度过高,导致样本质量下降。Stable Diffusion 的自编码器使用 f = 8 和 4 个通道,因此下面的代码会对照片进行编码、再解码,并测量往返过程中损失的信息:

import urllib.request

import numpy as np
import torch
from diffusers import AutoencoderKL
from PIL import Image

# Stable Diffusion's autoencoder, the first stage of a latent diffusion model
vae = AutoencoderKL.from_pretrained("stabilityai/sd-vae-ft-mse")

# Load a photo and scale its pixels to [-1, 1]
image = Image.open(urllib.request.urlopen("https://ultralytics.com/images/bus.jpg")).convert("RGB").resize((480, 640))
x = torch.tensor(np.array(image), dtype=torch.float32).permute(2, 0, 1)[None] / 127.5 - 1

# Encode to the latent that diffusion runs on, then decode back to pixels
with torch.no_grad():
    latent = vae.encode(x).latent_dist.mode()
    recon = vae.decode(latent).sample.clamp(-1, 1)

psnr = 10 * torch.log10(4 / torch.mean((recon - x) ** 2))
print(f"image {tuple(x.shape)} -> latent {tuple(latent.shape)}: {x.numel() // latent.numel()}x fewer values")
print(f"reconstruction PSNR: {psnr:.1f} dB")
Image.fromarray(((recon[0] + 1) * 127.5).byte().permute(1, 2, 0).numpy()).save("bus_reconstructed.jpg")

它会打印 image (1, 3, 640, 480) -> latent (1, 4, 80, 60): 48x fewer values 和 reconstruction PSNR: 23.0 dB。保存的 bus_reconstructed.jpg保留了公交车、行人和街道,但公交车侧面的细小字样变得模糊不清;这是 4 通道潜变量无法保留的精细细节。

第二阶段是在这些潜变量上训练常规扩散模型。训练时,先编码图像,再在随机步骤添加高斯噪声,然后训练去噪网络预测噪声;原始方法使用 U-Net,而大多数较新的模型使用扩散 Transformer。在整流流模型中,网络预测的则是将噪声带向干净潜变量的速度。条件信息通过交叉注意力层输入,使潜变量能够关注文本提示、类别标签或语义图的嵌入。生成过程从随机潜变量噪声开始,在条件引导下逐步去噪,最后只运行一次解码器,因此每个成本高昂的步骤都只需处理较小的潜变量。

从 Stable Diffusion 到当前模型#

  • Stable Diffusion:该模型于 2022 年 8 月发布,将 LDM 方法扩展到 512×512 文生图任务,使用 64×64×4 潜变量、8.6 亿参数的 U-Net 和 CLIP 文本编码器,并开放权重供任何人下载。
  • Stable Diffusion 3:改用 16 通道自编码器,使重建 PSNR 从 4 通道时的 25.12 dB 提高到 28.62 dB;它还用基于整流流训练的多模态扩散 Transformer 替换了 U-Net。Black Forest Labs 的 FLUX.1 模型也使用整流流 Transformer 对 16 通道潜变量进行去噪。
  • 视频和音频:视频生成器会在空间和时间上压缩片段;OpenAI 称 Sora 会将视频压缩到低维潜空间,并将其拆分为时空图块。AudioLDM 和 Stability AI 的 Stable Audio 则将同一方法应用于频谱图或波形潜变量。
  • 潜空间一致性模型:对 LDM 进行蒸馏,使其只需 2 到 4 步而非 20 到 50 步即可生成内容,从而实现近实时生成。
  • 像素空间扩散模型:对每个像素执行加噪和去噪过程。LDM 也是一种扩散模型,区别只在于扩散过程发生的位置。
  • 变分自编码器:VAE 通过一次解码采样得到的潜变量来生成内容,其生成样本往往较模糊。LDM 只使用 VAE 风格的自编码器进行压缩,并由扩散模型负责生成。
  • Stable Diffusion: Stability AI、CompVis 和 Runway 推出的一类 LDM,因此每个 Stable Diffusion 模型都是 LDM,而 LDM 还包括 FLUX、视频生成器和音频模型。

应用场景#

LDM 可用于文本生成图像、图像修复(原论文当时在该任务上创造了新的最先进水平)、超分辨率以及从语义图生成图像。在计算机视觉中,它们也可用于生成合成数据,例如难以拍摄的罕见缺陷、特殊天气或少见视角。生成的图像没有标签,Ultralytics 的 auto_annotate 函数可通过为这些图像所在文件夹添加标签来处理:它使用YOLO26模型检测物体,再用 Meta SAM 分割模型勾勒每个检测框,并生成用于训练的 YOLO 格式分割标签。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 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 的未来!

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