返回资源中心

InstantID Face Swap Workflow

工作流
AI绘画
2 次浏览
0 个赞
面部替换ComfyUIInstantID

资源描述

InstantID Face Swap Workflow 是一套专为 ComfyUI 设计的零训练面部替换工作流,支持高保真身份保留与风格迁移。无需 LoRA 训练,仅需参考人脸图像和目标图像即可完成高质量换脸,适用于影视后期、AI 内容创作、虚拟形象生成等场景。兼容 InstantID v1.2+ 插件,强调易用性、稳定性和跨风格泛化能力,显著降低技术门槛。

详细内容

# InstantID Face Swap Workflow 使用指南 ## 工作流概述 本工作流基于 ComfyUI + InstantID 插件(v1.2 或更高版本),实现零样本(zero-shot)、无需微调训练的高保真面部替换。核心能力包括: - 身份特征强保留(identity-preserving) - 支持多姿态/光照/遮挡下的鲁棒对齐 - 可选融合原始背景或重绘背景 - 兼容 SDXL 和 SD1.5 基础模型(推荐使用 `juggernautXL_v9` 或 `sdxl_1.0_fp16.safetensors`) --- ## 分步骤操作说明 ### 步骤 1:环境准备 - 确保已安装 ComfyUI 主程序(≥v0.3.0)及 [InstantID 插件](https://github.com/InstantX-ai/instantid)(通过 Manager 安装或手动放入 `custom_nodes/`) - 下载并放置 InstantID 所需模型文件至 `models/instantid/`: - `ipadapter.bin`(IP-Adapter-FaceID 模型) - `antelopev2` 文件夹(含 `det_10g.onnx`, `gender_age.onnx`, `glint360k_r50.onnx` 等) - 重启 ComfyUI 并确认插件加载成功(日志中出现 `Loaded InstantID node`) ### 步骤 2:加载工作流 JSON - 在 ComfyUI 主界面点击「Load」→ 选择本工作流 `.json` 文件 - 检查节点图是否完整包含以下关键模块: - `InstantIDFaceEmbedding`(人脸编码器) - `InstantIDApply`(注入 ID 特征) - `IPAdapterAdvanced`(控制面部结构与风格权重) - `KSampler`(采样参数建议:steps=30, cfg=7.0, sampler=dpmpp_2m_sde_gpu) ### 步骤 3:准备输入图像 - **Reference Image(源人脸)**:正面清晰、无严重遮挡的人脸照片(建议 512×512 或更高分辨率,PNG/JPEG 格式) - **Target Image(目标图)**:需替换人脸的图像(可为全身照、半身照或肖像;若含复杂背景,建议预处理为透明背景 PNG) - 将两图分别放入 `input/` 文件夹,并在工作流中对应 LoadImage 节点指定路径 ### 步骤 4:配置关键参数 - 在 `InstantIDApply` 节点中设置: - `start_at` = `0.0`(全程启用 ID 注入) - `end_at` = `1.0` - `weight` = `0.8–1.2`(默认 `1.0`;值越高越忠实于源人脸,过大会导致僵硬) - 在 `IPAdapterAdvanced` 中调整: - `noise` = `0.1–0.3`(引入适度噪声提升自然度) - `weight_type` = `original`(推荐)或 `linear`(用于弱风格迁移) - 在 `CLIPTextEncode` 中使用正向提示词:`masterpiece, best quality, realistic face, high detail, (detailed skin texture:1.2)` ### 步骤 5:执行生成与后处理 - 点击「Queue Prompt」启动推理(典型耗时:RTX 4090 上约 8–15 秒/张) - 输出图像默认保存至 `output/`;若需精细修复,建议: - 使用 `FaceDetailer` 节点进行局部重绘(mask 模式选 `face_only`) - 对边缘过渡不自然处,启用 `InpaintModel` + `Eroded Mask` 进行羽化融合 - 如需保留原背景,禁用 `VAEDecodeTiled` 后接 `ImageScaleToTotalPixels` 的背景重绘分支 --- ## 注意事项与最佳实践 - ✅ **必做**:Reference Image 必须为单人正面照,避免戴眼镜/口罩/强侧光;Target Image 中人脸区域建议 ≥200px 宽度 - ✅ 推荐搭配 `ControlNet (face_landmark)` 提升五官对齐精度(工作流中已预留 ControlNet 输入端口) - ⚠️ 避免将 `weight` >1.3 或 `noise` >0.4,否则易产生伪影或失真 - ⚠️ SDXL 模型需启用 `VAEEncodeSDXL` / `VAEDecodeSDXL` 节点,不可混用 SD1.5 VAE - 💡 进阶技巧:添加 `LatentUpscale` 节点(ESRGAN)可提升输出分辨率至 1024×1024+ --- ## 常见问题提示 - **Q:生成结果人脸模糊或变形?** A:检查 Reference Image 是否过小/模糊;调低 `weight` 至 0.7–0.9;启用 `face_landmark` ControlNet。 - **Q:身份保留弱,像‘相似但不是本人’?** A:确保 InstantID 模型路径正确;确认 `antelopev2` 文件完整;尝试增大 `weight` 并关闭其他 IP-Adapter 干扰节点。 - **Q:报错 `instant_id_face_embedding not found`?** A:插件未正确安装——删除 `custom_nodes/instantid` 后重新 clone 官方仓库,运行 `install.sh`(Linux/macOS)或 `install.bat`(Windows)。 - **Q:能否批量处理?** A:支持——使用 `BatchLoader` 节点替代单图 LoadImage,并配合 `ForEach` 循环节点(需安装 `ComfyUI-Batch-Loader`)。 - **Q:是否支持视频帧换脸?** A:本工作流为静态图设计;如需视频应用,请结合 `AnimateDiff` + `InstantID` 专用视频分支(参见 InstantID GitHub Wiki)。