ComfyUI-Faceless-Node 插件完整保姆级教程
1. 插件简介
ComfyUI-Faceless-Node 是一个专门用来处理人脸的超强插件,简单来说就是一个"人脸魔法工具包"。这个插件的厉害之处在于:
- 换脸功能:可以把A的脸换到B的身体上,就像变魔术一样
- 人脸修复:能把模糊、破损的脸部照片修复得清晰自然
- 支持图片和视频:不仅能处理照片,还能处理视频文件
- 高质量输出:处理后的效果非常自然,几乎看不出是人工处理的
插件GitHub原地址:https://github.com/jeffy5/comfyui-faceless-node
这个插件基于 FaceFusion 技术开发,相当于把复杂的人脸处理技术变成了简单易用的积木块,让你在 ComfyUI 里面拖拖拽拽就能实现专业级的人脸处理效果。
2. 如何安装
方法一:通过 ComfyUI Manager 安装(推荐)
- 打开 ComfyUI,点击右下角的"Manager"按钮
- 在弹出的窗口中点击"Install Custom Nodes"
- 搜索"faceless",找到这个插件点击安装
- 安装完成后重启 ComfyUI
方法二:手动安装
- 打开你的 ComfyUI 安装目录
- 进入
ComfyUI/custom_nodes文件夹 - 在命令行中输入:
git clone https://github.com/jeffy5/comfyui-faceless-node cd comfyui-faceless-node pip install -r requirements.txt
下载必要的模型文件
安装完插件后,你还需要下载一些"大脑文件"(模型),这些文件告诉插件如何识别和处理人脸:
- 进入
ComfyUI/custom_nodes/comfyui-faceless-node目录 - 运行下载脚本:
# 下载基础模型(推荐) python download_models.py # 下载所有模型(文件较大) python download_models.py --all
模型文件会自动下载到 ComfyUI/models/faceless 目录中。
3. 节点详细解析
这个插件主要包含以下几个核心节点:
3.1 FacelessImageFaceSwap 节点 - 图片换脸神器
这个节点就像一个"换脸照相机",能把一张照片里的脸换成另一张照片里的脸。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 原图输入 | source_image | IMAGE | - | 这是你要换脸的那张照片,比如想把明星的脸换到这张照片上 | 源图像输入,提供目标脸部区域 | 连接一个载入图片的节点 |
| 脸部来源 | face_image | IMAGE | - | 这是提供新脸的那张照片,比如明星的自拍照 | 提供用于替换的人脸图像 | 连接另一个载入图片的节点 |
| 脸部选择 | source_face_index | INT | 0 | 如果原图里有多张脸,这里选择换哪一张(0是第一张脸) | 指定源图像中要替换的人脸索引 | 一般保持默认0,除非照片里有多人 |
| 目标脸部 | target_face_index | INT | 0 | 如果脸部来源图片里有多张脸,选择用哪一张来换 | 指定目标图像中用于替换的人脸索引 | 一般保持默认0 |
| 换脸强度 | blend_strength | FLOAT | 0.8 | 控制换脸的"用力程度",像调节透明度,1.0是完全换掉 | 融合强度,控制面部替换的程度 | 0.6-0.9之间效果最自然 |
3.2 FacelessImageFaceRestore 节点 - 图片人脸修复大师
这个节点就像一个"美容院",专门修复模糊、破损、低质量的人脸照片。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输入图片 | input_image | IMAGE | - | 需要修复的那张脸部照片,可能是模糊的或者像素不够的 | 待修复的输入图像 | 连接载入图片节点 |
| 修复强度 | restore_strength | FLOAT | 0.8 | 控制修复的"用力程度",就像美颜程度,1.0是最大修复 | 人脸修复的强度参数 | 0.6-0.9之间比较自然 |
| 脸部检测 | face_detection | BOOLEAN | True | 是否自动找到照片中的脸部区域进行修复 | 是否启用人脸检测功能 | 一般保持开启 |
| 增强质量 | enhance_quality | BOOLEAN | True | 是否对修复后的脸部进行额外的质量提升 | 是否启用质量增强处理 | 建议开启以获得更好效果 |
3.3 FacelessVideoFaceSwap 节点 - 视频换脸魔法师
这个节点就像一个"视频换脸工厂",能把整个视频中某个人的脸全部换成另一个人的脸。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 视频输入 | video_input | VIDEO | - | 要换脸的视频文件,比如一段对话视频 | 源视频输入 | 连接视频载入节点 |
| 脸部来源 | face_image | IMAGE | - | 新脸的照片,这张脸会出现在整个视频中 | 提供替换脸部的图像 | 连接图片载入节点 |
| 源脸索引 | source_face_index | INT | 0 | 视频中要换掉的是哪张脸(如果有多人的话) | 指定视频中要替换的人脸 | 默认0代表第一个检测到的脸 |
| 目标脸索引 | target_face_index | INT | 0 | 用来替换的脸部照片中选择哪张脸 | 指定用于替换的人脸 | 默认0就可以 |
| 换脸强度 | blend_strength | FLOAT | 0.8 | 控制换脸效果的强烈程度 | 面部融合强度 | 0.7-0.9之间效果最好 |
| 帧率保持 | maintain_fps | BOOLEAN | True | 是否保持原视频的播放速度 | 是否维持原始帧率 | 建议保持开启 |
3.4 FacelessVideoFaceRestore 节点 - 视频人脸修复专家
这个节点就像一个"视频美容院",能修复视频中每一帧的人脸质量。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 视频输入 | video_input | VIDEO | - | 需要修复的视频文件 | 待修复的视频输入 | 连接视频载入节点 |
| 修复强度 | restore_strength | FLOAT | 0.7 | 控制修复程度,太高可能会显得不自然 | 人脸修复强度 | 0.5-0.8之间比较合适 |
| 批处理大小 | batch_size | INT | 1 | 一次处理多少帧,数字越大速度越快但吃内存 | 批处理帧数 | 根据显卡内存调整,8G显存建议1-2 |
| 质量增强 | quality_enhance | BOOLEAN | True | 是否进行额外的质量提升 | 是否启用质量增强 | 建议开启 |
3.5 FacelessFaceDetector 节点 - 人脸侦探
这个节点就像一个"人脸侦探",专门负责在照片或视频中找到人脸的位置。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输入图片 | input_image | IMAGE | - | 要检测人脸的图片 | 输入图像 | 连接载入图片节点 |
| 检测阈值 | detection_threshold | FLOAT | 0.5 | 多敏感才算发现了人脸,0.5就是50%确定度 | 人脸检测的置信度阈值 | 0.3-0.7之间,太低会误检 |
| 最大人脸数 | max_faces | INT | 10 | 最多检测多少张脸 | 最大检测人脸数量 | 根据实际需要调整 |
| 显示框框 | show_boxes | BOOLEAN | False | 是否在检测到的脸上画个框框 | 是否显示检测框 | 调试时开启,正式使用关闭 |
3.6 FacelessAgeGender 节点 - 年龄性别分析师
这个节点就像一个"看相先生",能分析照片中人物的年龄和性别。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输入图片 | input_image | IMAGE | - | 要分析的照片 | 输入图像 | 连接载入图片节点 |
| 脸部索引 | face_index | INT | 0 | 如果有多张脸,分析哪一张 | 指定要分析的人脸索引 | 0代表第一张脸 |
| 输出格式 | output_format | STRING | "text" | 结果以什么形式输出(文字或数字) | 输出格式类型 | "text"更容易理解 |
4. 使用技巧和建议
4.1 换脸效果最佳实践
- 选择合适的照片:两张照片中的人脸角度要尽量相似,正面对正面效果最好
- 光线条件:两张照片的光线条件越接近,换脸效果越自然
- 分辨率匹配:尽量使用相似分辨率的照片,避免一张超清一张模糊
- 调节强度:不要把 blend_strength 设得太高,0.7-0.9 之间通常效果最自然
4.2 人脸修复技巧
- 逐步修复:对于严重损坏的照片,可以设置较低的 restore_strength(0.5-0.6),多次修复
- 保持原始特征:不要把修复强度设得太高,否则可能改变人物的原始面部特征
- 配合其他节点:修复后可以配合图像锐化或降噪节点进一步优化
4.3 视频处理建议
- 预处理:处理视频前先用几帧测试效果和参数
- 内存管理:视频处理很吃内存,建议关闭其他程序
- 分段处理:对于很长的视频,可以考虑分段处理再合并
- 格式选择:输出格式建议选择 MP4,兼容性最好
5. 常见问题解答
Q1:为什么换脸效果不自然?
A1: 通常是以下原因:
- 两张照片的角度差异太大
- 光线条件不匹配
- blend_strength 设置过高
- 源图像质量不佳
解决方法:
- 选择角度相似的照片
- 调低 blend_strength 到 0.6-0.8
- 使用质量更好的源图像
Q2:人脸检测不到怎么办?
A2: 可能的原因:
- 图片中的人脸太小
- 人脸角度过于侧面
- 图片质量太低
- detection_threshold 设置过高
解决方法:
- 调低 detection_threshold 到 0.3-0.4
- 使用更清晰的图片
- 确保人脸占图片合理比例
Q3:视频处理速度太慢怎么办?
A3: 优化方法:
- 降低视频分辨率
- 减少 batch_size
- 关闭不必要的质量增强选项
- 使用更好的显卡
Q4:模型下载失败怎么办?
A4: 解决步骤:
- 检查网络连接
- 尝试使用 VPN
- 手动下载模型文件到指定目录
- 检查磁盘空间是否充足
Q5:输出结果在哪里找?
A5:
- 图片输出:通常在 ComfyUI 的 output 文件夹中
- 视频输出:在
output/faceless目录中 - 可以通过 Save Image 或 Save Video 节点指定输出位置
6. 工作流程示例
6.1 基础换脸工作流程
载入图片A → FacelessImageFaceSwap → 保存图片
↗ ↑
载入图片B ──────────────────┘
6.2 人脸修复工作流程
载入图片 → FacelessImageFaceRestore → 保存图片
6.3 组合使用工作流程
载入图片A → FacelessImageFaceSwap → FacelessImageFaceRestore → 保存图片
↗ ↑
载入图片B ──────────────────┘
7. 注意事项
7.1 伦理使用
- 请确保您有权使用所涉及的人脸图像
- 不要用于恶意目的,如制作虚假信息
- 遵守当地法律法规
7.2 性能要求
- 推荐使用带有至少 8GB 显存的显卡
- 处理高分辨率图片或视频需要更多内存
- 首次使用会下载大量模型文件(几GB)
7.3 版本兼容性
- 该插件还在开发中,未来版本可能有不兼容的改动
- 建议定期备份您的工作流程
- 遇到问题可以到 GitHub 页面反馈
这个插件为 ComfyUI 带来了强大的人脸处理能力,无论是创作内容还是修复老照片,都能发挥巨大的作用。记住,熟练掌握需要多多练习,建议从简单的换脸开始,逐步尝试更复杂的功能!