2. Controlnet 面部与姿态预处理器 - 图1这节课我们继续去学习 Controlnet 预处理器中的面部与姿态预处理器,这也是我们在使用 Controlnet 时最常用的一种控制方式之一,使用姿态能让我们生成的图像与输入的面部与姿态数据保持一致性。

DW姿态预处理器:

2. Controlnet 面部与姿态预处理器 - 图2

  1. 介绍:从图像中提取手部、身体、面部姿态信息并生成骨架图;
  2. 检测手部、身体、面部:这不用说了吧,关掉就不会生成此部位骨架图,开启就会生成此部位骨架图;
  3. BBox检测:边界框检测器,用于检测图像中的对象并标识其位置(比如用来框选空姐在图中的位置);
  4. 姿态预估:姿态预估模型,通过此模型提取人/动物的姿态特征,也是我们这个预处理器最重要的算法;
  5. 姿态关键点:用来保存姿态关键点成 json 文件和给姿态关键点面部上色的,左键点住向外拖就能看到“保存姿态关键点”和“姿态关键点面部上色”。
  6. 对应模型:
    1. SD1.5 模型:control_v11p_sd15_openpose、t2iadapter_openpose_sd14v1
    2. SDXL 模型:暂无
  7. 效果预览:

2. Controlnet 面部与姿态预处理器 - 图3

Openpose姿态预处理器:

2. Controlnet 面部与姿态预处理器 - 图4

  1. 介绍:从图像中提取手部、身体、面部姿态信息并生成骨架图,效果不如 DW姿态预处理器;
  2. 检测手部、身体、面部:同 DW姿态预处理器;
  3. 对应模型:
    1. SD1.5 模型:control_v11p_sd15_openpose、t2iadapter_openpose_sd14v1
    2. SDXL 模型:暂无
  4. 效果预览:

2. Controlnet 面部与姿态预处理器 - 图5

Dense姿态预处理器:

2. Controlnet 面部与姿态预处理器 - 图6

  1. 介绍:通过不同颜色来区分人体部位,达到控制姿态的效果。实际上 Dense 应该归类为语义分割(我们后面会讲),从控制效果上来说不如我们说过的 DW姿态 灵活;
  2. 模型:有两个模型 r50 和 r101,我们用 r50 就可以,这个检测的效果最好;
  3. 色彩映射:色彩映射是一种将数据值映射到颜色的过程,通过色彩映射,可以使用不同的颜色来表示数据的不同数值。这些颜色来自于预定义的调色板,我们这里选择的就相当于另一个调色板(色彩映射不改变图像的细节或数据本身,只是改变了用来表示数据的颜色);
  4. 对应模型:
    1. SD1.5 模型:controlnetFor_v10
    2. SDXL 模型:暂无
  5. 效果预览:

2. Controlnet 面部与姿态预处理器 - 图7

  1. 说个题外知识:
    1. 如果有同学们了解过字节开源的 Magic Animate 可能会对处理后的图像眼熟。没错,字节的这个项目就用到了 DensePose,我们给一个图片和 DensePose 就能得到一个视频(如下);
    2. 青龙大佬做了这个项目的整合包,也有 ComfyUI 作者写了这个项目的插件,让我们可以在 ComfyUI 上使用,也有个部署在 Hugging Face 上的可以免费使用。感兴趣的可以研究一下,我就不多介绍了(建议使用青龙大佬的整合包,更方便一些)。
      1. 青龙大佬的整合包:https://www.bilibili.com/video/BV13b4y1j71m/?
      2. ComfyUI-MagicAnimate 插件:https://github.com/thecooltechguy/ComfyUI-MagicAnimate
      3. Hugging Face 体验地址:https://huggingface.co/spaces/zcxu-eric/magicanimate
    3. 注意:显存至少12GB;

2. Controlnet 面部与姿态预处理器 - 图8

MediaPipe面部网格预处理器:

2. Controlnet 面部与姿态预处理器 - 图9

  1. 介绍:通过对图像人脸识别实现面部稳定,比如我们要生成一个有特定表情的人物,但是关键词并不能详细的描述出来,我们就可以找一张这个表情的图像进行识别。现在用的比较少,DW姿态预处理器完全可以代替;
  2. 最大面部数量:指定最大检测的面部个数(最多识别50个);
  3. 最小置信度:指定判定为面部的最小阈值(数值不是越大越好,识别效果,取决于加载图像的质量);
  4. 对应模型:
    1. SD1.5 模型:control_v2p_sd15_mediapipe_face
    2. SDXL 模型:暂无
  5. 效果预览:

2. Controlnet 面部与姿态预处理器 - 图10

AnimaIPose动物姿态预处理器:

2. Controlnet 面部与姿态预处理器 - 图11

  1. 介绍:从图像中提取动物骨骼姿态;
  2. BBox检测:边界框检测器,用于检测图像中的对象并标识其位置(比如用来框选萨摩耶在图中的位置)
  3. 姿态预估:姿态预估模型,通过此模型提取人/动物的姿态特征,也是我们这个预处理器最重要的算法;
  4. 对应模型:
    1. SD1.5 模型:control_sd15_animal_openpose_fp16
    2. SDXL 模型:暂无
  5. 效果预览:

2. Controlnet 面部与姿态预处理器 - 图12

视频版教程详见B站

bilibili