首页 > 编程笔记 > 通用技能 阅读:41

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

一方面,尽管 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 图形用户界面,特色在于其基于节点的设计。

相关文章