本文档介绍了ComfyUI中实现的先进引导技术,这些技术扩展或修改了标准的扩散过程。这些技术提供了对生成过程的增强控制,通常能产生更高质量的输出或特殊效果。
有关基本条件引导的信息,请参阅 条件引导。
先进的引导技术主要作为模型修改器存在,它们会改变UNet处理输入的方式,或改变无分类器引导的应用方式。本页面记录了这些技术在ComfyUI中的实现和用法。
来源: comfy_extras/nodes_sag.py comfy_extras/nodes_perpneg.py comfy_extras/nodes_pag.py comfy_extras/nodes_freelunch.py comfy_extras/nodes_hypertile.py
ComfyUI中的高级引导技术在扩散过程的不同点运行,它们通过修改UNet的行为、改变注意力计算方式或对标准的无分类器引导结果进行后处理来实现。
来源: comfy_extras/nodes_sag.py comfy_extras/nodes_perpneg.py comfy_extras/nodes_pag.py comfy_extras/nodes_freelunch.py comfy_extras/nodes_hypertile.py
自注意力引导利用扩散模型的内部注意力机制,通过基于注意力模式的引导校正来增强生成的图像。
SAG的工作原理是:
SelfAttentionGuidance节点暴露了两个关键参数:
scale:控制SAG效果的强度(默认值:0.5)blur_sigma:控制高斯模糊的强度(默认值:2.0)来源: comfy_extras/nodes_sag.py107-173
垂直负面引导通过计算负面提示方向相对于正面提示方向的垂直分量来修改标准的无分类器引导过程。
Perp-Neg的关键在于将负面提示的影响分解为平行于正面提示方向和垂直于正面提示方向的分量。通过仅缩放垂直分量,它允许负面提示“避开”不想要的內容,而不会与正面提示方向发生冲突。
该实现提供了两个节点:
PerpNeg:原始实现(已弃用)PerpNegGuider:使用引导系统的新实现PerpNegGuider节点的参数:
cfg:标准无分类器引导比例neg_scale:控制垂直负面分量的影响来源: comfy_extras/nodes_perpneg.py8-120
扰动注意力引导通过替换特定块中的自注意力来修改UNet的注意力机制,以改善图像细节。
PAG的工作原理是:
PerturbedAttentionGuidance节点有一个参数:
scale:控制PAG效果的强度(默认值:3.0)来源: comfy_extras/nodes_pag.py1-56
FreeU是一种频率域增强技术,通过修改频率域中的特征图来提高生成图像的质量。
FreeU通过以下方式增强图像质量:
该实现提供了两个节点:
FreeU:原始实现FreeU_V2:基于特征统计的增强型自适应缩放版本FreeU节点的参数:
b1:model_channels*4 特征的骨干缩放因子(v1 默认值为 1.1,v2 默认值为 1.3)b2:model_channels*2 特征的骨干缩放因子(v1 默认值为 1.2,v2 默认值为 1.4)s1:model_channels*4 特征的跳跃连接缩放因子(两者默认值均为 0.9)s2:model_channels*2 特征的跳跃连接缩放因子(两者默认值均为 0.2)来源: comfy_extras/nodes_freelunch.py6-113
HyperTile是一种通过将注意力计算分解为图块来更有效地处理大图像的技术。
HyperTile通过以下方式提高了内存效率并支持处理更大的图像:
HyperTile节点的参数:
tile_size:控制图块的最小尺寸(默认值:256)swap_size:控制要考虑的除数数量(默认值:2)max_depth:控制将图块应用于哪个UNet分辨率(默认值:0)scale_depth:是否根据深度缩放图块大小(默认值:False)来源: comfy_extras/nodes_hypertile.py8-81
所有这些高级引导技术都实现为修改模型行为的节点。它们可以通过将模型连接到技术节点并随后在采样操作中使用修改后的模型来添加到工作流中。
来源: comfy_extras/nodes_sag.py107-173 comfy_extras/nodes_perpneg.py98-120 comfy_extras/nodes_pag.py9-52 comfy_extras/nodes_freelunch.py25-108 comfy_extras/nodes_hypertile.py23-77
这些高级引导技术可以单独使用,也可以组合使用,每种技术都会影响生成过程的不同方面。
| 技术 | 主要影响 | 最适合 | 计算影响 |
|---|---|---|---|
| SAG | 基于注意力增强细节 | 改善面部细节、结构一致性 | 中等(需要额外的模型评估) |
| Perp-Neg | 提高负面提示的有效性 | 更好地控制不想要的元素 | 低(仅计算开销) |
| PAG | 提高细节一致性 | 在不改变整体结构的情况下增强细节 | 中等(需要额外的模型评估) |
| FreeU | 提高图像清晰度和细节 | 一般质量提升 | 低(FFT运算开销) |
| HyperTile | 支持处理更大的图像 | 高分辨率生成 | 内存减少,速度略有下降 |
组合使用技术时
来源: comfy_extras/nodes_sag.py comfy_extras/nodes_perpneg.py comfy_extras/nodes_pag.py comfy_extras/nodes_freelunch.py comfy_extras/nodes_hypertile.py