【SD】深入理解Stable Diffusion与ComfyUI的使用
1. Stable Diffusion(SD)原理概述
- 整体结构:SD不是单一模型,而是由三个模型组成,包括文本编码器(Clip)、2. 生成模型(unit)、变分自编码器(VAE)。
输入输出:最基础的输入为文本和随机变量(Latent Vector),输出为图片。
2. 各部件详解
- 文本编码器(Clip)
专门为SD设计的,采用transformer结构。
训练步骤包括:
限制性预训练:使用图片和文本描述数据集,训练文本编码器和图片编码器,使输出向量尽可能接近。
进一步训练:使用物体名称和描述,训练文本编码器解码出图片含义。
- 生成模型(unit)
加噪降噪过程:通过VAE的encoder将图片转换成与Latent Vector相同大小的格式,然后逐步加噪并降噪,生成中间结果。
- 变分自编码器(VAE)
包括编码器和解码器,将图片编码成较小格式,再解码回原大小,训练目标是最小化原始图片与解码结果的差异。
利用VAE可以从噪声中生成图片,即输入随机噪声至解码器,生成图片。
3. SD的工作流程
文本通过文本编码器转换为向量。
向量与随机变量结合,控制生成内容的随机性。
使用unit进行加噪降噪,生成中间结果。
中间结果通过VAE解码器还原成最终图片。
4. ComfyUI与SD的结合
ComfyUI用于低显存生成图片,但具体如何结合SD的原理和ComfyUI的操作未在文本中详述。
5. 总结
SD通过三个模型的协同工作,实现了文本到图片的生成。
Clip作为文本编码器,负责将文本转换为向量。
Unit负责生成过程的加噪和降噪,VAE则用于图片的编码和解码,最终还原成清晰图片。
整个流程涉及文本处理、随机性控制、图片生成和还原,是一个复杂但高效的生成系统。