ComfyUI高级回流控制使用指南
【免费下载链接】ComfyUI_AdvancedRefluxControl项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_AdvancedRefluxControl
项目介绍
ComfyUI_AdvancedRefluxControl是一个开源项目,旨在扩展ComfyUI的Redux功能,使其能够根据用户提示调整图像生成的效果。该项目通过自定义节点实现了对Redux效果强度的控制,支持图像遮罩和非方形图像处理,使用户能够更灵活地控制最终图像的生成。
项目快速启动
首先,确保你已经安装了ComfyUI和相关的Redux插件。以下是快速启动ComfyUI_AdvancedRefluxControl的步骤:
# 克隆项目到本地 git clone https://gitcode.com/gh_mirrors/co/ComfyUI_AdvancedRefluxControl.git # 进入项目目录 cd ComfyUI_AdvancedRefluxControl # 安装项目依赖(如果有的话) pip install -r requirements.txt # 运行ComfyUI # 请根据你的ComfyUI安装方式运行 comfyui启动ComfyUI后,你可以加载simple_workflow.json或advanced_workflow.json文件来使用项目的功能。
应用案例和最佳实践
应用案例
- 图像风格转换:使用该项目,你可以将一个普通图像转换为漫画或卡通风格,同时根据提示调整转换的程度。
- 图像混合:将两个或多个图像混合,创建独特的视觉效果。
- 图像细节调整:通过遮罩功能,你可以指定图像的特定部分进行风格转换,而其他部分保持不变。
最佳实践
- 在使用遮罩时,确保遮罩区域足够大,以便Redux能够有效地影响生成图像。
- 当处理非方形图像时,使用keep aspect ratio选项以保持原始图像的宽高比。
- 如果需要更强的Redux效果,尝试使用更高的downsampling_factor值。
典型生态项目
ComfyUI_AdvancedRefluxControl可以与以下项目配合使用,以实现更丰富的功能和更好的效果:
- ComfyUI:ComfyUI是一个用户友好的界面,用于控制Redux模型。
- Redux:Redux是一个图像生成模型,可以根据输入图像和提示生成新的图像变体。
- CLIP:CLIP是一个视觉语言模型,用于理解图像内容和文本描述之间的关联。
通过结合这些项目,用户可以创建更加个性化和创新的图像处理工作流。
节点功能详解
StyleModelApplySimple节点
这个工作流是ComfyUI StyleModelApply节点的替代品。它有一个单一选项,控制条件图像对生成的影响程度。示例图像都是使用"medium"强度选项生成的。然而,在使用遮罩时,你可能需要使用"strongest"或"strong"来代替。
ReduxAdvanced节点
这个节点允许更多的自定义选项。作为输入,它获取条件(提示)、Redux风格模型、CLIP视觉模型和可选的遮罩。其参数包括:
downsampling_factor:这是最重要的参数,它决定了条件图像对生成图像的影响程度。实际上,StyleModelApplySimple节点中的强度值只是将这个单一值从1(最强)更改为5(最弱)。"medium"强度选项是downsampling_factor为3。你也可以选择其他值,最高可达9。
downsampling_function:这些函数与任何图形程序中调整图像大小时使用的函数相同。默认是"area",但"bicubic"和"nearest_exact"也是有趣的选择。选择的函数可以极大地改变结果,因此值得尝试一下。
mode:图像应该如何裁剪:
- center crop (square) 是Redux默认的做法:将你的图像裁剪成正方形,然后调整大小为384x384像素
- keep aspect ratio 会为你的图像添加填充,使其变成正方形。它会调整遮罩(如果没有给出遮罩,则生成一个)使填充不属于遮罩的一部分。请注意,最终图像仍然调整大小为384x384,所以如果你添加更多填充,你的图像会被压缩更多。
- autocrop with mask 会以遮罩区域位于中心的方式裁剪你的图像。它还会裁剪你的图像,只保留遮罩区域和边距。边距由autocrop_margin参数指定,相对于图像的总大小。因此,使用0.1边距进行自动裁剪意味着在遮罩区域+图像每侧10%的区域进行裁剪。
weight:此选项将Redux令牌按给定值的平方进行降级。这与许多人用来减少Redux对生成图像影响的"条件平均"方法非常相似。这是在大多数情况下效果更好的减少Redux影响的替代方法。然而,请随意尝试此值,甚至同时使用两种方法:降采样和权重。
autocrop_margin此参数仅在选择"autocrop with mask"作为模式时使用。
该节点输出条件,以及裁剪和调整大小后的图像及其遮罩。你既不需要图像也不需要遮罩,它们只是用于调试。尝试使用裁剪选项,并使用"Image preview"节点查看它如何影响裁剪后的图像和遮罩。
技术背景
Redux分两步工作。首先有一个Clip Vision模型,将你的输入图像裁剪成正方形宽高比,并将其大小减小到384x384像素。它将此图像分割成27x27个小块,每个小块都被投影到CLIP空间中。
Redux本身只是一个非常小的线性函数,将这些clip图像小块投影到T5潜在空间中。然后将生成的令牌添加到你的T5提示中。
直观地说,Redux正在将你的条件输入图像翻译成"一个提示",该提示被添加到你自己的提示末尾。
为什么Redux会主导最终提示?这是因为用户提示通常非常短(255或512个令牌)。相比之下,Redux向你的提示添加了729个新令牌。这可能比你原始提示多3倍。此外,Redux提示可能包含比用户编写的仅包含"anime"一词的提示更多的信息。
因此,这里有两种解决方案:要么我们缩小Redux提示的强度,要么我们缩短Redux提示。
控制Redux的方法
令牌降采样
为了缩小Redux提示并增加用户提示的影响,我们可以使用一个简单的技巧:我们取27x27图像小块,并将它们分成9x9块,每块包含3x3小块。然后,我们通过平均它们的潜在嵌入将所有的3x3令牌合并为一个。因此,我们不再拥有包含27x27=729个令牌的非常长的提示,现在我们只有9x9=81个令牌。因此,我们新添加的提示要小得多,因此对图像生成的影响较小。
降采样是使用"medium"设置时发生的情况。在我尝试的三种减少Redux效果的技术中,降采样效果最好。
令牌合并
这里的想法是通过将相似的令牌合并在一起来缩短Redux提示长度。只需考虑你的输入图像的大部分包含或多或少相同的内容,那么为什么总是有729个令牌?我这里的实现非常简单和愚蠢,效率也不高,但无论如何:我只需遍历所有Redux令牌,如果它们的余弦相似度高于用户定义的阈值,就合并两个令牌。
即使像0.9这样的阈值已经移除了Redux令牌的一半。0.8的阈值通常会将Redux令牌减少到与用户提示相似的长度。
我会从0.8的阈值开始。如果图像模糊,稍微增加这个值。如果你的提示没有效果,稍微降低阈值。
令牌降级
我们也可以将令牌乘以某个强度值。强度越低,值越接近零。这类似于早期稳定扩散版本中相当流行的提示加权,但对于T5从未真正有效。然而,这种技术似乎对flux足够有效。
如果你使用降级,你必须使用非常低的权重。你可以直接从0.3开始,如果你想改善效果,可以降到0.1。像0.6这样的高权重通常没有影响。
组合使用
我目前的感觉是,降采样的效果最好。因此,我会首先尝试使用1:3的降采样,只有在效果太弱或太强时才使用其他选项。
工作流文件说明
项目中包含两个预设工作流文件:
- simple_workflow.json:包含单一设置的工作流,适合新手快速体验。
- advanced_workflow.json:具有多个自定义选项以及遮罩和宽高比功能,解锁全部功能潜力。
版本更新记录
- v2.0此版本增加了为条件图像添加遮罩和提交非方形图像的选项。简单节点没有改变并且向后兼容,高级模式完全重新设计,因此如果需要向后兼容性,请使用v1。
【免费下载链接】ComfyUI_AdvancedRefluxControl项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_AdvancedRefluxControl
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考