ComfyUI插件:ComfyUI Impact 节点(三)

news/2024/9/24 3:23:20/文章来源:https://www.cnblogs.com/LIU-QiuXue/p/18330687

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

目录
一、安装方式
二、NoiselnjectionDetailerHookProvider节点
三、DenoiseSchedulerDetailerHookProvider节点
四、UnsamplerDetailerHookProvider节点
五、Switch (Any) / Inversed Switch(Any)节点
六、DetailerHookCombine节点
七、MaskDetailer (pipe)节点
八、示例工作流

一、安装方式
方法一:通过ComfyUI Manager安装(推荐)
打开Manager界面

方法二:使用git clone命令安装
在ComfyUI/custom_nodes目录下输入cmd按回车进入电脑终端

在终端输入下面这行代码开始下载
git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack

二、NoiselnjectionDetailerHookProvider节点
该节点专注于在图像处理过程中注入噪声,以帮助改善细节处理效果。这种方法可以在某些情况下提高图像的质量和真实感,特别是在处理低质量图像或需要增强细节的应用中。

参数:
schedule_for_cycle → 控制注入开始的时机,from_start表示从第一个循环开始注入噪声,skip_start表示跳过第一个循环的噪声注入
source → 噪声的来源,可选GPU和CPU
seed → 生成噪声的随机数种子
control_after_generate → 控制随机数种子的变更方式
start_strength → 初始的噪声注入量
end_strength → 结束时的噪声注入量
注意:随着噪声注入的进行,噪声的强度从start_strength逐渐增加或减小到end_strength。这样可以实现噪声强度随时间或步骤的平滑过渡。

输出:
DETAILER_HOOK → 经过噪声注入处理后的样本数据
注意:NoiselnjectionDetailerHookProvider节点使用时需要安装ComfyUI_Noise,因为该节点内部使用了BNK_InjectionBoise。当系统提示以下类似的界面时(可能根据浏览器的不同而不一样),点击确定自动安装并重启ComfyUI即可。

示例:

注意事项
· 噪声类型和强度:根据具体需求选择适当的噪声类型和强度,避免过度注入噪声导致图像质量下降。
· 处理性能:噪声注入和细化处理可能需要较高的计算资源,确保系统性能足够支持处理需求。
· 图像质量:监控处理后的图像质量,确保噪声注入带来的细节增强效果符合预期。
通过使用NoiselnjectionDetailerHookProvider节点,可以在图像处理工作流程中实现有效的噪声注入和细化处理,提升图像的细节表现和整体质量。

三、DenoiseSchedulerDetailerHookProvider节点
该节点专注于在图像处理过程中调度噪声去除操作,以帮助改善图像的细节处理效果。这种方法可以有效地减少图像中的噪声,同时保留和增强图像的细节。

参数:
schedule_for_cycle → 控制注入开始的时机
target_denoise → 目标去噪值,即希望模型在扩散过程中逐渐达到的去噪值
输出:
DETAILER_HOOK → 经过处理后的样本数据
注意:当循环次数等于1时,该节点将不起作用!
示例:

注意事项
· 去噪强度和策略:根据具体需求选择适当的去噪强度和调度策略,避免过度去噪导致细节丢失。
· 处理性能:去噪和细化处理可能需要较高的计算资源,确保系统性能足够支持处理需求。
· 图像质量监控:监控处理后的图像质量,确保去噪带来的细节增强效果符合预期。
通过使用DenoiseSchedulerDetailerHookProvider节点,可以在图像处理工作流程中实现有效的噪声去除和细化处理,提升图像的细节表现和整体质量。

四、UnsamplerDetailerHookProvider节点
该节点专注于在图像处理过程中进行反采样操作,以恢复图像细节并进行优化处理。这种方法可以在图像放大、超分辨率、去模糊等应用中提升图像质量。

输入:
model → 输入大模型
positive → 正向提示词
negative → 反向提示词
注意:这里的正反向提示词是输入需要移除的元素,比如我想要突出“干净”这个元素,那我就应该在正向提示词里输入“脏”这类的提示词,反向提示词原理类似。
参数:
steps → 总步数
start_end_at_step → 开始的步数即从总步数的第几步开始采样还原
end_end_at_step → 结束的步数即从总步数的第几步结束采用还原
cfg → 提示词引导系数,即提示词对结果产生影响的大小 过高会产生负面影响
sampler_name → 选择采样器(推荐使用节点默认的采样器)
scheduler → 选择调度器
normalize → 是否进行标准化处理 schedule_for_cycle → 控制采样还原操作的开始时机
输出:
DETAILER_HOOK → 经过处理后的样本数据
示例:

注意事项
· 反采样倍率:根据具体需求选择适当的反采样倍率,以获得最佳的细节恢复效果。
· 细化强度:调整细化处理的强度,避免过度细化导致的图像伪影或失真。
· 处理性能:反采样和细化处理可能需要较高的计算资源,确保系统性能足够支持处理需求。
· 图像质量监控:监控处理后的图像质量,确保反采样和细化处理带来的效果符合预期。
通过使用UnsamplerDetailerHookProvider节点,用户可以在图像处理工作流程中实现有效的反采样和细化处理,提升图像的细节表现和整体质量。

五、Switch (Any) / Inversed Switch(Any)节点
这俩节点用于在工作流中控制数据流的路由。它们允许用户根据条件动态地切换数据路径,适用于需要灵活控制数据流向的场景。

输入:
input1 → 输入数据
注意:这个两个节点可以转换任意类型的数据,数据类型通过连接输入的第一根线确定。

参数:
select → 可选择的输入参数 最小值为1,最大值为999999
sel_mode → 确定select参数的时刻,select_on_prompt表示在队列提示时确定,select_on_execution表示在工作流执行时确定
注意:在使用select_on_prompt时,select只能与队列提示中确定的部件或原始节点一起使用。

输出:
selected_value → 根据选定的输入参数确定的输入参数值
selected_label → 根据选定的输入参数确定的标签 如果找不到标签,则使用参数名作为标签
selected_index → 选择的索引,即传入的 select 参数的值
output1 → 根据选择的输入参数输出转换后的值
示例:

注意事项
· 条件配置:确保条件配置正确,以便Switch (Any)和Inversed Switch (Any)节点能够根据预期逻辑选择和分配数据路径。
· 数据一致性:确保输入和输出数据格式一致,以便各节点可以正确处理和传递数据。
· 处理性能:根据具体需求调整处理节点的配置,确保系统性能足够支持动态数据选择和分配需求。
通过使用Switch (Any)和Inversed Switch (Any)节点,可以在图像处理工作流程中实现灵活的动态数据流控制,提升工作流程的灵活性和效率。

六、DetailerHookCombine节点
该节点专注于将来自多个细化处理节点的结果进行合并。通过合并不同的细化处理结果,可以在一个节点中整合多种细化效果,提升图像的整体质量。

输入:
hook1 → 需要整合的第一个Detailer_Hook数据
hook2 → 需要整合的第二个Detailer_Hook数据
输出:
DETAILER_HOOK → 整合后的Detailer_Hook数据
注意:这里整合是将这两个Detailer_Hook数据各自实现的功能合并起来一起实现,而不是生成一个具有新功能的Detailer_Hook数据。
注意事项
· 输入数据质量:确保输入的细化处理结果质量良好,以获得最佳的合并效果。
· 合并参数配置:根据具体需求配置合并参数,以实现最佳的综合细化效果。
· 处理性能:合并多个细化处理结果可能需要较高的计算资源,确保系统性能足够支持处理需求。
通过使用DetailerHookCombine节点,可以在图像处理工作流程中实现多个细化处理结果的有效整合,提升图像的整体质量和细节表现。

七、MaskDetailer (pipe)节点
该节点专注于对基于掩码的图像部分进行细化处理。通过使用掩码,可以精准地选择图像中的特定区域进行优化,而不影响其他部分。

输入:
image → 输入图像
mask → 蒙板区域
basic_pipe → basic管道,包含了model、clip、vae、positive、negative等信息
refiner_basic_pipe_opt → refiner模型的basic管道,包含了refiner的model、clip、vae、positive、negative等信息
detailer_hook → 细节调整参数
参数:
guide_size → 参考尺寸 小于的目标图像被放大以匹配,而大于的图像将被跳过,因为它们不需要细节处理
guide_size_for → 设置guide_size基于什么 当设置为bbox时,它使用检测器检测到的bbox的边界框作为参考;当设置为crop_region时,它使用基于检测到的bbox所识别的裁剪区域作为参考
max_size → 最大尺寸 将目标图像的最长边限制为小于max_size的安全措施,它解决了bbox可能变得过大的问题,特别是如果它有细长的形状
mask_mode → 掩码在细化处理中的应用方式
seed → 内置KSampler的种子
control_after_generate → 蒙板模式,用于指示在细节增强过程中是仅对掩膜内部进行处理还是对整个图像进行处理。
steps → 去噪步数(也可以理解成生成图片的步数)
cfg → 提示词引导系数,即提示词对结果产生影响的大小 过高会产生负面影响
sampler_name → 选择采样器
scheduler → 选择调度器
denoise → 去噪幅度 值越大对图片产生的影响和变化越大
feather → 羽化的大小
crop_factor → 裁剪因子,用于裁剪图像
drop_size → 降低尺寸,用于控制细节增强过程中的图像降低尺寸的大小
refiner_ratio → 使用SDXL时,设置要refiner模型的功能在总进程中所占的比例。
batch_size → 设置潜空间数量
cycle → 采样的迭代次数 **当与Detailer_hook一起使用时,此选项允许添加间歇性噪声,也可用于逐渐减小去噪大小,最初建立基本结构,然后对其进行细化。
inpaint_model → 修补模型,用于控制是否启用图像修补模型
noise_mask_feather → 噪声蒙板羽化,用于控制噪声蒙板的羽化程度
注意:noise_mask_feather不能保证图像更自然,同时它可能会在边缘产生伪影,大家按需设置!

输出:
image → 重绘后的图像
cropped_refined → 使用refiner模型后的裁剪后的图像
ropped_enhanced_alpha → 经过裁剪处理后重绘图像的Alpha通道
basic_pipe → basic管道,包含了model、clip、vae、positive、negative等信息 当多个MaskDetailer (pipe)节点连续使用时方便节点的连接
refiner_basic_pipe_opt → refiner模型的basic管道,包含了refiner的model、clip、vae、positive、negative等信息 当多个MaskDetailer (pipe)节点连续使用时方便节点的连接
注意事项
· 掩码质量:确保输入的掩码数据准确,以获得最佳的细化处理效果。
· 细化参数配置:根据具体需求配置细化处理的参数,以实现最佳的图像优化效果。
· 处理性能:细化处理可能需要较高的计算资源,确保系统性能足够支持处理需求。
· 输入数据格式:确保图像和掩码的数据格式一致,以便MaskDetailer (pipe)节点能够正确处理和传递数据。
通过使用MaskDetailer (pipe)节点,可以在图像处理工作流程中实现对特定区域的有效细化处理,提升图像的整体质量和细节表现。

八、示例工作流
熟练使用以上节点,你就可以搭建一个简单的“脸部修复”的工作流了。

该工作流囊括了这篇文章学习的所有节点,将该工作流学习一遍,会对上面所学的节点有一个更深层次的理解。该工作流实现了钢铁侠胸甲的细节增强。主要思路就是加载图片,并在图片中画上胸甲的蒙板,将图片和蒙板一并输入到MaskDetailer (pipe)节点中进行胸甲的重绘,同时加入了一系列控制噪声的Detailer Hook节点来进行重绘时噪声的精细把控,实现更好的出图效果。图中三张结果图,第一张为加载的原图,第二张为仅使用MaskDetailer (pipe)节点的图,第三张为加入控制噪声的Detailer Hook节点的图,可以看到,从左到右图片的质量是递增的,所以在我们进行局部修复是,加入控制噪声的Detailer Hook节点可以增强出图质量。上述的三张图的原图如下(从左到右):


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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSP11

CSP11 T1暴力 #include <bits/stdc++.h> #define speed() ios::sync_with_stdio(false),cin.tie(0),cout.tie(0); #define ll long long #define ull unsigned long long #define lid (rt<<1) #define rid (rt<<1|1) // #define endl \n //#define int long …

Ansible管理密码库文件

ansible可能需要访问密码或API密钥等敏感数据,以便能配置受管主机。通常,此信息可能以纯文本形式存储在清单变量或其他Ansible文件中。但若如此,任何有权访问Ansible文件的用户或存储,这些Ansible文件的版本控制系统都能够访问此敏感数据。这存在安全风险。使用Ansible随附…

Ansible忽略任务失败

在默认情况下,任务失败时会中止剧本任务,不过可以通过忽略失败的任务来覆盖此类行为。在可能出错且不影响全局的段中使用ignore_errors关键词来达到目的。 环境: 受控主机清单文件: [dev] 192.168.10.129 [all:vars] ansible_ssh_user=root ansible_ssh_pass=123 编写yum文…

React 的 KeepAlive 实战指南:深度解析组件缓存机制

Vue 的 Keep-Alive 组件是用于缓存组件的高阶组件,可以有效地提高应用性能。它能够使组件在切换时仍能保留原有的状态信息,并且有专门的生命周期方便去做额外的处理。该组件在很多场景非常有用,比如:tabs 缓存页面分步表单路由缓存 在 Vue 中,通过 KeepAlive 包裹内…

LangChain补充七:Hub和LangSmith入门

一:Hub简介 https://blog.csdn.net/DEVELOPERAA/article/details/139983286 (一)简介 1.早期 最开始的LangChainHub,类似于github一样,可以理解为LangChain 工具包 或者说 组件中心,里面提供了高质量的组件方便开发者使用。确确实实是一个分享和探索Prompt、链 和Agent的…

借助大语言模型快速升级你的 Java 应用程序

大家都知道我爱小 Q。在我“转码”的征程中,它就像上帝之手,在我本该枯燥漫长的学习进程中拉满快进条。 不仅是我,最近 Amazon Q Developer 还帮助 Amazon 一个由 5 人组成的团队在短短两天内将 1,000 多个生产应用程序从 Java 8 升级到 Java 17(每个应用程序的平均时间不到…

8080端口被占用

微服务项目,启动时发生8080端口占用,但是其他启动了并没有使用到8080端口。 cmd命令窗口查看: netstat -aon | findstr "8080"右键添加需要了解的列表查看8080端口占用的pid比如占用端口的服务是VMware NAT Servic。 在服务管理器(services.msc)中停止VMware NA…

[米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-20 读写I2C接口的RTC时钟芯片

软件版本:Anlogic -TD5.9.1-DR1_ES1.1 操作系统:WIN10 64bit 硬件平台:适用安路(Anlogic)FPGA 实验平台:米联客-MLK-L1-CZ06-DR1M90G开发板 板卡获取平台:https://milianke.tmall.com/ 登录"米联客"FPGA社区 http://www.uisrc.com 视频课程、答疑解惑! 1概述 …

【YashanDB知识库】如何远程连接、使用YashanDB?

问题现象 在各个项目实施中,我们经常遇到客户、开发人员需要连接和使用YashanDB但不知如何操作的问题,本文旨在介绍远程连接、使用YashanDB的几种方式。 问题的风险及影响 无风险 问题影响的版本 历史版本~23.2 问题发生原因 无 解决方法及规避方式 不需要规避 问题分析和处理…

GIS场景零代码拖拽式编辑,支持TMS/WMS/WMTS等多种GIS协议

在三维GIS领域,编辑场景和处理影像数据通常是一个复杂且费时的过程,但现在有了山海鲸可视化,这一切都变得简单有趣。这款免费可视化工具为您提供了零代码拖拽式编辑的体验,让您无需编程知识就能轻松创建和优化GIS场景。通过直观的界面,您只需动动鼠标就能完成从场景编辑到…

【攻防技术系列+代理转发】ICMPSH 工具

虚拟机环境搭建: 【Kali】,192.168.10.131 【window7】,192.168.10.1工具: ICMPSH(基于网络层) Wireshark实验开始前,确保两台主机可以ping通。如果遇到环境ping不通的情况,可以借鉴以下解决方案。 重启网卡:有来有回的过程,数据长度为74。 【kali】: sysctl -w net…

人大金仓踩坑指南

现在越来越多的项目要求-切换国产数据库系统,或达梦(性能高),或人大金仓(扩展性高,更稳定),跨平台如果上来就干,坑还是不少的,本人有幸踩个遍.1. 软件有效期,人大金仓可不便宜,不少政府采购网上都是标价10万+, 测试时候用专业版玩一玩就好到期后,可以直接下载其他版…