ComfyUI_Noise
ComfyUI Noise为ComfyUI提供6个节点,能对噪声进行更多控制和灵活操作。包含生成噪声、复制批次样本、混合潜在图像、计算噪声强度、注入噪声和反向采样等节点。例如,可通过混合不同噪声生成图像变体,用反向采样节点找出给定图像的噪声。还配有示例工作流展示使用方法。
BlenderNeko
Description
ComfyUI 噪声
这个自定义节点包含 6 个适用于 ComfyUI 的节点,它们能让你对噪声进行更精细的控制和更灵活的操作。这使得在生成图像时可以产生细微变化,或者帮助你找到与输入图像和提示词相对应的噪声。
节点
噪声潜在图像:
这个节点可以让你生成噪声。你可以在 latent>noise
下找到该节点,它有以下设置:
- 源:指定噪声的生成位置。目前支持 GPU 和 CPU。
- 种子:噪声的种子值。
- 宽度:图像的宽度。
- 高度:图像的高度。
- 批次大小:批次的大小。
复制批次索引:
此节点的功能已移至核心部分。请使用 Latent>Batch>Repeat Latent Batch
和 Latent>Batch>Latent From Batch
来替代。
这个节点可以让你复制批次中的特定样本。例如,它可用于复制编码后的图像或上述节点生成的噪声。你可以在 latent
下找到该节点,它有以下设置:
- 潜在数据:潜在数据。
- 批次索引:要复制的潜在数据中样本的索引。
- 新批次大小:表示样本要复制的次数。
球面线性插值潜在数据:
这个节点允许你混合两组潜在数据。两个输入的潜在数据必须具有相同的维度;否则,该节点将忽略混合因子,而输出顶部插槽的数据。对于附加到潜在数据的其他元素,如掩码,只有顶部插槽的元素会被传递。你可以在 latent
下找到该节点,它有以下输入:
- 潜在数据 1:第一批潜在数据。
- 潜在数据 2:第二批潜在数据。此输入可选。
- 掩码:确定在潜在数据的哪些位置执行球面线性插值操作。此输入可选。
- 因子:指定第二批潜在数据要球面线性插值到第一批中的比例。
获取西格玛:
这个节点可用于计算采样器在去噪过程开始时预期的噪声量。你可以在 latent>noise
下找到该节点,它有以下输入和设置:
- 模型:要为其计算西格玛的模型。
- 采样器名称:要为其计算西格玛的采样器名称。
- 调度器:采样器中使用的调度类型。
- 步数:调度中的总步数。
- 起始步数:采样器的起始步数,指示输入图像中预期的噪声量。
- 结束步数:上一个采样器当前的结束步数,指示图像中现有的噪声量。
大多数情况下,你只需将 起始步数
设为零,将 结束步数
设为 步数
。但是,如果你想在两个采样器之间重新注入一些噪声,例如,一个采样器从 0 到 15 去噪,另一个从 10 到 20 去噪,你可以将 起始步数
设为 10,将 结束步数
设为 15。这样,第 15 步的图像可以被重新添加噪声回到第 10 步,以便第二个采样器将其处理到第 20 步。请注意,高级 K 采样器有 添加噪声
和 返回剩余噪声
设置,在使用这些节点时,这两个设置都应禁用。
注入噪声:
这个节点允许你将噪声注入到图像潜在数据中。你可以在 latent>noise
下找到该节点,它有以下输入:
- 潜在数据:要注入噪声的潜在数据。
- 噪声:噪声。此输入可选。
- 掩码:确定在哪些位置注入噪声。此输入可选。
- 强度:噪声的强度。请注意,你可以使用上述节点来计算合适的强度值。
反采样器:
这个节点执行采样器的反向操作。它根据模型和提示词计算生成图像所需的噪声。你可以在 sampling
下找到该节点,它有以下输入和设置:
- 模型:目标模型。
- 步数:添加噪声的步数。
- 结束步数:要回溯到的步数。
- 分类器无引导尺度:分类器无引导尺度。
- 采样器名称:要使用的采样技术名称。
- 调度器:要使用的调度类型。
- 归一化:是否在输出前对噪声进行归一化。在将其传递给注入噪声节点时,这很有用,因为该节点需要归一化的噪声。
- 正提示词:正提示词。
- 负提示词:负提示词。
- 潜在图像:要重新添加噪声的图像。
当试图尽可能准确地重建目标图像时,如果反采样器和采样器都使用接近 1.0 的分类器无引导尺度和相似的步数,效果最佳。不过,尝试这些设置以更好地理解结果是很有趣且值得的。这个节点可以实现与 A1111 img2img 替代 脚本类似的效果。
示例
以下是一些展示如何使用上述节点的示例。这些示例的工作流程可以在 example_workflow
文件夹中找到。
生成变体
要在给定的生成结果中创建细微变化,你可以按照以下步骤操作:首先,使用 噪声潜在图像
节点为你感兴趣的种子生成噪声。然后,使用 复制批次索引
节点创建这批噪声的完整副本。请注意,如果你是在进行 img2img 操作,可以使用相同的节点复制图像潜在数据。接下来,生成更多噪声,但这次创建一批噪声而不是单个样本。然后,使用 球面线性插值潜在数据
节点将新创建的噪声球面线性插值到之前的噪声中。要确定注入此噪声所需的强度,可以使用 获取西格玛
节点。最后,使用 注入噪声
节点将球面线性插值后的噪声注入到一批空的潜在数据中。请注意,你应该使用高级 K 采样器,并禁用 添加噪声
设置。
“反采样”
要获取能重现特定图像的噪声,首先加载图像。然后,使用低分类器无引导尺度值的 反采样器
节点。要验证这是否有效,将得到的噪声反馈到高级 K 采样器中,禁用 添加噪声
设置,并将分类器无引导尺度设为 1.0。