人工智能(AI)

ComfyUI最新指南2023:下一代Stable Diffusion图形界面工具

ComfyUI简介

参考:ComfyUI:开源的Stable Diffusion界面webUI

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,建议按以下步骤进行:

  1. 准备好Stable Diffusion模型文件,放入models目录

  2. 运行ComfyUI,初始化设置模型位置

  3. 创建一个简单的Workflow,例如只含Prompt和SD节点

  4. 运行Workflow,查看图像生成效果

  5. 尝试添加更多节点,构建复杂Workflow

  6. 尝试不同的模型组合,寻找最佳效果

  7. 保存满意的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工作流构建工具。它具有图形化界面、支持多模型组合、运行时优化等特性。可以大幅提高艺术家和研究人员的工作效率。同时,它也拥有活跃的开源社区支持与扩展。非常适合艺术创作、图像处理等领域探索使用