ComfyUI-Portrait-Maker 插件完全教程
1. 插件简介
插件地址: https://github.com/THtianhao/ComfyUI-Portrait-Maker
ComfyUI-Portrait-Maker 是一个专门用于人像处理的超强插件包,包含了20个实用节点,主要用于:
- 智能人脸识别和裁剪(就像自动找到照片里的脸)
- 人脸融合换脸(把A的脸换到B身上)
- 皮肤美化和磨皮(让皮肤变得光滑细腻)
- 化妆转移(把化妆效果从一张脸转移到另一张脸)
- 颜色调整和肤色匹配(让肤色看起来更自然)
- 人像增强和超分辨率(让照片变得更清晰)
这个插件就像给你的ComfyUI装了一个专业的美颜相机和换脸工具,特别适合做人像摄影后期、证件照美化、艺术创作等。
2. 如何安装
方法一:通过ComfyUI管理器安装(推荐)
- 打开ComfyUI
- 点击"Manager"按钮
- 搜索"ComfyUI-Portrait-Maker"
- 点击安装
- 重启ComfyUI
方法二:手动安装
- 进入ComfyUI的custom_nodes文件夹
- 运行命令:
git clone https://github.com/THtianhao/ComfyUI-Portrait-Maker.git - 重启ComfyUI
重要提醒: 第一次启动插件时会自动下载所需的AI模型,请耐心等待下载完成,不要中断!
3. 节点详细解析
3.1 RetinaFace PM 节点
这个节点就像一个智能人脸识别器,能自动找到照片里的人脸并把脸部区域裁剪出来。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| image | image | IMAGE类型 | 必填 | 输入要识别人脸的照片 | 输入图像数据 | 连接你要处理的照片 |
| multi_user_facecrop_ratio | multi_user_facecrop_ratio | 小数 | 1.0 | 裁剪人脸时的放大倍数 | 人脸裁剪区域扩展比例 | 1.5会裁剪更大的头部区域 |
| face_index | face_index | 整数 | 0 | 选择第几张脸(从0开始数) | 多人脸时选择的人脸索引 | 0是第一张脸,1是第二张脸 |
3.2 FaceFusion PM 节点
这个节点就像一个换脸神器,能把一个人的脸换到另一个人身上。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| source_image | source_image | IMAGE类型 | 必填 | 要被换脸的原始照片 | 源图像输入 | 连接目标人物的照片 |
| swap_image | swap_image | IMAGE类型 | 必填 | 提供脸部的照片 | 换脸源图像输入 | 连接要换上去的脸的照片 |
| mode | mode | 下拉选择 | ali | 选择换脸算法 | 人脸融合模型选择 | ali质量高,roop速度快 |
3.3 RatioMerge2Image PM 节点
这个节点就像一个图片混合器,能按比例把两张图片混合在一起。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| image1 | image1 | IMAGE类型 | 必填 | 第一张要混合的图片 | 第一个图像输入 | 连接第一张照片 |
| image2 | image2 | IMAGE类型 | 必填 | 第二张要混合的图片 | 第二个图像输入 | 连接第二张照片 |
| fusion_rate | fusion_rate | 小数 | 0.5 | 混合比例,数值越大第一张图越明显 | 图像融合比例系数 | 0.3表示第一张图占30% |
3.4 ReplaceBoxImg PM 节点
这个节点就像一个图片替换工具,能把指定区域的内容替换成新的图片。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| origin_image | origin_image | IMAGE类型 | 必填 | 原始图片 | 原始图像输入 | 连接要被替换的照片 |
| box_area | box_area | BOX类型 | 必填 | 要替换的区域范围 | 替换区域的边界框 | 连接人脸检测的框选区域 |
| replace_image | replace_image | IMAGE类型 | 必填 | 用来替换的新图片 | 替换用的图像 | 连接处理后的人脸图片 |
3.5 MaskMerge2Image PM 节点
这个节点就像一个智能橡皮擦,能用遮罩来精确控制两张图片的合并。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| image1 | image1 | IMAGE类型 | 必填 | 第一张图片 | 第一个图像输入 | 连接背景图片 |
| image2 | image2 | IMAGE类型 | 必填 | 第二张图片 | 第二个图像输入 | 连接前景图片 |
| mask | mask | MASK类型 | 必填 | 控制合并的遮罩 | 合并控制掩码 | 白色区域显示image1,黑色区域显示image2 |
3.6 ExpandMaskFaceWidth PM 节点
这个节点就像一个遮罩扩展器,能把人脸遮罩的宽度扩大。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| mask | mask | MASK类型 | 必填 | 要扩展的遮罩 | 输入掩码 | 连接人脸遮罩 |
| box | box | BOX类型 | 必填 | 人脸的边界框 | 人脸边界框信息 | 连接人脸检测的框 |
| expand_width | expand_width | 小数 | 0.15 | 宽度扩展比例 | 宽度扩展系数 | 0.2表示向左右各扩展20% |
3.7 BoxCropImage PM 节点
这个节点就像一个精确裁剪器,能按指定的框来裁剪图片。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| image | image | IMAGE类型 | 必填 | 要裁剪的图片 | 输入图像 | 连接原始照片 |
| box | box | BOX类型 | 必填 | 裁剪的区域框 | 裁剪边界框 | 连接人脸检测的框 |
3.8 ColorTransfer PM 节点
这个节点就像一个颜色复制器,能把一张图的颜色风格转移到另一张图上。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| transfer_from | transfer_from | IMAGE类型 | 必填 | 颜色来源图片 | 颜色转移源图像 | 连接有理想颜色的照片 |
| transfer_to | transfer_to | IMAGE类型 | 必填 | 要改变颜色的图片 | 颜色转移目标图像 | 连接要调色的照片 |
3.9 FaceSkin PM 节点
这个节点就像一个皮肤识别器,能自动识别出照片中的皮肤区域。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| image | image | IMAGE类型 | 必填 | 要识别皮肤的照片 | 输入图像 | 连接人像照片 |
| blur_edge | blur_edge | 布尔值 | False | 是否模糊边缘 | 是否对边缘进行模糊处理 | True会让皮肤边缘更自然 |
| blur_threshold | blur_threshold | 整数 | 32 | 模糊强度 | 模糊处理的强度值 | 数值越大模糊越强 |
3.10 MaskDilateErode PM 节点
这个节点就像一个遮罩修饰器,能让遮罩的边缘更平滑。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| mask | mask | MASK类型 | 必填 | 要处理的遮罩 | 输入掩码 | 连接需要优化的遮罩 |
3.11 SkinRetouching PM 节点
这个节点就像一个专业美颜师,能自动给皮肤磨皮美化。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| image | image | IMAGE类型 | 必填 | 要美颜的照片 | 输入图像 | 连接需要磨皮的人像照片 |
3.12 PortraitEnhancement PM 节点
这个节点就像一个照片修复大师,能让模糊的人像变清晰。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| image | image | IMAGE类型 | 必填 | 要增强的照片 | 输入图像 | 连接需要修复的人像 |
| model | model | 下拉选择 | pgen | 选择增强算法 | 图像增强模型选择 | pgen适合人像,real_gan适合通用 |
3.13 ImageScaleShort PM 节点
这个节点就像一个智能缩放器,能按短边来等比例缩放图片。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| image | image | IMAGE类型 | 必填 | 要缩放的图片 | 输入图像 | 连接原始照片 |
| size | size | 整数 | 512 | 短边的目标长度 | 短边目标尺寸 | 512表示短边缩放到512像素 |
| crop_face | crop_face | 布尔值 | False | 是否裁剪成32的倍数 | 是否对齐到32像素倍数 | True让尺寸更适合AI处理 |
3.14 ImageResizeTarget PM 节点
这个节点就像一个精确调整器,能把图片调整到指定的宽高。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| image | image | IMAGE类型 | 必填 | 要调整的图片 | 输入图像 | 连接原始照片 |
| width | width | 整数 | 512 | 目标宽度 | 目标宽度像素 | 设置想要的宽度 |
| height | height | 整数 | 512 | 目标高度 | 目标高度像素 | 设置想要的高度 |
3.15 GetImageInfo PM 节点
这个节点就像一个图片信息读取器,能告诉你图片的宽度和高度。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| image | image | IMAGE类型 | 必填 | 要查看信息的图片 | 输入图像 | 连接任何图片查看尺寸 |
3.16 MakeUpTransfer PM 节点
这个节点就像一个化妆师,能把一个人的化妆效果转移到另一个人脸上。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| source_image | source_image | IMAGE类型 | 必填 | 要化妆的原始照片 | 源图像输入 | 连接素颜照片 |
| makeup_image | makeup_image | IMAGE类型 | 必填 | 提供化妆效果的照片 | 化妆参考图像 | 连接有化妆的照片 |
3.17 FaceShapMatch PM 节点
这个节点就像一个脸型匹配器,能让换脸后的效果更自然。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| source_image | source_image | IMAGE类型 | 必填 | 原始照片 | 源图像输入 | 连接原始人像 |
| match_image | match_image | IMAGE类型 | 必填 | 要匹配的照片 | 匹配目标图像 | 连接处理后的照片 |
| face_box | face_box | BOX类型 | 必填 | 人脸区域框 | 人脸边界框 | 连接人脸检测结果 |
3.18 SuperColorTransfer PM 节点
这个节点就像一个超级调色师,能智能地转移颜色并只作用于皮肤区域。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| main_image | main_image | IMAGE类型 | 必填 | 主要图片 | 主图像输入 | 连接要调色的照片 |
| transfer_image | transfer_image | IMAGE类型 | 必填 | 颜色来源图片 | 颜色参考图像 | 连接理想肤色的照片 |
| avatar_box | avatar_box | BOX类型 | 可选 | 头像区域框 | 头像边界框 | 可以限制只处理头像区域 |
3.19 SuperMakeUpTransfer PM 节点
这个节点就像一个超级化妆师,能智能地转移化妆效果。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| main_image | main_image | IMAGE类型 | 必填 | 主要图片 | 主图像输入 | 连接要化妆的照片 |
| makeup_image | makeup_image | IMAGE类型 | 必填 | 化妆参考图片 | 化妆参考图像 | 连接有化妆的照片 |
| avatar_box | avatar_box | BOX类型 | 可选 | 头像区域框 | 头像边界框 | 可以限制只处理头像区域 |
3.20 Similarity PM 节点
这个节点就像一个相似度检测器,能计算两张脸的相似程度。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| main_image | main_image | IMAGE类型 | 必填 | 第一张对比照片 | 主图像输入 | 连接第一张人脸照片 |
| compare_image | compare_image | IMAGE类型 | 必填 | 第二张对比照片 | 对比图像输入 | 连接第二张人脸照片 |
| model | model | 下拉选择 | sim | 选择相似度算法 | 相似度计算模型 | 目前只有sim一种算法 |
| result_prefix | result_prefix | 文本 | 空 | 结果前缀文字 | 结果字符串前缀 | 可以加上"相似度:"等文字 |
4. 使用技巧和建议
4.1 新手入门建议
- 先试试RetinaFace PM:这是基础功能,能帮你找到并裁剪人脸
- 学会用FaceFusion PM:最实用的换脸功能,建议用ali模式
- 尝试SkinRetouching PM:简单一步就能美颜磨皮
4.2 进阶使用技巧
- 完整换脸流程:RetinaFace PM → FaceFusion PM → FaceShapMatch PM → ColorTransfer PM
- 专业美颜流程:FaceSkin PM → SkinRetouching PM → PortraitEnhancement PM
- 化妆转移流程:MakeUpTransfer PM 或 SuperMakeUpTransfer PM
4.3 常用参数组合
- 高质量换脸:FaceFusion模式选ali,facecrop_ratio设1.2-1.5
- 自然美颜:SkinRetouching + blur_edge=True + blur_threshold=32
- 精确处理:使用Super系列节点配合avatar_box精确控制处理区域
4.4 工作流推荐
- 证件照美化:RetinaFace → SkinRetouching → PortraitEnhancement
- 艺术换脸:RetinaFace → FaceFusion → ColorTransfer → FaceShapMatch
- 化妆试妆:RetinaFace → MakeUpTransfer → ColorTransfer
5. 常见问题解答
Q1:为什么RetinaFace检测不到人脸?
A:可能是照片中人脸太小或角度太偏,建议使用正面、清晰的人脸照片,人脸占图片比例至少20%以上。
Q2:FaceFusion换脸效果不自然怎么办?
A:建议使用FaceShapMatch节点进行后处理,再用ColorTransfer调整肤色,最后可以用RatioMerge2Image适当混合原图。
Q3:ali模式和roop模式有什么区别?
A:ali模式质量更高但速度较慢,roop模式速度快但可能效果稍差。建议优先使用ali模式。
Q4:SkinRetouching处理后皮肤太假怎么办?
A:可以用RatioMerge2Image节点将处理后的图片与原图按0.6-0.8的比例混合,保持自然效果。
Q5:为什么第一次使用很慢?
A:插件需要下载AI模型,第一次使用会比较慢,后续使用就会很快了。请确保网络畅通。
Q6:如何选择face_index?
A:当照片中有多个人脸时,face_index=0选择第一个检测到的脸,face_index=1选择第二个,以此类推。
Q7:BOX类型数据怎么获得?
A:BOX数据通常来自RetinaFace PM节点的输出,代表人脸的位置信息,用于后续的精确处理。
6. 实用案例分享
6.1 证件照快速美化
- 用RetinaFace PM检测人脸
- 用SkinRetouching PM磨皮
- 用PortraitEnhancement PM增强清晰度
- 用ImageResizeTarget PM调整到证件照尺寸
6.2 艺术换脸创作
- 用RetinaFace PM分别处理两张照片
- 用FaceFusion PM进行换脸
- 用ColorTransfer PM调整肤色
- 用FaceShapMatch PM优化融合效果
6.3 化妆效果预览
- 准备素颜照和化妆参考照
- 用SuperMakeUpTransfer PM一键转移化妆
- 用RatioMerge2Image PM调整化妆浓度
- 用Similarity PM检测相似度
7. 总结
ComfyUI-Portrait-Maker插件提供了20个专业的人像处理节点,从基础的人脸检测到高级的化妆转移,功能非常全面。对于新手来说,建议先从RetinaFace和SkinRetouching开始学习,逐步掌握更高级的功能。
这个插件最大的优势是专业性强,特别适合人像摄影师、设计师和内容创作者使用。配合合适的工作流,能够实现媲美专业软件的人像处理效果。
记住:好的人像处理需要多个节点配合使用,不要指望单个节点解决所有问题。多实践、多尝试,你会发现这个插件的强大之处!