首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

ComfyUI进阶:Comfyroll插件 (四)

编程知识
2024年07月19日 16:34

ComfyUI进阶:Comfyroll插件 (四)

前言:

学习ComfyUI是一场持久战,而Comfyroll 是一款功能强大的自定义节点集合,专为 ComfyUI 用户打造,旨在提供更加丰富和专业的图像生成与编辑工具。借助这些节点,用户可以在静态图像的精细调整和动态动画的复杂构建方面进行深入探索。Comfyroll 的节点设计简洁易用,功能强大,是每个希望提升 ComfyUI 使用体验的用户的必备选择。祝大家学习顺利,早日成为ComfyUI的高手!

目录

一、安装方法

二、CR Aspect Ratio节点

三、CR Apply ControlNet节点

四、CR Multi-ControlNet Stack/CR Apply Multi-ControlNet节点

五、CR Load LoRA节点

六、CR Model Merge Stack/ CR Apply Model Merge节点

七、CR Module Pipe节点

八、高清修复示例工作流

一、安装方法

在ComfyUI主目录里面输入CMD回车。

1

在弹出的CMD命令行输入git clone https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes.git,即可开始下载。

2

二、CR Aspect Ratio节点

CR Aspect Ratio 节点的主要功能是调整图像的宽高比,使其符合指定的比例。这个节点可以用于裁剪、填充或缩放图像,以达到所需的宽高比。

节点索引:CR SD1.5 Aspect Ratio/ CR SDXL Aspect Ratio/ CR Aspect Ratio/ CR Aspect Ratio Banners/ CR Aspect Ratio Social Media/ CR_Aspect Ratio For Print

3

参数:

width → 设置潜空间的宽度

height → 设置潜空间的高度

aspect_ratio → 选择潜空间模板尺寸 **如果选择custom,则尺寸按照width和height设置**

swap_dimensions → 是否将width和height的值互换

upscale_factor → 用于在调整图像宽高比之后对图像进行缩放,即不改变原始尺寸

prescale_factor → 用于图像的放大,即增加图像的尺寸。

batch_size → 设置潜空间数量

输出:

width → 输出设置的宽度值

height → 输出设置的高度值

upscale factor → 输出设置的放大值

prescale factor → 输出设置的放大值

batch size → 输出设置的潜空间数量值

empty latent → 输出符合设定条件的潜空间图像

使用场景

· 图像展示: 确保图像在不同设备和平台上展示时保持一致的宽高比。

· 数据预处理: 在图像处理和机器学习任务中,统一图像的宽高比以便模型处理。

· 图像裁剪与填充: 根据需要裁剪或填充图像,使其符合特定的宽高比要求。

通过 CR Aspect Ratio 节点,你可以在 ComfyUI 中轻松调整图像的宽高比,以满足不同场景和需求的要求。

注意:根据选择的调整方法,图像的内容可能会发生变化。例如,裁剪方法可能会丢失部分图像内容,而填充方法可能会在图像周围添加边框。确保输入图像的分辨率足够高,以避免调整宽高比时图像质量下降。

4

三、CR Apply ControlNet节点

CR Apply ControlNet节点的主要功能是将ControlNet模型应用到图像生成或处理工作流中,从而控制生成的图像符合特定的输入控制信号。这个节点可以在图像生成过程中提供更细致的控制,以实现更高的精度和质量。

5

输入:

conditioning → 表示输入的条件信息

control_net → 加载对应的ControlNet

image → 表示输入的预处理图像

参数:

switch → 表示是否开启ControlNet

strength → 用于调整控制的影响程度 **太高可能产生负面影响**

输出:

CONDITIONING → 输出混合控制信息的条件信息

注意:输入的image必须是预处理图像,如下图所示,我们使用预处理器对原图进行边缘提取,然后通过该节点传入canny模型将控制信息注入conditioning信息流中,从而控制我们最终生成的图像和原图的边缘信息相符合。

6

注意:如下图所示,当我们设置控制强度为1时,可以看到最终生成的图像几乎毁掉了,所以大家可以通过自己的尝试调整控制强度的值,找到最符合需求的一个参数值。

7

使用场景

· 精细图像生成: 使用控制信号生成特定特征的图像,如特定风格、形状或内容。

· 图像编辑: 根据控制信号对现有图像进行编辑和调整,以实现精确的修改。

· 数据增强: 在机器学习任务中,使用ControlNet生成多样化的数据,以增强模型的训练效果。

通过CR Apply ControlNet节点,你可以在ComfyUI中实现对图像生成和处理的精细控制,从而在各种图像处理任务中获得更高的精度和质量。

四、CR Multi-ControlNet Stack/Apply Multi-ControlNet节点

CR Multi-ControlNet Stack 节点的主要功能是将多个 ControlNet 模型堆叠在一起,创建一个多层次的控制网络。通过这种方式,你可以组合多个控制信号,以便在图像生成或处理过程中应用更复杂和细致的控制。

CR Apply Multi-ControlNet 节点的主要功能是应用一个多层次的 ControlNet 网络(由 CR Multi-ControlNet Stack 节点生成)到图像生成或处理过程中。这个节点根据堆叠的控制网络和输入图像生成符合多个控制信号的图像。

这两个节点需要配合使用

8

输入:

image_x → 传入预处理图像 **注意是预处理图像,其次是与ControlNet对应的预处理图像**

controlnet_stack → 依然是这个节点 **可以通过串联增加模型数量**

base_positive → 正向提示词编码后的条件信息

base_negative → 反向提示词编码后的条件信息

参数:

switch_x → 表示是否开启第x个ControlNet

controlnet_x → 加载该ControlNet模型

controlnet_strength_x → 设置ControlNet模型的控制强度

start_percent_x → 设置控制信息注入条件信息的时机 **Advanced ControlNet库可提供更加精细的控制**

end_percent_x → 设置控制信息在条件信息结束的时机 **Advanced ControlNet库可提供更加精细的控制**

输出:

CONTROLNET_STACK → 输出加载的ControlNet模型信息

base_pos → 输出蕴含控制信息的正向条件信息

base_neg → 输出蕴含控制信息的反向条件信息

如图:我们使用两个ControlNet,分别是canny和depth两个模型,对原始图像进行分析后将预处理图像传入CR Multi-ControlNet Stack,然后将混合后的控制信息通过CR Apply Multi-ControlNet节点进行控制信息注入,最终控制去噪过程,生成与原图符合的图像信息。

9

"错误示范"如图:假如我们并没有正确的给到模型对应的预处理图像,如下所示:我们将canny的预处理图像给到depth模型,将depth预处理图像给到canny模型,最终生成的图像几乎没有美观可言。

10

使用场景

· 复杂图像生成: 使用多个控制信号生成具有多种特征的图像。

· 高级图像编辑: 结合多个控制信号对图像进行复杂的编辑和调整。

· 数据增强: 在机器学习任务中,生成多样化的数据以增强模型的训练效果。

通过 CR Multi-ControlNet Stack 和 CR Apply Multi-ControlNet 节点,你可以在 ComfyUI 中实现更复杂和精细的图像生成和处理,从而在各种图像处理任务中获得更高的精度和质量。

五、CR Load LoRA节点

CR Load LoRA 节点的主要功能是加载一个 LoRA 模型,并将其应用到现有的预训练模型中,以调整模型的行为和输出。这对于需要在预训练模型上进行特定任务微调的场景非常有用。

节点索引:CR Load LoRA/ CR Random Weight LoRA/ CR LoRA Stack/ CR Apply LoRA Stack/ CR Random LoRA Stack

11

输入:

model → 加载大模型

clip → 加载CLIP模型

lora_stack → 加载Lora栈 **多个lora stack可以进行串联**

参数:

switch → 选择是否开启lora

lora_name → 选择要是使用的lora

strength_model → 选择大模型的强度 **在lora和大模型之间进行强度设置**

strength_clip → 选择CLIP模型的强度 **在lora和CLIP模型之间进行强度设置**

exclusive_mode → 参数控制是否启用独占模式。如果设置为 "On",则在每次随机选择时,只能选择一个LoRA。

stride → 参数指定了在随机选择 LoRA 之前要进行多少次不随机选择。

force_randomize_after_stride → 如果设置为 "On",则在完成指定次数的非随机选择后,强制执行一次随机选择。

weight_min → 模型权重的最小值

weight_max → 模型权重的最大值

chance → 表示该Lora被选中的概率

输出:

IMAGE → 输出处理之后的图像

如图:我们控制参数和下面的对比实验相同,仅strength_model和strength_clip进行改变,下图所示为strength_clip设置为0,strength_model为1,最终生成的图像和我们加载的Lora并没有任何关系。

12

如图:我们控制参数和下面的对比实验相同,仅strength_model和strength_clip进行改变,下图所示为strength_clip设置为1,strength_model为0,最终生成的图像依然和我们加载的Lora并没有任何关系。

13

如图:我们控制参数和下面的对比实验相同,仅strength_model和strength_clip进行改变,下图所示为strength_clip设置为1,strength_model为1,最终生成的图像使用了我们加载的lora。

14

综上所述:我们这两个参数是互相配合使用的, 可以暂且理解为乘法的关系,其中一个为0则控制强度为0,所以我们使用的时候可以调整两个参数到合适的范围。

如图:为Random LoRA Srack的示例工作流,大家可以参考下。

15

使用场景

· 任务微调: 使用 LoRA 模型对预训练模型进行微调,以适应特定任务的需求。

· 性能优化: 在不重新训练整个模型的情况下,通过 LoRA 模型对预训练模型进行优化。

· 特性调整: 应用 LoRA 模型以改变预训练模型的某些特性,使其更符合特定的应用场景。

通过 CR Load LoRA 节点,你可以在 ComfyUI 中轻松加载和应用 LoRA 模型,从而在不重新训练整个模型的情况下实现特定任务的微调和优化。

六、CR Model Merge Stack/ CR Apply Model Merge节点

CR Model Merge Stack 节点的主要功能是将多个模型合并在一起,创建一个模型融合的堆栈。通过这种方式,你可以组合不同模型的特性和能力,以在图像生成或处理过程中获得更好的效果。

CR Apply Model Merge 节点的主要功能是应用一个合并的模型堆栈(由 CR Model Merge Stack 节点生成)到图像生成或处理过程中。这个节点根据合并的模型堆栈和输入图像生成融合后的图像。

这两个节点需要配合使用

16

输入:

model_stack → 大模型加载堆栈,可以批量进行串联

参数:

switch_x → 用于控制是否启用特定的大模型文件

ckpt_namex → 用于指定要使用的大模型文件。

model_ratiox → 表示相应大模型中模型的混合占比

clip_ratiox → 表示相应大模型中CLIP模型的混合占比

merge_method → 指定了用于将多个模型合并成一个的方法 **"Recursive" 方法是一种迭代方法,通过递归地将多个模型合并成一个。"Weighted" 方法是一种加权方法,根据预先设定的权重将多个模型进行加权合并。**

normalise_ratios → 用于指定是否要对模型的比率进行规范化 **如果设置为 "Yes",则在合并模型之前,系统会对模型的比率进行规范化处理,以确保它们的总和等于1。**

weight_factor → 仅在使用 "Weighted" 方法时有效,它用于控制加权合并方法中每个模型的权重

输出:

MODEL → 输出混合后的大模型选项

CLIP → 输出混合后的CLIP模型选项

model mix info → 打印混合比例,混合模型等信息

如图:我混合麦橘写实大模型和ghost动漫模型,并且设置相关的权重,通过model mix info节点输出最终混合的比例,然后输入正向提示词为dog,但是最终生成的图像却是个狗狗绅士,所以这个模型混合的结果还是挺不可控的,大家可以自行尝试。

17

使用场景

· 模型融合: 将多个模型的特性结合在一起,以生成更高质量的图像或文本。

· 性能优化: 通过模型合并优化生成结果,利用不同模型的优势。

· 特性扩展: 使用多个模型合并来扩展基础模型的功能和特性。

· 高级图像生成: 应用融合的模型生成具有多种特性的图像。

· 高级图像编辑: 根据合并模型堆栈对图像进行复杂的编辑和调整。

· 数据增强: 在机器学习任务中,使用合并模型生成多样化的数据。

通过 CR Model Merge Stack 和 CR Apply Model Merge 节点,你可以在 ComfyUI 中实现复杂的模型融合和应用,从而在各种图像生成和处理任务中获得更高的精度和质量。

七、CR Module Pipe节点

CR Module Pipe 节点的主要功能是将多个处理模块或节点串联起来,形成一个处理管道。这种模块化设计允许你将复杂的处理步骤组织在一起,以便更灵活地管理和执行工作流。

节点索引:CR Module Pipe Loader/ CR Module Input/ CR Module Output

20

输入:

pipe → 蕴含所有信息的管道

model → 要加载的大模型

pos → 正向提示词条件信息

neg → 反向提示词条件信息

latent → 潜空间图像信息

vae → 使用到的vae模型

clip → 使用到的clip模型

controlnet → 要是用的controlnet模型

image → 图像信息

参数:

seed → 随机数种子

control_after_generate → 种子控制方法

输出:

pipe → 蕴含所有信息的管道

使用场景

· 复杂数据处理: 将多个处理步骤组织成一个管道,以便对数据进行复杂的处理。

· 模块化工作流: 通过模块化设计,将可复用的处理步骤组合在一起,以便在不同的工作流中应用。

· 高效数据管理: 在处理大型数据集或复杂模型时,使用管道来简化数据管理和处理流程。

通过 CR Module Pipe 节点,你可以在 ComfyUI 中创建复杂的处理管道,将多个模块化步骤高效地组织在一起,从而在各种数据处理和模型应用任务中获得更高的灵活性和效率。

八、高清修复示例工作流

熟练使用以上节点,你就可以搭建“人物一致性控制”的工作流了。

1920

这里使用SDXL的大模型,加载Lora进行生成过程干预,后续使用两个放大模型进行图像高清修复,先做单倍放大后进行两倍放大,后续通过ksampler二次采样(降低重绘幅度),解码后得到最终图像,我们通过CR pipe节点来进行数据传输,工作流更加美观,最终出图如下:

D:/图文发布/文章所用图片/ComfyUI进阶:Comfyroll插件 (四)/小于5M.png小于5M

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

From:https://www.cnblogs.com/LIU-QiuXue/p/18311987
本文地址: http://shuzixingkong.net/article/202
0评论
提交 加载更多评论
其他文章 KU FPGA FLASH boot失败debug
原因 新板子回来后,测试flash 烧录正常,但是无法BOOT,此时SPI设置为X4模式,使用内部时钟,速度90M。烧录过程不报错,校验也正常。 FLASH理论支持最大速度108M,90M应该还好。另外板卡预留了EMCCLK外部时钟模式,速率100M 也不可行。 此时约束如下: set_proper
KU FPGA FLASH boot失败debug KU FPGA FLASH boot失败debug KU FPGA FLASH boot失败debug
前端太卷了,不玩了,写写node.js全栈涨工资,赶紧学起来吧!!!!!
首先聊下node.js的优缺点和应用场景 Node.js的优点和应用场景 Node.js作为后端开发的选择具有许多优点,以下是其中一些: 高性能: Node.js采用了事件驱动、非阻塞I/O模型,使得它能够处理大量并发请求而不会阻塞线程,从而具有出色的性能表现。 轻量级和高效: Node.js的设计
Volatile不保证原子性及解决方案
原子性的意义 原子性特别是在并发编程领域,是一个极其重要的概念,原子性指的是一个操作或一组操作要么全部执行成功,要么全部不执行,不会出现部分执行的情况。这意味着原子性操作是不可分割的,它们在执行过程中不会被其他操作中断或干扰。 原子性的意义在于它保证了数据的一致性和程序的正确性。在多线程或多进程的环
bitwarden本地搭建(无需购买SSL证书)
bitwarden本地搭建(无需购买SSL证书) 在安装之前,笔者在这里先声明一下,我安装bitwarden使用的操作环境为ArchLinux,我的想法是,因为这只是一个“密码本”,并且最好能保证其能够在开机后占用尽量少的内存让密码本保持稳定运行。在此前提下,我选择了干净整洁的ArchLinux,关
bitwarden本地搭建(无需购买SSL证书) bitwarden本地搭建(无需购买SSL证书) bitwarden本地搭建(无需购买SSL证书)
「比赛记录」CF Round 954 (Div. 3)
Codeforces Round 954 (Div. 3) 题目列表: A. X Axis B. Matrix Stabilization C. Update Queries D. Mathematical Problem E. Beautiful Array F. Non-academic Pro
第八节 JMeter基础-高级登录【数据库数据驱动】
声明:本文所记录的仅本次操作学习到的知识点,其中商城IP错误,请自行更改。 背景:获取数据库用户表中的数据进行登录接口测试。思路: 引用jar包【测试计划】。 设置数据库的连接信息,取变量名db1--数据源【配置元件】。 数据取样器引用数据源,填写查询sql,定义用户名密码变量名【取样器】。 循环登
第八节 JMeter基础-高级登录【数据库数据驱动】 第八节 JMeter基础-高级登录【数据库数据驱动】 第八节 JMeter基础-高级登录【数据库数据驱动】
即将被淘汰 这几门编程语言!
又到了周五了,忙碌了一周,可以放松放松一下了! 在科技迅速发展的今天,编程语言的更新迭代速度令人惊叹。从经典的C语言到现代的Python, 编程语言不断进化,满足着不同领域的需求。然而,有些编程语言却逐渐淡出我们的视野。 你是否好奇,哪些编程语言即将被淘汰? 哪些编程语言正面临被淘汰的危机?它们的逐
即将被淘汰 这几门编程语言! 即将被淘汰 这几门编程语言! 即将被淘汰 这几门编程语言!
CF466E Information Graph 题解
题目链接 Luogu Codeforces 题意简述 某公司中有 \(n\) 名员工。为方便起见,将这些员工从 1 至 \(n\) 编号。起初,员工之间相互独立。接下来,会有以下 \(m\) 次操作: 员工 \(y\) 成为员工 \(x\) 的上司。保证此前 \(x\) 没有上司。 员工 \(x\)