当前位置:首页|资讯|Sora|Stable Diffusion|数字人

史上最全InstantID一键换脸,给小姐姐完整的一生

作者:铁华团的黄金船发布时间:2024-03-07

《流浪地球2》里,刘德华喃喃自语:我要给丫丫完整的一生。

丫丫的数字生命之所以无法超过两分钟,是因为那台550C算力不足。

出人意料的是,新年伊始,Sora就出现了,AI能生成一分钟的视频。

随着技术的迭代,算力的升级,距离用AI生成完整的一生,已经并不遥远。

对于普通用户来说,开源的Stable Diffusion已经能够生成近乎完美的图片和几秒的视频。

需要注意的是,图片本质上也是视频,是一帧视频。

在生成数字人的过程中,图片是很重要的一步。能够完美的生成图片,相当于有了视频的基础。

而如何把现实中的人脸复刻到数字人脸上,LoRA是很常见的一种技术。很多团队的虚拟照相馆,基本上都采用了训练LoRA的方式来实现。

训练LoRA需要的素材比较多,效率也比较低,时间非常长。

也有不少团队推出了一键换脸的插件,去年最火的插件是roop、ReActor等。不过这类插件有个很大的缺点,对不同画面的适配性比较差。

小红书和北大团队联手发布了一个一键换脸的插件:instantID。

instantID从底层技术上,摆脱了普通一键换脸插件的缺点,它可以提取人脸的面部特征,然后生成的各种画面非常自然。

InstantID 的工作原理可分为三个关键部分:

ID Embedding:团队利用预训练的面部识别模型代替 CLIP 来提取语义人脸特征,并使用可训练的投影层,将这些特征映射到文本特征空间,形成 Face Embedding,具有丰富的语义信息,包括如面部特征、表情、年龄等,为后续的图像生成提供了坚实的基础。

Image Adapter:引入一个轻量级的适配模块,将提取的身份信息与文本提示结合起来。这个模块通过解耦的交叉注意力机制,使得图像和文本能够独立地影响生成过程,从而在保持身份信息的同时,允许用户对图像风格进行精细控制,实现「双赢」。

IdentityNet:小红书提出了一个名为 IdentityNet 的网络,是 InstantID 的核心部分。它通过强语义条件(如面部特征的详细描述)和弱空间条件(如面部关键点的位置)来编码参考面部图像的复杂特征。在 IdentityNet 中,生成过程完全由 Face Embedding 引导,无需任何文本信息。仅更新新添加的模块,而预先训练的文本到图像模型保持冻结以确保灵活性。

在实际的图像生成过程中,InstantID 首先会接收到用户的文本提示和面部图像。然后通过 ID Embedding 提取关键信息,接着 Image Adapter 将这些信息与文本提示融合。IdentityNet 会根据这些融合后的信息生成图像。

整个过程是自动化的,用户不需要进行任何额外的微调或训练,只需等待二十几秒,就能得到一个既符合文本描述又保留个人身份特征的定制图像。

本文分三个部分,分别介绍WebUI下的安装使用、ComfyUI下的安装使用,以及显存不足(划重点)的使用。

一、云端账号的使用

小红书团队放出的工作流中,有一个标准工作流,我配置好后,在12G的3060上直接爆显存。

instantID的标准显存是16G起步,市面上流行的简易工作流不能实现这个强大的插件的最完美结果。

有没有办法给小姐姐完整的一生呢?

答案是:上云。

现在市面上可以使用Stable Diffusion的云电脑林林总总,建议选一款性能适中、插件丰富的。

比如揽睿星舟。这款云电脑内置了本文提到的所有模型和插件,因此本文以云端为例,后面也放上了在本地电脑(如果你有4090)的安装和配置教程。

1、注册

注册很简单,搜索网站 【揽睿星舟】 ,在注册时输入邀请码4849可以得到优惠。

2、选择硬件

注册成功后,登录平台,然后点击算力市场。

这里强烈推荐3090显卡(当然遇到算力紧张的时候不一定能抢到),性能比4090略差一些,但24G显存几乎可以跑任何插件,而价格要美丽的多。

选择后创立工作空间。

如果你熟悉WebUI界面,选择SD1.7+SDXL,如果你像我一样全面投入comfyUI的怀抱,那就选comfyUI。

启动方式,建议选手动,也可选自动启动;

数据盘可以选256G,网盘选择挂载。

数据集选择sd-base,预训练模型选择sdxl-models

然后点“立即创建”。

启动成功后,点击Jupyterlab

然后点击Terminal。

事实上,这是进入了一个Linux界面,对Linux比较熟悉的朋友,后面就知道怎么操作了。

复制粘贴启动命令然后回车。

启动速度远比我的电脑要快,出现了0.0.0.0:27777 地址就说明启动成功了。

回到工作空间,打开调试地址

就可以看到熟悉的WebUI界面了!

我比较喜欢浅色,把地址栏里的?__theme=dark 改为 ?__theme=light 就好了。

二、InstantID在WebUI下的使用

揽睿星舟内置了Instantid用的到的所有插件和模型!

我们选择SD1.7全插件版开机,启动WebUI界面后,可以直接进入配置界面开始使用。

在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,

是不是很面熟?

再换一张姿势参考图:


提示词不变,生成如下:

好了,让我们看看一个长得很像神仙姐姐的女孩!

三、InstantID在comfyUI下的安装和使用

如果你像我一样已经完全习惯了ComfyUI的工作流,那么揽睿星舟也给能提供安装了完整插件(节点)的版本。

开机时我们选择镜像ComfyUI-CU121。

启动方式和上文的WebUI几乎一样

需要留意一点点,启动的命令不同:需要复制 bash/home/user/start.sh 然后回车启动。

出现熟悉的地址信息,表示启动成功。

启动成功后,点击调试地址

我喜欢浅色系,ComfyUI调整风格的配置界面如下:

欢迎来到明亮的浅色界面。

创建基础工作流。

添加节点--InstantID--Apply InstantID。

节点创建好后,分别和大模型、采样器连接。

InstantID处,拖出Load InstantID Model,模型选择ip-adapter.bin(或ip-adapter_sdxl.bin)。

insightface处,拖出InstantID Face Analysis,建议选择CPU。

control_net处,拖出ControlNet模型,选择control_instant_id_sdxl.safetensors

image处连接加载图片,此处连接的是脸部照片。

正反提示词分别接到提示词。

image_kps处连接加载图片,此处连接的是参考姿势,如半身、侧身,生成的图片会在提示词的基础上,参考本图片的姿态。

放一张完整的工作流(基础版)。


1、一个特别像仙女姐姐的美人鱼

提示词:

1girl, underwater, afloat, soft natural lighting, orange hair, off-shoulder dress, aesthetic, film grain texture,analog photography aesthetic,visual storytelling, dynamic composition,looking at viewer,eye contact,


2、一个很像范爷的女生

提示词:

26 y.o. alt girl, eyeshadow, long eyelashes, (messy hair:0.6), film photography aesthetic, long black hair, dynamic composition, skin texture, full body, sharp focus, hard shadows




四、instantID在本地的部署和安装

如果你的电脑显卡超过16G,甚至是24G,那么恭喜你,可以在本地安装部署。

(一)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

(二)comfyUI

1、先在comfyUI管理器安装节点

搜索instantID,找到ZHO-ZHO-ZHO大神的插件。

然后进行安装。

这个插件需要大量的模型,这里装完只是第一步。

2、相关模型安装

(1)IP-Adapter模型

IP-Adapter是腾讯团队开发的适配器模型,能和ControlNet很好的组合使用,控制人物的姿态。

共有两个,分别是SD1.5和SDXL使用

拷贝至ComfyUI\models\instantid

ip-adapter.bin

ip-adapter_sdxl.bin

需要注意的是,有些SDXL大模型因为训练集的原因,也需要使用ip-adapter.bin,遇到报错提示时可以更换一下IP-Adapter模型。

(2)ControlNet模型

拷贝至ComfyUI\models\controlnet

control_instant_id_sdxl.safetensors

(3)人脸识别和分析模型

antelopev2模型,安装路径:ComfyUI\custom_nodes\ComfyUI_InstantID\models\antelopev2

这组模型和其他换脸插件的insightface模型是通用的,但多两个,insightface模型安装路径:ComfyUI\models\insightface

安装完这些模型,最基本的功能就可以跑起来了,如果你的显卡小于16G,就不用再装其他模型了,因为跑不动!

(4)模型下载

https://www.123pan.com/s/ueDeVv-WYuI.html



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1