{WebUI&comfyUI}∈Stable Diffuision,所以两者关于ContrlNet的使用方法的核心思路不会变,变的只是comfyUI能够让用户更直观地看到,并且控制生图的局部过程。
之前的webUI中涉及到ContrlNet部分知识:SD-细节控制-CSDN博客
概括来说: ControlNet中最常用的还是姿势控制,线条约束以及深度控制
模型说明
SD1.5使用512*512的数据集进行训练,SDXL使用1024*1024的数据集进行训练。所以让SD1.5直接生成1024*1024的图片较为困难。
1.线稿上色
在加载ControlNet节点中有众多模型,不同的模型的使用条件不一。
在基础文生图工作流间增加ControlNet节点,实现对图像的控制。
1.1模型分类
简单对吐司上该节点中具有的模型进行分类。
1. 基础控制类型:(Canny-边缘, Depth-深度图, OpenPose-姿态, Scribble-涂鸦, Normal-法线图, Seg-语义分割, hand_pose-手部关键点, Tile-分块, brightness-亮度控制, qrcode-生成艺术二维码等)
2. 模型架构/版本(SD15, SDXL, SD3, AnimateDiff, 等)
3. 特殊功能(Inpainting-修复, Illumination-光照控制 ,CoAdapter-多条件联合控制, IP-Adapter-用参考图控制风格, InstantID-人脸身份保留等)
4. 风格适配(Anime-动漫, Realistic-真实等)
5. 多合一综合模型(Union, Pro等)
控制类型 | 代表模型 | 用途 |
---|---|---|
边缘检测 | *canny*.safetensors , control_v1lp_sd15_canny.pth | 保留物体轮廓(如建筑设计/产品图) |
深度图 | *depth*.safetensors , control_v1lf1p_sd15_depth.pth | 空间关系控制(场景层次感/景深效果) |
姿态控制 | OpenPoseXL.safetensors , control_v1lp_sd15_openpose.pth | 人体姿势生成(角色设计/动作捕捉) |
涂鸦控制 | *scribble*.safetensors , control_sd15_scribble.pth | 草图转精细图(手绘概念设计) |
分块处理 | *tile*.safetensors , control_v1lfle_sd15_tile.pth | 局部细节增强(高清纹理/无损放大) |
修复专用 | *inpaint*.safetensors , control_sd15_inpaint*.pth | 图像修补(去水印/物体移除) |
风格适配 | ip-adapter*.pth , *anime*.safetensors | 风格迁移(照片转动漫/艺术风格) |
二维码艺术 | *qrcode*.safetensors | 创意二维码生成 |
光照控制 | illumination*.safetensors | 光影效果调整(打光模拟/HDR效果) |
新手一开始看到众多模型会很头大,其实不必纠结这个,可以向d老师进行提问,从名称对模型有初步的认识,基于此筛选掉一部分模型后,再直接上手使用该模型。
在使用模型时仍然需要前往模型作者主页查看该模型作者关于模型的说明。
如lz当前使用的模型原作者就对采样算法,采样步数,正负面提示词方面进行了说明。
1.2组合案例
1. 真人转插画
控制图:Canny边缘
模型:`control_v1lp_sd15_canny.pth` + 动漫主模型
提示词:`anime style, masterpiece`
2. 建筑设计
控制图:深度图
模型:`control_v1lf1p_sd15_depth.pth`
提示词:`modern architecture, sunlight`
3. 虚拟换装
控制图:OpenPose姿势图
模型:`OpenPoseXL2.safetensors`
提示词:`fashion photo, [服装描述]`
4. 老照片修复
控制图:涂鸦草图 + Inpainting遮罩
模型:`control_sd15_inpaint_depth_hand_fp16.safetensors`
提示词:`old photo, high detail, 4K`
5. 多ControlNet串联: 姿势(OpenPose) + 深度(Depth) + 风格(IP-Adapter) 同时控制。
6. Tile分块控制: 用`TTPLANET_Controller_Tile`放大局部细节不改变构图。
7. 动态视频控制: AnimateDiff模型 + 运动控制CKPT生成连贯动画。
模型命名中的`fp16`/`rank256`表示优化版本(显存需求更低)。
1.3线稿获取-lineart
利用Img2LineArt Assistant节点将图片转换为线稿。
输入ControlNet中的图片要求为黑底白边,此处为考虑到多种情况同时使用了2个节点对图片进行了处理,uu们可以根据需要适当保留一个line节点即可。
原有画面可能含有较多细节,精度设置得过高可能会导致线稿提取到的细节过多
可以选择用PS画笔工具将背景进行涂抹。减少背景对画面的干扰。
但仍然注意到画面保留了较多细节。可以选择适当降低details值,减少画面细节。
下图为其他值相同,details值不同得出的结果。
1.4图片大小控制
通过获取图像尺寸节点得到原图像的大小,将空Latent中转换为输入节点。
其实工作流的搭建并不是最难的,难的是不同类型之间的模型的相互匹配。同时需要具备处理异常画面的思考能力。以及参考图片大小和目标模型之间是否配适。这个过程需要不断摸索。
lz一开始的参考图为2000*2000px,这个尺寸的图片如果用1.5的模型是完全无法生成的,于是将图片尺寸改为512*512,但是提取的线稿不够精细,生成的图片会丢失过多细节,于是lz取消了原图和生成图片之间的尺寸关联,用2000*2000的图片进行线稿提取,用512*512的分辨率生成图片。这之中还得不断更换模型进行尝试,以及调整数据。
最终勉强得到几张能看的图, 但生成的图片精细度仍然不够,且会把角色的耳羽和头发混为一谈。
结合使用高清放大节点对图片进行二次处理:comfyUI-高清放大1-CSDN博客
同时基于角色特性,lz决定再加一个LoRA模型,平台的LoRA效果也不是很好。。。
1.5软边缘-softedge
softedge一般用于风格转绘,或者基于原图的线条特征对画面进行整体细节改变。
HED模糊线预处理器的功能和LineArtStandard艺术线预处理器类似。uu们可以尝试一般性的人物角色,使用该方法对画面人物进行风格上的转化。
看样子不太适合鸡翅膀女孩。。。
更换图像后生成效果
完整工作流:ControlNet中的softedge+lineart使用案例 | ComfyUI Workflow | 吐司 tusiart.com
uu们可以将该功能和与自身的工作流结合
功能性节点summary
以下节点可以在其他情况下进行复用
1.获取图像大小
2.图像转化为线稿
只有意志力坚强的人才能到达永生的彼岸。——来点鸡汤8
以上end