openpose 是 ControlNet 中常用的控制模式之一。
通过 openpose 可以锁定人物姿势,把姿势信息传递给 Stable Diffusion 扩散模型,让其在扩散生成图片的时候遵照特定的任务姿势。
通过 openpose 能够得到类似如下效果:
同样的姿势,还可以生成更多不一样的图片,
几种 openpose 类型
openpose 最常用的几种控制方式
1、openpose(通用)
2、openpose_full(全身)
3、openpose_face(面部)
4、openpose_faceonly(仅面部)
5、openpose_hand(手)
从名称上,也能够知道其大体的作用部位,不过实践出真知。
openpose、openpose_full、openpose_face、openpose_faceonly 对比
以下图为原图,分别来体验一下 openpose、openpose_full、openpose_face、openpose_faceonly 这四种不同的效果。
测试使用同一组默认配置,只切换控制网络,其他测试维度自行测试。
基础参数配置如下
agirl
Steps: 20, Sampler: DPM++ 2M, Schedule type: Karras, CFG scale: 7, Seed: 2816443480, Size: 512x728, Model hash: 7c7eb893a9, Model: magmix_xl13Elegant, Denoising strength: 0.7, ControlNet 0: "Module: openpose_full, Model: bdsqlsz_controlllite_xl_dw_openpose [23893c0e], Weight: 1.2, Resize Mode: Crop and Resize, Processor Res: 512, Threshold A: 0.5, Threshold B: 0.5, Guidance Start: 0.0, Guidance End: 1.0, Pixel Perfect: True, Control Mode: Balanced", Hires upscale: 2, Hires upscaler: Latent, Version: v1.9.4
controlNet 配置如下
仅变更对应的图片信息提取用的处理器即可。
对比效果图如下
openpose_hand
openpose_hand 是针对手部信息提取的处理器,为了方便控制出图,单拎出来。
选择一张,手部信息比较明显的图片,方便操作,原图如下:
通过设置 openpose_hand ,生成效果对比图:
由于手指的绘画一直都是AI生图比较困难的一部分,在生图过程中,需要不断调整 controlnet 权重等,控制生图。