ComfyUI换脸节点指南:comfyui-reactor-node 的13个节点与二次开发路径
【免费下载链接】comfyui-reactor-nodeFast and Simple Face Swap Extension Node for ComfyUI项目地址: https://gitcode.com/gh_mirrors/co/comfyui-reactor-node
想在 ComfyUI 工作流里把一张图的脸换成另一张人脸?大多数人得自己串起检测、对齐、替换、修复一大串节点,参数还容易打架。comfyui-reactor-node 把这套 ReActor 换脸流程封装成了现成的 ComfyUI 扩展节点,接上就能跑,还能保存和复用"人脸模型"。
一、项目速览:它是什么、给谁用
一句话定位:这是 ComfyUI 的官方风格扩展节点包,提供从换脸、人脸修复到遮罩辅助的一整套人脸处理节点。
| 项目 | 内容 |
|---|---|
| 项目名 | comfyui-reactor-node |
| 类型 | ComfyUI 自定义节点扩展(Python) |
| 主要技术栈 | PyTorch 生态 + ONNX Runtime、insightface、OpenCV |
| 典型使用场景 | AI 绘画/换脸工作流、人脸融合建模、批量帧处理 |
二、核心能力:它替你解决了什么
按节点功能分三组看,每组都不超过几条,方便你按需取用:
换脸主链路
- 主节点 ReActorFaceSwap 一次完成检测、对齐、替换,省去手动串流程的调试成本。
- ReActorOptions 支持自定义人脸排序(如"大到小"),多人脸场景下谁换谁你说了算。
人脸模型管理
- BuildFaceModel / SaveFaceModel 可以把多张人脸照片"混合"成一个 safetensors 模型文件,比单张参考图更像本人。
- LoadFaceModel 随时复用这些模型,做虚拟形象时省去重复建模。
增强与配套
- ReActorMaskHelper 基于 SAM 生成精确遮罩,减少换脸边缘的生硬感。
- RestoreFace、FaceBoost 提供 GPEN 等修复模型后处理,提升换脸后画质。
- ImageDublicator 把一张图复制成多帧喂给 VAE 编码器,做视频换脸时省事。
三、技术选型与代码地图
核心依赖很少,但每个都身兼要职:
| 组件 | 承担职责 | 备注 |
|---|---|---|
| insightface | 人脸检测、对齐与 inswapper 换脸核心 | 版本锁死 0.7.3 |
| onnx / onnxruntime | 推理运行时,换脸模型跑在 GPU 上 | install.py 会装 ORT-GPU(支持 CUDA/CoreML/ROCM) |
| opencv-python + numpy | 图像处理与数值计算 | 版本有固定约束 |
| segment_anything | 遮罩生成 | MaskHelper 节点依赖 |
| ultralytics | YOLO 人脸检测 | 需自备 face_yolov8m 权重 |
| albumentations | 图像增强 | 用于人脸模型构建 |
目录结构长这样:
comfyui-reactor-node/ ├── nodes.py # 全部节点类的定义与注册 ├── scripts/ # 换脸算法与遮罩核心逻辑 │ ├── reactor_faceswap.py │ ├── r_faceboost/ # 换脸前预修复 │ └── r_masking/ # 遮罩生成 ├── r_facelib/ # 人脸检测(retinaface、yolov5face)与解析 ├── r_basicsr/ # 超分辨率与人脸修复模型(Real-ESRGAN 系) ├── r_chainner/ # GFPGAN/StyleGAN2 架构定义 ├── modules/ # 与 SD-WebUI 共存时的模块兼容垫片 ├── install.py / install.bat # 一键安装依赖 └── requirements.txt几个关键位置值得记住:nodes.py 是全部 13 个节点类的家,也是 NODE_CLASS_MAPPINGS 注册表所在;scripts/ 里才是真正的换脸算法实现,UI 层只调它;r_facelib/ 决定"能不能找到脸",检测器可替换;r_basicsr/ 则决定换脸后"修得多干净"。
四、二次开发:从哪一步切入
| 方向 | 难度 | 建议切入点 |
|---|---|---|
| 新增一个实用小节点 | ★低 | 在 nodes.py 写类并注册进 NODE_CLASS_MAPPINGS |
| 支持新的换脸模型(如 ReSwapper 系) | ★★中 | 参考 scripts/r_faceboost/swapper.py 的模型加载方式 |
| 接入更准的人脸检测器 | ★★★高 | r_facelib/detection/ 下已有 retinaface 和 yolov5face 两套可仿写 |
| 扩展人脸修复模型 | ★★中 | r_basicsr/archs/ 增加架构定义并挂到 RestoreFace 节点 |
| 优化显存占用 | ★低 | 参照 ReActorUnload 节点做模型加载/卸载策略 |
若需要拉取源码,可执行git clone https://gitcode.com/gh_mirrors/co/comfyui-reactor-node,克隆进 ComfyUI 的 custom_nodes 目录后运行 install.py 即可。
五、适合谁上手
- 新手:先用 install.py 装好依赖,跑通主节点换一张图,别急着碰参数。
- 进阶:重点看 MaskHelper 和 ReActorOptions,学会用遮罩和排序控制多人脸工作流。
- 想做二开:先读 nodes.py 的注册表,再顺着 imports 进入 scripts/,理解"节点只做调度、算法在 scripts"的分层后再动手。
结语
comfyui-reactor-node 把 ReActor 换脸搬进 ComfyUI 后,"找到脸-换掉-修干净"这条链路第一次有了开箱即用的节点化方案。建议你先通读 nodes.py,再挑一个方向动手,比看文档快得多。
【免费下载链接】comfyui-reactor-nodeFast and Simple Face Swap Extension Node for ComfyUI项目地址: https://gitcode.com/gh_mirrors/co/comfyui-reactor-node
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考