Stable Diffusion是什么(非常详细)
Stable Diffusion 是一种深度学习模型,可以根据指导指令和图像通过扩散过程生成高质量的艺术作品。
与 OpenAI 的 DALL-E 2 等其他深度学习图像生成模型不同,Stable Diffusion 的工作原理是从一个随机噪声的潜在张量开始的,然后逐步添加细节。添加的细节量由一个扩散过程决定,该过程受一个数学方程控制。在最后阶段,模型将潜在张量解码为像素图像。
自 2022 年问世以来,Stable Diffusion 已被广泛应用于生成惊艳的图像。例如,它能够生成与真实照片难以区分的人物、动物、物体和场景图像。图像是根据特定指令生成的,比如“一只猫在月球表面奔跑”或“一张宇航员骑马的图像”。
以下是一个示例,展示了如何使用 Stable Diffusion 根据给定描述生成图像:“一张宇航员骑马的图像”。Stable Diffusion 会生成如下图所示的图像。

图 1 由 Stable Diffusion 生成的宇航员骑马的图像
在我按下回车键之前,这张图像根本不存在。它是由我和 Stable Diffusion 共同创作的。Stable Diffusion 不仅能理解我们提供的描述,还为图像增添了更多细节。
除了文本生成图像,Stable Diffusion 还可以用自然语言编辑图像。例如,再次回顾前面的图像,我们可以用自动生成的蒙版和提示,把空间背景替换成蓝天和山脉。
背景提示可用于生成背景蒙版,“蓝天和山脉”提示引导 Stable Diffusion 将初始图像转换为如下图所示的图像。

图 2 将背景替换为蓝天和山脉
无须点击鼠标或进行拖拽操作,也不必使用 Photoshop 这类额外付费的软件。你可以仅使用纯 Python 和 Stable Diffusion 来实现这一目标。Stable Diffusion 还能通过纯 Python 代码完成许多其他任务,这些将在本书后面详细介绍。
Stable Diffusion 是一个强大的工具,有潜力彻底改变我们创建和处理图像的方式。它可以用于为电影、视频游戏及其他应用生成逼真的图像。它还可以用于生成适用于营销、广告和装饰的个性化图像。
Stable Diffusion 具有以下几个重要特性:
另一方面,Stable Diffusion 是一个在 CreativeML Open RAIL-M 许可证下发布的开源模型。用户不仅可以自由使用该模型,还可以查看源代码、添加新功能,并从社区分享的众多自定义模型中获益。
与 OpenAI 的 DALL-E 2 等其他深度学习图像生成模型不同,Stable Diffusion 的工作原理是从一个随机噪声的潜在张量开始的,然后逐步添加细节。添加的细节量由一个扩散过程决定,该过程受一个数学方程控制。在最后阶段,模型将潜在张量解码为像素图像。
自 2022 年问世以来,Stable Diffusion 已被广泛应用于生成惊艳的图像。例如,它能够生成与真实照片难以区分的人物、动物、物体和场景图像。图像是根据特定指令生成的,比如“一只猫在月球表面奔跑”或“一张宇航员骑马的图像”。
以下是一个示例,展示了如何使用 Stable Diffusion 根据给定描述生成图像:“一张宇航员骑马的图像”。Stable Diffusion 会生成如下图所示的图像。

图 1 由 Stable Diffusion 生成的宇航员骑马的图像
在我按下回车键之前,这张图像根本不存在。它是由我和 Stable Diffusion 共同创作的。Stable Diffusion 不仅能理解我们提供的描述,还为图像增添了更多细节。
除了文本生成图像,Stable Diffusion 还可以用自然语言编辑图像。例如,再次回顾前面的图像,我们可以用自动生成的蒙版和提示,把空间背景替换成蓝天和山脉。
背景提示可用于生成背景蒙版,“蓝天和山脉”提示引导 Stable Diffusion 将初始图像转换为如下图所示的图像。

图 2 将背景替换为蓝天和山脉
无须点击鼠标或进行拖拽操作,也不必使用 Photoshop 这类额外付费的软件。你可以仅使用纯 Python 和 Stable Diffusion 来实现这一目标。Stable Diffusion 还能通过纯 Python 代码完成许多其他任务,这些将在本书后面详细介绍。
Stable Diffusion 是一个强大的工具,有潜力彻底改变我们创建和处理图像的方式。它可以用于为电影、视频游戏及其他应用生成逼真的图像。它还可以用于生成适用于营销、广告和装饰的个性化图像。
Stable Diffusion 具有以下几个重要特性:
- 它可以根据文本描述生成高质量的图像;
- 它基于一种扩散过程,这是一种比其他图像生成方法更稳定、更可靠的方法;
- 有许多可以公开访问的预训练大模型可用(超过 10 000个),并且数量还在不断增长;
- 很多新的研究和应用正在以 Stable Diffusion 为基础进行开发;
- 它是开源的,任何人都可以使用。
为何选择Stable Diffusion
一方面,尽管 DALL-E 2 和其他商业图像生成模型(如 Midjourney)不需要复杂的环境设置或硬件准备就能生成精美图像,但这些模型都是闭源的。因此,用户对生成过程的控制有限,不能使用自定义模型,也无法向平台添加自定义功能。另一方面,Stable Diffusion 是一个在 CreativeML Open RAIL-M 许可证下发布的开源模型。用户不仅可以自由使用该模型,还可以查看源代码、添加新功能,并从社区分享的众多自定义模型中获益。
Stable Diffusion版本差异
当我们提到 Stable Diffusion 时,究竟指的是哪一个版本呢?以下是不同 Stable Diffusion 工具及其差异的列表:项目 | 描述 |
---|---|
Stable Diffusion | Stable Diffusion 的 GitHub 仓库(https://github.com/CompVis/stable-diffusion)是 CompVis 团队最初实现的 Stable Diffusion,许多出色的工程师和研究人员为其作出了贡献。这是一个使用 PyTorch 实现的库,能够训练和生成图像、文本及其他创意内容。目前,该库的活跃度已有所下降,其 README 页面还建议用户使用 Hugging Face 的 Diffusers 来操作和训练扩散模型。 |
Diffusers | Diffusers 是由 Hugging Face 开发的一个用于训练和使用扩散模型的库。它是当前用于生成图像、音频甚至分子 3D 结构的首选预训练扩散模型库。目前该库维护良好,并在积极开发中。几乎每天都有新代码被添加到其 GitHub 仓库中。 |
Stable Diffusion WebUI | 这可能是当前最受欢迎的基于网页的应用程序,允许用户利用 Stable Diffusion 技术生成图像和文本,并提供图形用户界面(GUI),方便用户轻松尝试各种设置和参数。 |
InvokeAI | InvokeAI 最初从 Stable Diffusion 项目分化而来,现在已经发展成一个独立的平台。InvokeAI 提供了许多强大功能,使其成为创意人士的强大工具。 |
ComfyUI | ComfyUI 是一个使用 Stable Diffusion 技术的节点式用户界面。它允许用户创建个性化的工作流程,包括图像后期处理和转换。它提供了一个强大且灵活的 Stable Diffusion 图形用户界面,特色在于其基于节点的设计。 |