AI换脸技术大比拼:PuLID vs InstantID vs FaceID
今天,我们将通过一个ComfyUI工作流来对比三种AI换脸技术,分别是PuLID、InstantID和IP-Adapter的FaceID-V2版本。这些技术的核心原理相似,都是基于一个名为InsightFace的人脸分析技术,该技术需要授权才能商用。InsightFace是一个深度人脸分析库,用于人脸识别、人脸检测和人脸对齐。
IP-Adapter FaceID是这三种技术中最早推出的。接下来推出的是InstantID。PuLID是最近推出的换脸技术。
这三种方案都需要你提供一张人脸参考图。因此,换脸的效果在很大程度上取决于你提供的那张参考图的质量和适配度。
接下来我们来通过一个ComfyUI工作流同时对比这三种换脸方式的效果。工作流的下载地址是:https://pan.baidu.com/s/19K60iNk1LGlNZJBCu7HuJA?pwd=lzo4 。
我会先演示下如何使用这个工作流,然后用这个工作流生成4组图片,并进行打分,来评估它们的效果。
如果你喜欢看视频教程,那么我非常欢迎你观看本文所对应的视频(B站同名帐号):
工作流配置和说明
当你下载好相关节点并导入ComfyUI以后,可能会发现缺少一些节点。这时候只需要在ComfyUI管理器中安装这些节点并重启ComfyUI即可。
建议在安装节点之前先升级ComfyUI,否则即使安装了节点,也可能仍然提示缺失节点。除了节点之外,还需要安装一些必要的模型。
模型的下载地址和存放路径,可以在节点的GitHub主页上找到详细介绍。
- PuLID: https://github.com/cubiq/PuLID_ComfyUI
- InstantID: https://github.com/cubiq/ComfyUI_InstantID
- IP-Adapter: https://github.com/cubiq/ComfyUI_IPAdapter_plus
以最近的PuLID为例,安装说明中提到需要下载PuLID的预训练模型,然后将其放到ComfyUI/models/pulid/
文件夹中。另外,第一次运行PuLID时,会自动下载一些模型。
导入工作流以后,让我们从下往上看看它的结构。
1️⃣ 共享节点:最下面是PuLID、InstantID和FaceID共用的节点。它们使用的Checkpoint、提示词、潜空间图片的尺寸和固定的种子值是相同的,这样可以更有利于同时对比它们的效果。
2️⃣ 模型节点组:再往上,有三个节点组。从左到右依次是PuLID、InstantID和IP-Adapter-FaceID。工作流的作者将它们安排得井井有条,非常直观。
3️⃣ 参考图像节点:再往上,右击名称为”Face”的节点,通过右键菜单最上面的选项,可以发现它实际是一个”加载图像”的节点。这个节点加载的是一张有人脸的照片,用来给PuLID、InstantID和FaceID作为参考。
运行工作流并对比效果
了解了工作流的运行逻辑后,我们可以开始运行工作流,对比这三种换脸方式的效果。
运行步骤
1️⃣ 确保所有必要的节点和模型都已安装和配置正确。 2️⃣ 导入工作流,并检查各节点的连接和配置。 3️⃣ 加载参考图像,并确认图像路径和格式正确。 4️⃣ 运行工作流,生成三种换脸技术的效果图。 5️⃣ 对比生成的效果图,分析PuLID、InstantID和IP-Adapter FaceID的差异和优劣。
对比效果
用这个工作流生成4组图片,并进行打分,来评估它们的效果。我设定了4个评分维度,为了方便起见,每个维度的分值都设定为1-3分:
- 提示词契合度:评估生成的图像是否完全符合提示词描述的内容
- 脸部光效:用来评估脸部的光影是否自然,是否跟周围的环境光相吻合
- 人脸相似度:用来评估生成的图像跟人脸参考图的相似程度
- 脸部细节度:评估的是脸部的画面质感和细节的丰富度
第一组图片:
PuLID | InstantID | FaceID | |
---|---|---|---|
提示词契合度 | 2 | 3 | 1 |
脸部光效 | 1 | 3 | 2 |
人脸相似度 | 1 | 2 | 3 |
脸部细节度 | 1 | 3 | 2 |
第二组图片:
PuLID | InstantID | FaceID | |
---|---|---|---|
提示词契合度 | 3 | 2 | 1 |
脸部光效 | 1 | 3 | 2 |
人脸相似度 | 1 | 3 | 2 |
脸部细节度 | 1 | 3 | 2 |
第三组图片:
PuLID | InstantID | FaceID | |
---|---|---|---|
提示词契合度 | 3 | 2 | 1 |
脸部光效 | 1 | 2 | 3 |
人脸相似度 | 1 | 2 | 3 |
脸部细节度 | 1 | 2 | 3 |
第四组图片:
PuLID | InstantID | FaceID | |
---|---|---|---|
提示词契合度 | 3 | 2 | 1 |
脸部光效 | 1 | 3 | 2 |
人脸相似度 | 1 | 3 | 2 |
脸部细节度 | 1 | 3 | 2 |
最后,我们来计算下总分:
PuLID | InstantID | FaceID | |
---|---|---|---|
总分 | 25 | 38 | 30 |
综合来说,InstantID是三者中效果最好的,FaceID和它比较接近,它们两都比新出来的PuLID效果要好很多。
虽然InstantID效果最好,但它运行起来消耗的资源也最多。所以总的来说,没有哪个绝对的好,还是要看具体的需求。
以上只是我的主观看法,欢迎大家自己进行测试并在评论区发表意见。