0


【当前全网最详细】WebUI中使用Instant_ID来控制生成对象面部的用法

🎈为什么有这篇文章

中文网络上或者B站很多UP,在讲述WebUI中使用这个controlnet来换脸的时候,要么讲的过于复杂,要么就是没有讲清楚,所以这里整理下详细的使用方法,并记录下生成的内容。

如果懒得看文字可以看同款视频哈:

【AI写真Instant_ID全网最详细教程Stable Diffusion WebUI免费生产力】

🧵准备工作

首先,需要在将webui的本体升级到1.8.0或者更新的版本,这里保证与controlnet的兼容性;

其次,升级controlnet版本到3月6号以后的版本;

升级完成后,controlnet的版本为1.1.441(或者更新的版本应该也可以)。

第三,下载预处理器并放在controlnet的预处理器文件夹中;

预处理器下载地址:

https://huggingface.co/DIAMONIK7777/antelopev2/tree/main

如果你的网络不好可以到我的网盘下载:https://pan.quark.cn/s/34ac9d88ad7c

本地预处理器地址:

第四,下载controlnet模型到本地的controlnet模型文件夹中;

模型下载地址:

  • ipadapter model

  • ControlNet model

  • 如果你的网络不好可以到我的网盘下载:https://pan.quark.cn/s/34ac9d88ad7c

  • 然后放在本地的controlnet的模型文件夹下:

🧨图像生成

接下来就是具体的使用方法了。

Instant ID使用ControlNet和IP-Adapter的组合来控制扩散过程中的面部特征。Instant ID 的一项独特设计是,它将来自 ip-adapter识别到的面部特征信息,作为交叉输入传递到 ControlNet的unet网络部分。而如果不使用这个模型,ControlNet的unet网络的cross attention(交叉注意力) 输入是提示的文本嵌入。

在webui中具体使用Instant_ID这个controlnet的时候,跟其他的controlnet使用方法不同的是,他需要使用两个模型搭配才能生效,也就是要开启两个controlnet。

并且,两个模型的顺序不能出错。

第一个Controlnet设置:

这里上传的图像是你要参考的脸部特征的信息,也就是生成的最终人物像谁。

采样器是embedding结尾的,模型是一个特定的ip-adapter模型,这俩组合就是提取人物面部特征的。

需要注意的是,官方并没有强制要求选择“更偏向ControlNet”,但是我测试下来,如果不选择这个,生成的图像分辨率会相对低一些,所以建议这么设置。

当然,你可以适当降低控制权重,一定程度上也能提升生成的图像的分辨率。

第二个Controlnet设置:

这里也需要上传一张图像,这张图像是生成图像的人物的面部参考信息。这张图像中人物的姿势和面部表情特征会被参考。

这里的预处理器选择的keypoints结尾的预处理器模型,模型是instant_id_sdxl模型,对,这里仅仅支持sdxl的大模型(也支持sdxl_turbo模型),官方并没有支持sd1.5或者其他的版本。

这两个模型搭配起来,会控制最终生成的图像中,人物面部的占比,面部朝向,面部表情等等面部信息,姿态信息,从实验结果来看,一定程度上会参考,但参考的不多。

这里仍然勾选了“更偏向Controlnet”,也是由于勾选之后,一定程度上可以提升生成图像的分辨率。

至于“完美像素模式”,从实测结果看,勾选不勾选影响并不是很大。

接下来是基础的文生图设置部分;

这里有以下几个重点:

第一,模型必须选择sdxl或者sdxl turbo模型;

第二,CFG Scale这里,也就是提示词引导系数,官方建议是45之间,但是实测下来,这个参数的设定其实与你的模型非常相关,如果你是标准的sdxl微调模型,那么这个值在34之间可能会更好,否则生成的图像可能会比较模型,如果你的模型是sdxl turbo模型,那么,这个值甚至可以调整到1~1.5,效果也还不错。

第三,迭代步数部分,并不需要太高步数,步数太高反而容易崩,如果是标准模型,20步就差不多,如果是sdxl turbo模型,就按照turbo类通用的7~9步就好了;

第四,宽度和高度,众所周知,1024x1024是默认的最佳分辨率,但是这里如果是1024x1024的话,(估计是原作者训练集的问题),容易生成带水印的图像,所以大家可以稍微错开这个分辨率,比如说使用768x1024等,可以有效规避这个水印的问题;

👑生成效果

面部信息使用路人甲同学(如果用某些名人的话,效果会更好,但是由于都懂的原因,会根本发不出来),面部位置用了狼叔的一张剧照;

(仅作技术免费交流学习示意,如果有侵权,我会删掉)

生成的图像示意:

貌似,效果还不错?

🎇加速技巧

s你会发现使用这个Instant_ID的时候,每次都会加载模型、卸载模型,这样就会降低生成的速度从而影响创作者的心情。

如果你的显卡显存较大(12G以上),可以试试让controlnet支持缓存两个模型。

操作方法如下:

第一:进入webui的设置页面;

第二,找到controlnet选项;

第三,在右侧找到模型缓存数量选项,然后拉到2;(默认为1,如果你之前调整过,那就不用再调整了)

第四,重新启动webui;

这样你再使用Instant_ID的时候,速度就会变得很快乐,如果是4090,使用默认的sdxl模型,大概速度在5秒左右可以生成一张1024x768的图像;(供参考)

当然,这个也是支持使用高分辨率修复的,只是花的时间会略微长一点。

🎉写在最后~

去年的时候写了两门比较基础的Stable Diffuison WebUI的基础文字课程,大家如果喜欢的话,可以按需购买,在这里首先感谢各位老板的支持和厚爱~

✨StableDiffusion系统基础课(适合啥也不会的朋友,但是得有块Nvidia显卡):

https://blog.csdn.net/jumengxiaoketang/category_12477471.html

​​🎆综合案例课程(适合有一点基础的朋友):

https://blog.csdn.net/jumengxiaoketang/category_12526584.html

​​

这里是聚梦小课堂,就算不买课也没关系,点个关注,交个朋友😄


本文转载自: https://blog.csdn.net/JuMengXiaoKeTang/article/details/136591310
版权归原作者 聚梦小课堂 所有, 如有侵权,请联系我们删除。

“【当前全网最详细】WebUI中使用Instant_ID来控制生成对象面部的用法”的评论:

还没有评论