comfyUI官方笔记整理
官网教程笔记ComfyUI_examples
1.ComfyUI基础教程ComfyUI Basic Tutorial VN
- 从网上下载下来的模型ckpt和safetensors包含有3个不同的模型,CLIP,主模型还有VAE
- clip模型会和CLIPTextEncode进行连接,将文本编码为模型可以理解的向量形式。
- 在SD中,由采样器sampler来生成结果图像,其输入包括①模型②由CLIP编码的正负提示词③潜在的图像,如果是文生图,则③为一幅空图像,采样器针对输入的图像采用模型进行加噪和去噪的操作,正负提示词在每次采样时会被注入到模型中,用于引导去噪的过程,逐渐去噪的过程也就是SD不断生成图像的过程,Ksampler输出最终去噪的图像
- VAE可以将图像从潜在空间转化到像素空间,在图生图时,也可以从像素空间转化到潜在空间,潜在空间是主模型可以理解的形式
2.雇佣修复“Hires Fix” aka 2 Pass Txt2Img
- 文生图后再进行超分辨,在文生图时,Ksampler中的噪声值设置为最大
两种方式
1.在潜在空间上采样
只会用到一个模型,文生图模型
- 先文生图(Ksampler1),在潜在空间上采样后,在潜在空间图生图(Ksampler1)
- Ksampler1和Ksampler2的正负提示词一样,模型一样,只是Ksampler的latent 为空,而Ksampler的latent为4倍的图像
升级版本
用到了两个模型,文生图和图生图用的是不同的模型,图生图可以对第一个阶段的图像进行细化
第一阶段 | 第二阶段 | |
---|---|---|
正提示词 | 动漫快乐女孩(fennec:1.2)(耳朵:1.3)金发长(凌乱的头发:1.1)蓝眼睛,穿着塞拉福牛仔裤(坐在岩石上:1.15) | 来自远方的动漫快乐女孩(耳廓:0.95)长(凌乱的头发:1.3)蓝眼睛,穿着塞拉福牛仔裤,坐在岩石铺展的腿上(运动鞋:0.95)在湖畔瑞士乡村的山腰天空云朵HDR日落 |
负提示词 | 低分辨率、不良解剖结构、不良手部、(文本:1.1)、模糊、变异的手和手指、变异、变形的脸、丑陋、(徽标:1.1),裁剪、质量最差、jpeg、(jpeg伪影)、删除、旧、最旧、(审查)、(审美不良)、(马赛克审查、酒吧审查、模糊审查)耳机 | (手),(文本:1.1),字母,数字,错误,裁剪,(jpeg伪影:1.2),(签名:1.1)(水印:1.1) |
模型 | wd-illusion-fp16.safetensors | cardosAnime_v10.safetensors |
模型说明 | 基于SD,增加动漫和人物训练得到的模型,其缩写为WD | - 此模型的风格与上世纪八九十年代的动画非常接近,但是更加精致。 - 非常适合生成大场景、大画幅图像。 - 它的阴影层次分明,线条清晰锐利,色彩呈现非常富有想象力。 |
2.在像素空间上采样
会用到两个模型,超像素模型(一次)和文生图模型(2次)
-
先基于正负提示词采用Ksampler1生成潜在图像,潜在图像转化到像素空间
-
应用超分辨的模型将上述生成图像超分到原来的4倍,通过VAE将其转化为潜在空间,进入Ksampler2生成最终的图像
-
Ksampler1和Ksampler2的正负提示词一样,模型一样,只是Ksampler的latent 为空,而Ksampler的latent为4倍的图像
3.图像重绘
-
输入图像为带alpha(透明度)通道的四通道图像,以表示其mask,当然ComfyUI也可以采用掩码处理器来现场处理掩码
-
可以进行inpainting,即在掩码的地方重新绘图,也可以进行outpainting,即将掩码处的图像进行恢复以及扩展边缘
-
inpainting 采用的模型
512-inpainting-ema
4.Lora
- lora模型接在主模型和CLIP模型的后面,且模型保存在
models/loras
目录下 - 可以链式地将多个lora模型连接起来
5.超网络
- 类似于lora,仅接在主模型的后面,且模型保存在
models/hypernetworks
目录下
Dantion Marble Statues Hypernetwork
在大理石雕像上训练的超网络,旨在使雕像看起来像人形角色。适用于现实和动画模型。
6.文本翻转/嵌入
- 模型放在
models/embeddings
文件夹下
7.图像上采样
- 对文生图模型得到的像素空间图像,再应用超分辨的模型,实现对图像的上采样的功能
- 可以在OpenModelDB找到一系列的上采样模型
8.局部版面照排area composition
-
相当于将版面拆成了好几块,每一块都有自己的提示词,以实现对整幅版面的精准控制
-
可以对版面进行重拼,也可以在某个区域加入新的对象等
-
基于像素数值对局部区域实现控制
几分钟让你快速了解 Stable Diffusion ComfyUI
用到的提示词
1 | (最佳品质)(HDR:1.0)女孩色彩斑斓(平胸:0.9),(耳廓:1.0)(狐狸耳朵:1.0),(红发)长(凌乱的头发:1.2),(黑眼睛:1.0)、毛衣、长袖、运动裤(裤子)、手套、雪山峰上的自然荒野(坐姿:1.3)、(d:0.5)(腮红:0.9)、(冬季:1.2)、瑞士阿尔卑斯山日落景观山上的舒适、(伸腿:1.1)、鸟瞰(城市景观:1.3)摩天大楼现代城市卫星图、日落 | |
2 | (最佳品质)(HDR:1.0)女孩彩色(平胸:0.9),(耳廓:1.0)(狐狸耳朵:1.0),金发双尾中等(凌乱的头发:1.2),(眼睛:1.0)、毛衣(粉红色:0.8)、长袖、运动裤(裤子)、手套、雪山峰上的自然荒野(坐姿:1.3)、(脸红:0.9)、(冬季:1.2)、瑞士阿尔卑斯山日落景观山上的舒适(展开双腿:1.1)、鸟瞰(城市景观:1.3)摩天大楼现代城市卫星图(日落) | |
3 | (最佳品质)(HDR:1.0)色彩斑斓,自然荒野雪山之巅,(冬季:1.2),瑞士阿尔卑斯山日落景观山,鸟瞰(城市景观:1.3)摩天大楼现代城市卫星图,(日落)女孩(耳廓狐狸耳:0.9),毛衣,坐着 | 正提示词 |
4 | (手)、文本、错误、裁剪、(最差质量:1.2)、(低质量:1.2 | 负提示词 |
5 | 杰作(写实)(最佳品质)(HDR:1.0)女孩五彩斑斓的(平胸:0.9),(狐狸耳朵:0.9)双尾凌乱的头发,(眼睛:1.0)毛衣,长袖,运动裤裤子,手套,坐在雪山山顶的自然荒野鸟瞰图,(:d:0.5)(腮红:0.9)(冬季:0.9)瑞士山脉,舒适,鸟瞰图(城市景观:1.2)摩天大楼现代城市卫星图,(日落) | 正提示词 |
6 | (手)、文本、错误、裁剪、(最差质量:1.2)、(低质量:1.2 | 负提示词 |
第一阶段:提示词1,2,3作为正提示词,4作为负提示词,1,2,3作为整体式词时,采用了条件结合器的组件,先将1,2组合在一起,再联合条件3,一起作为正提示词,4为负提示词
第二阶段:在上图的基础上,再应用图生图的模型,采用提示词5和6,使得画面的整体更加的和谐
作者给出的例子如下,第二幅图金色女孩的头发有红色的亮点,而红色头发的女孩头发更偏向了粉红,这是因为SD模型希望图像的风格与其整体保持一致,但是副作用是将头发的颜色混在了一起。
9.噪声潜在成分示例
针对文生图生成的四个对象,一个背景和3个动漫人物,采用不加噪的方式进行合成,通过潜在合成可以控制任务的位置,通过提示词可以控制任务的牵手
用到的提示词
1 | 天云自然国家公园美丽的冬季雪景HDR景观(日落) | 背景 |
2 | 快乐可爱的动漫女孩(耳廓:1.15)(绒毛:1.15长发,(黑发),(凌乱的头发),(红色亮点),一只眼睛上的头发,红眼睛,锐利的眼睛,(连帽衫),敞开的夹克,跑步(校服)长裙天云自然公园美丽的冬季雪景HDR景观 | 女孩1 |
3 | 快乐可爱动漫女孩(耳廓:1.15)(绒毛:1.15短发,(粉色头发:1.2),(凌乱头发),(蓝色亮点),蓝色眼睛,(连帽衫),开襟夹克,跑步,(校服)长裙天云自然国家公园美丽的冬雪风景HDR景观 | 女孩2 |
4 | 最好的质量,错综复杂的细节,色差,快乐可爱的动漫女孩(耳廓:1.15)(绒毛:1.15长发,(红发:1.2),(凌乱的头发),(蓝色亮点),蓝眼睛,(连帽衫),开放式夹克,跑步,(校服)长裙天空云自然国家公园美丽的冬季雪景HDR景观 | 女孩3 |
5 | 快乐可爱动漫女孩(耳廓:1.15)(绒毛:1.15”)(金发:1.15“)(凌乱的头发:1.35”)辫子(动漫:1.2)(蓝眼睛:1.15)(快乐脸红:1.2)微笑,大(蓝眼睛∶1.15),(连帽衫),敞开式夹克,跑步(校服)长裙,手牵手天空云朵自然国家公园美丽的冬季雪景HDR景观(日落)(外富,卓越,最佳美学,新,最新,最佳品质,杰作,极其详细,锐利的矢量动漫:1.05) | 此时不添加噪声,提示词中,三个女生牵手,以对三个女生的动作进行微调 |
10. ControlNet 和文本到图像的自适应器
- ControlNet会作为一个控制条件,流入正positive中
- ControlNet可以看做是文本到图像的自适应器T2I Adapter,ControlNet或者T2I Adapter一般都需要根据采用的模型风格,输入一张特定格式的图像,可以是深度图以及canny图等
- comfyUI中提供了ControlNetApply的节点,但是需要用户手动上传特定形式的图像,例如深度图等,该节点并不会自动图像到深度图的转化
- smaller fp16 safetensors version该网址提供了常用的controlNet的模型
- controlNet的模型要放在ComfyUI/models/controlnet目录下
以下是一个简笔画的controlNet示例
T2I-Adapter vs ControlNets
T2I-Adapter | ControlNets | |
---|---|---|
速度方面 | 更高效,更推荐,对生成速度几乎没有影响 | 会将其生成速度 |
运行次数 | 总共只需要运行一次 | 每次迭代都要运行 |
共同点 | 两者都采用的是ControlNetLoader节点 |
在control-openpose的例子中,作者采用了双阶段的方法,先基于文生图再结合openpose的controlNet来生成第一幅图像,再采用AOM3A3的动漫人物生成模型对该图像进行修正得到第二幅图像。
pass | 提示词 |
---|---|
1 | **(独唱)**女孩(平胸:0.9),(耳廓:1.0)(狐狸耳朵:1.0),(凌乱的头发),眼睛,站着(校服毛衣)天空云朵自然国家公园美丽的冬雪(风景HDR景观)(日落) |
2 | 女孩(平胸:0.9),(耳廓:0.8)(狐狸耳朵:0.8),(凌乱的头发),(高光),(逼真的星空瞳孔:1.1),站着(校服毛衣)天空云朵自然国家公园美丽的冬季雪景HDR景观(日落) |
- 加粗的部分为提示词不同的地方,区别在于第二轮对眼睛进行了更细致的描述
- 第二个阶段(pass)的输入图像为潜在空间的图像,在Ksampler得到潜在图像后,连接了一个特殊的vae,叫做kl-f8-anime2,其效果如图所示,即会使最终生成的图像更加绚丽
11.GLIGEN例子
- 模型放在GLIGEN文件夹下面
文本框GLIGEN
- 允许定义多个目标的位置和大小
- 采用GLIGEN Textbox Apply节点对prompt中的对象位置进行说明
12.unCLIP Model Examples
- unCLIP是经过特殊微调除了文本提示词外,还可以将图像概念作为输入的模型,即允许图像也作为prompt。
- unCLIP模型通过附带的CLIPVision对图像进行编码,在采样阶段将提取的概念传递给主模型。
-
noise_augmentation的强度反映了对图像的概念的追随,值越低,表示越接近原始图像的概念
-
strength表示对图像的影响程度
-
多幅图像时,与传统的将两幅图像融合不同,unCLIP会选取一些概念然后做出一副融合的图像
-
使用unCLIP检查点的一个好方法是在2遍工作流的第一遍中使用它们,然后在第二遍中切换到1.x模型
13.SDXL
- SDXL与常规模型的使用方式一样,只是想要获得最佳的效果,分辨率要为1024*1024,或像素量相当,但长宽比不同的像素
- SDXL可以与refiner一起使用
14.SD3
SD3.5
- 如果您还没有从SD3、Flux或其他模型下载文本编码器文件,第一步是下载它们:(clip_l.safetensors、clip_g.safetenstors和t5xxl)如果您的ComfyUI/models/clip/文件夹中还没有它们。对于t5xxl,如果你有超过32GB的ram,我建议你使用t5xxl_fp16.safetensor;如果你没有,我建议使用t5xxxl_fp8_e4m3fn_scaled.saftensor。
- SD3.5模型家族包含大的8G模型和2.5G的中等模型
15.模型融合
-
采用多个模型融合来执行复杂的工作流,对齐进行测试,在取得满意的结果后,启用checkpointSave节点
-
保存下来的checkpoint包含用于生成它们的完成的工作流,所以可以像加载图片一样直接恢复工作流
-
可以采用
(inpaint_model - base_model) * 1.0 + other_model
的方式从非inpaint模型来生成inpaint的模型CosXL
-
[Stability·AI(SD的母公司)发布CosXL和CosXL_Edit两个新模型 (对标PlayGround V2.5)](Stability·AI(SD的母公司)发布CosXL和CosXL_Edit两个新模型 (对标PlayGround V2.5)),该模型对艺术风格的理解能力更强,色彩和对比度的运用更大胆,但是人脸和人物的生成不如SDXL模型,即在写实方面有所弱化。CosXL可以直接生成图片,而CosXL_Edit可以用文本对现有的图像进行艺术化的处理。
下图为CosXL_Edit生成的结果,其提示词为“rain”,细节丰富,理解到位,确实给创作者带来了很大的便捷。
-
也可以采用(cosxl - sdxl) + other_checkpoint
16. 3D
-
Stable Zero123是一个差分模型,给定背景简单的多视角的图像可以恢复出原始的图像
-
仰角和方位角可以控制目标旋转的角度
Stable Zero123
- 可生成特定视角下的渲染图像,其效果优于Zero123及其迭代版本Zero123-XL
- 通过使用分数蒸馏采样(SDS)和稳定的Zero123模型,我们可以从任何输入图像中生成高质量的3D模型。该过程还可以扩展到文本到3D生成,首先使用SDXL生成单个图像,然后在Stable Zero123上使用SDS生成3D对象。
- Stable Zero123C仅在CC-BY and CC0 3D数据集上训练的,用于商业化的模型,经过互联网的测试,两个模型在生成质量上差异不大。
细节丰富的3D人像的生成还是存在扭曲
8G模型,生成结果需要2s左右的时间
在threeStudio中生成3D网格
参照hg上的模型标签Stable Zero123
17.LCM
LCM模型可以仅需要几步就完成采样过程。
LCM Lora可将一个常规的模型转化为LCM模型,案例中给出了SDXL的lora模型,需要改动的地方为使用
-
低cfg
-
使用“lcm”采样器和“sgm_uniform”或“simple”调度器
-
将LCM的采样选项设置为ModelSamplingDiscrete节点将略微改善结果,建议使用,但并非总是必要。
18.SDXL Turbo
- SDXL Turbo可以单步生成一致性的图像,但是一般步数越多,生成质量越好。
- 可以采用常规的方式使用该模型,也可以配合
SDTurboScheduler
节点使用模型 - 为了更好地体验单步生成的效果,在comfy UI中作者建议开启Extra Options -> Auto Queue选项后,仅点击一次Queue prompt,然后开始写prompt,写完prompt后会自动生成结果,避免在多次prompt的生成中,频繁地点击Queue prompt。
19.Stable串联的例子
- 当前下载的是一个三阶段的处理过程,先采用C阶段的差分模型生成低分辨率的潜在图像,再采用B阶段的差分模型进行尺寸和质量的扩大,对该潜在图像再次进行尺寸的扩充,然后再采用A阶段的VAE(实际采用的是阶段B中模型的VAE),将其转换到像素空间。
- C阶段和B阶段采用同样的正负提示词
- 串联方式的好处在于提示词不变的情况下,逐步得到预期的结果。
20.AuraFlow
- 唯一一个既公开源码也公开权重的模型
- AuraFlow v0.1是Fal团队推出的开源AI文生图模型,拥有6.8B参数量
21.混元DiT(腾讯)
可理解英文和中文的模型
22.Flux(2024.08)
- flux为来自黑森林实验室的一系列扩散模型
- 当前有常规的版本和FP8的加速版本
- 针对flux也有相应的controlnets
23.图像编辑模型
- 编辑模型,也叫做InstructPix2Pix(指令图到图)模型,即可以采用文本提示词(指令)对图像进行编辑的模型
- 在上述“14.模型融合”中提到的CosXL_edit的模型需要填写信息,同意协议后方可下载
24.视频生成
- 当前提供的是生成14帧和25帧的两个模型
25.Mochi视频生成
- Mochi是一个先进的视频生成模型
26.语音模型
- 采用stable_audio_open_1.0的模型,输入为提示词,输出为音乐,其中采用t5_base模型作为提示词的编码器。
可以自己设置时长,当前时长设置为47s