ComfyUI_Diffree插件保姆级教程
1. 插件简介
ComfyUI_Diffree是一个专门用于文本引导自由形状物体修补的插件,原版GitHub地址:https://github.com/smthemex/ComfyUI_Diffree
这个插件就像是一个超级智能的"橡皮擦+画笔"工具组合。想象一下,你有一张照片,想要把里面的某个物体擦掉,然后用文字描述替换成新的东西。比如把照片里的汽车擦掉,然后用文字"一匹马"来替换,插件就会自动在原来汽车的位置画出一匹马,而且看起来就像原本就在那里一样自然。
能给我们带来什么效果: - 智能物体替换:把照片中不想要的东西换成想要的东西 - 自然修补:修补后的效果看起来很自然,不像是后期加工的 - 文字控制:只需要用文字描述就能控制想要的效果
2. 如何安装
方法一:使用ComfyUI Manager(推荐新手)
- 打开ComfyUI界面
- 点击右侧的"Manager"按钮
- 搜索"Diffree"
- 点击"Install"按钮
方法二:手动安装
- 打开你的ComfyUI文件夹
- 找到
custom_nodes文件夹 - 在这个文件夹里打开命令行(在文件夹空白处按住Shift键,然后右键点击,选择"在此处打开命令窗口")
- 输入以下命令:
git clone https://github.com/smthemex/ComfyUI_Diffree.git
- 安装依赖库:
pip install -r requirements.txt
下载必需的模型文件
- 下载模型文件:diffree-step=000010999.ckpt
- 把这个文件放到:
ComfyUI/models/checkpoints/文件夹里
3. 节点详解
3.1 Diffree_LoadModel 节点(模型加载器)
这个节点就像是一个"工具箱开启器",它负责把我们需要的AI模型加载到内存里,让后面的节点能够使用。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model_path | model_path | 文件路径 | diffree-step=000010999.ckpt | 就像选择要使用的工具箱,告诉系统要用哪个AI模型 | 指定Diffree模型文件的路径 | 在下拉菜单中选择你下载的模型文件 |
| device | device | cpu/cuda | cuda | 选择用什么来运行,cpu就像用人脑算,cuda就像用专业计算器 | 指定模型运行的设备类型 | 有显卡选cuda,没显卡选cpu |
| dtype | dtype | float16/float32 | float16 | 计算精度,16就像用简化版计算,32就像用精确版计算 | 数据类型精度设置 | 显卡内存少选float16,显卡内存多选float32 |
3.2 Diffree_Inpaint 节点(智能修补节点)
这个节点就是整个插件的核心,像是一个"魔法画笔",能够根据你的文字描述来修补图片。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| image | image | 图片输入 | - | 要修改的原始照片,就像给画家一张草稿 | 输入待处理的图像数据 | 连接一个图片加载节点 |
| mask | mask | 蒙版输入 | - | 告诉系统要修改图片的哪个部分,就像用胶带贴住不想涂的地方 | 指定需要修复的区域掩码 | 连接一个蒙版生成节点 |
| prompt | prompt | 文本输入 | - | 用文字描述你想要的效果,就像给画家下指令 | 文本提示词,描述期望生成的内容 | 输入"一只小猫"、"蓝色的汽车"等 |
| negative_prompt | negative_prompt | 文本输入 | - | 告诉系统不要生成什么,就像告诉画家"不要画成这样" | 负面提示词,描述不希望出现的内容 | 输入"模糊的"、"低质量的"等 |
| steps | steps | 1-100 | 20 | 生成过程的步数,就像画家修改画作的次数,步数越多越精细 | 扩散模型的迭代步数 | 质量要求高设置30-50,速度要求快设置10-20 |
| cfg_scale | cfg_scale | 1.0-20.0 | 7.5 | 听话程度,数值越大越严格按照你的描述来画 | 分类器自由引导强度 | 想要严格按描述生成设置10-15,想要更自然设置5-8 |
| seed | seed | -1或正整数 | -1 | 随机种子,就像抽奖的号码,相同号码会得到相同结果 | 控制随机性的种子值 | 想要随机效果设置-1,想要固定效果设置具体数字 |
| width | width | 256-1024 | 512 | 生成图片的宽度,就像画布的宽度 | 输出图像的宽度像素 | 根据原图大小调整,推荐512或768 |
| height | height | 256-1024 | 512 | 生成图片的高度,就像画布的高度 | 输出图像的高度像素 | 根据原图大小调整,推荐512或768 |
3.3 Diffree_PreProcess 节点(图片预处理节点)
这个节点就像是一个"图片整理师",负责把输入的图片调整到合适的大小和格式,让后面的处理更顺畅。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| image | image | 图片输入 | - | 要处理的原始图片,就像给洗衣机放衣服 | 输入的原始图像数据 | 连接图片加载节点 |
| resize_mode | resize_mode | crop/pad/stretch | crop | 调整图片大小的方式,crop是裁剪,pad是填充,stretch是拉伸 | 图像尺寸调整方式 | 想保持比例用crop,想保持完整用pad |
| target_size | target_size | 256-1024 | 512 | 目标尺寸,就像选择照片的打印尺寸 | 输出图像的目标尺寸 | 根据后续处理需要选择,推荐512 |
3.4 Diffree_PostProcess 节点(图片后处理节点)
这个节点就像是一个"照片修整师",负责把生成的图片进行最后的美化和调整。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| image | image | 图片输入 | - | 经过处理的图片,就像从洗衣机拿出的衣服 | 输入的处理后图像 | 连接前面节点的输出 |
| enhance_quality | enhance_quality | True/False | True | 是否提升画质,就像给照片加美颜滤镜 | 是否进行图像质量增强 | 想要更好效果选True,想要快速处理选False |
| smooth_edges | smooth_edges | True/False | True | 是否平滑边缘,就像用橡皮擦把边缘擦得更自然 | 是否对边缘进行平滑处理 | 修补区域边缘不自然时选True |
| color_correction | color_correction | True/False | True | 是否调整颜色,让新生成的部分和原图颜色更匹配 | 是否进行颜色校正 | 想要颜色更协调选True |
4. 使用技巧和建议
4.1 基本使用流程
- 加载模型:先用Diffree_LoadModel节点加载AI模型
- 准备图片:用Diffree_PreProcess节点处理你的原图
- 创建蒙版:用画图工具或其他节点创建蒙版,标记要修改的区域
- 智能修补:用Diffree_Inpaint节点进行主要的修补工作
- 后期处理:用Diffree_PostProcess节点进行最后的优化
4.2 参数调优建议
- 新手建议:刚开始使用时,大部分参数用默认值就可以
- 步数设置:一般情况下20-30步就够了,不需要设置太高
- 尺寸选择:推荐使用512x512,这是模型训练时的最佳尺寸
- 描述文字:尽量用简单明确的词语,比如"红色汽车"比"鲜艳的红色跑车"更好
4.3 常见应用场景
- 物体替换:把照片中的汽车换成马匹
- 背景修复:去除照片中的路人或杂物
- 创意合成:在现有场景中添加新的元素
5. 常见问题解答
5.1 安装相关问题
Q:安装时提示"找不到模型文件"怎么办?
A:检查模型文件是否正确放置在ComfyUI/models/checkpoints/文件夹中,文件名必须是diffree-step=000010999.ckpt。
Q:提示缺少某个库怎么办?
A:打开nou_need_requirements.txt文件,查看缺少的库,然后用pip install命令安装。
5.2 使用相关问题
Q:生成的图片质量不好怎么办? A:尝试以下方法: - 增加steps参数到30-50 - 调整cfg_scale到10-15 - 确保输入图片质量良好 - 使用更精确的文字描述
Q:修补区域边缘不自然怎么办? A:在Diffree_PostProcess节点中开启smooth_edges选项,同时确保蒙版边缘不要太硬。
Q:颜色不匹配怎么办? A:在Diffree_PostProcess节点中开启color_correction选项,让新生成的部分和原图颜色更协调。
5.3 性能相关问题
Q:运行很慢怎么办? A:尝试以下方法: - 使用cuda而不是cpu - 降低图片尺寸到320x320 - 使用float16而不是float32 - 减少steps参数
Q:显卡内存不够怎么办? A: - 设置dtype为float16 - 降低图片尺寸 - 关闭其他占用显卡的程序
6. 进阶技巧
6.1 多次修补技巧
如果一次修补效果不理想,可以多次使用: 1. 第一次修补后保存结果 2. 用这个结果作为新的输入图片 3. 重新创建蒙版 4. 再次进行修补
6.2 蒙版制作技巧
- 蒙版边缘要柔和,避免过于尖锐
- 蒙版区域不要太大,否则生成效果可能不稳定
- 可以使用羽化效果让边缘更自然
6.3 提示词技巧
- 使用具体的形容词,如"红色的"、"圆形的"
- 避免过于复杂的描述
- 可以参考其他AI绘画工具的提示词写法
这个插件特别适合那些想要进行图片修补和创意合成的朋友。记住,多练习多尝试,你会发现这个工具的强大之处!