1-4 CLIPSeg蒙版合成保持人物更换主题背景:人物照一键换背景,脸和形象都不变
准备工作:这篇教程要用到的材料
本教程演示的工作流是「1-4_[图像生成]_CLIPSeg蒙版合成保持人物更换主题背景」,位于工作流大合集的 01 图像生成 分类目录下。它的作用一句话概括:上传一张人物照片,AI 保住人物的脸、头发和整体形象完全不变,把背景换成任意你想要的场景主题——人物照换背景、证件照换场景、电商模特换环境,用它都行。
这个工作流用到的模型比较多(比 1-3 多了 IPAdapter 一套),开始前建议先把模型备齐。完整清单如下,下载好放进对应目录即可,文件名务必保持一致:
- SD1.5 底模(作者原配
majicmixRealistic_v7.safetensors)→models\checkpoints\ - IPAdapter 模型
ip-adapter-plus_sd15.safetensors(约 100MB)→models\ipadapter\(目录不存在就新建) - CLIP 图像编码器
ip_adaptor_sd15_pytorch_model.bin(约 2.5GB,ViT-H 编码器,下载后按此名重命名)→models\clip_vision\ - ControlNet 两个:openpose(姿态)+ depth(深度)→
models\controlnet\1.5\子目录 - 皮肤细节放大模型
1x-ITF-SkinDiffDetail-Lite-v1.pth(约 20MB)→models\upscale_models\
两个会自动下载的模型不用管:CLIPSeg 分割模型(首次运行联网下载,约 600MB,卡住见文末常见问题 3)和 WD14 打标模型(见常见问题 2)。

一、这个工作流能干什么
和上一篇 1-3(换服装背景)相比,这篇的核心区别是多了 IPAdapter 身份锁:不只是脸和头发不变,整个人物的形象特征都会被锁定(长相、气质、画风),重绘时照着一模一样地画,换的只是场景背景。
工作流里有两张图的输入,分工不同:
- 图1(上面那个 LoadImage)=人物原图:它的脸和头发会被 CLIPSeg 抠出来做成保护蒙版,完全不被重绘;背景就从这张图的背景开始换。
- 图36(下面那个 LoadImage)=IPAdapter 参考图:它决定"生成的人长得像谁"。强烈建议传同一人的照片,或干脆传同一张——如果参考图是另一个人,生成结果的脸会偏向参考图那个人;如果传的是场景图,则变成风格/光影参考。
一句话总结:图1 提供"人",参考图锁定"这个人是谁",提示词决定"换成什么背景"。

二、工作流原理:三道锁
第 1 道锁:CLIPSeg 抠出脸和头发
工作流里有两个 CLIPSeg 节点,一个用关键词 face 抠脸,一个用关键词 hair 抠头发,再经 MaskComposite 节点合成一张"人物保护蒙版"——白色区域(脸+头发)在重绘时原样保留。

第 2 道锁:IPAdapter 锁人物特征
IPAdapter 是一种"图像提示"技术:直接给模型一张参考图,让它照着这张图的样子画人。工作流里由三个节点组成——IPAdapterModelLoader(加载 ip-adapter-plus_sd15 模型)、CLIPVisionLoader(加载图像编码器)、IPAdapterAdvanced(把参考图的特征注入采样过程)。权重默认 0.53,想让人物更贴近参考图可以调高到 0.6-0.7。

第 3 道锁:ControlNet 锁姿态和深度
DWPreprocessor 识别人物骨骼姿态(openpose 控制),Zoe-DepthMapPreprocessor 识别场景空间深度(depth 控制),两个控制模型一起保证换背景后人物的姿势和空间关系不崩。

三道锁之外,还有双 KSampler 两轮采样 + 皮肤细节放大模型收尾,保证换背景后人物皮肤质感依然真实。
三、实操:保持人物,更换主题背景
第 1 步:上传两张图
分别双击两个 LoadImage 节点上传图片。图1 传人物原图,选图要点:正面或半侧面、光线明亮、单人照、脸占比尽量大。图36 传同一个人的照片(省事就直接传同一张)。

第 2 步:核对底模(重要)
打开 Efficient Loader 节点,把 ckpt_name 下拉重新选为你本地实际的 SD1.5 模型文件(如 majicmixRealistic_v7.safetensors)。工作流里保存的是作者那边的文件名,如果对不上会直接报"value not available",重新选一次即可。

第 3 步:处理 LoRA(可选)
作者在 CR LoRA Stack 节点里挂了两个可选 LoRA:add_detail(细节增强)和 LEOSAM's FilmGirl(胶片颗粒)。这两个没有也不影响核心功能:把 lora_name_1 和 lora_name_2 两个下拉都改成 None 即可;想要胶片风格再去下载对应 LoRA 放入 models\loras\。

第 4 步:写提示词(决定换什么背景)
双击上方 CR Prompt Text 节点(作者示例的正向提示词),在末尾追加你想要的场景描述。注意:这段是纯写实人物基础词 + 参考图自动标签,你只需要加场景即可,人物词不用动。
本次演示(人物原图 → 赛博都市夜景):在原词末尾追加
standing on a cyberpunk city street at night, neon signs, rainy asphalt reflections, cinematic lighting
第 5 步:运行出图
点 Queue 运行。首次运行会自动下载两个模型(CLIPSeg 分割模型和 WD14 打标模型),耐心等待;之后生成一张约需 1-2 分钟(视显卡而定)。生成完成后在 PreviewImage 节点查看结果,多抽几个种子选最自然的一张。

四、换主题通用公式
想换任何主题背景,套路都一样:在原词末尾追加"场景 + 氛围"描述。示例:
- 雪山:
standing on a snowy mountain peak, misty clouds below, golden sunrise - 古风庭院:
standing in an ancient chinese courtyard, cherry blossoms, soft morning light - 海边黄昏:
standing on a beach at sunset, ocean waves, warm orange sky
五、常见问题排查
1. 点击运行弹出 Cannot read properties of undefined / InvalidLinkError
这是工作流从平台导出时残留的 Use Everywhere(UE)链接标记在作怪(节点上会有一个端口标记了 UE 却找不到来源)。解法:右键报错相关节点(通常是 IPAdapterAdvanced)→ 选择「Reject UE Links」,把残留的 UE 链接清掉,Ctrl+S 保存后再运行即可。

2. WD14 打标节点报错:无法下载模型 / 连接超时
WD14 节点(WD14Tagger)首次运行会从 HuggingFace 自动下载打标模型 wd-v1-4-moat-tagger-v2.onnx(约 326MB),国内网络容易超时。解法:① 网络稳定时段重跑让它下完(控制台能看到进度条);② 或手动下载该文件(含 selected_tags.csv)放入 models\tagger\ 目录(不存在就新建);③ 这个节点只是给参考图自动生成提示词标签,不用它也能跑:右键节点 → Bypass(旁路),提示词就完全由你手写。
3. CLIPSeg 节点一直联网重试(Retrying 1/5)
CLIPSeg 首次运行会联网下载分割模型,且每次加载都会联网核对文件。若你的网络不稳定,可在 ComfyUI 启动脚本(bat 文件)开头加一行 set HF_HUB_OFFLINE=1 强制离线模式(模型文件齐全时秒加载、不再联网).
4. 提示模型不可用(value not available)
工作流里保存的是作者环境的文件名,与你本地不一致时会报这个错。解法:找到报错节点,把对应下拉重新选为你本地实际的文件。最容易踩的是 Efficient Loader 的底模和 ControlNet 节点(本机文件在 1.5\ 子目录里,下拉里选带 1.5\ 前缀的那项)。
5. 生成的人不像原图
先确认图36 参考图传的是本人(换人参考图脸就会偏);再把 IPAdapterAdvanced 权重从 0.53 调高到 0.6-0.7;最后确认两个 CLIPSeg 的关键词还是 face / hair 没被改过。