ComfyUI-FaceChain 插件保姆级教程
1. 插件简介
插件地址: https://github.com/THtianhao/ComfyUI-FaceChain
ComfyUI-FaceChain 是一个专门用来做人脸相关处理的插件,就像是给你的 ComfyUI 装了一个专业的"换脸美颜工作室"。这个插件能帮你:
- 换脸融合:把一个人的脸换到另一个人身上,就像电影里的特效一样
- 人脸检测和剪裁:自动找到照片里的脸,然后把脸单独剪出来
- 人脸分割:把人脸和身体分开,就像用橡皮擦把脸抠出来一样
- 风格化处理:给人脸加上各种风格,比如古装、盔甲、卡通等效果
- 面具操作:对人脸区域进行各种精细调整
简单来说,这个插件就是让你在 ComfyUI 里轻松玩转各种人脸特效,不需要复杂的操作就能做出专业级的换脸效果。
2. 如何安装
方法一:直接克隆(推荐)
- 打开你的 ComfyUI 安装目录
- 进入
custom_nodes文件夹 - 在这个文件夹里打开命令行(终端)
- 输入以下命令:
git clone https://github.com/THtianhao/ComfyUI-FaceChain.git
- 重启 ComfyUI
方法二:手动下载
- 访问 https://github.com/THtianhao/ComfyUI-FaceChain
- 点击绿色的 "Code" 按钮,选择 "Download ZIP"
- 解压到 ComfyUI 的
custom_nodes文件夹里 - 重启 ComfyUI
3. 节点详细解析
3.1 FC StyleLoraLoad 节点 - 风格加载器
这个节点就像一个"换装魔法师",它能给你的人脸照片换上各种风格的"衣服",比如古装、现代装、盔甲等等。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 风格名称 | style_name | 下拉选择列表 | 根据需要选择 | 选择你想要的风格效果,就像选衣服一样 | 选择预设的风格模型和对应的LoRA权重 | 选择"盔甲风(Armor)"就能给人物加上银色盔甲效果 |
输出内容:
- MODEL:处理后的模型,就像换了新引擎的汽车
- CLIP:文字理解器,帮助理解你的描述
- VAE:图像编码器,负责图像的编码解码
- style_prompt:风格提示词,自动生成的描述文字
3.2 FC FaceDetectCrop 节点 - 人脸检测剪裁器
这个节点就像一个"智能剪刀",能自动找到照片里的人脸,然后把脸剪出来,就像用美图秀秀的抠图功能一样。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 源图像 | source_image | IMAGE类型 | 必填 | 要处理的原始照片 | 输入的图像数据 | 拖入一张有人脸的照片 |
| 人脸索引 | face_index | 0-10的整数 | 0 | 选择第几张脸,就像排队取号一样 | 当图像中有多个人脸时选择处理哪一个 | 如果照片里有3个人,设置为1就选择第2个人的脸 |
| 剪裁比例 | crop_ratio | 0-10的小数 | 1.0 | 剪裁范围大小,1.0是正好,2.0是放大一倍 | 控制裁剪区域相对于检测到的人脸大小的比例 | 设置1.5会把脸周围更多区域也剪进来 |
| 模式 | mode | normal/square 512 width height | normal | 剪裁方式,normal是按脸型剪,square是剪成正方形 | 裁剪模式选择 | square模式会把脸调整成512x512的正方形 |
| 无脸报错 | error_when_no_face | True/False | False | 找不到脸时是否报错,就像找不到人时要不要喊 | 当检测不到人脸时是否抛出异常 | 设置True时找不到脸会停止运行并报错 |
输出内容:
- IMAGE:剪裁出来的人脸图像
- MASK:人脸区域的遮罩,就像一个模板
- BOX:人脸位置信息,记录脸在哪里
- KEY_POINT:人脸关键点,就像脸部的定位点
3.3 FC FaceFusion 节点 - 人脸融合器
这个节点就像一个"换脸大师",能把一个人的脸换到另一个人身上,效果就像电影里的变脸特效。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 源图像 | source_image | IMAGE类型 | 必填 | 提供脸部特征的照片,就像"脸的模板" | 作为人脸特征来源的图像 | 放入你想要换上去的那张脸的照片 |
| 融合图像 | fusion_image | IMAGE类型 | 必填 | 要被换脸的目标照片,就像"身体的模板" | 作为融合目标的图像 | 放入你想要换脸的那张照片 |
输出内容:
- IMAGE:融合后的图像,就是换脸完成的照片
3.4 FC FaceSegment 节点 - 人脸分割器
这个节点就像一个"智能橡皮擦",能把人脸从照片里精确地"抠"出来,还能分别处理脸部和身体。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 源图像 | source_image | IMAGE类型 | 必填 | 要分割的原始照片 | 输入的图像数据 | 拖入一张人物照片 |
| 边缘扩展1 | ksize | 0-1的小数 | 0 | 脸部边缘的模糊程度,就像羽化效果 | 人脸分割边缘的扩展参数 | 设置0.05会让脸部边缘更柔和 |
| 边缘扩展2 | ksize1 | 0-1的小数 | 0 | 另一个边缘处理参数,配合ksize使用 | 人脸分割边缘的第二个扩展参数 | 通常和ksize设置相同值 |
| 包含脖子 | include_neck | True/False | False | 分割时要不要把脖子也算进去 | 分割结果是否包含颈部区域 | 设置True会把脖子也一起抠出来 |
| 变形遮罩 | warp_mask | MASK类型 | 可选 | 额外的遮罩,用来指定特殊区域 | 可选的变形遮罩输入 | 可以用来指定特殊的分割区域 |
输出内容:
- seg_image:分割后的图像
- soft_mask:柔和遮罩,边缘比较模糊
- human_mask:人体遮罩,包含整个人的轮廓
3.5 FC FaceSegAndReplace 节点 - 人脸分割替换器
这个节点就像一个"高级换脸师",不仅能换脸,还能智能地处理多个人的情况,让换脸效果更自然。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 源图像 | source_image | IMAGE类型 | 必填 | 提供脸部的照片,就像"新脸" | 作为人脸特征来源的图像 | 放入你想要的那张脸 |
| 替换图像 | replace_image | IMAGE类型 | 必填 | 要被换脸的照片,就像"旧脸" | 需要被替换人脸的目标图像 | 放入要被换脸的照片 |
输出内容:
- fusion:基础融合结果
- fusion seg replace:高级分割替换结果,效果更自然
3.6 FC RemoveCannyFace 节点 - 边缘人脸移除器
这个节点就像一个"智能橡皮擦",专门用来从边缘检测图像中擦掉人脸部分,常用于特殊效果处理。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 源图像 | source_image | IMAGE类型 | 必填 | 原始人物照片,用来定位人脸 | 用于检测人脸位置的原始图像 | 放入有人脸的原始照片 |
| 边缘图像 | canny_image | IMAGE类型 | 必填 | 边缘检测后的图像,就像线稿 | 经过Canny边缘检测的图像 | 放入用Canny处理过的线条图 |
输出内容:
- IMAGE:移除人脸区域后的边缘图像
3.7 FC CropBottom 节点 - 底部剪裁器
这个节点就像一个"智能剪刀",专门用来剪掉图片的底部,让图片变成你想要的宽度。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 源图像 | source_image | IMAGE类型 | 必填 | 要剪裁的原始图片 | 输入的图像数据 | 拖入任何图片 |
| 宽度 | width | 0-2048的整数 | 512 | 剪裁后图片的宽度,就像设置画框大小 | 裁剪后图像的目标宽度 | 设置512会把图片宽度调整为512像素 |
输出内容:
- IMAGE:剪裁后的图像
3.8 FC ReplaceByMask 节点 - 遮罩替换器
这个节点就像一个"智能贴纸",能根据遮罩把一张图片的某些部分贴到另一张图片上。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 源图像 | source_image | IMAGE类型 | 必填 | 底层图片,就像画布 | 作为基础的图像 | 放入背景图片 |
| 替换图像 | replace_image | IMAGE类型 | 必填 | 要贴上去的图片,就像贴纸 | 用于替换的图像 | 放入要贴上去的图片 |
| 遮罩 | mask | MASK类型 | 必填 | 决定哪里要贴,就像模板 | 控制替换区域的遮罩 | 白色区域会被替换,黑色区域保持原样 |
输出内容:
- IMAGE:替换后的图像
3.9 FC CropAndPaste 节点 - 剪裁粘贴器
这个节点就像一个"智能拼图师",能把一个人的脸剪下来,然后贴到另一张照片的合适位置上。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模板图像 | template_image | IMAGE类型 | 必填 | 目标照片,就像要贴到的地方 | 作为粘贴目标的模板图像 | 放入你想要贴脸的照片 |
| 人物图像 | human_image | IMAGE类型 | 必填 | 人物照片,就像要剪下来的脸 | 包含要提取人脸的图像 | 放入有人脸的照片 |
输出内容:
- crop_image:剪裁粘贴后的图像
- mask:正向遮罩
- invert_mask:反向遮罩
3.10 FC MaskOP 节点 - 遮罩操作器
这个节点就像一个"遮罩美容师",能对遮罩进行各种美化处理,让边缘更柔和或更清晰。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 遮罩 | mask | MASK类型 | 必填 | 要处理的遮罩,就像要美化的模板 | 输入的遮罩数据 | 拖入任何遮罩 |
| 处理方法 | method | burl/erode/dilate | burl | 处理方式:模糊/收缩/扩张,就像不同的美颜效果 | 遮罩处理的算法类型 | burl让边缘模糊,erode让区域变小,dilate让区域变大 |
| 核心大小 | kernel | 0-100的整数 | 16 | 处理强度,数字越大效果越明显 | 处理核的大小,控制效果强度 | 设置32会让模糊效果更强 |
输出内容:
- MASK:处理后的遮罩
3.11 FC CropToOrigin 节点 - 原图粘贴器
这个节点就像一个"精准贴纸机",能把处理过的人脸精确地贴回到原来的位置上。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 原始图像 | origin_image | IMAGE类型 | 必填 | 最开始的原图,就像画布 | 原始的完整图像 | 放入最初的完整照片 |
| 原始位置框 | origin_box | BOX类型 | 必填 | 人脸在原图中的位置信息 | 原始人脸的边界框坐标 | 来自FaceDetectCrop节点的输出 |
| 原始遮罩 | origin_mask | MASK类型 | 必填 | 人脸区域的遮罩模板 | 原始人脸区域的遮罩 | 来自FaceDetectCrop节点的输出 |
| 粘贴图像 | paste_image | IMAGE类型 | 必填 | 处理后要贴回去的图像 | 经过处理后要粘贴回去的图像 | 放入处理过的人脸图像 |
输出内容:
- IMAGE:粘贴回原图后的最终图像
4. 使用技巧和建议
4.1 基础换脸流程
- 使用 FC FaceDetectCrop 检测并剪裁人脸
- 使用 FC FaceFusion 进行人脸融合
- 如果需要更自然的效果,可以使用 FC FaceSegAndReplace
4.2 风格化人像流程
- 使用 FC StyleLoraLoad 加载想要的风格
- 配合 ComfyUI 的其他生成节点创建风格化图像
- 使用人脸相关节点进行后处理
4.3 精细化处理技巧
- 使用 FC MaskOP 对遮罩进行模糊处理,让融合边缘更自然
- 调整 crop_ratio 参数来控制人脸剪裁的范围
- 使用 include_neck 参数来决定是否包含脖子区域
4.4 多人照片处理
- 使用 face_index 参数选择不同的人脸
- FC FaceSegAndReplace 特别适合处理多人场景
5. 常见问题解答
Q1: 为什么检测不到人脸?
A: 可能的原因:
- 人脸太小或太模糊
- 人脸角度过于倾斜
- 光线太暗或太亮
- 建议使用清晰、正面的人脸照片
Q2: 换脸效果不自然怎么办?
A: 尝试以下方法:
- 使用 FC MaskOP 对遮罩进行模糊处理
- 调整 ksize 参数让边缘更柔和
- 使用 FC FaceSegAndReplace 而不是简单的 FC FaceFusion
Q3: 如何处理多个人脸?
A:
- 使用 face_index 参数选择不同的人脸(0是第一个,1是第二个,以此类推)
- 可以多次使用节点分别处理每个人脸
Q4: 风格加载失败怎么办?
A:
- 确保网络连接正常(需要下载模型文件)
- 检查 ComfyUI 的模型文件夹权限
- 重启 ComfyUI 后再试
Q5: 内存不足怎么办?
A:
- 降低输入图像的分辨率
- 关闭其他占用内存的程序
- 如果是显存不足,可以尝试使用CPU模式
6. 高级应用场景
6.1 批量人脸处理
可以结合 ComfyUI 的批处理功能,对多张照片进行批量换脸处理。
6.2 视频人脸替换
虽然插件主要针对图像,但可以配合视频帧提取工具进行视频换脸。
6.3 艺术创作
结合各种风格模型,可以创作出独特的艺术人像作品。
6.4 产品展示
可以用于电商产品展示,快速更换模特脸部。
7. 注意事项
- 版权和隐私:请确保你有权使用相关人物的肖像,遵守当地法律法规
- 计算资源:人脸处理需要较多计算资源,建议使用性能较好的显卡
- 图像质量:输入图像质量越高,处理效果越好
- 模型下载:首次使用某些风格时需要下载模型文件,请保持网络畅通
8. 总结
ComfyUI-FaceChain 插件为 ComfyUI 用户提供了强大的人脸处理能力,从基础的人脸检测到高级的风格化处理,涵盖了人脸处理的各个方面。通过合理组合这些节点,你可以创造出令人惊艳的人脸特效作品。
记住,熟练掌握这个插件需要多多练习,建议从简单的换脸开始,逐步尝试更复杂的效果。祝你在 ComfyUI 的人脸处理之旅中玩得开心!