【入门到精通】AI作图最好用的工具 Comfy UI
通过节点图设计AI生成平面作品
目录
软件介绍
安装
–| 1.下载软件 2.下载模型 3.启动软件 4.更新升级
基本操作
–| 1.生成一张图 2.词法规则 3.节点操作 4.AI作图原理 5.保存工程
高级功能
–| 1.使用Lora 2.使用ControlNet 3.使用Upscale 4.SetArea 5.用不同模型同时绘制多张图
附录
软件介绍
节点图是现代3D软件 如Unity、Unreal、Blender中常见的美术设计工具
ComfyUI 通过节点图控制AI生成平面作品
比起 WebUI 它的可控性和自由度更高 更适合商业化的设计场景 更适合设计师 而WebUI比较适合开发者
安装
1.下载软件
来到软件的Github页 GitHub – comfyanonymous/ComfyUI
点击 “Direct link to download”
下载后解压
2.下载模型
来到模型网站 Civitai.com 挑选中意的模型存档(模型左上角是CHECKPOINT)
点进去后下载模型本体(图中CP)
如果提示包含独立的VAE模型(如下图)还要下载它包含的VAE模型(点蓝色的VAE)
下载后放置到 软件解压的目录中.\ComfyUI_windows_portable\ComfyUI\models 里对应的文件夹里
(如 Checkpoint放在checkpoints文件夹里 vae放在vae文件夹里)
3.启动软件
软件解压的目录中:
run_cpu.bat 为启动CPU算图的版本(很慢)
run_nvidia_gpu.bat 为启动GPU算图的版本 只支持NVIDIA卡
(其他显卡根据Github上的提示手动配置)
打开后可能会出现下图中防火墙拦截的情况
按照图示允许即可
软件启动成功后会弹出命令行窗口 并自动打开浏览器
(如果没有自动打开浏览器 并且有报错信息 比如找不到xxx的话
修改一下解压后文件夹存放的路径即可 路径尽可能简单 最好全英文 不要有特殊字符 不要太深)
如果浏览器内容是空白的 需要更换Edge或Chrome浏览器访问 http://127.0.0.1:8188
4.更新升级
解压后文件夹内的 update 内的 bat 用来更新软件及其依赖
基本操作
1.生成一张图
在CheckpointLoaderSimple节点上选择刚才下载好的模型
分别在连到 positive 和 negative 的 CLIPTextEncode 里填入 正向提示语 和 负向提示语
点击右边的 Queue Prompt 就开始算图了 默认是512*512的尺寸
2.词法规则
2.1 正向与负向
提示语(prompt)有两种 正向的(positive) 和 负向的(negative)
正向提示语描述希望出现在图像里的元素,负向提示语表明不希望出现在图里的东西
2.2 内容类型
提示语 可以是一句话 如 “Standing On Narrow City Streets Crossword”
也可以是以逗号分隔的词 “masterpiece, pretty girl, long hair”
2.3 权重
权重影响该特征在图中占的比例 或者说 突显的程度
越靠前的提示语权重越大
也可以通加括号调整权重
小括号表示将权重调至当前 1.1 倍 可以迭代 如 ((cute))
大括号为 1.05 倍,中括号为 0.9 倍
也可以直接指定倍率 如 (cute:1.2)
2.4 指定步长
[girl:10] 从10步开始画女孩
[girl::20] 到20步停止停止画女孩
[[girl::20]:10] 从10步到20步画女孩
2.5 融合
xx AND yy 同时具有特性xx和yy (大写AND)
xx:1.05 AND yy:0.9 同时具有特性xx和yy 比例为xx1.05 yy0.9
[xx|yy] 融合特性xx和yy
[xx:yy:0.6] 以 前60%后40%的比例 融合特性xx和yy
[xx:yy:10] 以 前10步xx后面步yy 融合xx和yy
2.6 自定义提示词
Civitai 的资源中自定义提示词的左上角是Textual Inversion
下载下来 记住它的 Trigger words 触发词
下载后放到软件目录.\ComfyUI_windows_portable\ComfyUI\models 中的 embeddings 文件夹里
使用的时候直接填入Trigger word 触发词 就行了
2.7 学习其他人的提示词
Civitai 里大部分模型资源页的下方 都有网友分享的效果图
点开效果图 可以看到这张图用了什么提示语
尺寸、采样方式与步长等参数也会影响作图结果
3.节点操作
在节点上拖动可以拖动节点
在空白处拖动则会移动视图
鼠标滚轴放大缩小视图
在空白处双击 搜索并新建节点
在空白处右键 为 菜单
在节点上右键调出节点的菜单
每个节点都是 左边输入 右边输出
鼠标从 一个节点的输出 拖拽出来 连接到另一个节点的输入
拖拽期间 可以连接的地方会亮起来 如图
按 F11 切换全屏
4.AI作图原理
整个算法由三部分组成 文本翻译器 算图器 和 图片翻译器
首先 文本翻译器(CLIPTextEncode) 把提示语翻译成 AI 听得懂的语言
然后 算图器(KSampler)根据翻译过来的提示语 以 AI 自己的语言算图
最后 图片翻译器(VAEDecoder) 把AI语言里的图像翻译成人类能看懂的图片
三个部分 每一个部分都需要一个模型
所以 一个 Checkpoint 包含三个模型
MODEL 是算图器的模型 CLIP 是文本翻译器的模型 VAE 是图片翻译器的模型
文本翻译器节点需要输入一个 CLIP 模型
算图器 KSampler 节点需要输入一个算图器的模型(model) 以及两个文本提示语翻译后的结果(positive)(negative)
它还需要输入一个画布(latent _image) 这里用 EmptyLatentImage 节点生成的随机噪音就好
(画布可以包含先验信息)
图片翻译器 节点 需要输入算图的结果(samples) 与一个图片翻译器的模型(vae)
5.保存工程
在右边的菜单中 可以 保存 和 加载工程 也可以通过 Load Default 加载初始工程
除此以外 ComfyUI 还会把工程存在导出的 PNG 文件的的元数据里
把PNG拖入节点视图 就可以直接加载生成这张图的原工程
高级功能
1.使用Lora模型
Lora模型 是一种在已有模型上进行微调的模型
Civitai 上选好模型 下载下来 同样要记住触发词 Trigger word
下载后放到软件目录.\ComfyUI_windows_portable\ComfyUI\models 中的 loras 目录里
右键菜单 点 Add Node 然后 loaders 里新增一个 LoraLoader 节点
选择刚下载的 Lora 模型后 把这个节点接在 CheckpointLoaderSimple 和其他节点之间 然后填入该Lora模型的触发词 就可以了
你可以直接在 LoraLoader 节点上调模型的权重 而不用通过<xx:0.9> 的提示词调整
2.使用ControlNet模型
ControlNet 让我们可以用 图片的方式 与 AI 沟通
来到 Civitai 下载对应的模型 搜索controlnet
2.1 姿势
模型页翻到 “版本” 的位置 选择 OpenPose 这个版本 下载
下载后放到软件目录.\ComfyUI_windows_portable\ComfyUI\models 中的 controlnet目录里
右键菜单 conditioning 里新建 ControlNetApply 节点
把它接在文本节点和 KSampler 节点之间
然而这个节点还需要其他两个输入 分别是 ControlNet模型 和 提示图
右键菜单 loaders 里 新建 ControlNetLoader节点
配置 openpose 模型
右键菜单 image 里 新建 LoadImage 节点
配置一张 提示图 就可以开始算图了 效果如下
你可以通过这个在线工具生成姿势图 open pose editor 空白处左键旋转 右键拖动 滚轴缩放 点生成图后点图下载 点骨骼扭动
2.2 线稿
线稿也是一样的 先下载模型 放到对应的目录里
节点上配置一下
就可以根据线稿或者涂鸦算图了
3.使用Upscale模型
算图的尺寸会对内容元素数量有影响 所以有时需要小尺寸上算完再放大
先下载用来放大的模型 JingyunLiang/SwinIR · GitHub 放到 upscale_models 里
右键 image 里 upscaling 里新建 ImageUpscaleWithModel 节点
把它连在 VAEDecode 和 SaveImage 节点之间
右键菜单 loaders 里面新建 UpscaleModelLoader 节点
配置下载好的模型
如图连接
可以看到已经从 512 放大到了 2048
也可以放大自定义图片 如下图配置
4.SetArea
我们可以设定不同特征在图像中作用于不同的区域
右键菜单 conditioning 里新建 ConditioningSetArea 节点
把它连在文本节点和 KSampler 节点之间
设定作用区域 这里xy是距离左边和顶部的距离
克隆 文本节点 和 ConditioningSetArea 节点 我们让左边和右边的描述不一样
右键菜单 conditioning 里新建一个 ConditioningCombine 节点
如图连接 填上不同的词 效果如下
5.用不同模型同时绘制多张图
可以用同一组提示语应用于不同模型同时算图 如图
附录
CFG Scale 与 Step 对结果的影响
SDE
Euler A
以上