从噪点生成美丽的图像
在 ComfyUI 中预览图像生成的样子时,你会发现一开始只能看到像砂岚一样的噪点,但随着步数的推进及,轮廓逐渐显现,最终会变成一张相当整洁的图像。
“怎么能从单纯的噪点中,诞生出有意义的图像呢?”
这个产生不可思议动作的主体,就是 扩散模型 (Diffusion Model)。
什么是扩散模型
现在眼前的噪点图像,并非完全没有意义,而是 被视为“原本漂亮的图像上,叠加了多余的噪点变脏了的东西”。
如果那样想的话,就成了 只要能巧妙地去除多余的噪点,应该就能变回原本漂亮的图像 这样的故事。
那么,就让 AI 来担任那个“去除噪点的人”吧。
扩散模型的学习
AI 擅长记忆“关系性”。 在扩散模型中,会向其展示大量如下的配对进行学习。
- 漂亮的图像
- 在那张图像上叠加了噪点的 “脏图像”
通过这个配对,AI 学习到了当看到脏图像时
“只要这样修,似乎就能稍微接近原本漂亮的图像”
这样的修复方法。
从噪点生成图像
一旦做出了这个“稍微减少噪点的 AI”,剩下的就很简单了。
-
- 准备随机的噪点图像
-
- 把它交给 AI,拜托它“稍微减少一点噪点”
-
- 将稍微变好一点的图像,再次交给 AI……如此重复
最初只是单纯噪点的东西,一边被 AI 一点点去除噪点, 一边逐渐成长为“有一定意义的图像”。
只是生成了随机的图像?
好了,虽然这样就能从噪点生成某种图像了,但可能会抱有这样的疑问。
只是随机出现“看起来像那么回事的图像”吧? 像“画一只狗”或者“想要秋天的森林”这样的指示,要怎么传达呢?
的确如此,仅靠到此为止的扩散模型,虽然能制作出“看起来像自然图像的东西”,但无法指定具体的内容。
如果稍微接触过图像生成,应该知道
- 文本提示词
- ControlNet
- 参考图像(IP-Adapter 等)
等控制方法。
像这样,对扩散过程教导 “希望在什么条件下生成” 的机制,在 ComfyUI 中统称为 Conditioning(调节/条件)。
接下来,让我们来看看这个 Conditioning。