ComfyUI_Seg_VITON 插件完全教程
1. 插件简介
ComfyUI_Seg_VITON 是一个专门用于虚拟试衣的 ComfyUI 插件,可以让模特换装。这个插件就像是一个超级智能的换装师,可以把衣服从一个人身上"脱下来",然后"穿"到另一个人身上,而且看起来非常自然!
GitHub 原地址: https://github.com/StartHua/ComfyUI_Seg_VITON
这个插件能给我们带来什么效果?
- 虚拟试衣:就像在网上购物时的试衣间,可以看到衣服穿在不同人身上的效果
- 服装分割:就像用魔法剪刀一样,可以精确地把人体的各个部位(头发、脸、衣服、裤子等)分开
- 背景去除:就像用橡皮擦一样,可以把人物从背景中抠出来
- 智能换装:可以保持人物姿态不变,只替换衣服部分
- 多部位识别:能识别帽子、头发、上衣、裙子、裤子、鞋子、包包等18个不同部位
2. 如何安装
方法一:使用 Git 克隆(推荐)
- 打开终端或命令提示符
- 进入你的 ComfyUI 安装目录下的
custom_nodes文件夹 - 运行以下命令:
git clone https://github.com/StartHua/ComfyUI_Seg_VITON.git
方法二:手动下载
- 访问 https://github.com/StartHua/ComfyUI_Seg_VITON
- 点击绿色的 "Code" 按钮,选择 "Download ZIP"
- 解压到 ComfyUI 的
custom_nodes文件夹中,并重命名为ComfyUI_Seg_VITON
安装后步骤
- 安装依赖包:
pip install -r requirements.txt
-
下载模型文件:
- 从百度网盘下载:链接:https://pan.baidu.com/s/15Q8gyzYepInnTwFguytRkw 提取码:ou1f
- 或从 Hugging Face 下载:https://huggingface.co/mattmdjaga/segformer_b2_clothes
- 将模型文件放到
checkpoints文件夹下
-
下载 VITONHD.ckpt 模型(需要申请):
- 访问:https://github.com/rlawjdghek/StableVITON
- 按照说明申请并下载模型文件
-
重启 ComfyUI
3. 节点详细解析
3.1 segformer_clothes 节点 - 服装分割器
这个节点就像一个超级精准的魔法剪刀,可以把人物图片中的各个部位(头发、脸、衣服、裤子等)精确地识别和分割出来。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| image | image | 图片输入 | 连接人物图片 | 要进行分割的人物照片 | 输入图像张量 | 连接LoadImage节点的输出 |
| Face | Face | 开关选择 | True | 是否保留脸部区域 | 面部区域控制 | True=保留脸部,False=遮盖脸部 |
| Hat | Hat | 开关选择 | True | 是否保留帽子区域 | 帽子区域控制 | True=保留帽子,False=遮盖帽子 |
| Hair | Hair | 开关选择 | True | 是否保留头发区域 | 头发区域控制 | True=保留头发,False=遮盖头发 |
| Upper_clothes | Upper_clothes | 开关选择 | True | 是否保留上衣区域 | 上装区域控制 | True=保留上衣,False=遮盖上衣 |
| Skirt | Skirt | 开关选择 | True | 是否保留裙子区域 | 裙装区域控制 | True=保留裙子,False=遮盖裙子 |
| Pants | Pants | 开关选择 | True | 是否保留裤子区域 | 裤装区域控制 | True=保留裤子,False=遮盖裤子 |
| Dress | Dress | 开关选择 | True | 是否保留连衣裙区域 | 连衣裙区域控制 | True=保留连衣裙,False=遮盖连衣裙 |
| Belt | Belt | 开关选择 | True | 是否保留腰带区域 | 腰带区域控制 | True=保留腰带,False=遮盖腰带 |
| shoe | shoe | 开关选择 | True | 是否保留鞋子区域 | 鞋子区域控制 | True=保留鞋子,False=遮盖鞋子 |
| leg | leg | 开关选择 | True | 是否保留腿部区域 | 腿部区域控制 | True=保留腿部,False=遮盖腿部 |
| arm | arm | 开关选择 | True | 是否保留手臂区域 | 手臂区域控制 | True=保留手臂,False=遮盖手臂 |
| Bag | Bag | 开关选择 | True | 是否保留包包区域 | 包包区域控制 | True=保留包包,False=遮盖包包 |
| Scarf | Scarf | 开关选择 | True | 是否保留围巾区域 | 围巾区域控制 | True=保留围巾,False=遮盖围巾 |
3.2 segformer_agnostic 节点 - 人物遮罩处理器
这个节点就像一个智能的图片编辑器,可以根据提供的遮罩把人物图片中的指定区域替换成灰色,为后续的换装做准备。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| source | source | 图片输入 | 连接原始图片 | 要处理的原始人物照片 | 输入源图像张量 | 连接LoadImage节点的输出 |
| mask | mask | 遮罩输入 | 连接遮罩图片 | 指定哪些区域要被替换 | 输入遮罩张量 | 连接segformer_clothes的输出 |
3.3 segformer_remove_bg 节点 - 背景去除器
这个节点就像一个智能的橡皮擦,可以自动识别并去除图片的背景,只保留人物主体。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| source | source | 图片输入 | 连接原始图片 | 要去除背景的图片 | 输入源图像张量 | 连接LoadImage节点的输出 |
3.4 stabel_vition 节点 - 稳定虚拟试衣器
这个节点是整个插件的核心,就像一个超级智能的换装师,可以把衣服自然地"穿"到模特身上。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| agn | agn | 图片输入 | 连接处理后的人物图 | 已经处理过的人物图片 | 输入agnostic图像 | 连接segformer_agnostic的输出 |
| agn_mask | agn_mask | 遮罩输入 | 连接人物遮罩 | 人物的遮罩信息 | 输入agnostic遮罩 | 连接相应的遮罩输出 |
| cloth | cloth | 图片输入 | 连接衣服图片 | 要穿的衣服图片 | 输入服装图像 | 连接LoadImage节点的衣服图片 |
| image | image | 图片输入 | 连接原始人物图 | 原始的人物照片 | 输入原始图像 | 连接LoadImage节点的人物图片 |
| image_densepose | image_densepose | 图片输入 | 连接姿态图 | 人物的姿态信息图 | 输入DensePose图像 | 连接DensePose处理后的图片 |
| img_H | img_H | 268-2048整数 | 512 | 输出图片的高度 | 图像高度像素 | 512=标准高度,可根据需要调整 |
| img_W | img_W | 268-2048整数 | 384 | 输出图片的宽度 | 图像宽度像素 | 384=标准宽度,可根据需要调整 |
| denoise_steps | denoise_steps | 5-200整数 | 20 | 图片生成的精细程度 | 去噪步数 | 20=标准质量,越大质量越好但越慢 |
| batch_size | batch_size | 0-32整数 | 16 | 每次处理的图片数量 | 批处理大小 | 16=标准设置,显存大可调高 |
| eta | eta | 0-200整数 | 0 | 生成过程的随机性控制 | 随机性参数 | 0=确定性生成,数值越大越随机 |
| seed | seed | 0-最大整数 | 0 | 随机种子值 | 随机种子 | 0=随机,固定数值可重现结果 |
| cache | cache | 开关选择 | True | 是否保存中间文件 | 缓存控制 | True=保存缓存,False=不保存 |
| repaint | repaint | 开关选择 | False | 是否进行后期修复 | 重绘控制 | True=启用修复,False=不修复 |
4. 使用技巧和建议
工作流程建议
-
基础换装流程:
- LoadImage(人物) → segformer_clothes → segformer_agnostic
- LoadImage(衣服) → 直接连接到stabel_vition
- 所有输出连接到stabel_vition生成最终结果
-
高质量换装流程:
- 先用segformer_remove_bg去除背景
- 使用DensePose生成姿态信息
- 调整denoise_steps提高质量
参数调优建议
-
图片尺寸设置:
- img_H和img_W建议保持原图比例
- 标准设置:512x384适合大多数情况
- 高分辨率:可以调到1024x768但需要更多显存
-
质量控制参数:
- denoise_steps:20-50适合日常使用
- batch_size:根据显存大小调整
- repaint:True可以提高细节质量
-
服装分割技巧:
- 根据换装需求选择要保留的部位
- 换上衣时关闭Upper_clothes
- 换裤子时关闭Pants
- 换连衣裙时关闭Dress
性能优化建议
-
显存管理:
- 降低batch_size减少显存占用
- 关闭cache节省存储空间
- 适当降低图片分辨率
-
速度优化:
- 减少denoise_steps加快生成
- 使用固定seed避免重复计算
- 批量处理多张图片
5. 常见问题解答
Q1: 安装后提示找不到模型怎么办?
A:
- 确保已下载segformer_b2_clothes模型到checkpoints文件夹
- 检查文件夹名称是否正确
- 确保VITONHD.ckpt文件已正确放置
Q2: 换装效果不自然怎么办?
A:
- 确保人物姿态和衣服匹配
- 调整denoise_steps提高质量
- 启用repaint选项进行后期修复
- 检查DensePose姿态信息是否准确
Q3: 显存不足怎么办?
A:
- 降低batch_size到8或更低
- 减小图片尺寸(img_H和img_W)
- 关闭cache选项
- 减少denoise_steps
Q4: 生成速度很慢怎么办?
A:
- 减少denoise_steps到10-15
- 降低图片分辨率
- 使用GPU加速
- 关闭不必要的后处理选项
Q5: 服装分割不准确怎么办?
A:
- 确保输入图片清晰且人物完整
- 避免复杂背景干扰
- 人物姿态要自然,避免遮挡
- 检查模型文件是否完整
Q6: 如何获得更好的换装效果?
A:
- 使用高质量的人物和服装图片
- 确保人物姿态和服装匹配
- 适当调整各个部位的保留设置
- 使用DensePose提供准确的姿态信息
6. 实际应用场景
场景1:电商服装展示
- 用途:为网店制作不同模特穿同一件衣服的效果图
- 技巧:使用多个模特图片,统一的服装图片
- 优势:节省拍摄成本,快速生成多样化展示
场景2:个人虚拟试衣
- 用途:在购买前预览衣服穿在自己身上的效果
- 技巧:使用自己的照片和商品图片
- 优势:提高购物体验,减少退换货
场景3:时尚设计预览
- 用途:设计师快速预览设计效果
- 技巧:使用设计稿和模特图片
- 优势:快速迭代设计,节省样衣制作成本
场景4:影视后期制作
- 用途:为演员更换服装,制作特效
- 技巧:结合其他后期工具使用
- 优势:灵活的服装替换,创意表达
7. 注意事项
技术限制
- 模型依赖:需要下载大量模型文件
- 硬件要求:需要足够的显存和计算能力
- 图片质量:输入图片质量直接影响输出效果
- 姿态匹配:人物姿态和服装需要合理匹配
使用建议
- 版权注意:注意使用图片的版权问题
- 隐私保护:处理他人照片时要获得授权
- 商业用途:商业使用前确认相关法律法规
- 技术学习:建议先从简单案例开始练习
8. 更新和维护
如何更新插件
- 进入插件目录:
cd custom_nodes/ComfyUI_Seg_VITON - 拉取最新代码:
git pull - 更新依赖:
pip install -r requirements.txt --upgrade - 重启 ComfyUI
如何卸载插件
- 删除
custom_nodes/ComfyUI_Seg_VITON文件夹 - 清理相关模型文件
- 重启 ComfyUI
9. 总结
ComfyUI_Seg_VITON 是一个功能强大的虚拟试衣插件,为用户提供了完整的换装解决方案。它的主要优势包括:
- 精确分割:能够准确识别人体的18个不同部位
- 自然换装:生成的换装效果自然逼真
- 灵活控制:可以精确控制哪些部位参与换装
- 高质量输出:支持高分辨率图片生成
- 完整工作流:从图片预处理到最终生成的完整流程
无论你是电商从业者、时尚设计师,还是AI爱好者,这个插件都能为你的工作带来新的可能性。记住,好的输入图片和合理的参数设置是获得理想效果的关键!
希望这个教程能帮助你更好地使用 ComfyUI_Seg_VITON 插件,创造出令人惊艳的虚拟试衣效果!