稳定扩散(Stable Diffusion)的运作原理如下:
ComfyUI 的生图原理:
如果您曾尝试在太暗的情况下拍照,而拍出的照片全是颗粒状,那么这种颗粒状就是图像中“噪点”的一个例子。我们使用Stable Diffusion来生成艺术作品,但它实际上在幕后所做的是“清理”图像!不过,它比手机图像编辑器中的噪点消除滑块复杂得多。它实际上了解世界的样子、了解书面语言,并利用这些来指导(噪点消除)过程。例如,想象一下,如果我给了下面左边的图像给一位熟练的平面艺术家,并告诉他们这是一幅以H.R。Giger(瑞士画家、雕塑家与布景师,《异形》中的外星生物就是他的作品)的风格描绘的外星人弹吉他的画。我打赌他们可以精心清理它,创造出像右图那样的东西。(这些是稳定扩散的实际图像!)艺术家会利用他们对Giger的艺术作品的了解,以及对世界的了解(例如吉他应该是什么样子以及如何弹奏)来做到这一点。稳定扩散本质上是在做同样的事情![heading2]“推理步骤”[content]你熟悉大多数艺术生成工具中的“推理步骤”滑块吗?稳定扩散是逐步去除噪点的。这是一个运行25步的例子:外星吉他手的例子更有意义,因为你可以更清楚地看出它应该是什么样子的……但在上图中,起始图像看起来完全无法辨认!实际上,这个充满噪点的外星人例子其实是从过程的大约一半开始取的——它(最开始的图像)实际上也是从完全的噪点开始的!
为了生成艺术,我们给稳定扩散提供了一个实际上只是纯噪点的初始图像。但是,相当残忍地😏,我们撒谎说:“这是一幅超级充满噪点的H.R。Giger风格的外星人弹吉他的画——你能帮我清理一下吗?”如果你把这个任务交给一个平面艺术家,他们会束手无策——“我帮不了你,这个图像完全无法辨认!”那么稳定扩散是如何做到的呢?在最简单的层面上,答案是它是一个计算机程序,它别无选择,只能做它的事情并为我们生产一些东西。更深层次的答案与这样一个事实有关,即稳定扩散等AI模型(从技术上讲,“机器学习”模型)在很大程度上基于统计数据。它们估计所有选项的概率,即使所有选项的正确概率都极低,它们仍然只会选择概率最高的路径。例如,它对吉他可能出现在图像中的位置有一些理解,并且它可以寻找哪部分噪点最可能像是吉他边缘的部分(即使实际上没有“正确”的选择),然后开始填充物体。因为没有正确的答案,每次你给它一个不同的纯噪点图像,它都会创作出不同的艺术作品!
ComfyUI是一个开源的图形用户界面,用于生成AI图像,主要基于Stable Diffusion等扩散模型。想要达到精准控制图像生成就要了解他的底层原理,这样才能做到什么时间什么节点用什么办法对其精准控制,以下是其工作原理的详细解释:[heading3]Pixel Space和Latent Space[content]Pixel Space(像素空间):图的左边表示输入图像的像素空间,在ComfyUI中,这个对应于你可能通过“图像输入”模块或直接从文本提示生成的随机噪声图像。在生成过程结束时,系统会将处理后的潜在表示转换回像素空间,生成最终的图像。Latent Space(潜在空间):ComfyUI中的应用:ComfyUI的许多操作都在潜在空间中进行,如KSampler节点就是在这个空间中执行采样过程。图像被映射到潜在空间后,扩散过程在这个空间中进行。在ComfyUI中,你可以通过节点调整对潜在空间的操作,如噪声添加、去噪步数等。这部分通常由潜在空间操作模块来实现。[heading3]2.扩散过程(Diffusion Process)[content]噪声的生成和逐步还原:扩散过程表示的是从噪声生成图像的过程。在ComfyUI中,这通常通过调度器(Schedulers)控制,典型的调度器有Normal、Karras等,它们会根据不同的采样策略逐步将噪声还原为图像。你可以通过ComfyUI中的“采样器”节点选择不同的调度器,来控制如何在潜在空间中处理噪声,以及如何逐步去噪回归到最终图像。时间步数TTT:在生成图像时,扩散模型会进行多个去噪步。图中展示的zTz_TzT代表不同时间步长下的潜在表示。在ComfyUI中,你可以通过控制步数来影响图像生成的精细度和质量。