ComfyPilotComfyPilot
文档 / 教程 / MediaPipe:ComfyUI 人脸检测

MediaPipe:ComfyUI 人脸检测

了解如何在 ComfyUI 中使用 MediaPipe Face Detection 检测人脸,提取面部关键点、边界框和区域遮罩

教程 mediapipe 更新于 2026-11-12

查看官方原文

MediaPipe:ComfyUI 人脸检测

了解如何在 ComfyUI 中使用 MediaPipe Face Detection 检测人脸,提取面部关键点、边界框和区域遮罩
[!TIP] > [tab] 本地用户 > > 请确保你的 ComfyUI 已经更新。 > > ComfyUI 下载 > ComfyUI 更新教程 > > 本指南里的工作流可以在工作流模板中找到。如果找不到,可能是 ComfyUI 没有更新。 > > 如果加载工作流时有节点缺失,可能原因有: > > 1. 你用的不是最新版(每夜版)。 > 2. 启动时有些节点导入失败。 > [tab] 云端用户 > > * Cloud 会在 ComfyUI 稳定版本发布后更新。 > > 所以,如果你发现本文档中有任何核心节点缺失,可能是因为新核心节点尚未在最新稳定版中发布。请等待下一个稳定版发布。

MediaPipe 是 Google 开源的实时感知机器学习解决方案。在 ComfyUI 中,MediaPipe Face Detection 集成了 BlazeFace 检测、FaceMesh v2 关键点估计和 ARKit-52 blendshape,全部在一个统一的工作流中完成。

MediaPipe Face Detection 已原生集成到 ComfyUI(PR #14009),模型权重基于 Apache 2.0 License 提供。

MediaPipe GitHub | Comfy-Org Model Repository

主要功能

  • 快速人脸检测 — 基于 BlazeFace 的检测器,支持近距离(约 2 米)和远距离(约 5 米)检测
  • 478 个面部关键点 — 每张人脸密集的 FaceMesh v2 关键点
  • ARKit-52 blendshape — 实时面部表情系数
  • 面部区域遮罩 — 面部轮廓、嘴唇、眼睛和虹膜的逐区域遮罩
  • 人脸边界框 — 输出兼容 DrawBBoxes 节点用于边界框可视化
范围说明: 仅人脸检测 — BlazeFace + FaceMesh v2 + ARKit blendshape。不包括手部、姿态或整体检测。

MediaPipe Face Detection 工作流

1. 下载工作流

将 ComfyUI 更新到最新版本,然后进入 Workflow → Browse Templates,在 Utility 分类下找到 "Mediapipe: Image Face Detection"。

[card] 下载工作流 JSON 文件 下载工作流
[card] 在 Comfy Cloud 上运行 在云端打开
[card] 下载示例图片 获取此工作流的示例输入图片

MediaPipe Face Detection 预览

2. 下载模型

MediaPipe Face Detection 模型托管在 Comfy-Org MediaPipe model repository 上。

将其放置在以下目录结构中:

📂 ComfyUI/
└── 📂 models/
    └── 📂 detection/
        └── mediapipe_face_fp32.safetensors

3. 使用工作流

本工作流使用一个 subgraph(子图)节点来协调人脸检测、可视化和遮罩生成。子图暴露了以下控制参数:

[card] 了解 Subgraph 本工作流使用 Subgraph 节点进行模块化处理。查看 Subgraph 文档了解如何自定义和扩展工作流。

子图输入:

输入描述
image要分析的输入图片批次
face\_landmarker可选。留空则使用内置模型加载器。连接外部 FACE_DETECTION_MODEL 输出可覆盖

子图参数:

参数默认值描述
model\_namemediapipe_face_fp32.safetensorsComfyUI/models/detection/ 目录下的模型文件。如缺失则下载上述模型
detector\_variantshortshort — 针对近距离/大脸优化(约 2 米范围)。full — 覆盖更小/更远的人脸(约 5 米),速度较慢。both — 同时运行两个检测器,保留每帧检测到更多人脸的结果(约 2 倍开销)
num\_faces1每帧最多返回的人脸数。0 = 不限制(返回所有检测结果)。范围:0–16
custom\_face\_ovalfalse在遮罩输出中包含面部轮廓区域
custom\_lipsfalse在遮罩中包含嘴唇(与其他启用的区域合并)
custom\_left\_eyefalse在遮罩中包含左眼区域
custom\_right\_eyefalse在遮罩中包含右眼区域
custom\_irisesfalse在遮罩中包含虹膜区域

遮罩切换在内部使用自定义模式:仅填充勾选的区域;多个开启的区域会合并为每帧一个遮罩。

子图输出:

输出类型描述
face\_landmarksFACE_LANDMARKS每帧人脸数据,包含 478 个 2D/3D 关键点、ARKit-52 blendshape、网格拓扑数据——输入到可视化和遮罩节点
bboxesBOUNDING_BOX人脸边界框——兼容 DrawBBoxes 节点
maskMASK基于启用的区域切换生成的二值遮罩

4. 运行工作流

  1. 确保模型文件已放置在 ComfyUI/models/detection/ 目录
  2. 在 Load Image 节点加载一张图片
  3. 根据需要调整检测参数
  4. 点击 Queue 或使用 Ctrl(Cmd) + Enter 运行
  5. 工作流输出网格覆盖图、边界框和遮罩预览

社区资源