【ComfyUI插件】ComfyUI Impact 插件(四)
前言:
ComfyUI Impact 是一个庞大的模块节点库,内置许多非常实用且强大的功能节点 ,例如检测器、细节强化器、预览桥、通配符、Hook、图片发送器、图片接收器等等。通过这些节点的组合运用,我们可以实现的工作有很多,例如__自动人脸检测和优化修复、区域增强、局部重绘、控制人群、发型设计、更换模特服饰__等。在ComfyUI的进阶之路上,ComfyUI Impact是每个人不可绕过的一条大河,所以本篇文章将带领大家理解并学会使用这些节点。
__Comfy Impact插件(一): __https://articles.zsxq.com/impact/1.html
__Comfy Impact插件(二): __https://articles.zsxq.com/impact/2.html
__Comfy Impact插件(三): __https://articles.zsxq.com/imapct/3.html
目录:
先行:安装方式
一、CLIPSegDetectorProvider节点
二、Decompose(SEGS)/ From_SEG_ELT节点
三、PixelKSampleUpscalerProviderPipe节点
四、lterative Upscale (Latent/on Pixel Space)节点
五、Make Tile SEGS节点
六、Picker(SEGS)节点
示例工作流
安装方法:
方法一:通过ComfyUI Manager安装(推荐)
打开Manager界面
方法二:使用git clone命令安装
在ComfyUI/custom_nodes目录下输入cmd按回车进入电脑终端
__在终端输入下面这行代码开始下载 git clone __https://github.com/ltdrdata/ComfyUI-Impact-Pack.git
一、CLIPSegDetectorProvider节点
节点功能:根据输入的提示词生成对应的遮罩,例如输入‘hand’则得到手的矩形遮罩
参数:
text -> 输入要检测部位的名词,例如:手(hand)、脸(face)、翅膀(wing)等
blur -> 表示模糊区域,决定每一个检测框检测对一些噪声的保留还是丢弃 **模糊度越大,越多的噪声被保留,检测出来的遮罩面积也越大,当然模糊度也不是越小越好,太小的话可能遮罩区域没有完全覆盖检测目标**
threshold -> 选择最终遮罩的阈值,检测模型检测时不仅仅只生成一张遮罩,而是有很多个检测框,模型最终会根据阈值从众多遮罩中选择一个最好的
dilation_factor -> 膨胀因子,扩展边界使其完全覆盖检测目标
注意:blur参数的选择范围为0-15,超出会报错
输出:
BBOX_DETECTOR -> 带有特定提示的边界框检测模型
注意:使用该节点时需要安装 ComfyUI-CLIPSeg 节点扩展,安装方法为:打开manager管理器,点击Install Custom Nodes,在搜索框输入CLIPSeg安装即可。
下图展示了该节点的简单用法:
二、Decompose(SEGS) / From_SEG_ELT节点
节点功能:SEGS包含了很多目标检测后的数据,这两个节点则是方便我们取用其中一个数据。
输入:
segs -> segs数据输入
输出:
SEGS_HEADER -> segs数据的头部信息,包含诸如数据源、数据版本、数据生成时间等与数据相关的元信息
SEG_ELT -> segs分离出头部信息的剩余数据,包含了segs数据的主要内容
cropped_image -> 裁剪后的图像
cropped_mask -> 裁剪图像的遮罩
crop_region -> 原始图像中被裁剪出的区域的描述,指示分割元素在原始图像中的位置和大小信息
bbox -> 检测框
control_net_wrapper -> control_net数据
confidence -> 检测的置信度
label -> 检测目标的标签
下图输出了一些可以显示输出的数据,方便理解:
三、PixelKSampleUpscalerProviderPipe节点
节点功能:以管道化的方式指定图像像素放大的参数,并执行相应的操作。放大操作可以在不同的环境中重复使用,并且可以对放大参数进行调整。
输入:
basic_pipe -> 带有模型和提示词等信息的管道
upscale_model_opt -> 放大模型
pk_hook_opt -> hook的细节控制
参数:
scale_mothod -> 放大的方式,有最近邻插值、双线性插值、Lanczos插值和区域插值
seed -> 随机种子
control_after_generate -> 控制每次执行后种子的变化
steps -> 步数
cfg -> 提示词引导系数,即提示词对结果产生影响的大小 **过高会产生负面影响**
sampler_name -> 选择采样器
scheduler -> 选择调度器
denoise -> 去噪幅度 **值越大对图片产生的影响和变化越大**
use_tiled_vae -> 选择是否采用分块处理 **分块处理通过将图像分成多个小块,并分别对每个小块进行编码和解码,来生成更高分辨率的图像,有助于处理大尺寸的图像,同时能够保留更多的细节和特征**
tile_size -> 图像放大过程中使用的块大小 **当图像尺寸较大时,为了提高计算效率和降低内存消耗,可以将图像分成多个小块处理**
输出:
UPSCALER -> 经过放大操作处理后的图像放大数据,可以进一步用于对图像进行后续处理或其他操作
四、lterative Upscale (Latent/on Pixel Space)节点
节点功能:对潜在样本(upscaler)进行迭代式放大,允许在放大因子、迭代步数方面灵活设置。
输入:
samples -> 潜空间图像
upscaler -> 经过放大操作处理后的图像放大数据
参数:
upscale_factor -> 放大系数,数字代表放大几倍
steps -> 放大操作的重复次数
temp_prefix -> 用于设置临时文件名前缀的参数
输出:
latent -> 处理完成后的潜空间图像
vae -> vae模型
该节点和第三个节点可以组合使用,并且可以多个这种组合连接,实现更好的放大效果。
下面给出一个工作流,方便大家理解这两个节点
五、Make Tile SEGS节点
节点功能:将图像划分为图块形式的SEGS,以便使用Detailer进行分块放大实验。
输入:
images -> 遮罩图像
filter_in_segs_opt -> 如果提供了这个输入,在创建图块时,每个图块的遮罩将通过与 filter_in_segs_opt的遮罩重叠而生成
filter_out_segs_opt -> 如果提供了这个输入,在创建图块时,每个图块的遮罩将排除与 filter_in_segs_opt的遮罩重叠的部分
注意:遮罩为空的瓦片不会被创建成SEGS
参数:
bbox_size -> 图块的尺寸
crop_factor -> 对图像进行裁剪时应用的裁剪因子或裁剪比例
min_overlap -> 最小的重叠区域,与filter_in_segs_opt和filter_out_segs_opt两参数有关
filter_segs_dilation -> 图像处理中对图像进行膨胀操作的参数
mask_irregularity -> 图像处理中用于描述或度量遮罩的不规则程度的指标 **越大边界越不规则**
irregular_mask_mode -> 生成不规则遮罩的方法模式,可选的有快速复用、质量复用、全随机快速和全随机质量
输出:
SEGS -> 输出SEGS数据
下面给出几张图说明该节点的作用和一些参数的特性特性:
六、Picker(SEGS)节点
节点功能:当采样器一次输出多张图片时(batch_size大于1),该节点可以从候选池中选择包含在最终输出的图片的SEGS。
输入:
segs -> 包含多张图片的segs
fallback_image_opt -> 备选图像,当存在备选图像时节点会将segs中的图像进行缩放,以匹配备选图像的大小或形状。这样做可以确保图像段与备选图像保持一致,以便在处理期间进行合适的操作。
参数:
picks -> 选择图像
输出:
SEGS -> 输出选择图像的segs数据
下面几张图说明了Picker(SEGS)节点的用法:
示例工作流
由于本文基本上每个节点都给出了单独的工作流进行讲解,加上本文所讲的节点之间的关联性没那么强,所以这里就不提供囊括所有节点的工作流了,大家把上面每个节点对应的工作流学习理解即可。
__Comfy Impact插件(一): __https://articles.zsxq.com/impact/1.html
__Comfy Impact插件(二): __https://articles.zsxq.com/impact/2.html
__Comfy Impact插件(三): __https://articles.zsxq.com/imapct/3.html