ComfyUI_FaceAnalysis 插件保姆级教程
1. 插件简介
插件地址: https://github.com/cubiq/ComfyUI_FaceAnalysis
这个插件就像是一个专业的人脸分析师,能够对照片中的人脸进行各种高级分析和处理。想象一下,你有一个超级厉害的助手,能够:
- 识别人脸相似度 - 就像警察用的人脸识别系统,能告诉你两张脸有多像
- 提取人脸区域 - 就像用剪刀精确地把人脸从照片中剪出来
- 分析人脸特征 - 能找到眼睛、鼻子、嘴巴的精确位置
- 人脸对齐 - 能把歪着的脸摆正
- 人脸变形 - 能把一张脸的形状"贴"到另一张脸上
这个插件特别适合用来:
- 检查生成的人脸图片质量如何
- 批量处理人脸照片
- 制作人脸特效
- 进行人脸研究和分析
2. 如何安装
2.1 下载插件
- 打开你的 ComfyUI 安装目录
- 进入
custom_nodes文件夹 - 在这里下载插件:
git clone https://github.com/cubiq/ComfyUI_FaceAnalysis.git
2.2 安装依赖包
进入插件文件夹,安装必要的软件包:
cd ComfyUI_FaceAnalysis
pip install -r requirements.txt
2.3 下载模型文件
这个插件支持两种人脸分析引擎,你可以选择其中一种或两种都安装:
选择1:DLib 引擎(推荐新手)
下载以下模型文件并放到插件的 dlib 文件夹中:
选择2:InsightFace 引擎(功能更强)
安装 InsightFace:
pip install insightface
选择3:AuraFace 引擎(免费替代)
下载 AuraFace 模型 并放到 models/insightface/models/auraface/ 目录中。
3. 节点详细解析
当前插件包含节点总数:6 个
本次解析节点数:6 个
剩余未解析节点数:0 个
3.1 FaceAnalysisModels 节点 - 加载人脸分析模型
这个节点就像是给你的人脸分析师配备工具箱,选择用什么工具来分析人脸。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| library | library | insightface/auraface/dlib | dlib | 选择用哪种人脸分析工具,就像选择用哪个牌子的放大镜 | 指定使用的人脸分析库类型 | dlib适合新手,insightface功能更强,auraface是免费版本 |
| provider | provider | CPU/CUDA/DirectML/OpenVINO/ROCM/CoreML | CPU | 选择用什么硬件来计算,就像选择用手算还是用计算器 | 指定计算设备提供商 | CPU适合所有电脑,CUDA适合NVIDIA显卡,DirectML适合Windows |
3.2 FaceBoundingBox 节点 - 人脸边界框检测
这个节点就像是一个智能相框,能自动找到照片中的人脸并把它们"框"起来,然后剪切出来。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| analysis_models | analysis_models | ANALYSIS_MODELS | - | 连接人脸分析模型,就像给相框配备识别器 | 输入已加载的人脸分析模型对象 | 连接"加载人脸分析模型"节点的输出 |
| image | image | IMAGE | - | 要检测人脸的照片 | 输入需要进行人脸检测的图像数据 | 连接你要分析的照片 |
| padding | padding | 0-4096 | 0 | 在人脸周围额外留多少像素的边框,就像相框的宽度 | 人脸边界框的像素填充值 | 设置为20会在人脸周围多留20像素的空间 |
| padding_percent | padding_percent | 0.0-2.0 | 0.0 | 按人脸大小的百分比来留边框,就像按比例放大相框 | 人脸边界框的百分比填充值 | 设置为0.1会增加10%的边框空间 |
| index | index | -1-4096 | -1 | 如果有多张脸,选择第几张脸(-1表示全部要) | 指定要提取的人脸索引号 | 0表示第一张脸,1表示第二张脸,-1表示所有脸 |
3.3 FaceEmbedDistance 节点 - 人脸相似度计算
这个节点就像是一个专业的"看脸师",能够精确计算两张脸有多相似,给出一个数字分数。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| analysis_models | analysis_models | ANALYSIS_MODELS | - | 连接人脸分析模型 | 输入已加载的人脸分析模型对象 | 连接"加载人脸分析模型"节点的输出 |
| reference | reference | IMAGE | - | 参考照片,就像是标准答案 | 输入作为比较基准的参考图像 | 连接你要作为标准的照片 |
| image | image | IMAGE | - | 要比较的照片,就像是要打分的试卷 | 输入需要与参考图像比较的图像 | 连接你要检查相似度的照片 |
| similarity_metric | similarity_metric | L2_norm/cosine/euclidean | cosine | 选择计算相似度的方法,就像选择不同的评分标准 | 指定相似度计算的数学方法 | cosine适合大多数情况,L2_norm更严格,euclidean是欧式距离 |
| filter_thresh | filter_thresh | 0.001-100.0 | 100.0 | 过滤阈值,只显示相似度高于这个数值的照片 | 相似度过滤的阈值设定 | 设置为0.5只显示相似度高于0.5的照片 |
| filter_best | filter_best | 0-4096 | 0 | 只保留最相似的几张照片,就像只要前几名 | 保留最佳匹配结果的数量 | 设置为3只保留最相似的3张照片 |
| generate_image_overlay | generate_image_overlay | True/False | True | 是否在照片上显示相似度分数,就像在照片上贴标签 | 是否在输出图像上叠加相似度信息 | True会在照片上显示分数,False只计算不显示 |
3.4 FaceAlign 节点 - 人脸对齐
这个节点就像是一个自动摆正器,能够根据眼睛的位置把歪着的脸摆正,让所有人脸都保持同样的角度。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| analysis_models | analysis_models | ANALYSIS_MODELS | - | 连接人脸分析模型 | 输入已加载的人脸分析模型对象 | 连接"加载人脸分析模型"节点的输出 |
| image_from | image_from | IMAGE | - | 要摆正的照片,就像是歪着的相框 | 输入需要进行对齐处理的源图像 | 连接你要摆正的照片 |
| image_to | image_to | IMAGE | 可选 | 参考照片,告诉系统要摆成什么角度 | 可选的目标对齐参考图像 | 如果有标准角度的照片可以连接,没有就不用连 |
3.5 FaceSegmentation 节点 - 人脸分割
这个节点就像是一个精密的手术刀,能够精确地把人脸的不同部位(眼睛、鼻子、嘴巴等)分别"切"出来。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| analysis_models | analysis_models | ANALYSIS_MODELS | - | 连接人脸分析模型 | 输入已加载的人脸分析模型对象 | 连接"加载人脸分析模型"节点的输出 |
| image | image | IMAGE | - | 要分割的照片 | 输入需要进行人脸分割的图像 | 连接你要处理的照片 |
| area | area | 多种选项 | face | 选择要分割出哪个部位,就像选择要切哪块蛋糕 | 指定要分割的人脸区域类型 | face是整张脸,eyes是眼部,nose是鼻子,mouth是嘴巴 |
| grow | grow | -4096-4096 | 0 | 让分割区域变大或变小,就像调整切割范围 | 分割区域的扩展或收缩像素数 | 正数让区域变大,负数让区域变小 |
| grow_tapered | grow_tapered | True/False | False | 扩展时是否要圆滑过渡,就像选择尖角还是圆角 | 区域扩展时是否使用锥形过渡 | True会让边缘更自然,False是直角扩展 |
| blur | blur | 1-4096 | 13 | 边缘模糊程度,就像调节羽化效果 | 分割边缘的模糊半径 | 数值越大边缘越模糊,越小边缘越锐利 |
3.6 FaceWarp 节点 - 人脸变形
这个节点就像是一个神奇的"换脸术",能够把一张脸的形状特征"移植"到另一张脸上,创造出混合效果。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| analysis_models | analysis_models | ANALYSIS_MODELS | - | 连接人脸分析模型 | 输入已加载的人脸分析模型对象 | 连接"加载人脸分析模型"节点的输出 |
| image_from | image_from | IMAGE | - | 源照片,提供脸型特征的照片 | 输入作为变形源的图像 | 连接你要"借用"脸型的照片 |
| image_to | image_to | IMAGE | - | 目标照片,要被改变脸型的照片 | 输入作为变形目标的图像 | 连接你要改变脸型的照片 |
| keypoints | keypoints | 三种选项 | main features | 选择用哪些特征点来变形,就像选择参考哪些部位 | 指定用于变形的关键点类型 | main features只用主要特征,full face用整张脸 |
| grow | grow | -4096-4096 | 0 | 调整变形区域大小 | 变形区域的扩展或收缩像素数 | 正数让变形区域更大,负数让区域更小 |
| blur | blur | 1-4096 | 13 | 变形边缘的模糊程度,让过渡更自然 | 变形边缘的模糊半径 | 数值越大过渡越自然,越小边界越明显 |
4. 使用技巧和建议
4.1 模型选择建议
- 新手用户:推荐使用 DLib,安装简单,功能够用
- 高级用户:推荐使用 InsightFace,功能更强大,精度更高
- 预算有限:可以使用 AuraFace,免费且效果不错
4.2 相似度计算技巧
- cosine 方法适合大多数情况,结果比较稳定
- L2_norm 方法比较严格,适合高精度要求
- euclidean 方法是传统方法,适合学术研究
4.3 人脸分割技巧
- 处理高分辨率图片时,适当增加 blur 值让边缘更自然
- 如果分割区域太小,可以增加 grow 值
- 使用 grow_tapered 可以让扩展更自然
4.4 性能优化建议
- CPU 模式适合所有电脑,但速度较慢
- 有 NVIDIA 显卡的用户建议使用 CUDA 模式
- 批量处理时建议使用较小的图片尺寸
5. 常见问题解答
5.1 安装问题
Q: 提示找不到模型文件怎么办?
A: 确保按照说明下载了所有必要的模型文件,并放在正确的文件夹里。DLib 模型放在 dlib 文件夹,InsightFace 模型放在 models/insightface 文件夹。
Q: 安装 InsightFace 失败怎么办?
A: 可能需要先安装 Visual Studio Build Tools(Windows)或者使用预编译版本。也可以选择使用 DLib 替代。
5.2 使用问题
Q: 检测不到人脸怎么办?
A: 检查照片中的人脸是否清晰、正面、光线充足。侧脸或者模糊的照片可能检测不到。
Q: 相似度分数怎么理解?
A: 分数越小表示越相似。每种计算方法的阈值不同,插件会自动提供参考阈值。
Q: 人脸分割效果不好?
A: 可以尝试调整 blur 和 grow 参数,或者使用不同的分割区域选项。
5.3 效果问题
Q: 人脸对齐后看起来不自然?
A: 可能是原图人脸角度太大,建议使用角度较小的照片。
Q: 人脸变形效果不理想?
A: 确保两张照片的人脸大小和角度相近,调整 keypoints 参数试试不同的特征点。
6. 工作流程建议
6.1 人脸相似度检测流程
- 加载人脸分析模型
- 准备参考照片和待检测照片
- 使用人脸相似度计算节点
- 根据分数筛选结果
6.2 人脸处理流程
- 加载人脸分析模型
- 使用人脸边界框检测找到人脸
- 根据需要进行人脸对齐
- 使用人脸分割提取特定部位
- 应用后续处理
6.3 人脸变形流程
- 加载人脸分析模型
- 准备源照片和目标照片
- 使用人脸变形节点
- 调整参数优化效果
7. 高级应用场景
7.1 批量人脸质量检测
可以用来检测生成的人脸图片质量,通过与真实人脸对比来评估生成效果。
7.2 人脸数据集整理
可以用来整理和分类大量人脸照片,自动找出相似的人脸。
7.3 人脸特效制作
结合人脸分割和变形功能,可以制作各种有趣的人脸特效。
7.4 人脸研究分析
可以用于学术研究,分析人脸特征和相似度。
8. 总结
ComfyUI_FaceAnalysis 是一个功能强大的人脸分析插件,提供了从基础的人脸检测到高级的人脸变形等多种功能。虽然设置稍微复杂,但一旦配置好,就能进行各种专业级的人脸分析和处理。
记住最重要的几点:
- 选择合适的分析引擎(DLib 适合新手,InsightFace 功能更强)
- 确保照片质量足够好(清晰、正面、光线充足)
- 根据具体需求调整参数
- 多尝试不同的参数组合找到最佳效果
希望这个教程能帮助你充分利用这个强大的人脸分析插件!