AI绘画:ControlNet助力,AI解决画手难题!
我的专栏《AI绘画与AIGC实践之路!》
其实在ControlNet出来没几天,就有开发者提供了一种画手的思路,也就是使用《ControlNet多重控制功能推出,AI绘画进入导演时代!》多重模型,人体使用OpenPose模型,叠加手部使用深度模型,比较完美的实现了手部绘制。下面看我简单利用已有的手部深度图,生成的几张。
使用这个方法简单步骤就是先找到你需要的人物的手部照片、或自己拍一张类似姿势的手部照片,然后在Stable Diffusion中生成手部深度图,再叠加人体姿势,合成最后的效果图。其实使用过程非常简单,最麻烦的反而是找手部深度图,还好,近日有网友开发了手部深度图插件,这篇文章就介绍一下利用这个插件生成完美手势图的关键。
插件地址:https://github.com/jexom/sd-webui-depth-lib
一、安装
1、打开“扩展”选项卡,点击“从URL安装”,在“扩展的git存储库的URL”中输入此扩展,https://github.com/jexom/sd-webui-depth-lib.git
2、点击“安装”,完成后重新启动WebUI
重启后会看到多了一个Depth Library选项卡,到这里就说明安装成功了。
二、手部深度图添加
1、加载背景图:首先我们需要生成一张基础图,找到一张合适的挑选出来。下面是我随意复制了一段提示语生成的一个样图,注意手的状态很残缺。
提示:
这时一定要把这张图片的Seed记录下来,我们后面还会用到。
然后点击Add Background Image将这张图作为背景加载进来,我们将在此图基础上摆放手部姿势。
2、加载手部图
从左下方选择一个合适的手部姿势,点击Add按钮,增加到右侧画布上。这时你可以通过拖动手周围的蓝线来更改大小,并通过拖动蓝色圆圈来旋转它。如果你的画面中需要两只手,可以再选一只添加到画面中并调整大小和位置。现在的状态如下图。
Save PNG会将单独的手部姿势图保存为一个黑背景的PNG格式文件,以后有需要可以重复使用。
3、使用手部深度图重新生成
这里我们点击右下方Send to ControlNet,发送到ControlNet模型面板。这里的几个重要参数见下图:
Seed:使用前面记录下的种子数。
Preprocessor:设为none
Model:control_depth
设置好后重新生成,效果如下。
仔细看一下,比原始图要好多了,这里比例有些大,可以返回刚才的界面调小一些,这步我们不再细调整。
这里需要说明的是,这种使用深度图控制手部姿势,最好的是五指张开的效果,但如果你用的是其他效果,就很难一步调整完美,很多时候还需要调整下面的参数。
4、调整Guidance Start参数
如果你仔细观察,在生成过程中,手部的深度图提早就形成了,这在生成复杂手部时,会导致效果不完美。我们换一个手部姿势,再测试一遍。
我们换了一只右手,看一下生成效果。可以看到虽然姿势差不多,但右手效果比较差。
这时我们可以修改一下Guidance Start参数,这个参数控制的是程序从什么时候开始从深度度扩散生成手部姿势,默认为0,也就意味着从一开始就计算。这里我们调整一下,设为0.2,也就是从总步数的20%处,才开始生成手,重新生成一遍。
好了一些,但还不完美,这里有两个原因,很大程度上取决于你用的手的姿势有多复杂,越复杂的手势,越需要仔细的调整Guidance Start参数,以控制扩散的时间段,这没有固定值,完全靠你实践。
另一个重要原因是这个扩展插件提供的手部深度图细节不够多,所以如果想要更好的结果,你可以自己生成一个手部深度图,后面我们会介绍如何使用自己的外部深度图。
调整到这里先不继续测试了,以上方法其实都是一种打补丁的方法,也就是在已有效果图基础上补充修改手部图。
二、使用多模型控制手部和身体部分的生成
前面介绍的是使用文本生成图像叠加手部深度图,生成人像的方法,我们可以看到影响最终效果的因素很多,最主要的是手指的复杂程度,如果我们想生成更完美的图像,还有一种方法是使用人体姿势图叠加手部深度图。这种方法需要用到Openpose Edit插件,具体安装不再详细介绍。
插件地址:https://github.com/fkunn1326/openpose-editor
使用这个插件,你既可以自己充头开始编辑修改一个骨架图,也可以可以导入一张已有图片让程序分析出Pose图,然后再修改;还可以导入一张已有图片作为背景,编辑一个骨架姿势哪种方法都可以。修改完后的Pose图如下:
编辑好后发送到ControlNet面板。注意,我们除了发送到ControlNet外,还要保存一张PNG格式的图,以便在手势编辑器里使用。
在手势编辑器里设置好手部姿势,这里不再详细介绍。
基础参数设置:
首先看一下控制身体的Openpose模型的参数设置:
下面是控制手部深度模型的参数设置:
欢迎您的加入!
根据你的喜好,推荐阅读以下AI绘画内容:
喜欢请把这篇文章转发到朋友圈支持一下!