用ControlNet加Loopback修正坏掉的手部姿势

新知榜官方账号

2023-07-08 02:14:41

用ControlNet加Loopback修正坏掉的手部姿势

本文要说一下用ControlNet加上Loopback来达到修正坏掉的手部姿势的方法。这个方法与之前写过的StableDiffusion进阶——Inpaint+ControlNet手部修复实战最大的不同点是,要求更高一些的绘图软体技巧,以及使用ControlNet来监控修复的完成度。由于AI绘图的随机性,在训练时比较少见的手部姿势与角度,常常让AI算出奇怪的扭曲的或多余的手指,例如下面这个范例图:

example

为了修正这个坏掉的手势,我们除了用之前叙述的渐进Inpaint之外,还有一个方法可以较快速修正。首先,一样要到提供手部姿势的人偶网站,例如PoseMy.Art这个网站,将人偶的手部调整到想要的角度与姿势,然后将它输出成图片:

hand

手部姿势将它导入一个绘图软件,例如Photoshop,然后打开有问题的图片,新增图层,把好的手臂放到新图层上,移动到预定的位置,然后将有问题的手涂抹掉,再将好的手大致补上相似的肤色与阴影,这边会考验到我们的绘图能力,但不用绘制到十分细致,只要能大致表明正确的前后关系就好:

fix hand

接着,将这张修正过的图导入Inpaint,使用简单的提示词来表明我们要修正的是手,并圈选要修正的部位:

select hand

然后使用非常低的Denoisingstrength权重,例如0.2来开始,并且使用Onlymasked让AI专注在手部区域:

inpaint

以0.2的低权重开始重绘。

接着使用ControlNet的openpose_hand,输入修正过的图,并且侦测他是否有认得修正过的图的手部姿势:

openpose hand

这一步非常重要,如果openpose_hand无法认出手指的大致位置,代表修图是失败的,需要重新修图直到openponse_hand能正确标定手指位置。当ControlNet设定完成时,打开Loopback的设定,将回合数规定到10以上的数字,Finaldenoisingstrength设定到依然是低权重的0.25左右,确保整个十回合的周期都是低强度的重绘:

loopback

当一切都设定完成之后,就能开始绘图了,绘图过程由于绘图的变化细微,所以能防止AI偏转太大让手又变形了。在绘出来的图之中,出现正确的手部姿势机会应该很大,同时间绘图的速度又快(因为Denoisingstrength权重越低,绘图的速度越快)。在这里,我挑选了一张修复结果还算满意的图来当成果图:

result

最终成图。

本页网址:https://www.xinzhibang.net/article_detail-6675.html

寻求报道,请 点击这里 微信扫码咨询

关键词

ControlNet Loopback 手部姿势修复

分享至微信: 微信扫码阅读

相关工具

相关文章

相关快讯