InstantID 巧妙地避免了对文生图模型 UNet 部分的训练,仅通过训练一个轻量级的可插拔模块,实现了在推理过程中无需 test-time tuning,同时保持了文本控制的灵活性,确保了面部特征的高保真度。
随着AI绘画技术的不断迭代,AI换脸也日臻完美。
从路线上看,主要有两条路线,一是一张图换脸,优点是操作简便,缺点是换个姿势的时候,往往不太像,roop等插件是基于这个思路;二是炼制专属LoRA,用目标的5-20张甚至更多脸部照片,训练一个LoRA,从而生成满意的换脸画面,妙鸭相机、EasyPhoto等工具都是基于这个思路。
如今,又冒出来第三条路线。
小红书 InstantX 团队公开了论文《 InstantID:
Zero-shot Identity-Preserving Generation in Seconds 》和推理代码,他们表示:
InstantID 巧妙地避免了对文生图模型 UNet 部分的训练,仅通过训练一个轻量级的可插拔模块,实现了在推理过程中无需
test-time tuning,同时保持了文本控制的灵活性,确保了面部特征的高保真度。
InstantID 的工作原理可分为三个关键部分:
ID Embedding:团队利用预训练的面部识别模型代替 CLIP 来提取语义人脸特征,并使用可训练的投影层,将这些特征映射到文本特征空间,形成
Face Embedding,具有丰富的语义信息,包括如面部特征、表情、年龄等,为后续的图像生成提供了坚实的基础。
Image Adapter:引入一个轻量级的适配模块,将提取的身份信息与文本提示结合起来。这个模块通过解耦的交叉注意力机制,使得图像和文本能够独立地影响生成过程,从而在保持身份信息的同时,允许用户对图像风格进行精细控制,实现「双赢」。
IdentityNet:小红书提出了一个名为 IdentityNet 的网络,是 InstantID 的核心部分。它通过强语义条件(如面部特征的详细描述)和弱空间条件(如面部关键点的位置)来编码参考面部图像的复杂特征。在 IdentityNet 中,生成过程完全由 Face Embedding 引导,无需任何文本信息。仅更新新添加的模块,而预先训练的文本到图像模型保持冻结以确保灵活性。
在实际的图像生成过程中,InstantID 首先会接收到用户的文本提示和面部图像。然后通过 ID Embedding 提取关键信息,接着 Image Adapter 将这些信息与文本提示融合。IdentityNet 会根据这些融合后的信息生成图像。
整个过程是自动化的,用户不需要进行任何额外的微调或训练,只需等待二十几秒,就能得到一个既符合文本描述又保留个人身份特征的定制图像。
这个工具有独立安装版,有comfyUI版,今天我来介绍下WebUI版如何使用。
1、升级ControlNet,至少要到1.1.440版。
2、下载ControlNet使用的模型,模型分两大类。
https://www.123pan.com/s/ueDeVv-v1uI.html
(1)ControlNet模型
分别是ip-adapter_instant_id_sdxl.bin和control_instant_id_sdxl.safetensors。
下载后拷贝至extensions\sd-webui-controlnet\models,比如我的WebUI安装在E:\sd-webui,就需要拷贝至:
E:\sd-webui\extensions\sd-webui-controlnet\models
PS,也可以拷贝至
E:\sd-webui\models\ControlNet
(2)面部识别模型
共计5个,拷贝至以下目录(我的WebUI在E:\sd-webui)
E:\sd-webui\extensions\sd-webui-controlnet\annotator\downloads\insightface\models\antelopev2
3、配置界面
在ControlNet的配置界面,我们需要配置两个页面。
第一个页面:
先上传需要输出的脸型原型,比如一个非常熟悉的美少女。
注意相关参数。
(1)选择启用。
(2)类型选择Instant_ID
(3)预处理器选择instant_id_face_embedding
(4)模型选择ip-adapter_instant_id_sdxl,如果模型这里为空或者报错,则需要检查是否将下载好的模型拷贝到指定位置。
第二个页面:
这里上传想要摆拍的姿势,可以不是需要换脸的画面。instantID会分析这张照片的姿势,然后把第一张的脸型按照这个姿势适配,但不是简单的换脸,除了姿势外,完全不同,相当于重新生成。
(1)注意如果你的显存不足16G,那么这里要选择低显存优化,否则会爆显存。
(2)和第一个页面一样,选择Instant_ID。
(3)预处理器选择instant_id_face_keypoints,模型选择control_instant_id_sdxl。
4、输入提示词,然后点击“生成”。
需要注意的是,提示词不要太复杂,过于复杂的提示词容易使Instant_ID失效。
比如,我输入提示词:
a girl,HDR,UHD,8K,best
quality,masterpiece,ultra-fine painting,extreme detail
description,Professional,summer
dress,light_smile,
是不是很面熟?
再换一张姿势参考图:
提示词不变,生成如下:
然而我觉得,似乎不像传说中的那么像,大家觉得呢?
网盘下载:
https://www.123pan.com/s/ueDeVv-v1uI.html
本文档由网友提供,仅限参考学习,如有不妥或产生版权问题,请联系我们及时删除。
客服请加微信:skillupvip