前言:

学习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界面

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

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

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

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

二、CLIPSegDetectorProvider节点

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

参数:

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

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

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

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

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

输出:

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

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

示例:

注意事项

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

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

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

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

三、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 → 检测目标的标签

示例:

注意事项

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

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

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

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

四、PixelKSampleUpscalerProviderPipe节点

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

输入:

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)节点

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

输入:

samples → 潜空间图像

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

参数:

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

steps → 放大操作的重复次数

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

输出:

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

vae → vae模型

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

注意事项

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

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

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

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

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

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

六、Make Tile SEGS节点

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

输入:

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

示例:

注意事项

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

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

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

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

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

七、Picker(SEGS)节点

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

输入:

segs → 包含多张图片的segs

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

参数:

picks → 选择图像

输出:

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

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

注意事项

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

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

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

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

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

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

ComfyUI插件:ComfyUI Impact 节点(四)的更多相关文章

  1. MS CRM 2011的自定义和开发(11)——插件(plugin)开发(四)

    http://www.cnblogs.com/StoneGarden/archive/2012/02/08/2343294.html MS CRM 2011的自定义和开发(11)——插件(plugin ...

  2. [Unity插件]Lua行为树(四):条件节点和行为节点

    条件节点和行为节点,这两种节点本身的设计比较简单,项目中编写行为树节点一般就是扩展这两种节点,而Decorator和Composite节点只需要使用内置的就足够了. 它们的继承关系如下: Condit ...

  3. Ztree插件,定位节点时(focus)不能进入可视区域BUG解决方案

    相关插件版本: jquery.ztree.exedit-3.4.js jquery.ztree.all-3.4.js jquery-1.8.0.js function onAsyncSuccess(e ...

  4. Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(四)技能屏蔽和简单的Buff等

    本节内容继续上一节教程的内容(如果没有看过前面的教程,请前往学习),不会讲太难的新东西,而是继续探究技能标签(Abiilty Tags)的内容.先来一道开胃菜. 第1.1步: 将上一次的召唤冰龙中的C ...

  5. Jstree 使用CheckBox插件 选中父节点时被禁用的子节点也会选中问题

    问题描述: 最近用jstree遇到一个问题,使用CheckBox插件时,当父节点选中时,被禁用的子节点也会选中如下 解决方案: 1.  将jstree升级到最新的版本,v3.3.4及以上就可以 2. ...

  6. Android 插件化开发(四):插件化实现方案

    在经过上面铺垫后,我们可以尝试整体实现一下插件化了.这里我们先介绍一下最简单的实现插件化的方案. 一.最简单的插件化实现方案 最简单的插件化实现方案,对四大组件都是适用的,技术面涉及如下: 1). 合 ...

  7. phonegap(cordova) 自己定义插件代码篇(四)----读取本地图片

    有时候确实知道本地图片地址,要获取到base64  /** * 获取本地图片,包括路径和压缩后的 base64 */ (function (cordova) { var define = cordov ...

  8. YbSoftwareFactory 代码生成插件【二十四】:MVC中实现动态自定义路由

    上一篇介绍了 公文流转系统 的实现,本篇介绍下MVC下动态自定义路由的实现. 在典型的CMS系统中,通常需要为某个栏目指定个友链地址,通过指定友链地址,该栏目的地址更人性化.方便记忆,也有利用于搜索引 ...

  9. Elasticsearch-2.4.3的3节点安装(多种方式图文详解)(含 head、kopf、marvel、shield和watcher插件安装和使用)

    前提: Elasticsearch-2.4.3的下载(图文详解) Elasticsearch-2.4.3的单节点安装(多种方式图文详解) 我这里,以192.168.80.10(HadoopMaster ...

  10. android插件化-apkplug框架启动-02

    本文章基于apkplug v1.6.7 版本号编写,最新方式以官网最新消息为准 一 apkplug框架所须要的库文件(宿主) 可从http://git.oschina.net/plug/apkplug ...

随机推荐

  1. css之伪元素选择器

    注:本博客内容来自尚硅谷禹神的前端入门课程 什么是伪元素? 很像元素,但不是元素(element),是元素中的一些特殊位置. 伪元素语法中的::可以用:,因为css2中没有明确区分伪类和伪元素,但是s ...

  2. 【论文笔记】轻量级网络MobileNet

    [深度学习]总目录 MobileNet V1:<MobileNets: Efficient Convolutional Neural Networks for MobileVision Appl ...

  3. mac m1使用docker安装oracle

    mac m1使用docker安装oracle数据库 本学期开始学习数据库原理,老师课上讲到课堂作业使用的是oracle 11g,然而我去官网却发现只有Windows和Linux版本的,并没有发现mac ...

  4. python-使用百度AipOcr实现表格文字图片识别

    注:本博客中的代码实现来自百度问答:https://jingyan.baidu.com/article/c1a3101ef9131c9e646deb5c.html 代码运行环境:win10  pyth ...

  5. 使用Vulkan-Loader将ncnn代码改成Dynamic Loader Vulkan的形式

    原本你写的程序是静态链接的系统的vulkan-1.dll,如果系统不存在vulkan-1.dll,则会直接崩溃. 关于将ncnn静态链接vulkan改成动态加载vulkan的形式,然后提供这两个函数 ...

  6. kettle从入门到精通 第六十课 ETL之kettle for循环处理每条数据,so easy!

    1.kettle原生是支持for循环处理的,无需通过javascript脚本或者java脚本开发for循环控制.当然如果想通过脚本挑战下也是可以的. 本节课主要讲解如何通过kettle中的job来实现 ...

  7. INFINI Labs 产品更新 | Easysearch 新增分词插件、Gateway 支持邮件发送等功能

    INFINI Labs 产品又更新啦~,本次更新概要如下:Easysearch 新增了分词插件.优化了生命周期管理功能等:Gateway 新增 smtp 过滤器来支持邮件的发送,支持自动跳过因为异常关 ...

  8. 项目管理--PMBOK 读书笔记(11)【项目风险管理】

    1.风险分解结构(RBS): RBS 有两个含义,一个是资源分解结构(Resource),一个是风险分解结构(Risk). 1)技术风险 2)管理风险 3)商业风险 4)外部风险   2.核对单 核对 ...

  9. 安装PHP5.6.20

    安装php的前提是安装了数据库和httpd!!!!!!!! 1 因为yum缺省安装的是PHP5.4,所以先要添加yum库 [root@svnhost ~]# rpm -Uvh https://mirr ...

  10. 2019南京区域赛ABCHJK题解 & KM-bfs(O(n^3))板子

    A.Hard Problem 题目大意:给你一个数n,然后让你计算一个子集大小,这个大小的子集要保证一定存在一个数是另一个数的约数,求出这个最小的数. 做法:显然后面的\(\frac{n}{2}\)个 ...