AI写真项目拆解,手把手教学新手教程,ComfyUI版

一、分步制作

根据写真的SOP教程,蒙版变装的方法分为了四部分:

1、制作蒙版2、SD基础设置3、ControlNet设置4、修图

1、制作蒙版

根据教程中显示,制作蒙版是把脸部蒙版精准抠出,我们需要通过分割算法把脸部自动抠出,这里用到可以分割一切的seg(segment anything)

比葫芦画瓢,于是,小姐姐的脸完美扣出来了:

但在后期所有步骤连成后,发现遮罩边缘部分衔接不是太好,查了部分资料,发现是遮罩边缘太锋利导致,于是此处流程仍需要对蒙版边缘做羽化处理,核心节点就有,但试了一下,边缘依然比较清晰,发现核心节点feather mask是对整个图进行羽化,这不是我们想要的,我们只想对脸部进行羽化,这里用的是FeatheredMask节点。

通过FeatheredMask节点完美实现对边缘的羽化处理,如下图可以看到边缘明显不那么锐利:

到这里,第一步制作蒙版基本就达到我们想要的效果了。

2、SD基础设置

玩过ComfyUI的同学,相信这一步应该非常熟练的还原教程。

加载对应的大模型和lora,这里主要lora要和大模型相互匹配哦,通过lora模型的说明上可以看到使用什么大模型,如下图,冰雪奇缘这里用的麦橘V7:

这里属于基础部分,我就直接放流程图了,参数调节根据lora模型要求填写即可:

但是!这里依然有有一些细节需要注意,如果我们选择的适用于webui的提示词和参数配置的lora模型,我们需要用webui的提示词权重插值的方法,否则出的图和lora模型的表现有一定的差距。

啥意思呢,讲人话,就是目前大部分lora模型给出的效果图以及提示词都是从webui上得出得结论,但并不一定适用于comfyui,两种方式对提示词编码时的权重插值是有差异的,这也是经常有小伙伴通过ComfyUI还原WebUI时经常发现不能完美还原的一个非常非常重要的原因。

因此为了保证完美还原,这里又引入了一个节点,这个节点允许我们把权重插值方法改为A1111,也就是WebUI的提词权重插值方式,如下图:

根据上面接上,我们把之前的流程再重新修改,于是如下图:

可以看出两张图是有明显差别的,第一次的图明显锐化比较严重,第二次就好很多了。

到这里,SD基础设置中的前半部分就ok了,后边就是对蒙版内容和现在的采样器进行结合,教程中是重绘非蒙版内容,并且对蒙版区域采用潜空间噪声设置,因此这里需要在潜空间添加噪声以达到比较好的效果,对应ComfyUI可以用设置Latent噪波遮罩,并把图像编码传给采样器一同处理,这里就可以把空latent删除掉啦:

如上图,我们生成测试一下,发现遮罩部分完美把脸部迁移了,背景也重绘了,目前达到我们的效果。

剩下的就交给ControlNet来处理吧。

3、ControlNet设置

在ControlNet设置的教程里,主要用了openpose和lineart来控制人物的姿态和脸型,且用lineart控制脸部结构时需要手动把多余部分擦出掉。

这部分我想了好久,发现目前没有好的方式实现,但深入思考后,能够发现擦这部分的作用其实是防止衣服和背景的多余线条影响重绘得内容,那我用稍微欠一点的预处理器是不是能行呢,最终用HED模糊线预处理器感觉还凑活,生成的图像并没有太多线条,应该可以用:

然后加上openpose试一下:

把两个ControlNet串联后接入到采样器就可以啦,先看下生成效果:

看效果感觉用HED还凑活,那就继续。

4、修图

修图主要是对脸部边缘部分进行修复,使其融合的更自然。

教程里用的图生图的局部重绘,这里我们不想用手动去涂抹,ControlNet中有个inpaint预处理器啊,这个玩意也是干这个事得,而且比局部重绘的融合度会稍好一些,我们只需要让其对蒙版和原图的衔接部位进行重绘即可,控制好幅度应该可行。

于是,ControlNet中仍然需要再串联一层inpaint:

如上图,把inpaint串联上去,我们再看下效果吧:

看起来比之前效果确实要好不少。

到这里,整个还原就结束了,为了更清晰的划分不同模块,并做下后期放大,后面篇幅增加了放大功能。

二、后期优化

原图质量越好,生成的图也会越好,但大部分可能原图像素比较低,这里可以通过工作流直接组合放大功能。

这里我只用了SD放大,大家可以参考上面的文章,把图像放大到合适的大小哦。

可以看到图像被放大后还是很清晰的,并且经过重采样后,融合度可以说是完美。

但经过重采样的放大的图像会和原图略有区别,就和美颜后一样,这个可以通过调节降噪幅度自行调节到自己想要的程度。(ps: 效果是不是类似于插件instantid换脸法呢,嘿嘿!当然通过instantid换脸通过comfyui是比较容易做到的,属于比较基础的部分啦,小伙伴感兴趣的可以自己去实验吧)

为了方便查看,我对节点做了少许整理,并对刚才的分布制作单独分组,方便大家分块学习。

下面的两个图片和一个Json文件选取一个导入comfyui中即可展示全部流程了。

转载请注明出处,本文地址:https://www.iiilab.com/article/785372782

相关文章

0 个评论

要回复文章请先登录注册