什么是 Stable Diffusion?

2025年3月17日 | 阅读 12 分钟

Stable Diffusion 是一款 2022 年推出的隐空间文本到图像扩散模型。LDM 通过反复降低图像隐空间中的噪声,然后将此表示转换为视觉表示来工作。

使用集成了多个神经网络的模型,Stable Diffusion 的文本到图像生成过程可以分为四个阶段。以下是概述:

  • 首先,图像编码器将训练图像转换为隐空间中的向量。隐空间是一个数学空间,其中关于图像的数据可以表示为整数数组。
  • 文本编码器将文本转换为机器学习算法可以理解的多维向量。
  • 然后,一个扩散模型使用文本引导在称为隐空间的区域生成新图像。
  • 最后,图像解码器将从隐空间数据收集的图像信息转换为由像素组成的真实图像。

Stable Diffusion 可以创建各种艺术形式,例如写实风景、肖像和抽象艺术。该方法已被用于多种应用,包括科学研究的图像生成、数字艺术创作和视频游戏开发。

例如,游戏开发者可以使用该模型根据文本描述生成游戏素材,如角色和游戏场景。电子商务网站还可以输入产品描述来构建产品设计。

Stable Diffusion 的主要作用是根据文本描述创建完整的照片,但它也可以用于其他任务,如绘画、外绘和生成文本提示驱动的图像到图像转换。其测量、模型卡和代码均公开可用。

Stable Diffusion 由 Stability AI 与众多大学研究人员和非营利组织合作开发。要运行 Stable Diffusion,建议使用至少拥有 6.9GB 显存的 GPU。这使得它比 DALL-E 和 Midjourney 等早期文本到图像模型更容易使用,这些模型是专有的,只能通过云服务访问。

Stable Diffusion 的过程是什么?

Stable Diffusion 通过迭代地将扩散方法应用于图像来工作。每次迭代中,扩散系数都会根据图像的局部属性(如变化和边缘)进行计算。该系数会影响扩散的强度和方向,从而使该技术能够自适应地改变图像不同部分的平滑效果。

扩散过程根据局部信息重新分配像素值。该技术通过在安静区域分布像素值来降低噪声,同时保持清晰的过渡和边缘。这种选择性平滑有助于保留图像细节,避免模糊或丢失关键特征。

以下是该过程的总结:

当用户以自然语言输入描述时,Stable Diffusion 首先理解并读取请求。然后,人工智能会对文本进行分析,并提取相关知识,以生成所需的图像。

扩散模型: Stable Diffusion 使用一个已开发用于从模糊照片中去除高斯噪声的扩散模型。该广播方法旨在从头开始创建图像,从最初模糊且有噪声的初始图像开始。该模型通过迭代细化逐步改进图像,直到生成与用户期望输出相匹配的清晰锐利的图像。

持续学习: 随着用户参与度的增加以及文本描述被发送到 Stable Diffusion,机器学习算法会不断学习和改进其输出。由于这种持续学习过程,Stable Diffusion 能够生成越来越精确和逼真的图像。

图像生成: 在理解文本并执行扩散过程后,Stable Diffusion 会根据提供的信息及其培训中获得的知识生成图像。在某些情况下,人工智能可以生成代表指定描述的不同视图或感知的多个图像。

编辑现有图像: 除了从头开始创建图像外,Stable Diffusion 还可以根据用户输入编辑现有图像。这包括添加或删除项目、更改颜色以及调整图像的其他方面等操作。

如何使用 Stable Diffusion?

Stable Diffusion 有多种应用和设置。以下是正确使用 Stable Diffusion 的三种流行策略:

1) 使用云端 Stable Diffusion。

基于云的服务使使用 Stable Diffusion 变得容易。许多组织通过云提供 Stable Diffusion 服务,允许客户根据他们的需求创建艺术品。这些服务通常涉及上传输入照片并选择合适的艺术风格。然后,该服务应用 Stable Diffusion 生成最终图像,可以将其在线保存或共享。

使用基于云的 Stable Diffusion 有多种好处。首先,它通常比在本地执行算法要快。其次,这些服务能够处理大规模的处理,从而快速输出高质量的照片。最后,在云端使用 Stable Diffusion 通常更具成本效益,因为用户只需为他们使用的资源付费,从而最大限度地降低了费用。

2) 使用本地 Stable Diffusion。

另一种选择是在您使用的机器上运行 Stable Diffusion。为此,必须在您的设备上安装 Stable Diffusion 软件。安装应用程序后,您就可以使用它来使用 Stable Diffusion 创建艺术品。

在本地执行 Stable Diffusion 有许多优点。首先,它为您在整个过程中提供了更多控制,允许您根据个人需求定制算法。其次,在本地机器上运行 Stable Diffusion 使您无需互联网连接即可创建艺术品,这在互联网访问受限或不可用时可能很有用。

3) 使用在线 Stable Diffusion。

许多在线平台提供 Stable Diffusion 作为附加服务,让客户可以利用其功能。这些网站允许用户上传照片,这些照片将通过 Stable Diffusion 进行处理以创建多种艺术风格。当该方法完成后,生成的图像可以购买或共享。

在线使用 Stable Diffusion 有多种好处。首先,它通常是免费提供或以低成本提供,使其对所有用户都可用。其次,通过互联网使用 Stable Diffusion 非常简单,不需要技术知识。最后,许多在线网站提供多种艺术风格供选择,让用户能够探索和尝试不同的技术和美学。

如何在网上免费运行 Stable Diffusion

有很多方法可以做到这一点。在本文中,我们将解释初学者开始使用 Stable Diffusion 模型进行探索的理想方法。

利用 Stable Diffusion 为自己生成图像的最有效方法之一是使用 Fotor AI 照片生成器。它是一个基于 Stable Diffusion 模型构建的平台,能够使用自然语言描述(通常称为“提示”)来生成图像。

AI 文本到图像生成器最令人印象深刻的方面是它非常适合初学者。不需要编辑和设计技能;只需输入您想要的艺术品的文本,尽可能详细,然后您就可以通过人工智能轻松快速地创作出精美的艺术品,如 AI 动漫角色、AI 头像、AI 背景等。

扩散模型

扩散模型是生成模型。它们用于生成与它们训练的数据相似的数据。从根本上说,扩散模型的工作方式是它们通过迭代地引入高斯噪声来“破坏”学习到的数据,然后它们学会通过去除噪声来恢复数据。

What is Stable Diffusion

正向扩散过程向图像引入越来越多的噪声。结果,图像被捕获,并且来自其的噪声以不同的时间增量添加,直到整个图像在点 T 处仅仅是噪声。反向扩散是正向扩散过程的逆转,其中在时间步 t-1 中迭代地消除时间步 t 的噪声。使用 U-Net 卷积神经网络(该网络经过训练以确定图像上的噪声量以及其在深度学习机器学习中的其他用途)继续此过程,直到从图像中消除所有噪声。

What is Stable Diffusion

图像从左到右显示迭代噪声添加,从右到左显示迭代噪声去除。

U-Net 是最常用的估计和去噪方法。有趣的是,该神经网络的拓扑结构类似于字母 U,这就是它得名的方式。U-Net 是一种全连接卷积神经网络(CNN),对于图像处理非常有效。U-Net 的独特之处在于它能够以快照为起点,通过降低采样率找到该图像的低维版本,使其更适合处理和查找其重要属性,然后通过提高采样率将图像恢复到其原始尺寸。

What is Stable Diffusion

更详细地说,背景噪声的去除,或从任意时间步 t 过渡到时间步 t-1,其中 t 是 T0(无噪声图像)与最终值 TMAX(总噪声)之间的差值,发生如下:输入是时间步 t 中的图像,并且在该时间步中图像上有特定噪声。

What is Stable Diffusion

文本

通过“嵌入”带有语音变换器的单词来完成将文本应用于此模型,这意味着在将所写内容的最终表示上传到 U-Net 的源数据(图像)之前,会将数字(标记)包含在短语中,然后在 U-Net 中,它会穿过所有神经网络 U-Net 网络的层,并与图像一起转换。这是从第一个时间迭代开始的,并且在第一次噪声估计之后,相同的文本被添加到每个后续迭代中。我们可以说文本“作为指南”来生成图像,从没有噪声的第一次迭代开始,并贯穿整个迭代过程。

可能性

鉴于该模式的复杂构造,可靠的扩散可以通过使用指定应显示或排除在输出中的元素的邮件框来“从头开始”生成图像。使用文本提示,您可以轻松地将新元素添加到现有图像中。最后,在网页 huggingface.co 上,有一个区域可供您试验 Stable Diffusion 模型。当提示被填入“埃菲尔铁塔景观中的皮卡丘精致餐点”时,以下是结果。

What is Stable Diffusion

在过去的几个月里,Stable Diffusion 引起了很多关注。其原因是原始源代码对所有人开放,Stable Diffusion 不拥有生成照片的任何权利,它还允许人们发挥创造力,正如使用此方法创建的大量精彩发布的图像所证明的那样。我们可以自信地说,生成模型每周都在生成和改进,关注它们的未来发展将非常有趣。

Stable Diffusion 的目的是什么?

Stable Diffusion 方法用于根据文本提示创建图像,并通过修复和外绘过程修改现有图像。例如,它可以根据详细的书面描述生成整个图像,或替换现有图像的一小部分。

你能分辨出 AI 生成的图像吗?

Stable Diffusion 可以生成难以与真实物体区分的逼真照片,以及难以与手绘或绘画艺术区分的视觉效果。此外,通过一系列提示和其他条件,它还可以生成明显虚假的照片。

寻找 AI 生成艺术中的手指,因为 Stable Diffusion 和其他模型在这个区域都会遇到困难。如果照片的主题明显地遮盖着手,那么有人进行了创意提示工程来规避 AI 模型的缺陷,这很有可能。但是,请记住,AI 模型以惊人的速度发展,因此这些缺陷很可能是暂时的。

Stable Diffusion 的争议和问题

Stable Diffusion 的图像理论上可用于几乎任何目的;然而,与 AI 生成的内容相关存在一些风险。

由于 AI 图像合成必须从某个地方学习物品,因此其程序员在互联网上搜索带有元数据的艺术品。他们这样做未经源艺术创作者的授权,这引发了版权问题。

这尤其成问题,因为 Stable Diffusion 并不是从头开始构建其图像的;相反,它是从先前分析的图像中组装的。因此,无论是否获得许可,它都会在学习和创作过程中使用他人的艺术作品。像 DeviantArt 这样的网站通过允许用户选择退出允许 AI 系统使用其艺术品进行训练,从而避免了重大的用户流失。

部分由 AI 创作的作品的版权问题同样模糊不清,涉及包含 AI 生成组件的作品的版权申请已被拒绝。尽管如此,随着 AI 驱动的图像生成变得越来越普遍,它会影响传统艺术家的生计,他们面临着被这种更便宜、更“容易”的替代方案取代工作的风险。

安装 Stable Diffusion。

您不必依赖各种使用 Stable Diffusion 的网站作为模型,您可以将程序下载到您的 PC 上。但是,请注意,安装程序很困难,并且需要多个精确的步骤。好消息是,一旦完成,您就可以随时随地随心所欲地访问它。

在开始之前,请确保您的 PC 满足以下最低要求:Windows 10 或 11,以及一块 4GB 或更多 VRAM 的独立 NVIDIA 显卡。您可以使用 DirectX 诊断工具来确定显卡的名称和型号以及 VRAM 的数量。要打开“运行”框,请使用 Windows 键+R。在打开的字段中输入 dxdiag。在 DirectX 诊断工具窗口中,单击“显示”选项卡以查看您的显卡标识和 VRAM 的数量。

如果您的显卡有效,请继续执行以下步骤

  • 下载并安装 Python: 导航到 Python 3.10.6 的网页。向下滚动到“资源”部分,然后选择“Windows 安装程序 (64 位)”链接。
  • 安装 Git: 转到 Git for Windows 下载页面。单击链接即可获得 Git for Windows 的 Setup 64-bit。安装下载文件时,接受所有默认参数。
  • 下载 Stable Diffusion 的项目文件: 转到 Stable Diffusion 项目文件的 GitHub 网站。通过单击右上角的绿色代码框来选择“下载 ZIP”。解压您刚刚下载的 ZIP 文件。这会创建 stable-diffusion-webui-master 文件夹。将此文件夹以及所有解压的文件复制到方便的位置,例如 C: 驱动器的根目录。
  • 下载并安装检查点文件: 转到 Hugging Face 网站下载 Stable Diffusion 检查点文件。单击下载按钮保存 768-v-ema.ckpt 文件。由于这是一个大文件,请在下载过程中保持耐心。下载文件后,浏览到以下目录:C:\stable-diffusion-webui-master\models\Stable-diffusion(假设您已将此文件夹移动到 C 驱动器的根目录)。此文件夹包含一个名为 Put Stable Diffusion Milestones Here.txt 的文件。将 768-v-ema.ckpt 文件复制到此文件夹。
  • 下载 config.yaml 文件: 导航到包含 config.yaml 文件的页面。文件将以纯文本格式显示。在网页上的任意位置右键单击,然后选择“另存为”。导航到 C:\stable-diffusion-webui-master\models 并将 YAML 文件保存在那里。将文件名更改为 768-v-ema,同时保留 yaml 扩展名;因此,它应该是 768-v-ema.yaml。
  • 执行 webui-user.bat 脚本: 导航到 stable-diffusion-webui-master 目录并执行 webui-user.bat。几分钟后,窗口应显示一行,内容为:“Running on local URL”,后面跟着一个包含您的本地机器 IP 地址和端口号的 URL。要查看 Stable Diffusion 应用程序,请将包括端口号在内的完整 URL 复制并粘贴到您喜欢的浏览器中。但是,请保持命令行窗口打开。
  • 创建图像: 最后,您可以生成图像。在 Stable Diffusion 应用程序的提示处,提供您想要的图像描述。在负面提示中,键入任何您想删除的文本。您可以更改采样方法-宽度、高度等参数。如果您需要调整设置,请为批次数量和批次大小输入数字。准备好后,选择“生成”按钮。该应用程序按您选择的顺序显示照片。

窥视 Stable Diffusion 应用程序,您会发现大量其他选项,包括提交图像以生成其版本、缩放和修改图像的选项,以及访问各种扩展。

Stable Diffusion 的特点和优势

Stable Diffusion 的软件代码是免费提供的,允许任何有能力的人从核心基础创建解决方案。这为社区在改进和发展人工智能方面提供了很大的空间。此外,由于 Stable Diffusion 是一个免费项目,程序员可以对其进行训练和定制,以满足其个人需求和项目。

除了根据文本请求生成图像外,Stable Diffusion 还可以修改现有图像。用户可以上传图像并要求包含或删除特定对象,此过程称为图像到图像,用户可以通过修改现有照片或根据要求添加特定部分来生成新图像。

结论

在本文中,我们讨论了 Stable Diffusion 是什么,它是如何工作的,以及如何应用它。有四种操作 Stable Diffusion 的方法,包括一种免费方法,使用 AI 艺术创作者。练习 Stable Diffusion,看看它如何能增强您的数字视觉效果。