当前位置:AIGC资讯 > AIGC > 正文

LLM大模型从入门到精通(6)--Stable Diffusion超详细讲解

 本文详细讲解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绘画工具的佼佼者。

更新时间 2024-08-11