从零到精通:Stable Diffusion图像生成模型的全面揭秘

AI教程 2024-07-02

Stable Diffusion 以其强大的图像生成能力引起了广泛的关注。对于许多初学者来说,它或许还带着一层神秘的面纱。但别担心,让我们一同从零开始,揭开 Stable Diffusion 的神秘面纱,踏上这段充满创意与可能的学习之旅。这期文章很长也很干,建议先收藏。

Stable Diffusion 是一款基于深度学习的图像生成模型,它能够根据您输入的文本描述生成逼真且富有创意的图像。无论是艺术创作、设计构思,还是为内容创作增添独特的视觉元素,Stable Diffusion 都展现出了巨大的潜力。

image.png

一、SD历史及工作原理

Stable Diffusion 最初是由德国慕尼黑大学和总部位于纽约的 Runway ML 公司的一个国际研究团队开发的。该团队在 Björn Ommer 教授的领导下主导开发了 Stable Diffusion。

慕尼黑大学的研究人员在图像生成领域有着深厚的研究积累,他们的工作为 Stable Diffusion 的发展提供了重要的理论和技术支持。Runway ML 公司则在人工智能和机器学习领域有着丰富的经验,为模型的工程实现和应用提供了支持。

image.png

Stability AI 公司在 Stable Diffusion 的发展过程中也发挥了重要作用。他们提供了计算资源,帮助进一步开发和优化了文本到图像生成模型。此外,Stability AI 公司还推动了 Stable Diffusion 的开源和商业化应用,使其成为了目前非常受欢迎的图像生成模型之一。

Stability AI 是最著名的生成式人工智能初创公司之一,它在2022年8月推出的文本生成图像模型 Stable Diffusion 就惊艳四座,成为 OpenAI DALL-E、Midjourney 强劲的竞争对手。

image.png

而WebUI 则由 AUTOMATIC1111 团队开发的,UTOMATIC1111 开发的 Stable Diffusion WebUI 是一个为高级用户设计的图形用户界面(GUI),它提供了丰富的功能和灵活性,以满足复杂和高级的图像生成需求。由于其强大的功能和社区的活跃参与,A1111 成为了 Stable Diffusion 模型事实上的标准 GUI,并且是新功能和实验性工具的首选发布平台。

image.png

Stable Diffusion WebUI 的主要功能包括:

• 文本到图像生成:将文本提示转换为图像。

• 图像生成参数调整:可以调整采样步骤、宽度和高度、批次计数、批次大小、CFG 比例等参数。

• 种子控制:通过固定种子值可以控制图像的内容,也可以使用额外种子和变化强度来生成混合图像。

• 人脸修复:专门用于修复人脸上的缺陷。

AUTOMATIC1111 开发的 Stable Diffusion WebUI 为用户提供了一个强大而灵活的图像生成工具,使得用户能够通过文本提示生成高质量的图像,并进行各种参数调整和创意探索。

image.png

二、SD的官方介绍

Stable Diffusion 是一种基于扩散过程的图像生成模型,可以生成高质量、高分辨率的图像。它通过模拟扩散过程,将噪声图像逐渐转化为目标图像。这种模型具有较强的稳定性和可控性,可以生成具有多样化效果和良好视觉效果的图像。

Stable使用来自LAION-5B数据库子集的512x512图像进行训练。使用这个模型,可以生成包括人脸在内的任何图像,因为有开源的预训练模型,所以我们也可以在自己的机器上运行它。

image.png


其实 Stable Diffusion 本身并不是一个模型,而是一个由多个模块和模型组成的系统架构,它由三大核心部件组成,每个组件都是一个神经网络系统,也称为三大基础模型:

CLIPText 用于文本编码,使文本数字化。

2.U-Net + Scheduler 用于逐步处理/扩散被转化到潜空间中的信息。

3. AutoEncoder Decoder (主要是一个VAE:Variational AutoEncoder )使用处理后的信息矩阵解码绘制出最终图像,把潜空间的运算结果解码成实际图片维度。

image.png

①Token embeddings 矩阵输入②随机的初始化图像信息矩阵输入,输出为③处理过的潜空间图像信息矩阵

扩散是在上图中粉红色的图像信息创建器组件中发生的过程,过程中包含表征输入文本的token嵌入,和随机的初始图像信息矩阵(也称之为latents),该过程会还需要用到图像解码器来绘制最终图像的信息矩阵。

Diffusion的核心思想

运用扩散模型生成图像的核心想法仍然基于已有的强大计算机视觉模型。只要输入足量的数据集,这些模型能够习得任何繁杂的操作。假设我们已经持有一张图像,生成一些噪声并将其加入到图像中,随后便可以把这张图像当作一个训练实例。采用相同的操作能够创作出大量训练实例来训练图像生成模型中的核心构件。比如,人普遍有四肢,鱼在水里游等等,所生成的具体图像风格完全取决于训练数据集。

CLIP是怎么训练的?

CLIP 所需的数据是图像以及其标题,数据集中大概涵盖了 4 亿张图像和描述。此数据集是通过从网络上抓取的图片以及对应的“alt”标签文本而收集到的。CLIP 属于图像编码器与文本编码器的组合,它的训练过程能够简化为摄取图像和文字说明,运用两个编码器分别对数据进行编码。

@版权声明:部分内容从网络收集整理,如有侵权,请联系删除!

相关文章