ComfyUI_CSD_MT 插件完整教程 - 让你的图片秒变化妆达人
1. 插件简介
ComfyUI_CSD_MT 是一个超级神奇的化妆迁移插件!简单来说,它可以把一张有化妆的照片的妆容"复制"到另一张没化妆的照片上。就像你用美图秀秀的换脸功能,但这个更厉害——它只换妆容,不换脸!
原始GitHub地址: https://github.com/smthemex/ComfyUI_CSD_MT
这个插件能给你带来什么神奇效果?
- 把明星的化妆风格搬到你的照片上
- 让你试试不同的妆容效果,比如从淡妆变浓妆
- 节省化妆时间,直接在照片上看效果
- 占用空间超小,只需要200M左右的模型文件,显存要求很低
2. 如何安装
2.1 下载插件
在你的 ComfyUI 安装目录找到 custom_nodes 文件夹,然后:
git clone https://github.com/smthemex/ComfyUI_CSD_MT.git
2.2 安装依赖
cd ComfyUI_CSD_MT
pip install -r requirements.txt
特别注意: 如果安装 dlib 库出现错误,需要手动下载对应的轮子文件安装。
2.3 下载模型文件
你需要下载4个模型文件:
- 79999_iter.pth - 主要的化妆迁移模型
- CSD_MT.pth - 内容风格分离模型
- resnet18-5c106cde.pth - 特征提取模型
- lms.dat - 人脸关键点检测模型
将前3个文件放到:ComfyUI/models/CSDMT/
将 lms.dat 放到:ComfyUI/custom_node/ComfyUI_CSD_MT/quick_start/faceutils/dlibutils/
3. 节点详解
3.1 CSDMTLoader 节点 - 模型加载器
这个节点就像一个"化妆师准备工具箱",它负责把所有需要的模型都准备好。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 使用例子 |
|---|---|---|---|---|---|---|
| 模型路径 | model_path | 文件路径 | 默认路径 | 告诉电脑去哪里找化妆模型文件 | 指定CSD-MT模型文件的存储路径 | 选择你下载的模型文件夹 |
| 设备选择 | device | cpu/cuda | cuda | 选择用显卡还是CPU来处理,显卡更快 | 选择推理设备类型 | 有独立显卡选cuda,没有选cpu |
| 模型精度 | precision | fp16/fp32 | fp16 | 选择计算精度,就像画画用粗笔还是细笔 | 控制模型计算的浮点精度 | 显存不够选fp16,追求质量选fp32 |
3.2 CSDMTProcess 节点 - 化妆迁移处理器
这是核心节点,就像一个"智能化妆师",把一张照片的妆容转移到另一张照片上。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 使用例子 |
|---|---|---|---|---|---|---|
| 源图片 | source_image | 图像 | - | 要接受化妆的原始照片 | 作为化妆迁移目标的输入图像 | 上传你想要化妆的照片 |
| 参考图片 | reference_image | 图像 | - | 有理想妆容的参考照片 | 提供化妆风格的参考图像 | 上传一张你喜欢的化妆照片 |
| 输出尺寸 | output_size | 256/512/1024 | 256 | 输出照片的大小,越大越清晰但越慢 | 控制输出图像的分辨率 | 追求质量选256,显卡好可以选512 |
| 化妆强度 | makeup_strength | 0.0-1.0 | 0.8 | 控制化妆效果的浓淡程度 | 调节化妆迁移的强度系数 | 0.3淡妆,0.8浓妆,1.0最浓 |
| 肤色保持 | skin_preserve | 0.0-1.0 | 0.7 | 保持原始肤色的程度 | 控制肤色迁移的保留度 | 0.9保持原肤色,0.3更像参考图肤色 |
| 唇色强度 | lip_strength | 0.0-1.0 | 0.8 | 单独控制嘴唇颜色的强度 | 专门调节唇部化妆的迁移强度 | 0.5自然唇色,0.9明显唇妆 |
| 眼妆强度 | eye_strength | 0.0-1.0 | 0.8 | 单独控制眼部化妆的强度 | 专门调节眼部化妆的迁移强度 | 0.6日常眼妆,0.9派对眼妆 |
3.3 CSDMTPreview 节点 - 效果预览器
这个节点就像一个"试妆镜",让你能快速看到化妆效果。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 使用例子 |
|---|---|---|---|---|---|---|
| 预览模式 | preview_mode | before_after/side_by_side | side_by_side | 选择预览的展示方式 | 控制预览图像的显示布局 | 并排对比选side_by_side |
| 显示网格 | show_grid | True/False | True | 是否显示参考网格线 | 控制是否显示辅助网格 | 需要精确对比时开启 |
| 缩放比例 | scale_factor | 0.5-2.0 | 1.0 | 预览图片的缩放大小 | 控制预览图像的显示比例 | 屏幕小选0.8,大屏选1.2 |
3.4 CSDMTBatch 节点 - 批量处理器
这个节点就像一个"化妆流水线",可以一次性处理多张照片。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 使用例子 |
|---|---|---|---|---|---|---|
| 输入文件夹 | input_folder | 文件夹路径 | - | 包含要处理照片的文件夹 | 批量处理的输入图像目录 | 选择装有多张照片的文件夹 |
| 输出文件夹 | output_folder | 文件夹路径 | - | 处理完成后照片保存的位置 | 批量处理的输出图像目录 | 选择保存结果的文件夹 |
| 处理间隔 | process_interval | 0.1-5.0 | 1.0 | 每张照片之间的处理间隔时间 | 控制批量处理的时间间隔 | 显卡性能好选0.5,一般选1.0 |
| 跳过错误 | skip_errors | True/False | True | 遇到问题照片时是否跳过继续处理 | 控制错误处理的策略 | 建议开启,避免一张坏照片影响全部 |
3.5 CSDMTFaceAlign 节点 - 人脸对齐器
这个节点就像一个"人脸校正器",确保人脸在最佳位置进行化妆迁移。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 | 专业解释 | 使用例子 |
|---|---|---|---|---|---|---|
| 对齐方式 | align_method | landmarks/center | landmarks | 选择人脸对齐的方式 | 控制人脸对齐的算法类型 | 一般选landmarks,效果更好 |
| 裁剪尺寸 | crop_size | 128/256/512 | 256 | 裁剪出来的人脸区域大小 | 控制人脸区域的裁剪尺寸 | 与后续处理尺寸保持一致 |
| 边缘扩展 | margin_ratio | 0.1-0.5 | 0.3 | 人脸周围额外包含的区域比例 | 控制人脸裁剪时的边界扩展 | 0.2紧贴人脸,0.4包含更多背景 |
| 旋转校正 | rotation_correction | True/False | True | 是否自动校正人脸角度 | 控制是否进行人脸角度矫正 | 建议开启,提高化妆效果 |
4. 使用技巧和建议
4.1 选择合适的照片
- 源图片(要化妆的照片): 选择光线均匀、人脸清晰、正面拍摄的照片
- 参考图片(化妆模板): 选择化妆风格明显、同样是正面拍摄的照片
- 尺寸建议: 两张照片最好大小相近,人脸占比相似
4.2 参数调节技巧
- 新手建议: 先用默认参数试试效果,再慢慢调整
- 日常妆容: 化妆强度0.5-0.7,肤色保持0.8-0.9
- 派对妆容: 化妆强度0.8-1.0,可以适当降低肤色保持到0.6-0.7
- 自然效果: 各项强度都不要超过0.8,保持在0.6-0.8之间
4.3 提高效果的小窍门
- 使用相似肤色的参考图片效果更好
- 如果效果不理想,可以尝试调整人脸对齐参数
- 批量处理时,先用单张测试最佳参数,再应用到批量
5. 常见问题解答
Q1: 为什么我的照片化妆效果很奇怪?
A: 可能是以下原因:
- 源图片和参考图片的人脸角度差异太大
- 光线条件差异太大
- 化妆强度设置过高,试试降低到0.6-0.7
Q2: 处理速度很慢怎么办?
A: 可以这样优化:
- 选择较小的输出尺寸(256而不是512)
- 使用fp16精度而不是fp32
- 确保选择了cuda设备而不是cpu
Q3: 显存不够用怎么办?
A: 试试这些方法:
- 降低输出尺寸到256
- 选择fp16精度
- 关闭其他占用显存的程序
- 实在不行可以选择cpu设备(会慢很多)
Q4: 化妆效果太假怎么办?
A: 调整这些参数:
- 降低化妆强度到0.5-0.6
- 提高肤色保持到0.8-0.9
- 单独调低唇色强度和眼妆强度
Q5: 批量处理时总是报错怎么办?
A: 建议:
- 开启"跳过错误"选项
- 检查输入文件夹中是否有非图片文件
- 确保所有图片都是常见格式(jpg、png等)
6. 进阶玩法
6.1 创意化妆风格
- 尝试用动画角色的化妆作为参考
- 使用不同民族的传统妆容风格
- 组合多种化妆风格创造独特效果
6.2 工作流程优化
- 先用预览节点快速测试效果
- 确认效果后再用处理节点生成最终结果
- 建立自己的常用参数预设
6.3 与其他节点结合
- 可以先用其他节点进行人脸美化
- 结合后处理节点优化最终效果
- 与动画生成节点结合制作化妆教程视频
这个插件真的是化妆爱好者的福音!虽然学习起来需要一点时间,但一旦掌握了,你就能轻松实现各种化妆效果,再也不用担心化妆技术不够了!记住,多试验、多调参数,你会发现更多惊喜的效果!