Stable Diffusion 是一种生成图像模型,属于扩散模型的一种。它利用扩散过程生成图像,从而在图像生成和编辑任务中表现出色。以下是对 Stable Diffusion 的详细解释和图解:
概述
Stable Diffusion 是一种基于扩散过程的图像生成模型。扩散过程包括两个主要步骤:正向扩散和逆向扩散。
正向扩散 (Forward Diffusion) : 这个过程将原始图像逐渐加噪声,直到变成纯噪声。
逆向扩散 (Reverse Diffusion) : 从纯噪声开始,逐步去噪,最终生成新的图像。
具体步骤
数据准备 :
使用大量图像数据训练模型。
数据集可以包括各种类型的图像,如自然场景、人像、物体等。
正向扩散过程 :
从初始图像 (x_0) 开始,在每一步 (t) 加入一定量的高斯噪声,生成加噪后的图像 (x_t)。
这个过程由一个确定的扩散方程描述: [ q(x_t | x_{t-1}) = mathcal{N}(x_t; sqrt{alpha_t} x_{t-1}, (1 – alpha_t) mathbf{I}) ]
逆向扩散过程 :
从纯噪声 (x_T) 开始,逐步去噪,生成新的图像 (x_0)。
这个过程由一个逆扩散方程描述: [ p(x_{t-1} | x_t) = mathcal{N}(x_{t-1}; mu_theta(x_t, t), Sigma_theta(x_t, t)) ]
模型训练 :
使用变分推理训练模型,通过最小化KL散度来优化模型参数。
目标是使生成的图像尽可能接近真实图像。
模型结构
Stable Diffusion 的模型结构通常由多个神经网络组成,这些网络负责正向扩散和逆向扩散过程中的计算。模型的核心部分包括:
噪声预测网络 : 负责预测每一步中的噪声。
去噪网络 : 负责在逆向扩散过程中去除噪声,生成新的图像。
图解
正向扩散过程 :
从左到右,图像逐步加噪,最终变成纯噪声。
逆向扩散过程 :
文章来源于互联网:Stable Diffusion之最全详解图解
相关推荐: 从零开始:使用Colab免费运行Stable Diffusion
从零开始:使用Colab免费运行Stable Diffusion 关键词:Stable Diffusion、Google Colab、AI绘画 、神经网络、免费GPU、文本生成图像、AI模型 摘要:本文将手把手教你如何在Google Colab免费平台上运行当前…
1. Stable Diffusion介绍
* 1.1 研究背景
2.Stable Diffusion原理解析
* 2.1 技术架构
3.1 Diffusion前向过程
3.2 Diffusion逆向(推断)过程
[](https ://blog.csdn.net/DFCED/article/detai ls/136115267?ops_request_misc=&request_id=&biz_id=102&utm_term=stable%20diffusion&utm_medium=distribute.pc_search_result.none- task- blog-2all sobaiduweb~default-0-136115267.142%5Ev100%5Epc_search_result_base4&spm=1018.2226.3001.4187)1. Stable Diffusion介绍
Stable Diffusion是2022年发布的深度学习 文本到图像生成模型。它主要用于根据文本的描述产生详细图像,尽管它也可以应用于其他任务,如内补绘制、外补绘制,以及在提示词指导下产生图生图的转变。
它是一种潜在扩散模型 ,由慕尼黑大学的CompVis研究团体开发的各种生成性人工神经网络之一。它是由初创公司StabilityAI、CompVis与Runway 合作开发,并得到EleutherAI和LAION的支持。 截至2022年10月,StabilityAI筹集了1.01亿美元的资金。
Stable Diffusion的源代码和模型权重已分别公开发布在GitHub和Hugging Face,可以在大多数配备有适度GPU的电脑硬件上运行。而以前的专有文生图模型(如DALL-E和Midjourney )只能通过云计算服务访问。
[](https://blog.csdn.net/DFCED/article/details/136115267?ops_request_misc=&request_id=&biz_id=102&utm_term=stable%20diffusion&utm_medium=distribute.pc_search_result.none- task- blog-2all sobaiduweb~default-0-136115267.142%5Ev100%5Epc_search_result_base4&spm=1018.2226.3001.4187)1.1 研究背景
AI 绘画 作为 AIGC(人工智能创作内容)的一个应用方向,它绝对是 2022 年以来 AI 领域最热门的话题之一。AI 绘画凭借着其独特创意和便捷创作工具迅速走红,广受关注。举两个简单例子,左边是利用 controlnet 新魔法把一张四个闺蜜在沙滩边上的普通合影照改成唯美动漫风,右边是 midjourney v5 最新版本解锁的逆天神技, 只需输入文字“旧厂街风格,带着浓浓 90 年代氛围感”即可由 AI 一键生成超逼真图片! Stable Diffusion,是一个 2022 年发布的文本到图像潜在扩散模型,由 CompVis、Stability AI 和 LAION 的研究人员创建的。要提到的是,Stable Diffusion 技术提出者 StabilityAI 公司在 2022 年 10 月完成了 1.01 亿美元的融资,估值目前已经超过 10 亿美元。
[](https://blog.csdn.net/DFCED/article/details/136115267?ops_request_misc=&request_id=&biz_id=102&utm_term=stable%20diffusion&utm_medium=distribute.pc_search_result.none- task- blog-2all sobaiduweb~default-0-136115267.142%5Ev100%5Epc_search_result_base4&spm=1018.2226.3001.4187)1.2 学术名词
学术名词
相关解释
Diffusion Model
扩散模型,一款支持文本生成图像的算法模型,目前市面上主流的 DALL E、Midjourney、Stable
Diffusion 等 AI 绘画工具都是基于此底层模型开发的
Latent Diffusion Model
即潜在扩散模型,基于上面扩散模型基础上研制出的更高级模型,升级点在于图像图形生成速度更快,而且对计算资源和内存消耗需求更低
Stable Diffusion
简称SD模型,其底层模型就是上面的潜在扩散模型,之所以叫这个名字是因为其研发公司名叫Stability
AI,相当于品牌冠名了
Stable Diffusion Web Ul
简称SD WebUI,用于操作上面Stable
Diffusion模型的网页端界面,通过该操作系统就能控制模型出图,而无需学习代码
[](https://blog.csdn.net/DFCED/article/details/136115267?ops_request_misc=&request_id=&biz_id=102&utm_term=stable%20diffusion&utm_medium=distribute.pc_search_result.none- task- blog-2all sobaiduweb~default-0-136115267.142%5Ev100%5Epc_search_result_base4&spm=1018.2226.3001.4187)2.Stable Diffusion原理解析
[](https://blog.csdn.net/DFCED/article/details/136115267?ops_request_misc=&request_id=&biz_id=102&utm_term=stable%20diffusion&utm_medium=distribute.pc_search_result.none- task- blog-2all sobaiduweb~default-0-136115267.142%5Ev100%5Epc_search_result_base4&spm=1018.2226.3001.4187)2.1 技术架构
Stable Diffusion是一种扩散模型(diffusion model)的变体,叫做“潜在扩散模型”(latent diffusion model; LDM)。扩散模型是在2015年推出的,其目的是消除对训练图像的连续应用高斯噪声,可以将其视为一系列去噪自编码器。Stable Diffusion由3个部分组成:变分自编码器(VAE)、U-Net和一个文本编码器。与其学习去噪图像数据(在“像素空间”中),而是训练VAE将图像转换为低维潜在空间。添加和去除高斯噪声的过程被应用于这个潜在表示,然后将最终的去噪输出解码到像素空间中。在前向扩散过程中,高斯噪声被迭代地应用于压缩的潜在表征。每个去噪步骤都由一个包含ResNet骨干的U- Net架构完成,通过从前向扩散往反方向去噪而获得潜在表征。最后,VAE解码器通过将表征转换回像素空间来生成输出图像。研究人员指出,降低训练和生成的计算要求是LDM的一个优势。
去噪步骤可以以文本串、图像或一些其他数据为条件。调节数据的编码通过交叉注意机制(cross-attention mechanism)暴露给去噪U- Net的架构。为了对文本进行调节,一个预训练的固定CLIP ViT-L/14文本编码器被用来将提示词转化为嵌入空间。
(以上图片来自于网络)
[](https://blog.csdn.net/DFCED/article/details/136115267?ops_request_misc=&request_id=&biz_id=102&utm_term=stable%20diffusion&utm_medium=distribute.pc_search_result.none- task- blog-2all sobaiduweb~default-0-136115267.142%5Ev100%5Epc_search_result_base4&spm=1018.2226.3001.4187)2.2 原理介绍
Stable Diffusion 技术,作为 Diffusion 改进版本,通过引入隐向量空间来解决 Diffusion 速度瓶颈,除了可专门用于文生图任务,还可以用于图生图、特定角色刻画,甚至是超分或者上色任务。作为一篇基础原理介绍,这里着重解析最常用的“文生图(text to image)”为主线,介绍 stable diffusion 计算思路以及分析各个重要的组成模块。
下图是一个基本的文生图流程,把中间的 Stable Diffusion 结构看成一个黑盒,那黑盒输入是一个文本串“paradise(天堂)、cosmic(广阔的)、beach(海滩)”,利用这项技术,输出了最右边符合输入要求的生成图片,图中产生了蓝天白云和一望无际的广阔海滩。Stable Diffusion 组成 Stable Diffusion 的核心思想是,由于每张图片满足一定规律分布,利用文本中包含的这些分布信息作为指导,把一张纯噪声的图片逐步去噪,生成一张跟文本信息匹配的图片。它其实是一个比较组合的系统,里面包含了多个模型子模块,接下来把黑盒进行一步步拆解。stable diffusion 最直接的问题是,如何把人类输入的文字串转换成机器能理解的数字信息。这里就用到了文本编码器 text encoder(蓝色模块),可以把文字转换成计算机能理解的某种数学表示,它的输入是文字串,输出是一系列具有输入文字信息的语义向量。有了这个语义向量,就可以作为后续图片生成器 image generator(粉黄组合框)的一个控制输入,这也是 stable diffusion 技术的核心模块。图片生成器,可以分成两个子模块(粉色模块+黄色模块)来介绍。下面介绍下 stable diffusion 运行时用的主要模块:
1.文本编码器(蓝色模块) ,功能是把文字转换成计算机能理解的某种数学表示,在第三部分会介绍文本编码器是怎么训练和如何理解文字,暂时只需要了解文本编码器用的是 CLIP 模型,它的输入是文字串,输出是一系列包含文字信息的语义向量。
2.图片信息生成器(粉色模块) 是 stable diffusion 和 diffusion 模型的区别所在,也是性能提升的关键,有两点区别:
① 图片信息生成器的输入输出均为低维图片向量(不是原始图片),对应上图里的粉色 44 方格。同时文本编码器的语义向量作为图片信息生成器的控制条件,把图片信息生成器输出的低维图片向量进一步输入到后续的图片解码器(黄色)生成图片。(注:原始图片的分辨率为 512512,有RGB 三通道,可以理解有 RGB 三个元素组成,分别对应红绿蓝;低维图片向量会降低到 64*64 维度)
② Diffusion 模型一般都是直接生成图片,不会有中间生成低维向量的过程,需要更大计算量,在计算速度和资源利用上都比不过 stable diffusion;
那低维空间向量是如何生成的?是在图片信息生成器里由一个 Unet 网络和一个采样器算法共同完成,在 Unet 网络中一步步执行生成过程,采样器算法控制图片生成速度,下面会在第三部分详细介绍这两个模块。Stable Diffusion 采样推理时,生成迭代大约要重复 30~50 次,低维空间变量在迭代过程中从纯噪声不断变成包含丰富语义信息的向量,图片信息生成器里的循环标志也代表着多次迭代过程。
(3) 图片解码器(黄色模块) 输入为图片信息生成器的低维空间向量(粉色 4*4 方格),通过升维放大可得到一张完整图片。由于输入到图片信息生成器时做了降维,因此需要增加升维模块。这个模块只在最后阶段进行一次推理,也是获得一张生成图片的最终步骤。
[](https://blog.csdn.net/DFCED/article/details/136115267?ops_request_misc=&request_id=&biz_id=102&utm_term=stable%20diffusion&utm_medium=distribute.pc_search_result.none- task- blog-2all sobaiduweb~default-0-136115267.142%5Ev100%5Epc_search_result_base4&spm=1018.2226.3001.4187)扩散过程
扩散过程发生在图片信息生成器中,把初始纯噪声隐变量输入到 Unet 网络后结合语义控制向量,重复 30~50 次来不断去除纯噪声隐变量中的噪声,并持续向隐向量中注入语义信息,就可以得到一个具有丰富语义信息的隐空间向量(右下图深粉方格)。采样器负责统筹整个去噪过程,按照设计模式在去噪不同阶段中动态调整 Unet 去噪强度。
更直观看一下,如下图 所示,通过把初始纯噪声向量和最终去噪后的隐向量都输到后面的图片解码器,观察输出图片区别。从下图可以看出,纯噪声向量由于本身没有任何有效信息,解码出来的图片也是纯噪声;而迭代 50 次去噪后的隐向量已经耦合了语义信息,解码出来也是一张包含语义信息的有效图片。
[](https://blog.csdn.net/DFCED/article/details/136115267?ops_request_misc=&request_id=&biz_id=102&utm_term=stable%20diffusion&utm_medium=distribute.pc_search_result.none- task- blog-2all sobaiduweb~default-0-136115267.142%5Ev100%5Epc_search_result_base4&spm=1018.2226.3001.4187)3.1 Diffusion前向过程
Diffusion的前向(q)和逆向§过程
[](https://blog.csdn.net/DFCED/article/details/136115267?ops_request_misc=&request_id=&biz_id=102&utm_term=stable%20diffusion&utm_medium=distribute.pc_search_result.none- task- blog-2all sobaiduweb~default-0-136115267.142%5Ev100%5Epc_search_result_base4&spm=1018.2226.3001.4187)3.2 Diffusion逆向(推断)过程
但由于AIGC刚刚爆火,网上相关内容的文章博客五花八门、良莠不齐。要么杂乱、零散、碎片化,看着看着就衔接不上了,要么内容质量太浅,学不到干货。
这里分享给大家一份Adobe大神整理的《AIGC全家桶学习笔记》,相信大家会对AIGC有着更深入、更系统的理解。
有需要的朋友,可以长按下方二维码,免费领取!
AIGC所有方向的学习路线思维导图
这里为大家提供了总的路线图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。如果下面这个学习路线能帮助大家将AI利用到自身工作上去,那么我的使命也就完成了:
AIGC工具库
AIGC工具库是一个利用人工智能技术来生成应用程序的代码和内容的工具集合,通过使用AIGC工具库,能更加快速,准确的辅助我们学习AIGC
有需要的朋友,可以点击下方卡片免费领取!
精品AIGC学习书籍手册
书籍阅读永不过时,阅读AIGC经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验,结合自身案例融会贯通。
AI绘画视频合集
我们在学习的时候,往往书籍源码难以理解,阅读困难,这时候视频教程教程是就很适合了,生动形象加上案例实战,科学有趣才能更方便的学习下去。
有需要的朋友,可以长按下方二维码,免费领取!
文章来源于互联网:Stable Diffusion之最全详解图解
Stable Diffusion 之最全详解图解
Stable Diffusion,作为一种革命性的图像生成模型,自其发布以来便成为了AI图像生成技术的重要里程碑。它以其独特的扩散过程、高效的图像生成能力和广泛的应用场景,赢得了广泛的关注和应用。本文将从Stable Diffusion的模型起源、工作原理、核心组件、应用领域、最新版本进展等多个方面,结合图解和详细解析,全面介绍Stable Diffusion。
一、Stable Diffusion概览
1. 模型起源与特点
Stable Diffusion由CompVis、Stability AI和LAION的研究人员于2022年发布。它是一种基于扩散过程的图像生成模型,结合了物理学中的扩散过程、机器学习领域的变分自编码器和可逆网络,实现了高质量的图像生成。Stable Diffusion的主要特点包括:
高质量的图像生成 :生成的图像具有较高的分辨率和细节,能够与专业图像生成技术相媲美。
多样性 :即使是相同的文本描述,每次生成的图像也可能有所不同,提供了丰富的图像变化。
灵活性 :用户可以根据自己的需求调整生成参数,如图像的分辨率、风格、颜色等。
开源性 :Stable Diffusion的代码和预训练模型是开源的,允许任何人自由使用、修改和分发。
2. 扩散过程
Stable Diffusion的核心在于其独特的扩散过程,包括正向扩散和逆向扩散两个步骤。
正向扩散 :从初始图像开始,逐步加入高斯噪声,直到图像变成纯噪声。这一过程通过逐步增加噪声水平,将图像数据转化为潜在空间中的表示。
逆向扩散 :从纯噪声图像开始,逐步去除噪声,最终生成符合输入条件的图像。这一过程通过逐步减少噪声水平,将潜在空间中的表示还原为高质量的图像。
二、Stable Diffusion的工作原理
Stable Diffusion的工作原理可以概括为以下几个关键步骤:
文本理解 :通过文本编码器(如CLIP模型的文本编码器)将文本信息转化为数字表示,以捕捉文本意图。
图像信息创建 :在潜在空间中,使用UNet神经网络和调度算法逐步处理文本特征和随机初始化的图像信息(latents),生成图像信息。这一过程通过多个步骤进行,每一步都会增加更多的相关信息。
图像解码 :使用自动编码解码器(Autoencoder Decoder)根据处理后的图像信息绘制最终图像。这一步只在过程结束时运行一次,以生成最终的像素图像。
三、核心组件及功能
Stable Diffusion由多个关键组件构成,每个组件都承担着不同的功能:
文本编码器(ClipText) :用于将文本输入转化为数字表示,捕捉文本意图。
图像信息创建器(UNet+调度程序) :在潜在空间中逐步处理文本特征和随机初始化的图像信息,生成图像信息。
图像解码器(Autoencoder Decoder) :根据处理后的图像信息绘制最终图像。
Stable Diffusion支持多种功能,包括:
文本到图像(Text-to-Image, txt2img) :允许用户仅通过文本提示来生成图像。例如,输入“天堂、广阔的、海滩”等关键词,模型会输出符合这些描述的图像。
图像到图像 :支持对现有图像进行修改或增强,以符合新的文本描述。
内补绘制(Inpai nting) :对图像中的缺失部分进行自动补全。
外补绘制(Outpainting) :在图像外部生成新的内容,以扩展图像。
超分辨率(Super Resolution) :从低分辨率图像中生成高分辨率图像。
上色(Colorization) :为黑白图像上色。
四、最新版本进展
Stable Diffusion的最新版本在多个方面进行了显著改进和新增特性,主要包括:
性能提升 :通过更新torch、xformers等组件,实现了更高效的图像处理速度和更好的硬件兼容性。特别是v4.6版本,通过全速运行和对40系显卡的支持,显著提升了性能。
柔和重绘功能 :新版本引入了柔和重绘功能,使生成的图像更加平滑和自然。
支持FP8格式 :进一步提高了模型的计算效率和精度。
8亿参数版本 :极大地提升了图像合成AI的易用性和生成质量。
多主题提示表现能力 :Stable Diffusion 3版本特别强调了在多主题提示下的表现能力,以及图像质量和拼写能力的显著提升。
五、应用领域
Stable Diffusion在多个领域展现出了广泛的应用前景,包括:
艺术创作 :为艺术家提供强大的创作工具,生成高质量的图像作品。
游戏开发 :在游戏设计中,用于生成场景、角色等图像元素。
虚拟现实 :在VR内容制作中,生成逼真的虚拟环境。
广告与市场营销 :在广告与市场营销领域,Stable Diffusion可用于快速生成广告图像、产品展示图、社交媒体封面等,提高广告制作效率和创意多样性。品牌可以利用这一技术快速响应市场变化,定制符合品牌调性和市场需求的视觉内容。
教育与研究 :在教育领域,Stable Diffusion可以作为教学辅助工具,帮助学生直观地理解抽象概念。同时,在科研领域,研究人员可以利用Stable Diffusion生成模拟数据或可视化实验结果,提高研究效率和成果展示质量。
时尚与电商 :在时尚设计和电商行业,Stable Diffusion能够迅速生成时尚单品、服装搭配、模特展示图等,为设计师提供灵感,为电商平台提供丰富的商品展示素材。
娱乐与媒体 :在影视、动画 、漫画等娱乐产业中,Stable Diffusion可用于场景绘制、角色设计、特效制作等环节,提高制作效率和视觉效果。此外,在新闻报道和社交媒体中,Stable Diffusion也能生成相关的配图,增强内容的吸引力和可读性。
六、技术挑战与未来展望
尽管Stable Diffusion在图像生成领域取得了显著成就,但仍面临一些技术挑战。例如,如何进一步提高生成图像的真实性和细节质量,如何更好地控制生成图像的多样性和创意性,以及如何减少生成过程中的计算资源消耗等。
为了应对这些挑战,研究人员正在不断探索新的算法和技术,如引入更先进的神经网络结构、优化训练策略、利用并行计算等。同时,随着硬件技术的不断发展,如GPU性能的提升和专用AI芯片的出现,Stable Diffusion的生成速度和效率也将得到进一步提升。
未来,Stable Diffusion有望在更多领域实现应用落地,并与其他技术如自然语言处理、计算机视觉等深度融合,形成更加强大的AI生态系统。例如,通过结合自然语言处理技术,Stable Diffusion可以更好地理解用户的文本输入,生成更符合用户意图的图像;通过结合计算机视觉技术,Stable Diffusion可以对生成的图像进行自动分析和评估,提高图像的质量和创意性。
总之,Stable Diffusion作为一种革命性的图像生成模型,正在不断推动着AI技术在图像生成领域的发展。随着技术的不断进步和应用场景的不断拓展,Stable Diffusion有望在未来发挥更加重要的作用,为各行各业带来更多的创新和变革。
文章来源于互联网:Stable Diffusion之最全详解图解
相关推荐: 秋叶大佬24年最新的Stable Diffusion整合包V4.8来了~
要说今年绘画 圈最大的新秀 那妥妥的就Stable Diffution V4升级版无需安装**,直接解压就能用** *(在此要感谢秋葉aaaki大佬的分享!*) 比之前推送的更加智能、快速和简单 有多简单呢?这么说吧 之前的版本需要初中生级别 现在的V4加强版小…
稳定扩散(Stable Diffusion )是指在图论和网络科学领域中,一种基于随机漫步的扩散模型。该模型可以用来描述节点在网络上的扩散过程,例如信息传播、疾病传播等。
稳定扩散模型的基本思想是,节点在网络上随机选择邻居节点进行转移,转移概率与节点之间的连接强度相关。具体来说,稳定扩散模型中的节点具有一个活跃度(活跃度可以理解为节点的扩散能力),节点的活跃度越高,其转移的概率越大。节点在每一步转移中,根据其活跃度随机选择一个邻居节点进行转移,直到达到一定的停止条件为止。
下面我们来详细解释稳定扩散模型的具体过程。首先,我们假设网络中有N个节点,每个节点具有一个活跃度ai (i = 1, 2, …, N)。为了简化问题,我们可以假设活跃度满足服从概率分布函数P(ai)。在每一步转移中,节点i会根据其活跃度随机选择一个邻居节点j进行转移。转移概率可以计算如下:
P(i -> j) = ai / Σk ak
其中,P(i -> j)表示节点i转移到节点j的概率,ak表示节点k的活跃度。
稳定扩散模型中的转移过程可以通过随机漫步来描述。随机漫步是指节点在网络上随机选择一个邻居节点进行转移的过程。在每一步转移中,节点根据转移概率选择一个邻居节点进行转移。随机漫步过程可以一直进行下去,直到达到停止条件为止。
稳定扩散模型的停止条件通常有两种,一种是指定一个转移步数,当达到指定的步数时停止;另一种是指定一个转移概率阈值,当节点的转移概率低于阈值时停止。停止后,我们可以得到每个节点的转移概率,进而分析节点的扩散能力。
稳定扩散模型的应用非常广泛。例如,在社交网络中,可以用稳定扩散模型来分析信息在网络上的传播过程;在疾病传播中,可以利用稳定扩散模型来预测疾病的传播规律和控制策略。
总结 起来,稳定扩散模型是一种基于随机漫步的扩散模型,可以用来描述节点在网络上的扩散过程。该模型基于节点的活跃度来确定转移概率,节点根据转移概率随机选择邻居节点进行转移。稳定扩散模型的应用广泛,可以用来分析社交网络中的信息传播、预测疾病传播规律等。
这篇文章详细介绍了稳定扩散模型的基本原理和应用,希望能帮助读者更好地理解和应用这一模型。
文章来源于互联网:Stable Diffusion之最全详解图解
相关推荐: 如何用MJ和SD,解锁转盘抽奖界面设计?
本文通过分析MJ和SD分别在转盘抽奖页面设计中的应用,旨在分享设计思路和实用技巧,促进交流与学习。示例中H5页面的下半部分引用了其他App界面,特此声明仅作学习之用,无任何商业意图。 更多MJ教程: 文章来源于互联网:如何用MJ和SD,解锁转盘抽奖界面设计?相…
Stable Diffusion 是一种革命性的图像生成模型,其发布标志着AI图像生成技术的一个重要里程碑。本文将通过详细的图解和实例演示,全面解析Stable Diffusion的工作原理。
一、Stable Diffusion概览
1.1 模型起源与特点
Stable Diffusion由CompVis、Stability AI和LAION的研究人员于2022年发布。它是一种基于扩散过程的图像生成模型,结合了物理学中的扩散过程、机器学习领域的变分自编码器和可逆网络,从而实现了高质量的图像生成。
二、扩散过程
正向扩散 (Forward Diffusion)
正向扩散过程是指从初始图像开始,逐步加入高斯噪声,直到图像变成纯噪声。这个过程可以通过以下步骤实现:
数据准备 :使用大量图像数据训练模型,包括各种类型的图像如自然场景、人像、物体等。
正向扩散 :从初始图像 �0x0 开始,在每一步 �t 加入一定量的高斯噪声,生成加噪后的图像 ��xt。
逆向扩散 (Reverse Diffusion)
逆向扩散过程是从纯噪声开始,逐步去噪,最终生成新的图像。这一过程通过以下步骤实现:
逆向扩散 :从纯噪声图像开始,逐步去除噪声,最终生成符合输入条件的图像。
三、条件生成
Stable Diffusion支持条件生成,即根据特定的输入(如文本描述)生成图像。这一特性通过在U-Net中加入额外的条件编码器实现,确保生成的图像与给定的条件相匹配。
四、核心组件及功能
文本到图像(Text-to-Image, txt2img)
该功能允许用户仅通过文本提示来生成图像。例如,输入“paradise (天堂)、cosmic (广阔的)、beach (海滩)”等关键词,模型会输出符合这些描述的图像。
图像到图像(Image-to-Image, img2img)
除了文本到图像之外,Stable Diffusion还支持图像到图像的功能。这意味着可以对现有图像进行修改或增强,以符合新的文本描述。
五、技术实现细节
变分自编码器 (VAE)
Stable Diffusion使用变分自编码器来处理图像的潜在空间表示。VAE通过将高维图像压缩到低维潜在空间,并在该空间中进行扩散和逆扩散操作,从而实现高效的图像生成。
CLIP模型
为了更好地遵循文本条件,Stable Diffusion使用了CLIP模型作为文本编码器。CLIP可以在zero-shot的情况下在ImageNet上与ResNet50有同等的表现,从而提高了文本到图像生成的质量和准确性。
六、应用与实践
Stable Diffusion不仅在学术界受到广泛关注,也在实际应用中展现了巨大的潜力。它可以用于多种任务,包括但不限于:
内补绘制(Inpai nting)
外补绘制(Outpainting)
超分辨率(Super分辨率)
上色(Colorization)。
结论
Stable Diffusion作为一种前沿的图像生成技术,通过其独特的扩散过程和强大的条件生成能力,为艺术家和设计师提供了强大的工具。无论是从文本到图像的生成,还是从图像到图像的修改,Stable Diffusion都展示了其卓越的性能和广泛的应用前景。希望本文的详细图解能帮助您更好地理解这一令人瞩目的技术。
Stable Diffusion的最新版本有哪些改进和新特性?
Stable Diffusion的最新版本在多个方面进行了显著改进和新增特性。以下是详细的改进和新特性:
性能提升 :
最新版本对性能进行了多项提升,包括更高效的图像处理速度和更好的硬件兼容性。
特别是v4.6版本,通过更新torch2、xformers0.0.17、cudnn 8.8等组件,实现了全速运行,包括对40系显卡的支持。
新特性和功能 :
新版本引入了柔和重绘功能,这使得生成的图像更加平滑和自然。
支持FP8格式,进一步提高了模型的计算效率和精度。
引入了8亿参数的版本,极大地提升了图像合成AI的易用性和生成质量。
扩展和API更新 :
新版本提供了更多的扩展和API支持,方便用户进行自定义开发和集成。
多主题提示和图像质量 :
Stable Diffusion 3版本特别强调了在多主题提示下的表现能力,以及图像质量和拼写能力的显著提升。
其他更新 :
包括升级torch至2.1.2版本等多项次要更新和扩展。
如何使用Stable Diffusion进行超分辨率图像生成?
使用Stable Diffusion进行超分辨率图像生成,可以按照以下步骤进行:
环境准备 :
确保你的计算机满足最低配置要求。
安装必要的软件和库,如Python及其相关库,并通过GPU加速来提高性能。
下载和安装Stable Diffusion :
下载并安装Stable Diffusion模型。具体步骤可以参考新手入门教程中的安装部分。
设置参数 :
准备好描述元素的提示词和反提示词,这些将影响最终生成的图像质量。
设置权重以调整生成结果的细节程度,并选择合适的输出大小。
使用webui进行操作 :
可以通过webui界面进行更直观的操作,包括预设和脚本的使用。
在webui中,你可以根据需要调整各项参数,如迭代次数、噪声水平等,以达到最佳的图像生成效果。
逐步去除噪声并增加细节 :
Stable Diffusion的核心是通过逐步添加噪声并去除噪声的方式,逐渐逼近真实的图像分布。
具体而言,首先从一个随机噪声开始,然后通过多次迭代,逐渐去除噪声并增加图像细节,最终生成一张高质量的图像。
实际案例和技巧 :
学习一些实用技巧和案例实操,例如如何解决内存溢出和图像模糊等问题。
通过实际案例讲解,深入理解每个功能的使用方法和参数设置诀窍。
高级应用 :
Stable Diffusion不仅可以用于基本的图像生成任务,还可以用于图像修复、图像绘制、文本到图像和图像到图像等高级应用。
Stable Diffusion在实际应用中的案例分析有哪些?
Stable Diffusion在实际应用中展现了多种多样且具有创新性的案例,以下是一些具体的分析:
广告与市场营销 :
定制广告内容 :一家大型服装零售商使用Stable Diffusion生成符合特定目标市场审美的广告图像。通过输入相关的风格和元素描述,AI能够生成与品牌风格一致的视觉效果。
自然语言处理(NLP) :
文本生成、分类和摘要 :Stable Diffusion在NLP领域的应用包括文本生成、文本分类和文本摘要等任务。这些应用展示了其在处理自然语言数据方面的强大能力,并且在提高效率和准确性方面表现出色。
设计领域 :
运营设计海报 :通过运用Stable Diffusion,成功完成了活动运营海报的辅助设计。AI工具的参与使得画面迭代更加高效,并带来了令人惊叹的视觉效果。
交互设计 :Stable Diffusion在交互设计中的应用越来越受到关注,例如横幅图片景深交互,可以快速生成大量创意图片,从而提高互联网产品的图片产出效率,提升用户体验和市场竞争力。
电商应用 :
文字线稿上色 :利用Segment Anything插件,Stable Diffusion能够精准分离图片上的不同部分并进行上色,解决了传统AI工具上色存在的颜色污染问题。
图像处理和计算机视觉 :
图像去噪、平滑和增强 :在图像处理和计算机视觉领域,Stable Diffusion被广泛应用于图像去噪、图像平滑和图像增强等方面。例如,对于卫星图像的处理,Stable Diffusion能够显著提升图像质量。
材质高质感logo制作和儿童摄影 :
金玉材质高质感logo制作 :通过Stable Diffusion,可以制作出具有高质感的金玉材质logo,展示了其在细节处理上的优势。
儿童摄影案例 :在儿童摄影领域,Stable Diffusion也得到了应用,能够生成高质量的儿童照片。
大模型的应用 :
风景画生成 :使用大模型生成风景画,结果非常逼真,画面中的天空、山脉、树木等元素都非常逼真,仿佛身临其境。
Stable Diffusion与其他图像生成模型(如DALL·E或GPT-3)的性能比较如何?
Stable Diffusion 3在与其他图像生成模型(如DALL·E或GPT-3)的性能比较中,展现出了明显的优势。根据多篇技术报告和评估结果,Stable Diffusion 3在视觉美感、文本遵循和排版等方面均优于其他模型。
具体来说,Stable Diffusion 3通过结合DiT(DiT指的是结合了图像处理技术的深度学习模型),在多个方面表现出了显著的优越性。例如,在视觉美感方面,Stable Diffusion 3生成的图像质量更高,细节更加丰富。此外,该模型在图像修复、超分辨率和风格迁移等领域的应用也得到了广泛认可。
尽管如此,不同的模型在设计、可访问性和输出质量上存在一些差异。例如,Stable Diffusion是开源的,这使得它具有更大的灵活性和可定制性。而DALL·E 3则在某些情况下能够生成更清晰、更详细的图像,特别是在使用高级版本时。
总体而言,Stable Diffusion 3在多个关键指标上都展现出了优于其他图像生成模型的性能,尤其是在视觉效果和文本处理方面。
Stable Diffusion的技术实现细节中,变分自编码器(VAE)和CLIP模型是如何具体工作的?
在Stable Diffusion的技术实现细节中,变分自编码器(VAE)和CLIP模型分别扮演着重要的角色。
变分自编码器(VAE)
VAE,即变分自编码器(Variational Autoencoder),是一种生成模型,通过学习数据分布的特征,能够生成全新的、真实的样本。其基本原理是通过对潜在空间进行概率建模,使得生成的样本更加多样性和可控性。在Stable Diffusion中,VAE的作用主要体现在以下几个方面:
图像质量提升 :VAE位于Stable Diffusion运作流程的末端,其主要作用是改善生成图像的颜色鲜艳度和细节锐利度,并在一定程度上提升局部细节的生成质量,例如手部、服装、脸部等。
噪声转换 :VAE将潜在空间中的噪声转换成图像,从而生成高质量的图像。
部分更新 :在某些版本的Stable Diffusion模型中,如1.4或1.5版本,通过VAE对模型进行部分更新,以提升模型渲染眼睛的能力。
引入潜在变量 :VAE在生成图像的过程中引入潜在变量,从而使得生成的图像更具多样性和可控性。
CLIP模型
CLIP(Contrastive Language–Image Pre-training)模型是OpenAI 开发的一种预训练模型,它通过对比学习的方式将文本嵌入与图像嵌入对齐。在Stable Diffusion中,CLIP模型的具体工作方式如下:
文本到嵌入 :输入的文字首先通过CLIP模型转化为text embedding。
初始图像处理 :这些文本嵌入与初始图像(使用随机高斯噪声初始化)一起输入到去噪模块(即Text conditioned latent U-Net)中。
指导生成过程 :CLIP模型通过对比学习的方式确保生成的图像与输入的文本描述尽可能一致,从而提高生成图像的相关性和准确性。
文章来源于互联网:Stable Diffusion之最全详解图解
相关推荐: 2023年度佳作:AIGC、AGI、GhatGPT 与人工智能大模型的创新与前景展望
🎬 鸽芷咕:个人主页 🔥 个人专栏:《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 写在前面参与规则 ✅参与方式:关注博主、点赞、收藏、评论,任意评论(每人最多评论三次) ⛳️本次送书1~3本【取决于阅读量,阅读量越多,送的越…
1. Stable Diffusion 稳定扩散模型简介
Stable Diffusion 是 Diffusion 扩散模型中最先进的模式( Diffusion 有一些早期版本,比如: 原始Diffusion、Latent Diffusion)。它采用了更加稳定、可控和高效的方法来生成高质量图像。在生成图像的质量、速度和成本上都有显著的进步,因此该模型可以直接在消费级显卡上实现图像生成,可达至少 512*512 像素的图像。最新的 XL 版本可以在 1024*1024 像素的级别上生成可控的图像,生成效率也比以往的 Diffusion 扩散模型提高了30倍。目前 Stable Diffusion 的应用已经不局限于图像生成领域,它还被广泛应用于自然语言处理、音频视频等生成领域。
1.1 Stable Diffusion 发展的历史
Stable Diffusion 这个模型架构是由 Stability AI 公司推于2022年8月由 CompVis、Stability AI 和 LAION 的研究人员在 Latent Diffusion Model 的基础上创建并推出的。其核心技术来源于 AI 视频剪辑技术创业公司 Runway 的首席研究科学家 Patrick Esser,以及慕尼黑大学机器视觉学习组的 Robin Rombach 这两位开发者在计算机视觉大会 CVPR22 上合作发表的潜扩散模型(Latent Diffusion Model)的研究(论文:https://arxiv.org/abs/2112.10752 )。
Patrick Esser(左)、Robin Rombach(右)
而,Latent Diffusion Model 是对早在2015年就提出的原始 Diffusion Model 的革命性升级改造。有关 Diffusion 模型的原始框架可以在这篇文章中详细了解《Diffusion 扩散模型 》。
虽然,坊间最近大面积流传着 Stable diffusion 其实是抄袭 Runway 的 Latent diffusion 的代码,并且 Stability AI 的老板 Emad Mostaque 被福布斯扒皮说他学历造假等丑闻,但这一点也没有耽误 Stable diffusion 的持续火爆,并且继续获得大部头的融资。
Stability AI 的老板 Emad Mostaque
至于 Stable diffusion 是否真的抄袭 Latent diffusion 目前尚没有明确的结论,但一个不争的事实是,Stable diffusion 相对于 Latent diffusion 来说进步确实不多,可以说基本都集中在了算力基础大大提升、训练数据大大增加、数据质量大大改善等“大力出奇迹”上,而并非什么架构本质的升级换代。
但,到目前为止,我们使用的 Stable diffusion WebUI 仍然是基于 Stability AI 公司发布的 Stable diffusion 架构。所以,让我们仍然沿用这一称呼“Stable diffusion”来进行讲解。
1.2 “浅空间 Latent Space”的重要性!
Stable diffusion 相比 Latent diffusion 主要有以下几点改进:
训练数据:Latent Diffusion 是采用 Lai on-400M 数据训练的,而 Stable Diffusion 是在 Laion-2B-en数据集上训练出来的。 “2B-en”是 20 亿个图像及英文对照文本的意思,确切的说是包含 23.2 亿个。明显后者用了更多的训练数据,而且后者还采用了数据筛选来提升样本数据质量,即采用了 Laion-Aesthetic,一个 120M 的训练子集,以专门选择美学评分较高的图像用于文生图任务。
Text Encoder:Latent Diffusion 采用一个随机初始化的 Transformer 来编码 text(这个 Transformer 就是 GPT 用的那个 Transformer,“GPT”的最后一个字母“T”,我单独写过一篇文章来详细介绍它:《“GPT”到底是什么,三个字母应该怎样翻译! 》)。而 Stable Diffusion 采用一个预训练好的 Clip text encoder 来编码 text,预训练的 text model 往往要优于从零开始训练的模型。
训练尺寸: Latent Diffusion 是在 256×256 分辨率数据集上训练,而 Stable Diffusion 是先在256×256分辨率上预训练,然后再在 512×512 分辨率上微调优化的,而现在 XL 版本则采用了 Laion-High-Resolution 训练集,一个规模为 170M,图像分辨率大于 1024 的高分辨率训练子集,用于超分辨率任务。
可以看出来,改进确实不是特别大。其中一个最重要的核心“Latent”并没有被改变,还一直被 Stable Diffusion 所沿用着,那么这个“Latent”到底是什么意思呢。可以说 Latent Diffusion 是 Stable Diffusion 的鼻祖,因为它首次采用了“浅空间 Latent Space”中高效处理数据的方法,解决了原始 Diffusion 模型效率低下的问题。它内部的 U-Net 网络是在“潜空间”的低维度中进行运算的,这极大地降低了内存消耗和计算的复杂度。例如,一个 512*512 像素的照片图像,数据表达为(3,512,512),即 RGB 三通道 *512*512 像素的图像数据规模,数据体积在 786432 之上。而在潜空间中则会被压缩成(4,64,64),数据体积为 16384,内存消耗将会减少到原来的 64 分之 1。这个给模型的运行带来了极大的高效性与普及性。Stable Diffusion 自然也继承了 Latent Diffusion 的这个核心优势。(有关“浅空间 Latent Space”的具体讲解,请参考此篇:《到底什么是“Latent Space 潜空间”? 》)
接下来,我们将部分参考几位技术大牛对 Stable Diffusion 的文章内容,尤其是 Jay Alammar 在其博客上针对 Stable Diffusion 解构所配的十分简明扼要的拓扑图来讲解。
Jay Alammar 的博客账户
2. Stable Diffusion 稳定扩散模型详细结构
Stable Diffusion 稳定扩散模型可以被应用在许多领域,但在 AIGC 设计领域,我们仅关注它的两个主要方面:
第一个是文生图(text2img)。下图展示了一套文本和对应生成的图像。这套文本就是 Prompt 提示词: paradise cosmic beach。
提示词“paradise cosmic beach”通过Stable Diffusion 模型生成对应图像
第二个是改变图片。很明显,改变图片需要的是输入一张图片,还有用来改变图片的提示词。对应的例子是在原有图像上+提示词:Pirate ship,生成一张变化的图。
在原有图像上+提示词:“Pirate ship”,生成一张变化的图
其实 Stable Diffusion 本身并不是一个模型,而是一个由多个模块和模型组成的系统架构,它由三大核心部件组成,每个组件都是一个神经网络系统,也称为三大基础模型:
1. CLIPText 用于文本编码,使文本数字化:
Input:输入文本(提示词 Prompt);
Output:77 token embeddings vectors,每个 token 向量有 768 个维度;
2. U-Net + Scheduler 用于逐步处理/扩散被转化到潜空间中的信息:
Input:文本嵌入和由噪点组成的起始多维矩阵(是一种结构化的数字列表,也称为张量 Tensor);
Output:处理后的信息矩阵;
3. AutoEncoder Decoder (主要是一个VAE:Variational AutoEncoder )使用处理后的信息矩阵解码绘制出最终图像,把潜空间的运算结果解码成实际图片维度:
Input:处理后的信息矩阵,维度:4, 64, 64;
Output:生成的图像,维度:3, 512, 512 即 RGB三个通道、和两维像素尺寸。
2.1 CLIPText 文本编码器
首先,让我们看一下 CLIPText,它是一个内涵编码器的文本理解组件( Text Understander 图中蓝色模块),它将文本信息转换为用数字表达的信息,以便让机器能够理解提示词文本的语义。
文本理解组件 Text Understander (蓝色模块)本质上是一个编码器 Encoder
这个文本理解组件如果按照技术结构组成来说,可以理解为一个文本编码器(Encoder),它是一个特殊的 Transformer 语言模型(技术术语: CLIP 模型的 Text Encoder 文本编码器)。它的输入是文本,输出则为数字表达的矩阵,即用 Embedding 的方式来表达提示词中的一连串文本中的每个 token,每个 token 对应一组 Embedding 向量,一连串的 token 组合到一起就形成了一个 Embedding 的矩阵,下图中蓝色网
文章来源于互联网:Stable Diffusion之最全详解图解
相关推荐: 终于,Midjourney 中文版来了,快来免费使用吧!
前言 在AI届,我们基于日常使用和评测效果基本上都可以有个大致判断,在文生文领域国产模型基本上可以说和GPT或者Claude 是比较接近、甚至是超越的,比如文心或者最近大火的Kimi。 但是在文生图或图生图领域,国产模型还是很难于国外模型相媲美,我们甚至没有一个…
Stable Diffusion是2022年发布的深度学习文本到图像生成模型。它主要用于根据文本的描述产生详细图像,尽管它也可以应用于其他任务,如内补绘制、外补绘制,以及在提示词指导下产生图生图的转变。
它是一种潜在扩散模型,由慕尼黑大学的CompVis研究团体开发的各种生成性人工神经网络之一。它是由初创公司StabilityAI、CompVis与Runway 合作开发,并得到EleutherAI和LAION的支持。 截至2022年10月,StabilityAI筹集了1.01亿美元的资金。
Stable Diffusion的源代码和模型权重已分别公开发布在GitHub和Hugging Face,可以在大多数配备有适度GPU的电脑硬件上运行。而以前的专有文生图模型(如DALL-E和Midjourney )只能通过云计算服务访问。
1.1 研究背景
AI 绘画 作为 AIGC(人工智能创作内容)的一个应用方向,它绝对是 2022 年以来 AI 领域最热门的话题之一。AI 绘画凭借着其独特创意和便捷创作工具迅速走红,广受关注。举两个简单例子,左边是利用 controlnet 新魔法把一张四个闺蜜在沙滩边上的普通合影照改成唯美动漫风,右边是 midjourney v5 最新版本解锁的逆天神技, 只需输入文字“旧厂街风格,带着浓浓 90 年代氛围感”即可由 AI 一键生成超逼真图片! Stable Diffusion,是一个 2022 年发布的文本到图像潜在扩散模型,由 CompVis、Stability AI 和 LAION 的研究人员创建的。要提到的是,Stable Diffusion 技术提出者 StabilityAI 公司在 2022 年 10 月完成了 1.01 亿美元的融资,估值目前已经超过 10 亿美元。
1.2 学术名词
学术名词
相关解释
Diffusion Model
扩散模型,一款支持文本生成图像的算法模型,目前市面上主流的 DALL E、Midjourney、Stable Diffusion 等 AI 绘画工具都是基于此底层模型开发的
Latent Diffusion Model
即潜在扩散模型,基于上面扩散模型基础上研制出的更高级模型,升级点在于图像图形生成速度更快,而且对计算资源和内存消耗需求更低
Stable Diffusion
简称SD模型,其底层模型就是上面的潜在扩散模型,之所以叫这个名字是因为其研发公司名叫Stability AI,相当于品牌冠名了
Stable Diffusion Web Ul
简称SD WebUI,用于操作上面Stable Diffusion模型的网页端界面,通过该操作系统就能控制模型出图,而无需学习代码
2.Stable Diffusion原理解析
2.1 技术架构
Stable Diffusion是一种扩散模型(diffusion model)的变体,叫做“潜在扩散模型”(latent diffusion model; LDM)。扩散模型是在2015年推出的,其目的是消除对训练图像的连续应用高斯噪声,可以将其视为一系列去噪自编码器。Stable Diffusion由3个部分组成:变分自编码器(VAE)、U-Net和一个文本编码器。与其学习去噪图像数据(在“像素空间”中),而是训练VAE将图像转换为低维潜在空间。添加和去除高斯噪声的过程被应用于这个潜在表示,然后将最终的去噪输出解码到像素空间中。在前向扩散过程中,高斯噪声被迭代地应用于压缩的潜在表征。每个去噪步骤都由一个包含ResNet骨干的U-Net架构完成,通过从前向扩散往反方向去噪而获得潜在表征。最后,VAE解码器通过将表征转换回像素空间来生成输出图像。研究人员指出,降低训练和生成的计算要求是LDM的一个优势。
去噪步骤可以以文本串、图像或一些其他数据为条件。调节数据的编码通过交叉注意机制(cross-attention mechanism)暴露给去噪U-Net的架构。为了对文本进行调节,一个预训练的固定CLIP ViT-L/14文本编码器被用来将提示词转化为嵌入空间。
(以上图片来自于网络)
2.2 原理介绍
Stable Diffusion 技术,作为 Diffusion 改进版本,通过引入隐向量空间来解决 Diffusion 速度瓶颈,除了可专门用于文生图任务,还可以用于图生图、特定角色刻画,甚至是超分或者上色任务。作为一篇基础原理介绍,这里着重解析最常用的“文生图(text to image)”为主线,介绍 stable diffusion 计算思路以及分析各个重要的组成模块。
下图是一个基本的文生图流程,把中间的 Stable Diffusion 结构看成一个黑盒,那黑盒输入是一个文本串“paradise(天堂)、cosmic(广阔的)、beach(海滩)”,利用这项技术,输出了最右边符合输入要求的生成图片,图中产生了蓝天白云和一望无际的广阔海滩。Stable Diffusion 组成 Stable Diffusion 的核心思想是,由于每张图片满足一定规律分布,利用文本中包含的这些分布信息作为指导,把一张纯噪声的图片逐步去噪,生成一张跟文本信息匹配的图片。它其实是一个比较组合的系统,里面包含了多个模型子模块,接下来把黑盒进行一步步拆解。stable diffusion 最直接的问题是,如何把人类输入的文字串转换成机器能理解的数字信息。这里就用到了文本编码器 text encoder(蓝色模块),可以把文字转换成计算机能理解的某种数学表示,它的输入是文字串,输出是一系列具有输入文字信息的语义向量。有了这个语义向量,就可以作为后续图片生成器 image generator(粉黄组合框)的一个控制输入,这也是 stable diffusion 技术的核心模块。图片生成器,可以分成两个子模块(粉色模块+黄色模块)来介绍。下面介绍下 stable diffusion 运行时用的主要模块:
1.文本编码器(蓝色模块) ,功能是把文字转换成计算机能理解的某种数学表示,在第三部分会介绍文本编码器是怎么训练和如何理解文字,暂时只需要了解文本编码器用的是 CLIP 模型,它的输入是文字串,输出是一系列包含文字信息的语义向量。
2.图片信息生成器(粉色模块) 是 stable diffusion 和 diffusion 模型的区别所在,也是性能提升的关键,有两点区别:
① 图片信息生成器的输入输出均为低维图片向量(不是原始图片),对应上图里的粉色 44 方格。同时文本编码器的语义向量作为图片信息生成器的控制条件,把图片信息生成器输出的低维图片向量进一步输入到后续的图片解码器(黄色)生成图片。(注:原始图片的分辨率为 512512,有RGB 三通道,可以理解有 RGB 三个元素组成,分别对应红绿蓝;低维图片向量会降低到 64*64 维度)
② Diffusion 模型一般都是直接生成图片,不会有中间生成低维向量的过程,需要更大计算量,在计算速度和资源利用上都比不过 stable diffusion;
那低维空间向量是如何生成的?是在图片信息生成器里由一个 Unet 网络和一个采样器算法共同完成,在 Unet 网络中一步步执行生成过程,采样器算法控制图片生成速度,下面会在第三部分详细介绍这两个模块。Stable Diffusion 采样推理时,生成迭代大约要重复 30~50 次,低维空间变量在迭代过程中从纯噪声不断变成包含丰富语义信息的向量,图片信息生成器里的循环标志也代表着多次迭代过程。
(3) 图片解码器(黄色模块) 输入为图片信息生成器的低维空间向量(粉色 4*4 方格),通过升维放大可得到一张完整图片。由于输入到图片信息生成器时做了降维,因此需要增加升维模块。这个模块只在最后阶段进行一次推理,也是获得一张生成图片的最终步骤。
扩散过程
扩散过程发生在图片信息生成器中,把初始纯噪声隐变量输入到 Unet 网络后结合语义控制向量,重复 30~50 次来不断去除纯噪声隐变量中的噪声,并持续向隐向量中注入语义信息,就可以得到一个具有丰富语义信息的隐空间向量(右下图深粉方格)。采样器负责统筹整个去噪过程,按照设计模式在去噪不同阶段中动态调整 Unet 去噪强度。
更直观看一下,如下图 所示,通过把初始纯噪声向量和最终去噪后的隐向量都输到后面的图片解码器,观察输出图片区别。从下图可以看出,纯噪声向量由于本身没有任何有效信息,解码出来的图片也是纯噪声;而迭代 50 次去噪后的隐向量已经耦合了语义信息,解码出来也是一张包含语义信息的有效图片。
3.1 Diffusion前向过程
Diffusion的前向(q)和逆向§过程
3.2 Diffusion逆向(推断)过程
文章来源于互联网:Stable Diffusion之最全详解图解
相关推荐: Stable Diffusion 安装教程(详细)_stable diffusion安装
引言 如果你只想简单尝试一下,仅仅图一乐,可以通过网页在线体验Stable Diffusion,可以今日免费的网站进行使用(https ://stablediffusionweb.com/),只是功能不如本地的多。 本地部署安装Stable Diffusion有…
上一篇OpenAI高层剧震,三位高层宣布离职和隐身丨即梦AI推出移动客户端丨Figure发布新一代人形机器人「Figure 02」
下一篇接入百度文心一言API教程