ComfyUI插件:ComfyUI Impact 节点(一)

前言:

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

目录

一、安装方式

二、SAMLoader节点

三、UltralyticsDetectorProvider节点

四、BBOX Detector(SEGS) / BBOX Detector(combined)节点

五、SAMDetector(combined) / SAMDetector(segmented)节点

六、Simple Detector(SEGS) / Simple Detector(SEGS/pipe) / Simple Detector for AnimateDiff(SEGS)

七、DetailerDebug(SEGS)节点

八、示例工作流

一、安装方式

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

打开Manager界面

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

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

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

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

二、SAMLoader节点

加载和处理SAM(Segment Anything Model)模型文件。该节点的主要功能是将预训练的SAM模型加载到内存中,以便在后续的节点中进行图像分割或其他相关操作。

输入:

SAM模型的路径      **假如配置好了路径文件,模型可自行选择**

device_name    设备模式,可以选择在GPU或CPU上运行,推荐选择自动即可

输出:

SAM_MODEL    根据调用该模型的节点情况对目标进行分割,生成目标的轮廓

注意:该模型不能单独使用,需要其他模型为其指定分割区域,随后该模型可以做到精细的分割。如下图对比:

使用场景

· 加载模型:SAMLoader节点用于从指定路径加载预训练的SAM模型文件。通常,这些模型文件会存储在本地磁盘或其他存储介质上。

· 配置参数:节点会提供一些参数配置选项,让用户可以指定模型文件的路径和其他加载参数。

· 输出模型:一旦模型加载完成,SAMLoader节点会输出一个表示该模型的对象,该对象可以传递给其他节点以执行具体的图像分割任务。

通过SAMLoader节点,可以方便地加载和使用预训练的SAM模型,进行各种图像分割任务,实现更高效的图像处理工作流程。

三、UltralyticsDetectorProvider节点

提供一个基于Ultralytics的目标检测器,用于替换现有基于mmdet的检测器,可加载BBOX_Model和SEGM_Model两种模型之一。

输入:

目标检测模型的路径      **主流的模型有脸部检测、手部检测、身体检测等,假如配置好了路径文件,模型可自行选择**

输出:

BBOX_DETECTOR    使用矩形框进行检测

SEGM_DETECTOR    检测出目标的轮廓

注意:该节点只能加载BBOX和SEGM中的一种模型,并且要根据model_name中所选的模型类型进行连接,例如我的bbox/face_yolov8m.pt是一个BBOX类型的脸部检测模型,所以再连线时我就要选择BBOX_DETECTOR进行连线,这也是SEGM_DETECTOR会显示红叉的原因。

下面两张图片说明BBOX模型和SEGM模型的区别:

节点注意事项:

· 确保选择的模型文件路径正确,或者如果使用预定义模型,确保网络连接稳定以下载模型文件。

· 调整置信度阈值可以控制检测结果的精确度和召回率。较高的阈值会减少误报,但可能漏检,较低的阈值会增加召回率,但可能误报更多。

通过UltralyticsDetectorProvider节点,可以方便地利用Ultralytics提供的高效目标检测模型,进行各种目标检测任务,如物体识别、跟踪等,实现智能图像分析。

四、BBOX Detector(SEGS) / BBOX Detector(combined)节点

这两个节点用于目标检测任务,这些节点会输出检测到的对象的边界框(Bounding Box, BBOX)信息。它们的主要区别在于处理的输入类型和方法。

BBOX Detector(SEGS) 节点通常用于从分割结果中提取边界框。这种方法适用于图像分割模型的输出,其中每个对象的像素已经被分割出来,节点通过分析这些分割结果来确定每个对象的边界框。

BBOX Detector(combined) 节点用于直接处理输入图像,通过目标检测模型同时进行对象识别和边界框提取。这个节点适合使用预训练的目标检测模型,如YOLO等。

输入:

bbox_detector    BBOX类型的检测模型

image    输入加载的图片

detailer_hook    impact库的一个特殊参数,用于在模型的不同阶段或特定事件发生时执行一些额外的操作

参数:

threshold    阈值,仅检测已识别置信度高于此值的对象

dilation    调整最终显示时,检测到的掩码区域的大小

crop_factor    根据检测到的掩码区域,确定应将周围区域包含在细节修复过程中的次数  **如果此值较小,则修复可能无法正常工作,因为无法知道周围的上下文**

drop_size    降低尺寸,用于控制细节增强过程中的图像降低尺寸的大小。

文本框    用于输入文本指定被允许检测的地方

输出:

SEGS    包含每次检测的裁剪图像、掩码图案、裁剪位置和置信度

MASK    所有检测到的矩形框组合而成的单个掩码

使用方法:

①BBOX Detector(SEGS) 节点

· 输入分割结果:节点接受图像分割模型的输出,通常是一个包含分割掩码的图像。

· 提取边界框:通过分析分割掩码,节点确定每个对象的边界框。

· 输出边界框:节点输出一个包含所有检测对象边界框的信息,包括每个边界框的位置和大小。

②BBOX Detector(combined) 节点

· 输入图像:节点接受一个输入图像。

· 目标检测:通过预训练的目标检测模型(如YOLO)在图像中检测对象并提取边界框。

· 输出边界框:节点输出一个包含所有检测对象边界框的信息,包括每个边界框的位置、大小以及对象类别和置信度分数。

合理使用BBOX Detector(SEGS)和BBOX Detector(combined)节点,可以实现复杂的图像分析任务,包括对象检测、定位和分类,从而提升各种应用场景下的智能化水平。

五、SAMDetector(combined) / SAMDetector(segmented)节点

用于目标检测和图像分割任务。这俩节点利用Segment Anything Model (SAM) 来进行高级的图像处理。

输入:

sam_model    接收SAMLoader节点加载的SAM模型

segs    接收UltralyticsDetectorProvider节点加载的目标检测模型

image    接收加载的图片

参数:

detection_hint    用来指定在分割时使用哪种类型的检测结果作为提示来帮助生成掩码

dilation    膨胀分割结果的边界

threshold    阈值,仅检测已识别置信度高于此值的对象

bbox_expansion    控制在生成轮廓时扩展边界的大小,以确保更好地包含目标对象

mask_hint_threshold    与mask_hint_use_nagative参数一起使用,用于指定detection_hint的阈值,将掩码区域中的掩码值等于或高于阈值的情况解释为正提示

注意:大于 0 但小于mask_hint_threshold的值不用作否定提示。

mask_hint_use_nagative    控制是否使用负提示来辅助分割

输出:

combined_mask    分割节点的深度信息,包含整个图像的分割结果

batch_masks    分割节点的深度信息,包含批处理中每个样本的分割结果

MASK    分割节点的深度信息,包含整个图像的分割结果

注意事项

· 模型选择:确保选择合适的SAM模型版本和配置参数,以获得最佳的检测和分割效果。

· 输入数据质量:无论是直接输入图像还是预先分割的结果,输入数据的质量都会影响最终的检测和分割效果。

合理使用SAMDetector(combined)SAMDetector(segmented)节点,可以实现高效的图像检测和分割任务,满足多种应用场景的需求。

六、Simple Detector(SEGS) / Simple Detector(SEGS/pipe) / Simple Detector for AnimateDiff(SEGS)

与前面几个检测器的功能类似,都是接收模型->分割->输出分割结果,旨在处理不同类型的输入和工作流程,以满足特定应用需求。

输入:

bbox_detector    接收BBOX模型

image_frames    动画帧的输入图像序列

image    接收待分割的图片

sam_model_opt    接收SAM模型

segm_detector_opt    接收SEGM模型

detailer_pipe    输入细节调整的参数,使分割结果更加完美

参数:

bbox_threshold    BBOX模型的检测阈值

bbox_dilation    BBOX模型边界框的膨胀参数,用于扩展边界框的范围

crop_factor    裁剪因子,用于裁剪图像

drop_size    设置一个尺寸阈值,用于过滤较小目标的参数

sub_dilation    子图的膨胀参数

sub_bbox_expansion    子图BBOX模型的边界框扩展参数

sam_mask_hint_threshold    SAM模型的掩码提示阈值

masking_mode    调节掩码模式

segs_pivot    选择动画差异检测的基准点

post_dilation    后期处理膨胀参数

输出:

SEGS    分割结果的深度信息

注意事项

· 输入数据质量:无论是直接输入图像还是预先分割的结果,输入数据的质量都会影响最终的检测和分割效果。

· 工作流程配置:确保在复杂工作流程中,各节点的连接和数据流动顺畅,以获得最佳处理效果。

合理使用这三个节点,可以实现多种图像处理任务,包括目标检测、图像分割和动画处理,满足不同应用场景的需求。

七、DetailerDebug(SEGS)节点

放大图像并在内部利用 KSampler 对图像进行绘制。

输入:

image    需要重绘的原始图像

segs    输入分割模型得到的分割结果

model    checkpoints大模型

clip    提示词编码模型

vae    vae模型

positive    正向提示词

negative    反向提示词

detailer_hook    对模型进行更加精细调整的拓展接口

注意:这里的正向提示词和反向提示词都是针对重绘部分的,用于指导重绘后的图像。

参数:

guide_size    参考尺寸  **小于的目标图像被放大以匹配,而大于的图像将被跳过,因为它们不需要细节处理**

guide_size_for    设置guide_size基于什么  **当设置为bbox时,它使用检测器检测到的bbox作为参考;当设置为crop_region时,它使用基于检测到的bbox所识别的裁剪区域作为参考**

注意:选择BBOX时,基于crop_factor的放大图像的大小可能比guide_size大几倍。

max_size    最大尺寸  **将目标图像的最长边限制为小于max_size的安全措施,它解决了bbox可能变得过大的问题,特别是如果它有细长的形状**

seed    内置KSampler的种子

contorl_after_generate    控制种子的变更方式  **fixed为固定种子,increment为每次增加1,decrement为每次减少1,randomize为种子随机**

steps    去噪步数(也可以理解成生成图片的步数)

cfg    提示词引导系数,即提示词对结果产生影响的大小  **过高会产生负面影响**

sampler_name    选择采样器

scheduler    选择调度器

denoise    去噪幅度  **值越大对图片产生的影响和变化越大**

feather    羽化的大小

noise_mask    控制在修复过程中是否使用噪声掩码  **虽然在不用噪声掩码的情况下,较低的去噪值有时会产生更自然的结果,但通常建议将该参数设置为enabled**

force_inpaint    防止跳过基于guide_size的所有过程  **当目标是修复而不是细化时,这很有用。小于guide_size的SEGS不会通过减小去匹配guide_size;相反,它们会被修复为原来的大小**

文本框    输入通配符的规范,如果保持为空,此选项将被忽略

cycle    采样的迭代次数  **当与Detailer_hook一起使用时,此选项允许添加间歇性噪声,也可用于逐渐减小去噪大小,最初建立基本结构,然后对其进行细化。

inpaint_model    使用修复模型时,需要启用此选项,以确保在低于1.0的降噪值下进行正确的内补

noise_mask_feather    控制羽化操作是否应用于修复过程的蒙版  

注意:此选项不能保证图像更自然,同时它可能会在边缘产生伪影,大家按需设置!

输出:

image    最终重绘后的图片

cropped    调整图像的大小、去除不必要的部分、集中注意力于特定区域的效果图

cropped_refined    经过剪裁和进一步处理的图像

cropped_refined_alpha    经过裁剪和精细化处理后的alpha通道

cnet_images    蒙版位置图

注意事项

· 输入数据质量:确保输入的分割结果准确无误,因为输入数据的质量会直接影响分析和调试的效果。

· 节点配置:根据具体需求调整DetailerDebug(SEGS)节点的配置参数,以获得最佳的分析和调试效果。

通过使用DetailerDebug(SEGS)节点,可以深入了解和优化图像分割模型的性能,确保分割结果满足实际应用的需求,同时提升模型的开发和调试效率。

八、示例工作流

熟练使用以上节点,你就可以搭建一个简单的“AI换脸”的工作流了

该工作流先是对加载的图片进行脸部的检测和分割,然后将分割的结果、原图、重绘的提示词输入细节修复器中,在细节修复器中,内置的采样器会根据提示词对图片的脸部进行重新扩散,最后输出换脸之后的图。原图和换脸后的图如下所示:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3269668.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

如何保证前后端交互信息不被篡改。

先说说前后端有哪些认证方式来保证: 基于 session 的认证方式:前端在用户登录成功后,后端会在服务器端生成一个唯一的 session ID,并将该 session ID 返回给前端,在后续的请求中,前端需要带上该 session ID…

SEO与数据中心代理IP的结合能带来哪些便利?

本文将探讨将SEO与数据中心代理IP结合所带来的好处,以及如何利用这种组合来提升网站在搜索引擎中的排名和可见性。 1. 数据中心代理IP的作用和优势 数据中心代理IP指的是由数据中心提供的IP地址,用于隐藏真实服务器的位置和身份。与其他类型的代理IP相…

vue3 命令运行窗口暴露网络地址,以及修改端口号

一般情况下这里的地址是隐藏的 这里加上 --host 可以暴露网络地址,再加上--port --8080 就可以将端口号修改为8080(修改后边的数字就可以修改为你想要的端口号)

从 Batch Norm 到 SGD 隐藏的内容

我们仍然不了解机器学习的哪些方面 欢迎来到雲闪世界。令人惊讶的是,机器学习中的一些基本主题仍然不为研究人员所知,尽管它们很基础且常用,但却似乎很神秘。机器学习的有趣之处在于我们构建了可以工作的东西,然后弄清楚它们为什么…

Linux网络:传输层协议TCP(三)滑动窗口及流量控制

目录 一、关于滑动窗口在TCP中的应用 1.1什么是滑动窗口,为什么要有滑动窗口 1.2滑动窗口的实现 1.3滑动窗口针对丢包重传的处理机制 二、流量控制 一、关于滑动窗口在TCP中的应用 1.1什么是滑动窗口,为什么要有滑动窗口 在上一篇博文中博主阐述了…

叉车安全防撞系统有哪些?叉车防撞装置解决方案

叉车安全防撞系统作为现代工业物流中的安防防护装置,为企业的安全生产提供了强有力的保障。该系统集成了先进的传感器技术、高效的算法处理以及人性化的操作界面,确保叉车在作业过程中能够准确感知周围环境,及时作出反应,有效避免…

车载录像机:移动安全领域的科技新星

随着科技的飞速发展,人类社会的各个领域都在不断经历技术革新。其中,车载录像机作为安防行业与汽车技术结合的产物,日益受到人们的关注。它不仅体现了人类科技发展的成果,更在安防领域发挥了重要作用。本文将详细介绍车载录像机的…

信号、电源、网线、传感器防雷,SPD系列防雷器全覆盖!

信号、电源、网线、传感器防雷,SPD系列防雷器全覆盖! SPD 系列防雷器是一种安装于被保护设备一侧的产品,旨在保护电子设备免受雷击、电磁脉冲、过压过渡冲击等造成的设备损坏。该产品广泛应用于工业控制、安全监测、网络通讯、交通电压等行业…

Windows 实用小工具:窗口钉子/文件管理 2024/7/27

一: wintop 窗口置顶工具 二:WinDirStat 这是一个免费的、开源的磁盘使用分析工具,适用于Windows系统。它会扫描你的硬盘,列出所有文件和文件夹的大小,并以图形化的方式展示,便于理解。 可以用来检测硬盘文件夹占用从而,酌情处…

多模态聊天效果如何?尝试和AI大模型煲电话粥

01 能像真人一样聊天的AI “我第一次来直播的发布会,有点紧张。”当OpenAI前沿研究部门主管马克(Mark Chen)通过手机对ChatGPT说话时,ChatGPT回答,“要不你深呼吸一下?” “好的,我深呼吸。”…

蓝牙耳机百元之内怎么选?四款百元精品爆款蓝牙耳机盘点

在蓝牙耳机的海洋中,百元价位仿佛是一片神秘的绿洲,既诱人又充满未知,如何在众多选项中挑选出真正的精品呢?蓝牙耳机百元之内怎么选?这是许多消费者的共同疑问,带着这个疑问,作为蓝牙耳机发烧党…

【计算机网络】DNS命令练习与抓包分析实验

一:实验目的 1:掌握DNS缓存的清除方法,了解DNS缓存的作用和影响。 2:熟悉nslookup和dig等DNS查询工具的使用,理解DNS查询的基本原理和过程。 3:通过抓包和分析,深入了解DNS查询和响应消息的格…

SpringBoot+ Sharding Sphere 轻松实现数据库字段加解密

一、介绍 在实际的软件系统开发过程中,由于业务的需求,在代码层面实现数据的脱敏还是远远不够的,往往还需要在数据库层面针对某些关键性的敏感信息,例如:身份证号、银行卡号、手机号、工资等信息进行加密存储&#xf…

使用API Monitor探测C++程序在调用HtmlHelp接口打开.chm文件时传入了哪些参数

目录 1、API Monitor介绍 2、为何要使用API Monitor工具? 2、HtmlHelp函数在API列表函数中找不到,将所在模块作为外部Extern DLL模块添加到API Monitor中 3、开启对Beyond Compare工具软件的实时监测 4、在Beyond Compare软件中打开chm帮助文档&…

数据库密码实现加盐加密处理

在实际的开发中,我们的数据库密码一般都是明文的方式存储在数据库中,但是,这种操作非常不安全,容易被黑! 那么,此时我们就需要对其进行加密处理,市面上比较常见的就是MD5加密了,但是…

2024年起重信号司索工(建筑特殊工种)证模拟考试题库及起重信号司索工(建筑特殊工种)理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年起重信号司索工(建筑特殊工种)证模拟考试题库及起重信号司索工(建筑特殊工种)理论考试试题是由安全生产模拟考试一点通提供,起重信号司索工(建筑特殊工种)证模拟考试题库是根据起重信号司索工(建筑特…

aarch64环境安装minio

1.去官网查看最新版本 MinIO | 用于AI的S3 & Kubernetes原生对象存储 2.使用命令安装,采取wget和dnf安装 wget https://dl.min.io/server/minio/release/linux-arm64/archive/minio-20240113075303.0.0-1.aarch64.rpm -O minio.rpm sudo dnf install minio.rpm 注意点…

SpringCloud Nacos的配置与使用

Spring Cloud Nacos的配置与使用 文章目录 Spring Cloud Nacos的配置与使用1. 简单介绍2. 环境搭建3. 服务注册/服务发现4. Nacos 负载均衡4.1 服务下线4.2 权重配置4.3 同集群优先访问 5. Nacos 健康检查5.1 两种健康检查机制5.2 服务实例类型 6.Nacos 环境隔离6.1 创建namesp…

GeneCompass:跨物种大模型用于破解基因调控机理

GeneCompass是第一个基于知识的跨物种基础模型,该模型预先训练了来自人类和小鼠的超过1.2亿个单细胞转录组。在预训练过程中,GeneCompass有效整合了四种生物先验知识,以自监督的方式增强了对基因调控机制的理解。对多个下游任务进行微调&…

E19.【C语言】练习:数组

有序序列合并 描述 输入两个升序排列的序列,将两个序列合并为一个有序序列并输出。 数据范围: 1≤n,m≤1000 , 序列中的值满足 0≤val≤30000 输入描述: 输入包含三行, 第一行包含两个正整数n, m,用空…