【深度学习】换脸新科技,InstantID: Zero-shot Identity-Preserving Generation in Seconds

论文:https://arxiv.org/abs/2401.07519
代码:https://github.com/InstantID/InstantID
demo:https://huggingface.co/spaces/InstantX/InstantID

文章目录

    • 1 引言
    • 2 相关工作
      • 2.1 文本到图像扩散模型
      • 2.2 主题驱动的图像生成
      • 2.3 保持ID的图像生成
    • 3 方法
      • 3.1 初步
      • 3.2 方法论
        • 概述
        • ID嵌入
      • Image Adapter
      • IdentityNet
      • 3.3 训练和推理策略
      • 4 实验
        • 4.1 定性结果
        • 4.2 消融研究
      • 4.3 与以往方法的比较
        • 使用IP-Adapter
        • 使用LoRA
      • 4.4 应用
      • 5 结论与未来工作

摘要。在个性化图像合成方面取得了显著进展,诸如Textual Inversion、DreamBooth和LoRA等方法。然而,它们在现实世界的适用性受到高存储需求、漫长的微调过程和对多个参考图像的需求的阻碍。相反,现有的基于ID嵌入的方法,虽然只需要单向推理,但面临挑战:它们要么需要在众多模型参数上进行广泛的微调,要么与社区预训练模型不兼容,要么无法保持高人脸保真度。针对这些限制,我们介绍了InstantID,这是一种基于强大扩散模型的解决方案。我们的即插即用模块能够使用仅一个面部图像熟练处理各种风格的图像个性化,同时确保高保真度。为实现此目标,我们设计了一个新颖的IdentityNet,通过施加强大的语义和弱空间条件,将面部和标志性图像与文本提示相结合,引导图像生成。InstantID表现出卓越的性能和效率,在身份保护至关重要的实际应用中具有极大的益处。此外,我们的工作与流行的预训练文本到图像扩散模型(如SD1.5和SDXL)无缝集成,作为一个适应性插件。我们的代码和预训练检查点将在https://github.com/InstantID/InstantID上提供。

关键词:图像合成、图像定制、ID保护

1 引言

随着大型文本到图像扩散模型(如GLIDE[12]、DALL·E 2[15]、Imagen[19]和Stable Diffusion(SD)[16])的出现,图像生成技术取得了显著进步。这些发展的焦点是个性化和定制生成,旨在根据一个或多个参考图像创建风格、主题或角色 ID 一致的图像。这种方法因其在电子商务广告、AI肖像、图像动画和虚拟试穿等应用中的广泛潜力而引起了广泛关注。然而,一个显著的挑战仍然存在:生成准确保留人类主体复杂身份细节的定制图像。这项任务特别具有挑战性,因为人类面部身份(ID)涉及更细致的语义,与主要侧重于粗粒度纹理和颜色的一般风格或对象相比,需要更高标准的细节和保真度。现有的基于详细文本描述的基本文本到图像模型在定制生成中未能实现强大的语义相关性。为了增强可控性,最近的工作(如ControlNet[25]和T2I-adapter[11])已经被引入。这些进展为大型预训练文本到图像模型添加了空间条件控制,通过用户绘制的草图、深度图、身体姿势和语义分割图等元素,促进了细粒度结构控制。此外,针对风格或内容引用的适应性,如T2I-adapter的风格适配器和Uni-ControlNet的全局控制器,在这一领域取得了进展。

尽管取得了这些进展,生成的图像与参考图像的保真度仍然只是部分的。为了增强带有参考图像的图像生成,目前的个性化生成方法可以根据测试期间是否需要微调进行分类。第一种类型包括需要微调的方法,领先的例子包括DreamBooth[18]、Textual Inversion[4]和Low-Rank Adaptation[6](LoRA)。这些方法旨在微调预训练的文本到图像模型,以更好地反映参考图像中的新方面。虽然这些方法在实现高准确性方面是有效的,但微调过程资源密集且耗时,限制了它们的实用性。此外,它们通常需要在各种设置中使用多个参考图像,并且在数据有限的情况下(例如相同的字符ID)会遇到困难。

第二种类型在推理过程中绕过了微调。它涉及构建大量领域特定数据,并为从参考图像中提取特征构建轻量级适配器。然后,该适配器使用交叉注意力将这些特征集成到扩散生成过程中。IP-Adapter[24]是代表作之一,它采用独特的交叉注意力机制来分离文本和图像特征,允许将参考图像作为视觉提示注入。然而,这种主要依赖于CLIP[14]图像编码器的方法往往只产生弱对齐的信号,无法创建高保真度的定制图像。

考虑到这些限制,我们介绍了一种新的方法(InstantID),专注于即时保持身份的图像合成。在本研究中,我们通过引入一个简单的即插即用模块来弥合高保真度和效率之间的差距,使其能够熟练处理任何风格的图像个性化,只需使用一个面部图像,同时保持高保真度。为了保留来自参考图像的面部身份,我们设计了一个新颖的面部编码器,通过添加强大的语义和弱空间条件来保留复杂的细节,这些条件结合了面部图像、标志图像和文本提示来引导图像生成过程。我们在以下方面将我们的工作与以前的工作区分开来:(1)可插拔性和兼容性:我们专注于训练一个轻量级适配器,而不是完整的UNet[17]参数,使我们的模块可插拔并与社区中的预训练模型兼容;(2)无需微调:我们的方法仅需要进行单向传播来进行推理,无需微调。这个特点使InstantID在实际应用中具有极高的经济性和实用性;(3)卓越性能:只需一个参考图像,InstantID就能达到最先进的结果,表现出高保真度和灵活性。值得注意的是,它可以匹配甚至超越依赖多个参考图像的LoRAs等基于训练的方法的性能。

总之,我们的贡献有三个方面:

• 我们提出了InstantID,这是一种创新的保持身份适应方法,用于预训练的文本到图像扩散模型,可以很好地弥合保真度和效率之间的差距。实验结果表明,与该领域其他最先进方法相比,我们提出的方法表现出了优异的性能。

• InstantID是可插拔的,并且与从相同基础扩散模型微调得到的其他自定义模型兼容,可以在预训练模型中保持身份,而无需额外费用。此外,InstantID保持了对文本编辑的相当控制,正如原始的Stable Diffusion模型中观察到的那样,使得可以将身份平滑地整合到各种风格中。

• InstantID的优异性能和效率激发了它在一系列实际应用中的巨大潜力,例如新视图合成、身份插值、多身份和多风格合成。

2 相关工作

2.1 文本到图像扩散模型

近年来,文本到图像扩散模型[15,19,16,12,1,7]取得了最先进的图像生成结果,并在学术界引起了前所未有的关注。一个常见的做法是通过预训练的语言编码器(如CLIP [14])将文本提示编码成潜在表示,并使用该潜在表示来引导扩散过程。例如,GLIDE [12]采用了级联式的文本引导扩散架构来支持图像生成和编辑。DisCo [21]使用了CLIP [14]的文本编码器来处理文本输入,并在扩散过程中引入了CLIP的引导。稳定扩散[16]是潜在扩散模型(LDM)中的一项重要工作,其中扩散过程是在潜在图像空间而不是原始像素空间中进行的,这显著降低了计算成本。作为其后续,稳定扩散 XL [13](SDXL)是一个强大的文本到图像生成模型,它引入了一个更大的UNet和第二个文本编码器,以更强的文本控制生成的图像。

2.2 主题驱动的图像生成

主题驱动的文本到图像生成使用特定主题的有限图像集来基于文本描述生成定制图像,取得了显著的进展。以前的主题驱动方法,如DreamBooth [18]、Textual Inversion [4]、ELITE [22]、E4T [5]和ProFusion [28],在微调过程中微调一个特殊的提示标记S∗来描述目标概念。相反,其他最近的方法努力实现主题驱动的文本到图像生成,而无需额外的微调。这些方法通常涉及训练额外的模块,同时保持核心预训练的文本到图像模型冻结。这种方法的一个主要例子是IP-Adapter [24],它旨在通过将文本特征和图像特征的交叉注意力层分离来解耦交叉注意力机制。与此同时,与常用的身份特征相结合的Anydoor [2],设计了细节特征,以保持纹理细节并允许多样化的局部变化。

2.3 保持ID的图像生成

保持ID的图像生成是主题驱动生成的一种特殊情况,但它专注于具有强大语义的面部属性,并在实际场景中找到广泛应用。现有的工作主要分为两类,根据它们对测试时微调的依赖程度。低秩适应 [6](LoRA)是一种流行的轻量级训练技术,它在训练定制数据集之前向模型中插入了最小数量的新权重。然而,LoRA需要为每个新字符单独训练,限制了其灵活性。相反,最近的发展引入了无需优化的方法,绕过了额外的微调或反演过程。Face0 [20]使用CLIP空间中的投影人脸嵌入来覆盖最后三个文本标记,并将联合嵌入用作条件来引导扩散过程。PhotoMaker [10]采用了类似的方法,但通过微调部分Transformer [3]层的图像编码器并合并类别和图像嵌入来增强其提取ID中心嵌入的能力。FaceStudio [23]提出了一种混合引导的保持身份图像合成框架,其中将人脸嵌入通过线性投影集成到CLIP视觉嵌入和CLIP文本嵌入中,然后将合并的引导嵌入融入具有交叉注意力的UNet中。IP-Adapter-FaceID [24]使用来自人脸识别模型的面部ID嵌入,而不是CLIP图像嵌入来保持ID一致性。然而,这些方法要么需要训练UNet的全部参数,牺牲与现有预训练社区模型的兼容性,要么在保证高面部保真度方面表现不佳。为了解决这些限制,我们引入了一个灵活的模块,熟练地弥合了无需训练和需要大量训练的方法之间的差距。我们的方法在推理过程中无需微调,可以与现有的预训练扩散模型(如SD1.5和SDXL)完美结合,在面部保持方面实现了异常高的保真度。

3 方法

InstantID是一个高效的轻量级适配器,轻松赋予预训练的文本到图像扩散模型保持ID的能力,类似于一个“免费午餐”。在这一部分中,我们首先在第3.1节讨论关于文本到图像扩散模型和定制图像生成的基础知识,然后在第3.2节介绍我们InstantID的详细设计。最后,在第3.3节详细介绍我们的训练和推理过程。

3.1 初步

稳定扩散。我们的方法建立在稳定扩散[16]的基础之上,该方法在低维潜在空间而非像素空间中以自动编码器[8]的方式高效地执行扩散过程。具体来说,给定输入图像 x i ∈ R H × W × 3 x_i \in \mathbb{R}^{H \times W \times 3} xiRH×W×3,编码器首先将其映射到潜在表示: z 0 = ξ ( x i ) z_0 = \xi(x_i) z0=ξ(xi),其中 z 0 ∈ R h × w × c z_0 \in \mathbb{R}^{h \times w \times c} z0Rh×w×c f = H / h = W / w f = H/h = W/w f=H/h=W/w 是下采样因子, c c c 是潜在维度。扩散过程采用去噪 UNet[17] ϵ θ \epsilon_\theta ϵθ 来去噪一个服从正态分布的噪声 ϵ \epsilon ϵ,具有带噪声的潜在 z t z_t zt、当前时间步 t t t 和条件 C C C,其中 C C C 表示通过预训练的 CLIP[14] 文本编码器生成的文本提示的嵌入。总体训练目标被定义为:

在这里插入图片描述

我们利用 ControlNet[25] 作为一个示例,它能够将空间控制添加到一个预训练的扩散模型作为条件,扩展了基本文本提示的功能。ControlNet 将稳定扩散的 UNet 架构与一个可训练的 UNet 复制品集成在一起。该复制品在编码器块和中间块内具有零卷积层。ControlNet 的完整过程执行如下:

在这里插入图片描述

ControlNet 在后续的残差项中与原始的稳定扩散有所区别,其中 F F F 是 UNet 架构, x x x 是潜在表示, θ \theta θ 是预训练模型的冻结权重, Z Z Z 对应于带有权重 θ z 1 \theta_{z1} θz1 θ z 2 \theta_{z2} θz2 的零卷积, θ c \theta_c θc 是 ControlNet 的可训练权重。简而言之,ControlNet 通过将残差添加到 UNet 块中来编码空间条件信息(草图、姿势、深度图等),然后将其嵌入到原始网络中。

IP-Adapter[24] 提出了一种新颖的方法,可以在不修改原始文本到图像模型的情况下,实现并行的图像提示功能。它采用了一种独特的解耦交叉注意力策略,通过额外的交叉注意力层嵌入图像特征,同时保持其他参数不变。解耦的交叉注意力可以被描述为

在这里插入图片描述

其中, Q Q Q K t K_t Kt V t V_t Vt 分别是文本交叉注意力操作的查询、键和值矩阵, K i K_i Ki V i V_i Vi 则是图像交叉注意力的键和值矩阵。给定查询特征 Z Z Z 和图像特征 c i c_i ci Q = Z W q Q = ZW_q Q=ZWq K i = c i W i k K_i = c_i W_{ik} Ki=ciWik V i = c i W i v V_i = c_i W_{iv} Vi=ciWiv。需要注意的是,只有 W i k W_{ik} Wik W i v W_{iv} Wiv 是可训练的权重。

3.2 方法论

概述

InstantID旨在仅提供一个参考ID图像的情况下,从单个参考ID图像生成具有不同姿势或风格的定制图像,同时确保高保真度。图2提供了我们方法的概述。它包含三个关键组成部分:

  1. ID嵌入:捕获稳健的语义面部信息;
  2. 轻量级调整模块:具有解耦的交叉注意力,方便使用图像作为视觉提示;
  3. IdentityNet:从参考面部图像中编码详细特征,并具有额外的空间控制。
ID嵌入

与之前的方法(如IP-Adapter [24]、FaceStudio [23]和PhotoMaker [10])相反,这些方法依赖于预训练的CLIP图像编码器进行视觉提示提取,我们的工作针对ID保留任务中更强语义细节和增强保真度的需求。CLIP的固有限制在于它在弱对齐数据上的训练,这意味着其编码特征主要捕获宽泛、模糊的语义信息,如构图、风格和颜色。这些特征可以作为文本嵌入的一般补充,但对于需要精确ID保留的任务来说,强语义和更高保真度至关重要。近年来,在面部表示方面进行了广泛研究,特别是在人脸识别和ReID领域,已经证明了面部表示在复杂任务(如人脸识别和重建)中的有效性。然而,它在扩散模型中的直接应用尚未得到充分探索。在我们的研究中,我们利用预训练的面部模型从参考面部图像中检测并提取面部ID嵌入,为我们提供强身份特征以指导图像生成过程。这引出了一个关键问题:我们如何有效地将身份特征注入到扩散模型中?我们将在后续部分中探讨并回答这个问题。

在这里插入图片描述

Fig.2. InstantID的总体流程 我们提出的InstantID模型包括三个部分,以保持高度的面部保真度。首先,我们采用面部编码器而不是CLIP来提取语义面部特征,并使用可训练的投影层将它们投影到文本特征空间中。我们将投影后的特征视为面部嵌入。然后,引入了一个轻量级自适应模块,其解耦了交叉注意力以支持图像作为提示。最后,我们提出了IdentityNet来编码参考面部图像中的复杂特征,并带有额外的弱空间控制。在IdentityNet中,生成过程完全由面部嵌入引导,不需要任何文本信息。只有新添加的模块会被更新,而预训练的文本到图像模型保持冻结以确保灵活性。训练后,用户可以自由生成任何风格的保留ID的高保真度图像。

Image Adapter

图像适配器。预训练的文本到图像扩散模型中图像提示的能力显著增强了文本提示,特别是对于那些难以用文本描述的内容。在我们的方法中,我们采用了与IP-Adapter类似的图像提示策略,如图2上分支所示,引入了一个轻量级自适应模块,其中解耦的交叉注意力用于支持图像作为提示。然而,我们通过使用ID嵌入作为我们的图像提示,与粗略对齐的CLIP嵌入相反,来采取不同的方法。这个选择旨在实现更加细致和语义丰富的提示集成。

IdentityNet

IdentityNet。尽管已经有了将图像提示与文本提示相结合的方法(例如IP-Adapter),但我们认为这些技术只提供了粗粒度的改进,这种集成程度对于保留ID的图像生成来说是不足的。我们将这种局限归因于预训练扩散模型的固有训练机制和属性。例如,当图像和文本提示在注意力层之前连接时,模型在对扩展的令牌序列进行精细控制方面遇到困难。然而,直接将文本和图像令牌添加到交叉注意力中往往会削弱文本令牌施加的控制力。此外,为了增强图像令牌的强度以获得更好的保真度,可能会无意中损害文本令牌的编辑能力。这在我们的工作中提出了一个重大挑战,我们通过采用另一种特征嵌入方法ControlNet来解决这个问题。该方法通常利用空间信息作为可控模块的输入,与扩散模型中的UNet设置保持一致,并在交叉注意力层中包含文本作为条件元素。

在我们对ControlNet的改进中,主要有两个修改:

  1. 我们使用仅包括五个面部关键点(两个用于眼睛,一个用于鼻子,两个用于嘴巴)的面部关键点,而不是细粒度的OpenPose面部关键点,作为条件输入。
  2. 我们消除了文本提示,使用ID嵌入作为ControlNet中交叉注意力层的条件。我们在下面讨论了我们的动机。

首先,我们认识到,虽然在ControlNet中空间控制至关重要,但必须敏感地应用,特别是对于面部区域。我们选择面部标志作为空间控制信号,但将自己限制在五个关键点(两个用于眼睛,一个用于鼻子,两个用于嘴巴)以获得比详细关键点更广泛的约束。这种方法有两个目的:

a)InstantID是在真实世界的人类图像上进行训练的,而不是在手动裁剪的面部图像上进行训练,在这些图像中,面部通常只是场景的一小部分,使得精确的关键点检测具有挑战性。

b)**我们旨在减少空间约束的影响,并防止对冗余面部信息(如面部形状或嘴巴闭合)进行过分强调,以保持可编辑性。**然而,我们发现,如果没有任何空间约束,人脸的自由度可能过大,使得生成令人满意的结果变得更加复杂。因此,粗略关键点的地图提供了一个平衡的解决方案。

其次,我们消除文本提示并将ID嵌入作为交叉注意力层的条件的原因是,这种方法使网络能够专注于与ID相关的表示,从而不受面部和背景的一般化描述的影响。

3.3 训练和推理策略

在训练过程中,我们只优化图像适配器和IdentityNet的参数,同时保持预训练扩散模型的参数冻结。我们在以人类为主题的图像文本对上训练整个InstantID管道,使用类似于原始稳定扩散工作中使用的训练目标。

在这里插入图片描述

在 IdentityNet 上,Ci 表示特定任务的图像条件。请注意,在训练过程中,我们不会随机丢弃文本或图像条件,因为我们已经在 IdentityNet 中删除了文本提示条件。

我们工作的一个关键特征是图像提示适配器内部文本交叉注意力和图像交叉注意力之间的分离,以及图像提示适配器与 IdentityNet 的解耦。这种设计选择使我们能够独立灵活地调整这些图像条件的权重,确保更加受控和有针对性的训练和推理过程。

4 实验

我们使用 Stable Diffusion 进行实现,并在大规模开源数据集 LAION-Face [27] 上进行训练,该数据集包含 5000 万个图像文本对,以确保多样性。此外,我们从互联网上收集了 1000 万张高质量的人类图像,并利用 BLIP2 [9] 自动生成的注释来进一步提高生成质量。我们专注于单人图像,并利用预训练的人脸模型 antelopev2 [1] 从人类图像中检测并提取人脸 ID 嵌入。我们在原始人类图像上进行训练,而不是在裁剪的人脸数据集上进行。在训练过程中,只有图像适配器和 IdentityNet 的参数被更新,而预训练的文本到图像模型保持冻结状态。我们的实验基于 SDXL-1.0 模型,并在 48 个 NVIDIA H800 GPU(80GB)上进行,每个 GPU 的批量大小为 2。

4.1 定性结果

我们在各种设置下展示定性结果,以展示我们方法的稳健性、提示编辑能力和兼容性。

  • 仅图像。我们使用空提示来引导生成过程完全依赖于参考图像。我们的结果没有提示,如图 3 中的 ‘empty prompt’ 所示,展示了 InstantID 能够稳健地保持丰富的语义面部内容,如表情、年龄和身份。然而,某些语义,如性别,可能不是完全准确的(见第二行)。

  • 图像 + 提示。在几个提示设置中(图 3,第 2-4 列),我们观察到在确保身份一致性的同时,文本控制能力没有降低,有效地改变了性别、服装和发色。

  • 图像 + 提示 + 空间控制。我们的方法与预训练的空间控制模型(如 ControlNet)兼容。图 3,第 5-9 列,说明了这种兼容性,表明我们可以使用预训练的 ControlNet(canny、depth)模型引入灵活的空间控制。

在这里插入图片描述

图3. InstantID的鲁棒性、可编辑性和兼容性示例 第一列展示了仅图像结果的情况,推理过程中将提示设置为空。第2至4列展示了通过文本提示实现的可编辑性。第5至9列展示了与现有控制网络(Canny & Depth)的兼容性。

在这里插入图片描述

图4. 参考图像数量的影响 对于多个参考图像,我们取ID嵌入的平均值作为图像提示。即使只有一个参考图像,InstantID也能取得良好的结果。

4.2 消融研究

我们评估了推断过程中每个内部模块的有效性及其对生成结果的影响。附录中的图 9 示范了只有 IdentityNet 本身就能够达到良好的身份保留效果,并且图像适配器的添加进一步增强了面部细节的恢复。

我们还在图 4 中检验了参考图像数量对生成质量的影响。更多的参考图像通常会提高我们的生成质量,但即使只有一张图像,我们的方法也能够达到显著的保真度。值得注意的是,在基于训练的方法中,同一人的图像数量通常直接影响生成的质量。例如,LoRAs 训练通常需要数十张图像,如果图像相似度太高,就会受到过拟合的困扰。然而,在我们的情况下,我们使用所有参考图像的平均嵌入,这进一步有助于提高我们的生成质量。

在这里插入图片描述
图5. InstantID与其他方法在不同字符和风格条件下的比较 从左到右依次为IP-Adapter-SDXL、IP-Adapter-SDXL-FaceID(*表示实验版本)、IP-Adapter-SD1.5-FaceID、IP-Adapter-SD1.5-FaceID-Plus。如图所示,我们发现依赖于CLIP嵌入的IP-Adapter无法实现面部保真度,还会导致提示控制的降级以生成风格。IP-Adapter-FaceID引入了面部嵌入,提高了面部保真度,但仍无法达到高保真度。IP-Adapter-FaceID-Plus将面部和CLIP的嵌入结合起来,可以实现良好的面部保真度,但存在风格降级问题,导致面部无法融入背景风格。相比之下,我们提出的InstantID与各种风格兼容,同时保持高保真度。
在这里插入图片描述

4.3 与以往方法的比较

使用IP-Adapter

为了展示我们方法的有效性,我们将其与现有的最先进方法在使用单个参考图像进行个性化生成方面进行比较。具体而言,我们将经过预训练的IP-Adapter、IP-Adapter-FaceID和IP-Adapter-FaceID-Plus的结果与我们的InstantID进行比较。从图5中可以得出两个重要观察结果:

  1. ID嵌入对于人脸保留任务至关重要。 与IPA中使用的CLIP嵌入不同,它仅提供图像的粗略表示,ID嵌入固有地携带丰富的语义信息,如身份、年龄和性别。这种高级语义内容对于准确和详细的人脸保留至关重要。

  2. 在跨注意力水平仅引入ID嵌入,如在IPA-FaceID和IPA-FaceID-Plus中所做的那样,确实增强了人脸保真度。 然而,这种方法可能会无意中影响文本控制。一个显著的例子是无法将面部区域与背景风格无缝融合。这种限制突显了人脸保真度和文本控制之间的权衡。相比之下,我们的InstantID方法展示了对不同参考图像的稳健处理,取得了更高的保真度结果。更重要的是,它有效地保持了ID的完整性,将其无缝融入各种风格中。这种比较凸显了InstantID在保持身份的同时保持风格的灵活性和控制能力的优势。

使用LoRA

为了进一步展示InstantID的优越性,我们与使用多个参考图像进行训练的LoRA模型进行了比较分析。为此,我们从Civitai中选择了几个预训练的角色LoRA模型,例如那些类似于成龙和艾玛·沃特森的模型。比较结果令人惊喜:InstantID能够仅使用单个图像就取得有竞争力的结果,甚至无需测试时微调。与LoRA模型相比,这一发现具有重要意义。LoRA模型一方面对数据质量和数量有特定要求,这可能会限制其在实际场景中的适用性。另一方面,它们需要额外训练定制模型。与之形成鲜明对比的是,InstantID能够仅使用一个图像进行高效的单步推理,展示了出色的效率,这可以极大地惠及各种下游应用。这种效率,加上不需要大量训练或多个参考图像的需求,使InstantID成为图像生成领域中非常实用和多功能的工具。

此外,我们将InstantID与广泛使用的黑盒人脸交换模型InsightFace Swapper进行比较,后者具有非扩散模型结构,以其集成到社区项目中(如ROOP和ReActor)而闻名。我们的比较如图7所示,表明虽然InsightFace Swapper在大多数标准场景下是有效的,但InstantID在将人脸与背景融合,特别是在非现实风格(如动漫)中展示了更大的灵活性。这种适应性展示了InstantID在处理各种艺术表达中的先进能力。

在这里插入图片描述

4.4 应用

此外,InstantID的低成本、即插即用的角色ID保留为大量下游应用打开了大门。为了激发想法并展示潜力,我们探索了几个有趣的用例。其中包括新颖的视角合成,InstantID使得可以创建新的视角和角度,同时保持角色的一致性。我们还深入研究了不同角色之间的身份插值,展示了InstantID无缝地融合多个身份的特征的能力。此外,我们强调了多身份合成,说明了InstantID如何管理涉及多个角色的复杂场景。每一个应用都突显了InstantID在各种创意和实际环境中的多功能性和有效性。结果见附录(分别见图10、图11和图12)。

5 结论与未来工作

本文提出了InstantID作为零样本身份保留生成的解决方案,采用简单的即插即用模块,使其能够在维持高保真度的同时,熟练处理任何风格的图像个性化,只需一个面部图像。我们的InstantID有两个核心设计。一个是图像适配器,用于增强面部细节保真度,另一个是IdentityNet,用于确保强大的ID控制以保留复杂的面部特征。我们的实验结果证实了InstantID的稳健性和兼容性,以及它保持原始模型的文本编辑能力的能力。它的可插拔性进一步允许与LoRA和ControlNet等其他模型的无缝集成,扩大了其适用范围,而不会产生额外成本。InstantID的出色性能和效率为其在各种现实场景中的应用铺平了道路,其中身份保留至关重要。然而,尽管InstantID的有效性,仍然有一些挑战需要解决。我们模型中的ID嵌入虽然丰富了语义信息,如性别和年龄,但面部属性高度耦合,这对面部编辑构成了挑战。未来的发展可能涉及解耦这些面部属性特征以增强灵活性。此外,我们可能会观察到与我们使用的面部模型固有偏差相关的InstantID的一些限制。此外,围绕我们模型中人脸的维护的伦理考虑,特别是潜在创建冒犯性或文化不当的图像,是未来工作中需要仔细考虑的重要问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/738114.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

zabbix5监控tomcat

zabbix tomcat客户端配置 1、配置tomcat catalina.sh文件 CATALINA_OPTS"$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port12345 -Dcom.sun.management.jmxremote.authenticatefalse -Dcom.sun.management.jmxremote.sslfalse -Djav…

smart-doc 社区 Committer 晋升公告

我们非常荣幸地宣布,经过 PMC 委员会的提名和讨论,社区成员李星志(GitHub ID: netdied)、陈琪(GitHub ID: chenqi146)和李兵(GitHub ID: abing22333)正式晋升为同程旅行 smart-doc 开…

Vue3全家桶 - Vue3 - 【3】模板语法(指令+修饰符 + v-model语法糖)

一、模板语法 主要还是记录一些指令的使用和vue2的区别;vue3指令导航; 1.1 v-text 和 v-html 指令的区别: v-text: 更新元素的文本内容;v-text 通过设置元素的 textContent 属性来工作,因此它将覆盖元素…

数据结构:静态链表(编程技巧)

链表的元素用数组存储, 用数组的下标模拟指针。 一、理解 如果有些程序设计语言没有指针类型,如何实现链表? 在使用指针类型实现链表时,我们很容易就可以直接在内存中新建一块地址用于创建下一个结点,在逻辑上&#x…

3、设计模式之工厂模式

工厂模式是什么?     工厂模式是一种创建者模式,用于封装和管理对象的创建,屏蔽了大量的创建细节,根据抽象程度不同,主要分为简单工厂模式、工厂方法模式以及抽象工厂模式。 简单工厂模式 看一个具体的需求 看一个…

面向对象(精髓)变继承关系为组和关系(_Decorator模式)

在软件开发中,设计模式是解决常见问题的可重用解决方案。在面向对象编程中,继承和组合是两种常用的代码复用方式。然而,随着软件需求的不断变化,我们需要更灵活的设计方式来应对不断变化的需求。在本文中,我们将讨论从…

计算机网络——TCP/IP网络层次模型

计算机网络——TCP/IP网络层次模型 TCP/IP网络模型的起源TCP/IP网络层次的结构TCP/IP如何交互 TCP/IP协议栈TCP/IP协议栈主要协议 TCP/IP 和 OSI之间的区别面向连接和无连接面向连接三次握手,四次挥手 无连接 我们上一次了解了OSI的网络层次模型,如果还没…

Linux学习-内存管理

目录 内存管理 malloc free 使用 字符串存储申请堆区 自主输入个数,然后通过malloc在程序中申请空间,不用必须提前指定大小 内存溢出 内存泄漏 内存碎片 内存管理 函数名就是指向该函数的函数指针。 堆区是自低向高,栈区是自高向低…

ffmpeg日记4001-原理介绍-视频切割原理

原理 打开输入---->打开输出---->根据输入来创建流---->拷贝流设置---->循环读帧---->判断时间点是否到达切割点,并做设置---->设置pts和dts---->写入---->善后 重点是pts和dts如何设置。参考《ffmpeg学习日记25-pts,dts概念的…

ftp速度太慢只有几十k,怎么解决?

FTP是目前许多企业日常运营中还在用的文件传输方式。虽然比较普遍,然而,许多用户在使用FTP时经常遇到速度缓慢的问题,有时甚至只有几十KB/s。这不仅影响工作效率,还可能导致许多数据传输的延迟的问题。本文将探讨FTP速度慢的原因&…

计算机服务器中了faust勒索病毒怎么解密,faust勒索病毒解密工具流程

在互联网飞速发展的今天,越来越多的企业走向了数字化办公模式,许多企业开始利用网络计算机开展各项工作业务,网络也为企业的生产效率提供了极大便利,但网络中存在许多恶意威胁。近日,云天数据恢复中心接到许多企业的求…

Java 学习和实践笔记(34):对象的转型(casting)

对象的转型(casting)有两种,一种是向上转型,一种是向下转型。 向上转型:父类引用指向子类对象。这属于自动类型转换,编译器会自动完成。 上一节的多态中,形参为父类Animal, 但是调用时实参为子类对象Dog&…

linux中查看并修改日期

1.如何在终端控制行界面显示并且调整日期: 显示当前日期: 2.显示当前年份: 3.显示当前月份: 4.显示当前天数: 5.显示到目前为止的天数: 6.显示日期: date “%x“ ≈ date ”%Y %m %d"…

09-设计模式 面试题

你之前项目中用过设计模式吗? 工厂方法模式分类 简单工厂模式工厂方法模式抽象工厂模式工厂模式 需求:设计一个咖啡店点餐系统。 设计一个咖啡类(Coffee),并定义其两个子类(美式咖啡【AmericanCoffee】和拿铁咖啡【LatteCoffee】);再设计一个咖啡店类(CoffeeStore)…

一、什么是 HarmonyOS ?

HarmonyOS 是华为开发的一款面向未来的全场景分布式智慧操作系统,将逐步覆盖 18N 全场景终端设备。 对消费者而言,HarmonyOS 用一个“统一的软件系统”,从根本上解决消费者面对大量智能终端体验割裂的问题,为消费者带来统一、便利…

Kafka Stream入门

1. 什么是流式计算 流式计算(Stream Processing)是一种计算模型,旨在处理连续的数据流。与传统的批处理模型不同,流式计算可以实时或接近实时地处理和分析数据,这意味着数据在生成后不久就被处理,而不是存…

基于android的物业管理系统的设计与实现19.8

目录 基于android的物业管理系统的设计与实现 3 摘 要 3 Android property managemengt system 5 Abstract 5 1 绪论 6 1.1 选题背景 6 1.2 课题研究现状 6 1.3 设计研究主要内容 7 1.4 系统主要设计思想 8 2 开发环境 8 2.1 Android系统的结构 8 图2-1 Android系统架构图 9 2…

Python绘图-14绘制3D图(下)

14.7绘制3D等高线图个性化colormap 14.7.1图像呈现 14.7.2绘图代码 import numpy as np # 导入numpy库,numpy是Python的一个强大的数值计算扩展程序库,支持大量的维度数组与矩阵运算。 import matplotlib.pyplot as plt # 导入matplotlib的绘图模块p…

UDP编程及特点

目录 1.UDP编程流程 2.recvfrom()、sento() 3.代码演示 3.udp特点 1.UDP编程流程 socket()用来创建套接字,使用 udp 协议时,选择数据报服务 SOCK_DGRAM。sendto()用来发送数据,由于 UDP 是无连接的,每次发送数据都需要指定对端…

神经网络基本使用

1. 卷积层 convolution layers import torch import torchvision from torch import nn from torch.nn import Conv2d from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriterdataset torchvision.datasets.CIFAR10(./dataset,trainFa…