ComfyUI简介
ComfyUI的定义和主要功能
ComfyUI是一个开源的基于图形界面Workflow可视化引擎,用于Stable Diffusion。
它提供一个用户友好的图形界面,可以将多个Stable Diffusion模型及其Hypernetwork组合成一个完整的工作流(Workflow),实现自动化的图像生成和优化。
ComfyUI的主要功能包括:
- 基于节点的图形界面构建Workflow
- 支持Stable Diffusion 1.x和2.x版本
- 支持各种模型的组合,如Upscaler、Denooiser等
- 提供Workflow的保存、加载功能
- 一键从PNG生成完整Workflow
- 运行时优化,只重新执行修改过的部分
ComfyUI的原理
ComfyUI基于一个图形节点编辑器,通过拖拽各种节点到画布上,连接节点之间的关系,就可以构建一个结束到端的Workflow。
每个节点代表一个Stable Diffusion相关的模型或功能,节点之间通过连线传递图片信息。最终构成一个图像生成到处理的工作流程。
例如,一个简单的上采样Workflow可以包括:
- Text prompt节点 – 输入文字提示
- SD node – Stable Diffusion生成图片
- ESRGAN node – 使用ESRGAN上采样图片
当Workflow构建完成后,ComfyUI会在后台通过调用各个模型的API,按照流程顺序执行每个节点,实现自动化的结果输出。
另外,ComfyUI内置了一些优化功能,可以跳过不必要的重复计算,提高流程执行效率。
Stable Diffusion介绍
Stable Diffusion是一个基于Transformer的 GAN 模型,于2022年发布,可以生成高质量的图像。
它的特点包括:
- 基于CLIP(图像-文本模型)进行训练,可以利用自然语言进行conditional generation
- 训练代价低,训练数据只需400万张非授权图片
- 生成质量高,可以生成高分辨率图片
- 支持图像修复、图像扩增、文本到图像等多种功能
- 支持基于滑块控制生成内容
Stable Diffusion已经成为目前最强大的开源生成模型之一,拥有庞大的用户群体。ComfyUI就是构建在Stable Diffusion之上的Workflow工具。
ComfyUI的目标和应用场景
ComfyUI的目标是提供一个用户友好、功能强大的Stable Diffusion工作流可视化和构建工具。
它主要应用于:
- 创意工作者 – 设计师、艺术家等创作图像
- AI研究人员 – 试验各种模型组合
- 图像处理工作者 – 将流程自动化
通过ComfyUI构建Workflow,可以大大提高工作效率,将多个模型组合使用,获取更优质的生成结果。
同时,ComfyUI本身也在不断更新迭代,开发者活跃,已成为Stable Diffusion领域的重要开源项目之一。
ComfyUI的安装和设置
如何安装ComfyUI
ComfyUI支持在Windows、Linux和macOS多个平台安装使用。
安装ComfyUI主要有以下两种方式:
1. 通过Python pip安装
这是最简单的安装方式,需要Python 3.7或更高版本。
运行命令:
pip install comfyui
2. 从源代码编译安装
可以直接从Github仓库克隆源代码并编译
编译安装可以获取最新的开发版本。
初次使用ComfyUI的建议步骤
使用如下命令启动:
python main.py
第一次使用ComfyUI,建议按以下步骤进行:
准备好Stable Diffusion模型文件,放入models目录
运行ComfyUI,初始化设置模型位置
创建一个简单的Workflow,例如只含Prompt和SD节点
运行Workflow,查看图像生成效果
尝试添加更多节点,构建复杂Workflow
尝试不同的模型组合,寻找最佳效果
保存满意的Workflow作为预设,日后直接加载使用
通过一步步尝试,可以熟悉ComfyUI的各项功能与用法。
ComfyUI的主要特点
基于图/节点的界面
ComfyUI提供一个基于图形节点的可视化界面,是它的最大特点。
用户可以在画布上拖拽各种节点,连接节点关系,直观地构建Workflow。
节点类型包括:
- 输入节点:文本、图片、条件等
- SD节点:Stable Diffusion的各种模型
- 后处理节点:Upscaler、Denoiser等
通过这个图形化的流程编排方式,ComfyUI降低了构建复杂Workflow的难度。
支持SD 1.x和2.x
ComfyUI支持Stable Diffusion的1.x和2.x两个主要版本。
通过切换不同的SD节点,可以在同一个Workflow中灵活切换版本。
优化功能
ComfyUI实现了一些优化功能,可以跳过不必要的重复计算,提高Workflow执行效率。
例如,仅重新运行从上次执行以来发生变化的部分Workflow。
支持加载检查点和safetensors模型
ComfyUI允许直接加载Stable Diffusion的检查点文件(ckpt)以及基于Safetensors的模型。
这提供了更大的灵活性,可以使用不同来源的预训练模型。
支持各种放大模型
ComfyUI内置了对各种图像超分辨率模型的支持,如ESRGAN、RealESRGAN、SwinIR等。
可以非常方便地在Workflow中加入这些放大模型,提升图像质量。
ComfyUI的高级功能
保存/加载工作流为JSON文件
ComfyUI可以将构建好的Workflow以JSON文件的形式保存下来,用于重复使用。
同时也可以直接加载JSON文件以导入Workflow。
从PNG文件生成完整的Workflow
ComfyUI提供了一个非常有用的功能,可以只从一张PNG图像文件,自动反向生成一个完整的Workflow。
这可以用于快速分析一张图片的处理流程,以重现类似的效果。
只需:
comfy workflow from-png image.png
就会自动生成复原该图片的Workflow。
其他相关资源
ComfyUI的示例和教程
ComfyUI仓库中包含详细的示例介绍各种Workflow构建的方法。
非常适合初学者参考。
ComfyUI的常见问题解答
可以查看ComfyUI的问题列表,这里包含许多常见问题的解决方案。
同时,社区也开发了各种ComfyUI的扩展插件,可以进一步增强其功能。
综上所述,ComfyUI是一个非常出色的Stable Diffusion工作流构建工具。它具有图形化界面、支持多模型组合、运行时优化等特性。可以大幅提高艺术家和研究人员的工作效率。同时,它也拥有活跃的开源社区支持与扩展。非常适合艺术创作、图像处理等领域探索使用。