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

本文详细讲解Stable Diffusion的原理与工作流程

[一、Stable Diffusion简介](#一、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绘画工具中的佼佼者。

相关推荐
普密斯科技9 分钟前
手机外观边框缺陷视觉检测智慧方案
人工智能·计算机视觉·智能手机·自动化·视觉检测·集成测试
四口鲸鱼爱吃盐22 分钟前
Pytorch | 利用AI-FGTM针对CIFAR10上的ResNet分类器进行对抗攻击
人工智能·pytorch·python
lishanlu13624 分钟前
Pytorch分布式训练
人工智能·ddp·pytorch并行训练
日出等日落37 分钟前
从零开始使用MaxKB打造本地大语言模型智能问答系统与远程交互
人工智能·语言模型·自然语言处理
三木吧1 小时前
开发微信小程序的过程与心得
人工智能·微信小程序·小程序
whaosoft-1431 小时前
w~视觉~3D~合集5
人工智能
猫头虎1 小时前
新纪天工 开物焕彩:重大科技成就发布会参会感
人工智能·开源·aigc·开放原子·开源软件·gpu算力·agi
正在走向自律2 小时前
京东物流营销 Agent:智能驱动,物流新篇(13/30)
人工智能·ai agent·ai智能体·京东物流agent
南七澄江2 小时前
各种网站(学习资源及其他)
开发语言·网络·python·深度学习·学习·机器学习·ai
web150850966413 小时前
Stable Diffusion WebUI Two Shot 项目常见问题解决方案
stable diffusion