1、ControlNt 中的 OpenPose
ControlNt 是 stablediffusion中功能非常强大,也是非常重要的一个插件,用它的OpenPose可以很容易做到控制人物姿态。首先,我们需要准备一些人物姿势图片。这些人物姿势图可以自己拍摄,也可以从网上下载。
这里提供一个下载方法:请看文末扫描获取Openpose八百张骨骼姿势图
有了pose参考图后,我们用提示词生成一张小姐姐图片(见下图)然后以这张图片为例,将人物姿势应用到这张小姐姐图片上。
打开
ControlNet,将姿势参考图片拖入参考图片内,按下图红框内的提示,勾选启用,预处理和模型都选择OpenPose,最后注意尺寸要和原图尺寸保持一致。
生成的小姐姐图片很漂亮,姿势和参考图一致,但 stable diffusion出全身图容易出现脸部变形和坏手的情况,这是一件很让人讨厌的事情,下面我们来解决坏手这个问题。
在使用 OpenPose时会自动生成一张骨骼图,我们需要把这张骨骼图保存下来。
在深度图编辑器(这是一个插件,具体安装方法下面会介绍)中导入刚刚的骨骼图,加入两个手势,然后导出手势图。注意图片尺寸要和原图一致。
回到ControlNet中,到第二个栏位(下图红色框内),拖入刚刚的的手势图,预处理不选,模型选择dpth(深度图),注意尺寸要和原图一致。然后点击生成。
看下结果,好像解决得还是不太完美,这个过程需要大家仔细耐心的调整,我在这里就不浪费时间了。
2、用OpenPose editor(OpenPose编辑器)控制人物姿势
首先说下OpenPose editor 和上文提到的 Openpose hand(深度编辑器)的安装方法:
打开扩展,从网址安装,然后分别输入下图中的网址,点击安装即可。
当看到提示“Installed into D:AIstable-diffusion-webuiextensionsopenpose-editor.Use Installed tab to restart.”重新启动stable diffusion,OpenPose编辑器和深度编辑器就安装好了。
重启webui后,会发现菜单栏上面有多了OpenPose编辑器和深度编辑器,打开OpenPose编辑器,会发现一个骨骼小人。
这个骨骼是可以自己用鼠标手工调整的,但容易调变形,让身体产生畸形,你也可以载入一张背景图做为参照进行调整,调整好后的骨骼图导入ControlNet中即可。
人物姿势基本是按照我摆好的骨骼生成的,不过这姿势有些丑,这是我没调整好姿势的原因,另外就是生成了坏手。解决坏手可以按照上面说到的配合深度图编辑器来解决,也可以用我下面的方法来解决。
3、用 3D Openpose editor精确控制人物姿势,一并解决坏手问题
3D Openpose editor 是一个中国小哥开发的网站,连使用界面都是中文的。
3D Openpose editor允许用户自己调整人物骨骼姿势,也可以随机生成,还可以通过图片识别人物姿势,待调整好姿势后,点击生成,分别保存人物骨骼图和手部深度图,导入ControlNet 中使用即可。注意这里要事先调整好宽高比例。
两张图片放置的位置和设置见下图。
人物的姿势是按照我们设置的骨骼图生成的,人手虽然稍微好了一些,但还是有些变形,这个需要我们耐心调整手部骨骼的深度图,需要挑战大家的耐心,这里我就不浪费时间了,需要大家自己去尝试。