本文详细讲解Stable Diffusion的原理与工作流程
一、Stable Diffusion简介
二、Stable Diffusion原理解析
三、Stable Diffusion处理流程
四、结语
一、Stable Diffusion简介
Stable Diffusion是一种深度学习文本到图像生成模型,它可以根据文本描述生成详细图像,并且可以应用于内补绘制、外补绘制以及在提示词指导下的图像转换等任务。它是由慕尼黑大学的CompVis研究团体、StabilityAI、Runway以及LAION合作开发的潜在扩散模型,并于2022年发布。Stable Diffusion的源代码和模型权重已经公开发布,可以在大多数配备适度GPU的电脑上运行。
Stable Diffusion 拓展性强,可免费学 习创作 Stable Diffusion拥有强大的扩展性,任何人都可以通过官方免费 公开的论文和模型代码进行学习与创作,解锁AI艺术更多可能性。
Stable Diffusion 集成了110+功能 ,Stable Diffusion是一款功能强大 的图像处理软件,集成了110多个 扩展插件的功能介绍,包括局部 重绘、人物姿势控制、图像高清 修复和线稿提取等,用户可以根 据需要选择不同的插件来扩展软 件的功能。
精准控制图像分辨率 ,行业内无法精准控图和图像分辨率低等问题都是其普遍痛点,但 这些在 Stable Diffusion 中通过 ControlNet 和 UpScale 等插件 都能完美解决。
学术名词和相关解释:
Diffusion Model
扩散模型,一款支持图像生成的算法模型,市面上主流的 DALL E、Midjourney、imagen、 Stable Diffusion 等 AI 绘画工具是基于此底层模型开发的
Latent Diffusion Model
潜在扩散模型,基于扩散模型基础上 制出的更高级模型,图像图形生成速度更快,而且对计算资源和内存消耗需求更低
Stable Diffusion
简称SD模型,其底层模型就是上面的潜在扩散模型,之所以叫这个名字是因为 发公司名叫 Stability AI
Stable Diffusion Web Ul
简称SD WebUI,用于操作上面Stable Diffusion模型的网页端界面,通过该系统就能控制模型出图,而无需学习代码
二、Stable Diffusion原理解析
Stable Diffusion的工作原理可以概括为三个主要步骤:首先,用户输入的文本提示(prompt)被文本编译器(Text Encoder)编译成词特征向量;其次,这些向量与一张随机图一起被转换到潜在空间(Latent Space)里,并通过降噪过程生成一个中间产物;最后,这个中间产物由图片解码器(Image Decoder)解码成一张真正的图片。
扩散模型之所以用 Diffusion 来命名,因为它的运作过程就是向训练图像不断地添加噪声,直到变为一张无意义的纯噪声图,再逐步恢复的过程。
加噪过程类似于在干净的水中滴墨汁,颜料会逐渐扩散导致整个水 体变浑,AI绘画过程是从模糊的噪声图逐渐变为清晰的图像,即逆向降噪的过程。
Diffusion Model的整体思路如下图所示:
标准扩散模型在像素空间中进行,需要处理大量数据和高性能显卡。
潜在扩散模型先缩小图像再运算,减少数据处理量和硬件要求。
潜在扩散模型运算空间为潜空间,即低维空间。
正向过程:对于一张原始图片x0,我们给x0添加一个高斯噪声,图片由x0变成变成x1。接着我们会在x1的基础上再添加高斯噪声得 到x2。重复上述添加高斯噪声步骤,直到图片变成xn,由于添加了足够多的高斯噪声,现在的x近似服从高斯分布。
反向过程:随机生成一个服从高斯分布的噪声图片,然后一步一步的减少噪声直到生成想要的图片。 我们希望将t时刻的高斯噪声 变成0时刻的图像,是很难一步到位的,和正向过程一样,先考虑t时刻图像和t−1时刻的关系,然后一步步向前推导得出结果.
三、Stable Diffusion处理流程
Stable diffusion从文本生成图像的流程如下所示:
1. Stable Diffusion在潜空间中生成随机张量。可以通过设置随 机数生成器的来控制此张量。如果将种子设置为某个值,获得 相同的随机张量。
2. 网络 U-Net 将潜在噪声图像和文本提示作为输入,并预测噪 声,也在潜在空间(4x64x64 张量)中。
3. 从潜在图像中减去潜在噪声。这将成为新潜在图像。
4. 步骤 2 和 3 重复一定数量的采样步骤,例如 20 次
5. 最后,VAE的解码器将潜在图像转换回像素空间。这是运行 Stable Diffusion后获得的图像。
四、结语
Stable Diffusion 3是该模型的最新版本,它在多主题提示、图像质量和拼写能力上都有显著改进。这个版本的模型参数范围从800M到8B不等,旨在提供不同的选项以满足用户的创意需求。Stable Diffusion 3结合了扩散变换架构和流匹配技术,并将发布详细的技术报告。
Stable Diffusion因其开源性、可扩展性、出图效率高以及数据安全性等优势,在AI绘画领域得到了广泛应用。它的开源性质使得任何人都可以自由使用、学习和修改代码,而且社区中存在大量不断迭代优化的图像调整插件和模型。此外,Stable Diffusion的本地部署确保了数据处理的安全性和隐私性。
关于Stable Diffusion的争议,有观点认为其相对于Latent Diffusion的改进不多,主要集中在算力基础提升、训练数据增加和数据质量改善上,并没有架构本质的升级换代。尽管存在争议,Stable Diffusion因其强大的图像生成能力,仍然是目前AI绘画工具中的佼佼者。
总结
**文章总结:Stable Diffusion的原理与工作流程****一、Stable Diffusion简介**
Stable Diffusion是一种由慕尼黑大学CompVis研究团体、StabilityAI、Runway及LAION合作开发的文本到图像生成深度学习模型,于2022年发布。该模型基于潜在扩散模型,能根据文本描述高效生成详细图像,并广泛应用于内补绘制、外补绘制及图像转换等任务。Stable Diffusion的扩展性强、开源免费,任何人都可以通过公开的论文和模型代码进行学习与创作,同时集成了110多个功能插件,支持高精度图像分辨率控制,在AI绘图领域具有重要地位。
**关键名词解析**:
- **Diffusion Model**:支持图像生成的算法模型,是多种AI绘画工具的底层模型。
- **Latent Diffusion Model**:潜在扩散模型,基于Diffusion Model优化,提升生成速度并降低计算资源需求。
- **Stable Diffusion**(简称SD模型):底层模型为潜在扩散模型,由Stability AI开发。
- **Stable Diffusion Web UI**(简称SD WebUI):SD模型的网页操作界面,便于非编码人员控制模型。
**二、Stable Diffusion原理解析**
Stable Diffusion的工作原理分为三个步骤:文本编译为词特征向量,向量与随机图转换至潜在空间并通过降噪生成中间产物,再由图片解码器解码成图像。其核心在于双向扩散过程:正向过程通过添加高斯噪声将图像渐变为噪声图,反向过程则减少噪声逐步恢复图像。潜在扩散模型通过缩小操作减少数据处理量及硬件需求,实现了更快的速度和更低的资源消耗。
**三、Stable Diffusion处理流程**
Stable Diffusion处理流程简述如下:
1. 在潜空间中生成随机张量。
2. 通过网络U-Net将潜在噪声图像和文本提示预测噪声。
3. 从潜在图像中减去预测的噪声。
4. 重复第2、3步多次(如20次)以逐渐优化图像。
5. VAE解码器将潜在图像转换回像素空间,生成最终图像。
**四、结语**
Stable Diffusion的最新版(Stable Diffusion 3)在多主题提示、图像质量和拼写能力上有显著提升。其涵盖了不同参数规模的模型选择,并结合了扩散变换架构和流匹配技术。开源性、可扩展性、高效出图及数据安全性使得Stable Diffusion在AI绘画领域得到广泛应用和好评。尽管存在争议,认为其相对于Latent Diffusion的改进更多是在算力基础提升和数据优化方面,但Stable Diffusion仍然是AI绘画工具的佼佼者。