前言:

学习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. Anaconda安装Python的seaborn库

      本文介绍在Anaconda的环境中,安装Python语言中,常用的一个绘图库seaborn模块的方法.   seaborn模块是基于Matplotlib的数据可视化库,它提供了一种更简单.更漂亮的 ...

  2. itest(爱测试)开源接口测试&敏捷测试管理平台8.1.0发布

    (一)itest 简介 itest 开源敏捷测试管理,testOps 践行者,极简的任务管理,测试管理,缺陷管理,测试环境管理,接口测试,接口Mock 6合1,又有丰富的统计分析.可按测试包分配测试用 ...

  3. 前端性能优化的利器 ——— 浅谈JavaScript中的防抖和节流

    防抖和节流函数是工作中两种常用的前端性能优化函数,今天我就来总结一下什么是防抖和节流,并详细说明一下如何在工作中应用防抖和节流函数 什么是防抖和节流? 在 JavaScript 中,防抖(deboun ...

  4. Chapter1 p1 Output Image

    由于本文章是对TinyRenderer的模仿,所以并不打算引入外部库. 那么我们第一步需要解决的就是图形输出的问题,毕竟,如果连渲染的结果都看不到,那还叫什么Renderer嘛. 由于不引入外部库,所 ...

  5. 给 ES 插上向量检索的翅膀 | DataFunSummit 2023 峰会演讲内容速达

    近日,由 DataFun 主办的 DataFunSummit 2023 数据基础架构峰会 圆满落下帷幕,本次峰会邀请了腾讯.百度.字节.极限科技.Zilliz 等众多企业技术专家为大家带来分布式存储以 ...

  6. 谁说.net core不好动态访问webservice?看这篇文章,C#快速实现动态访问webservice,兼容.net framework和.net core+

    前言:访问webservice,大多数人都是用服务引用的方式,但是这种方式比较麻烦,例如遇到服务更新了,你还需要手动更新你的服务引用,再重新发布,很麻烦.或者已有的一些例子,至少我看到的很多案例,动态 ...

  7. 开源的Datadog?可观测性平台SigNoz是否名副其实?

    SigNoz号称自己是开源领域的Datadog,基于OpenTelemetry做了一套可观测性方案.夜莺从V6版本开始,也希望做全栈可观测性方案,巧了,大家目标一致,今天我们一起来对SigNoz做个初 ...

  8. 使用 JMX-Exporter 监控 Kafka 和 Zookeeper

    JVM 默认会通过 JMX 的方式暴露基础指标,很多中间件也会通过 JMX 的方式暴露业务指标,比如 Kafka.Zookeeper.ActiveMQ.Cassandra.Spark.Tomcat.F ...

  9. ZynqMP PL固件通过U-BOOT从指定位置加载FPGA BIT

    原因 PL固件可能经常修改,而BOOT.BIN和文件系统.内核实际上基本不会变,在一个平台上可以用同一份.如果每次修改都要重新打包PL 固件到BOOT.BIN,操作起来非常麻烦.所以希望PL 的固件可 ...

  10. Docker安装InfluxDB1.x和InfluxDB2.x以及与SpringBoot整合

    两者区别: 1.x 版本使用 influxQL 查询语言,2.x 和 1.8+(beta) 使用 flux 查询语法:相比V1 移除了database 和 RP,增加了bucket. V2具有以下几个 ...