在当今科技的蓬勃发展中,生成式人工智能(AI)正变得异常炙手可热。无论是在绘画领域还是大语言模型和语音方向,生成式AI都展现出了令人惊叹的能力。其多样化的应用领域让人们为之着迷,从艺术创作到语言交流,无所不包。随着技术的不断进步,生成式AI正以其引人入胜的特点吸引着全球范围内的关注和热议。无论是专业人士还是普通用户,都对这一领域的发展保持着极大的兴趣。让我们一起深入探索生成式AI的奇妙世界,看看它如何在各个方向上展现出惊人的可能性。
在绘画模型中,有VAE(变分自编码器),Flow-based model,GAN,以及最近最火的diffusion扩散模型.在过去几年里,扩散模型(Diffusion Models)作为一种生成模型,已经变得非常受欢迎,而且这并非没有原因。仅在2020年,就有几篇重要的论文向世界展示了扩散模型的能力,例如在图像生成方面击败了生成对抗网络(GANs)。
最近,从业者们还可以在OpenAI最近发布的图像生成模型DALL-E 2中看到扩散模型的应用。 扩散模型采用了一种独特的方法,这也是它们受欢迎的原因之一。与传统的生成模型专注于对数据分布进行明确建模不同,扩散模型通过对数据在时间上的演变进行建模。
这里将解释一下扩散模型中最火的stable diffusion,一般我们谈论生成扩散模型,或者是AI绘画时一般谈论的也是它.
事实上这个模型的由来涉及到三组研究人员分别来自stability.ai,runwayml以及CompVis.当你下载stable diffusion模型时一般就会从stability以及compvis里下载.
模型介绍
稳定扩散(Stable Diffusion)具有多种用途,可以以多种不同的方式使用。首先,让我们着重介绍从文本生成图像(text2img)方面。上面的图片展示了一个文本输入的示例以及生成的图像结果。除了文本到图像的转换,另一种主要的使用方式是通过使其修改图像(输入为文本+图像)。
稳定扩散是由多个组件和模型组成的系统,而不是一个整体的模型。
当我们深入了解其内部机制时,首先可以观察到一个文本理解组件,它将文本信息转化为数值表示,以捕捉文本中的核心信息。
文本编码器
我们可以说这个文本编码器是一个特殊的Transformer语言模型(技术上来说,是CLIP模型的文本编码器)。它接收输入文本并输出表示文本中每个单词/标记的数字列表(每个标记对应一个向量)。
然后,这些信息被提供给图像生成器,它本身由几个组件组成。包括Image information creator和 Image Decoder
Image information creator
这个组件会运行多个步骤来生成图像信息。在稳定扩散的接口和库中,这个步骤通常被称为"步数",默认设置为50或100。
图像信息生成器完全在图像信息空间(或潜在空间)中运行。稍后我们会详细讨论这意味着什么。这个特性使得它比之前在像素空间中工作的扩散模型更快。从技术上讲,这个组件由一个UNet神经网络和一个调度算法组成。
"扩散"一词描述了这个组件中发生的过程。它是逐步处理信息的过程,最终导致生成高质量图像(由下一个组件,即图像解码器完成)
Image Decoder
图像解码器(Image Decoder)根据从图像信息生成器(Image information creator)获取的信息绘制一幅图像。它只在整个过程的最后运行一次,以生成最终的像素图像。
通过上述内容,我们可以看到稳定扩散由三个主要组件(每个组件都有自己的神经网络)组成: 1. ClipText用于文本编码。 输入:文本。 输出:77个标记嵌入向量,每个向量维度为768。
- UNet + Scheduler用于逐步处理/扩散信息在信息(潜在)空间中。 输入:文本嵌入和由噪声组成的起始多维数组(结构化数字列表,也称为张量)。 输出:处理后的信息数组。
- 自编码解码器使用处理后的信息数组绘制最终图像。 输入:处理后的信息数组(维度:(4,64,64))。 输出:生成的图像(维度:(3, 512, 512),即红/绿/蓝通道、宽度和高度)。
扩散的过程
扩散是在粉色的"图像信息生成器"组件内部发生的过程。该过程使用表示输入文本的标记嵌入以及一个随机的起始图像信息数组(也称为潜变量),生成一个信息数组,供图像解码器使用来绘制最终的图像。
生成图像的扩散模型的核心思想依赖于我们拥有强大的计算机视觉模型。在有足够大的数据集的情况下,这些模型可以学习复杂的操作。扩散模型通过以下方式来处理图像生成问题: 假设我们有一张图像,我们生成一些噪声,并将其添加到图像中。
这个过程是逐步进行的,每一步都会添加更多相关的信息。为了对这个过程有直观的理解,我们可以检查随机的潜变量数组,并且可以看到它被转化为视觉上的噪声。在这种情况下,通过将其传递给图像解码器进行视觉检查。
扩散过程在多个步骤中进行,每一步都对输入的潜变量数组进行操作,并生成另一个潜变量数组,它更好地呈现了输入文本以及模型从训练图像中获取到的所有视觉信息。
这个例子展示了从图像中的少量噪声值(amount 0,无噪声)到完全噪声(amount 4,全噪声)的几个示例,但我们可以轻松控制向图像中添加多少噪声,因此我们可以在数十个步骤中传播噪声,为训练数据集中的所有图像创建数十个训练示例。
有了加了噪声的数据集之后,我们需要训练一个噪声预测器,对采样的噪声进行预测,这样,如果我们从图像中减去它,我们就会得到一张更接近模型训练图像的图像
为了加快图像生成过程,稳定扩散论文在图像本身而非像素图像上运行扩散过程,而是在图像的压缩版本上进行。这种压缩(以及后续的解压缩/绘制)是通过自编码器完成的。自编码器使用其编码器将图像压缩到潜在空间,然后使用解码器仅利用压缩信息对其进行重构。
这是一位SD资深大神整理的,100款Stable Diffusion超实用插件,涵盖目前几乎所有的,主流插件需求。
全文超过4000字。
我把它们整理成更适合大家下载安装的【压缩包】,无需梯子,并根据具体的内容,拆解成一二级目录,以方便大家查阅使用。
单单排版就差不多花费1个小时。
希望能让大家在使用Stable Diffusion工具时,可以更好、更快的获得自己想要的答案,以上。
如果感觉有用,帮忙点个支持,谢谢了。
想要原版100款插件整合包的小伙伴,可以来点击下方插件直接免费获取
100款Stable Diffusion插件:
面部&手部修复插件:After Detailer
在我们出图的时候,最头疼的就是出的图哪有满意,就是手部经常崩坏。只要放到 ControlNet 里面再修复。
现在我们只需要在出图的时候启动 Adetailer 就可以很大程度上修复脸部和手部的崩坏问题
AI换脸插件:sd-webui-roop
换脸插件,只需要提供一张照片,就可以将一张脸替换到另一个人物上,这在娱乐和创作中非常受欢迎。
模型预设管理器:Model Preset Manager
这个插件可以轻松的创建、组织和共享模型预设。有了这个功能,就不再需要记住每个模型的最佳 cfg_scale、实现卡通或现实风格的特定触发词,或者为特定图像类型产生令人印象深刻的结果的设置!
现代主题:Lobe Theme
已经被赞爆的现代化 Web UI 主题。相比传统的 Web UI 体验性大大加强。
提示词自动补齐插件:Tag Complete
使用这个插件可以直接输入中文,调取对应的英文提示词。并且能够根据未写完的英文提示词提供补全选项,在键盘上按↓箭头选择,按 enter 键选中
提示词翻译插件:sd-webui-bilingual-localization
这个插件提供双语翻译功能,使得界面可以支持两种语言,对于双语用户来说是一个很有用的功能。
提示词库:sd-webui-oldsix-prompt
提供提示词功能,可能帮助用户更好地指导图像生成的方向。
上千个提示词,无需英文基础快速输入提示词,该词库还在不断更新。
以后再也不担心英文写出不卡住思路了!
由于篇幅原因,有需要完整版Stable Diffusion插件库的小伙伴,点击下方插件即可免费领取