ETJava Beta | Java    注册   登录
  • 搜索:
  • ComfyUI插件:ComfyUI Impact 节点(四)

    发表于      阅读(1)     博客类别:Crawler     转自:https://www.cnblogs.com/LIU-QiuXue/p/18333034
    如有侵权 请联系我们删除  (页面底部联系我们)  

    前言:

    学习ComfyUI是一场持久战,而 ComfyUI Impact 是一个庞大的模块节点库,内置许多非常实用且强大的功能节点 ,例如检测器、细节强化器、预览桥、通配符、Hook、图片发送器、图片接收器等等。通过这些节点的组合运用,我们可以实现的工作有很多,例如自动人脸检测和优化修复、区域增强、局部重绘、控制人群、发型设计、更换模特服饰等。在ComfyUI的进阶之路上,ComfyUI Impact是每个人不可绕过的一条大河,所以本篇文章将带领大家理解并学会使用这些节点。祝大家学习顺利,早日成为ComfyUI的高手!

    目录

    一、安装方式

    二、CLIPSegDetectorProvider节点

    三、Decompose(SEGS)/ From_SEG_ELT节点

    四、PixelKSampleUpscalerProviderPipe节点

    五、lterative Upscale (Latent/on Pixel Space)节点

    六、Make Tile SEGS节点

    七、Picker(SEGS)节点

    一、安装方式

    方法一:通过ComfyUI Manager安装(推荐)

    打开Manager界面

    12

    方法二:使用git clone命令安装

    在ComfyUI/custom_nodes目录下输入cmd按回车进入电脑终端

    3

    在终端输入下面这行代码开始下载

    git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack

    4

    二、CLIPSegDetectorProvider节点

    此节点专注于使用CLIPSeg模型进行图像分割和对象检测。这一节点可以根据输入的图像和文本描述,在图像中分割出符合描述的对象或区域。

    5

    参数:

    text → 输入要检测部位的名词,例如:手(hand)、脸(face)、翅膀(wing)等

    blur → 表示模糊区域,决定每一个检测框检测对一些噪声的保留还是丢弃

    threshold → 选择最终遮罩的阈值,检测模型检测时不仅仅只生成一张遮罩,而是有很多个检测框,模型最终会根据阈值从众多遮罩中选择一个最好的

    dilation_factor → 膨胀因子,扩展边界使其完全覆盖检测目标

    注意:blur参数的选择范围为0-15,超出会报错

    输出:

    BBOX_DETECTOR → 带有特定提示的边界框检测模型

    注意:使用该节点时需要安装 ComfyUI-CLIPSeg 节点扩展,安装方法为:打开manager管理器,点击Install Custom Nodes,在搜索框输入CLIPSeg安装即可。

    示例:

    67

    注意事项

    · 文本描述精度:确保输入的文本描述准确且清晰,以便CLIPSeg模型能够正确理解和处理。

    · 模型参数配置:根据具体需求调整CLIPSeg模型的参数,以获得最佳的分割和检测效果。

    · 处理性能:图像分割和检测可能需要较高的计算资源,确保系统性能足够支持处理需求。

    通过使用CLIPSegDetectorProvider节点,可以在图像处理工作流程中实现基于自然语言描述的图像分割和检测,提升图像处理的智能化和精准度。

    三、Decompose(SEGS)/ From_SEG_ELT节点

    SEGS包含了很多目标检测后的数据,这两个节点则是方便我们取用其中一个数据。

    89

    输入:

    segs → segs数据输入

    输出:

    SEGS_HEADER → segs数据的头部信息,包含诸如数据源、数据版本、数据生成时间等与数据相关的元信息

    SEG_ELT → segs分离出头部信息的剩余数据,包含了segs数据的主要内容

    cropped_image → 裁剪后的图像

    cropped_mask → 裁剪图像的遮罩

    crop_region → 原始图像中被裁剪出的区域的描述,指示分割元素在原始图像中的位置和大小信息

    bbox → 检测框

    control_net_wrapper → control_net数据

    confidence → 检测的置信度

    label → 检测目标的标签

    示例:

    10

    注意事项

    · 数据格式一致性:确保输入的分割数据和分割元素格式一致,以便各节点能够正确处理和传递数据。

    · 提取参数配置:根据具体需求配置From_SEG_ELT节点的提取参数,以获得所需的特征和信息。

    · 处理性能:分解和特征提取操作可能需要较高的计算资源,确保系统性能足够支持处理需求。

    通过使用Decompose(SEGS)和From_SEG_ELT节点,可以在图像处理工作流程中实现分割数据的细粒度解构和信息提取,提升图像处理和分析的精细度和准确性。

    四、PixelKSampleUpscalerProviderPipe节点

    此节点专注于使用PixelKSample算法进行图像上采样。通过上采样,图像可以从较低分辨率提升到较高分辨率,同时保持图像的质量和细节。

    11

    输入:

    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 → 经过放大操作处理后的图像放大数据,可以进一步用于对图像进行后续处理或其他操作

    注意事项

    · 上采样倍率:根据具体需求选择适当的上采样倍率,以获得最佳的分辨率提升效果。

    · 算法参数配置:调整PixelKSample算法的参数,确保上采样效果符合预期。

    · 处理性能:上采样处理可能需要较高的计算资源,确保系统性能足够支持处理需求。

    · 输入图像质量:上采样的效果依赖于输入图像的质量,确保输入图像清晰度尽可能高。

    通过使用PixelKSampleUpscalerProviderPipe节点,可以在图像处理工作流程中实现高效的图像上采样,提升图像的分辨率和细节表现,满足各种图像优化和处理需求。

    五、lterative Upscale (Latent/on Pixel Space)节点

    此节点通过迭代上采样方法,在图像处理过程中逐步提高图像分辨率。这种方法可以在不同的空间中进行,具体取决于配置参数的设置。

    12

    输入:

    samples → 潜空间图像

    upscaler → 经过放大操作处理后的图像放大数据

    参数:

    upscale_factor → 放大系数,数字代表放大几倍

    steps → 放大操作的重复次数

    temp_prefix → 用于设置临时文件名前缀的参数

    输出:

    latent → 处理完成后的潜空间图像

    vae → vae模型

    该节点和第三个节点可以组合使用,并且可以多个这种组合连接,实现更好的放大效果。下面给出一个工作流,方便大家理解这两个节点:

    13

    注意事项

    · 迭代次数:根据具体需求选择适当的迭代次数,迭代次数越多,上采样效果越明显,但计算资源消耗也会增加。

    · 处理空间选择:根据具体应用场景选择在潜在空间或像素空间中进行上采样处理。潜在空间处理可能更适合深度学习模型,像素空间处理则适合传统图像处理方法。

    · 算法参数配置:调整迭代上采样的参数,确保上采样效果符合预期。

    · 处理性能:迭代上采样处理需要较高的计算资源,确保系统性能足够支持处理需求。

    · 输入图像质量:上采样的效果依赖于输入图像的质量,确保输入图像清晰度尽可能高。

    通过使用Iterative Upscale (Latent/on Pixel Space)节点,可以在图像处理工作流程中实现高效的迭代上采样,逐步提升图像的分辨率和细节表现,满足各种图像优化和处理需求。

    六、Make Tile SEGS节点

    此节点的主要功能是将输入的分割图像分割成多个小块。这种方法有助于在处理大图像时减少内存消耗,并可以对每个小块进行更精细的处理和分析。

    14

    输入:

    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数据

    示例:

    151617

    注意事项

    · 小块尺寸:根据具体需求选择适当的小块尺寸,确保每个小块既包含足够的信息,又不至于过大导致处理效率下降。

    · 重叠部分:配置小块之间的重叠部分,可以避免在切分过程中丢失重要信息,特别是在边缘区域。

    · 处理性能:切分操作可能需要较高的计算资源,确保系统性能足够支持处理需求。

    · 拼接重组:如果后续需要将处理后的图像小块重组回完整图像,注意记录和维护每个小块的位置信息。

    通过使用Make Tile SEGS节点,可以在图像处理工作流程中实现对大尺寸图像的高效切分和处理,提升图像处理的精细度和灵活性。

    七、Picker(SEGS)节点

    此节点专注于从图像分割结果中选择特定的分割区域或对象。通过配置选择条件,用户可以从分割掩码中提取出需要处理的部分。

    18

    输入:

    segs → 包含多张图片的segs

    fallback_image_opt → 备选图像,当存在备选图像时节点会将segs中的图像进行缩放,以匹配备选图像的大小或形状。这样做可以确保图像段与备选图像保持一致,以便在处理期间进行合适的操作。

    参数:

    picks → 选择图像

    输出:

    SEGS → 输出选择图像的segs数据

    下面几张图说明了Picker(SEGS)节点的用法:

    1920

    注意事项

    · 选择条件配置:根据具体需求配置选择条件,确保选择的分割区域符合预期。

    · 数据格式一致性:确保输入的分割数据格式与选择条件兼容,以便节点能够正确处理和输出数据。

    · 处理性能:选择操作可能涉及大量计算,确保系统性能足够支持处理需求。

    通过使用Picker (SEGS)节点,可以在图像处理工作流程中实现对分割结果的精准选择和提取,提升图像处理和分析的效率和精度。

    由于本文基本上每个节点都给出了单独的工作流进行讲解,加上本文所讲的节点之间的关联性没那么强,所以这里就不提供囊括所有节点的工作流了,大家把上面每个节点对应的工作流学习理解即可。

    **孜孜以求,方能超越自我。坚持不懈,乃是成功关键。**