分为三个部分:
- ID embedding
- Image Adapter
- Identity Net
什么是ID-preserving工作?
- 在数据处理和模型训练过程中保留数据实例ID的技术,它有助于研究人员更好地理解和优化模型性能,并促进数据驱动的决策过程。
ID Embedding
选取了Face Encoder,而不是CLIP Encoder(更擅长于检索)。
-
CLIP Encoder将输入的图像和文本编码成向量表示
-
图像编码:
- CLIP Encoder将输入的图像转换为一个固定长度的向量表示。它使用了一个卷积神经网络(CNN),通常是ResNet或Vision Transformer等结构,在图像上进行特征提取。这些特征通常是图像的高级语义特征,包含了图像的内容和语境信息。
-
文本编码:
-
对于文本输入,CLIP Encoder会将文本转换为一个固定长度的向量表示。它使用了一个Transformer模型,通常是BERT或GPT等结构,在文本序列上进行编码。这些编码通常是文本的语义表示,捕捉了文本的语义信息和语境信息。
-
CLIP Encoder的关键之处在于它能够将图像和文本编码的向量空间对齐。这意味着相似的图像和文本将在编码空间中更加接近,从而使得模型能够理解图像和文本之间的语义联系。
-
Image Adapter
利用轻量级模块进行训练,以学会利用视觉上的embedding,和文本信息结合。
- 两个attention解决两个模块:图像&文本
Identity Net
类似于Control Net
输入:landmarks(嘴角,鼻子,眼睛,共五个点)、Face Embedding
- 没有输入文本信息,以及没有更多的特征点定位,可能是为了防止模型学到更多没那么重要的特征。
梳理完结构后,下面开始全文大致翻译:
摘要: 使用文本反转、DreamBooth和LoRA等方法进行个性化图像合成已经取得了重大进展。然而,它们在现实世界中的适用性受到高存储需求、微调过程耗时长以及需要多个参考图像的限制。相反,现有的基于ID嵌入的方法虽然只需要一个正向推理,但也面临着挑战:它们要么需要在众多模型参数中进行广泛的微调,要么缺乏与该领域其余预训练模型的兼容性,要么无法保持高人脸保真度。为了解决这些限制,我们引入了InstantID,这是一个强大的基于扩散模型的解决方案。我们的即插即用模块仅使用单个面部图像就可以巧妙地处理各种风格的图像个性化,同时确保高保真。为了实现这一目标,我们设计了一个新颖的IdentityNet,通过施加强语义和弱空间条件,将面部关键点与文本提示集成在一起来引导生成图像。InstantID展示了卓越的性能和效率,在身份保护的实际应用中证明非常有益。此外,我们的工作与流行的预训练文本到图像扩散模型(如SD1.5和SDXL)无缝集成,可作为一个适应性强的插件。
引言: 当前text-to-image图像生成技术取得了显著进步,他们的一个关注点是个性化生成,即寻求基于一个或多个参考图像创建风格、主题或字符ID一致的图像。
当前面对的一个挑战是:生成准确保存人类受试者复杂身份细节信息的定制图像。这项任务要求特别高,因为人类面部识别(ID)涉及更细致的语义学,并且与主要关注粗粒度纹理和颜色的一般样式或对象相比,需要更高的细节和保真度标准。现有的普通文本到图像模型依赖于详细的文本描述,在定制生成中无法实现强语义相关性。
为了增强可控性,最近的工作,如ControlNet和T2I adapter。这些进步为大型预训练文本到图像模型添加了空间调节控制,通过用户绘制的草图、深度图、身体姿势和语义分割图等元素促进细粒度结构控制。此外,对样式或内容引用的适应,例如T2I adapter和Uni-ControlNet的全局控制,也在这一领域取得了长足的进步。
为了增强参考图像生成,当前的个性化生成方法可以根据测试期间对微调的需求分为两种类型。
-
第一种类型包括需要微调的方法,例如DreamBooth、Textual Inversion文本反转和Low-Rank Adaptation低秩自适应方法(LoRA)。这些方法旨在微调预训练的文本到图像模型,以更好地反映参考图像中的新方面。虽然可以有效地实现高准确率,但微调过程资源密集且耗时,限制了它们的实用性。此外,它们通常需要在各种设置中进行多次引用,并在数据有限的场景中会较为困难,例如使用相同的字符ID。
-
第二种类型在推理过程中绕过微调。它涉及构建大量特定领域的数据,并构建一个轻量级适配器,用于从参考图像中抽取特征。然后,该适配器将这些特征集成到使用交叉注意力的扩散生成过程中。IP-Adapter是代表性作品之一,它采用独特的交叉注意力机制来分离文本和图像特征,允许注入参考图像作为视觉提示。然而,这种方法主要依赖于CLIP的图像编码器,往往只产生弱对齐的信号,在创建高保真定制图像方面存在不足。
针对这些限制,我们引入了一种专注于即时身份保护图像合成的新方法(InstantID)。在这项研究中,我们通过引入一个简单的即插即用模块来弥合高保真和效率之间的差距,使其能够熟练地处理任何风格的图像个性化,只使用一个面部图像,同时保持高保真。为了从参考图像中保留面部身份,我们设计了一个新颖的面部编码器,通过添加强语义和弱空间条件来保留复杂的细节,其中包含企业面部图像、地标图像和文本提示来指导图像生成过程。
我们在以下几个方面将我们的工作与以前的工作区分开来:
- (1)即插即用性和兼容性:我们专注于训练一个轻量级适配器,而不是UNet的全部参数,使我们的模块可即插即用并与社区中预训练的模型兼容;
- (2)无需微调:我们的方法只需要一个前向传播/正向传播进行推理,无需微调。这一特性使InstantID对于现实世界的应用非常经济实用;
- (3)卓越的性能:只需一个参考图像,InstantID就实现了业内最佳表现,展示了高保真和灵活性。值得注意的是,它可以与基于训练的方法(如依赖多个参考图像的LoRAs)的性能相媲美甚至超越。
相关工作:
-1、Text-to-image Diffusion Models
- 一种常见的做法是通过预训练的语言编码器(如CLIP)将text prompt文本提示编码为隐变量,并使用隐变量来指导扩散过程。
- 例如,GLIDE采用级联文本引导扩散架构,支持生成图像和编辑。DisCo使用来自CLIP的文本编码器来处理文本输入,并在扩散过程中引入了CLIP引导。Stable Diffusion稳定扩散是隐变量扩散模型(LDM)的突出作品之一,其中扩散过程在隐变量空间而不是原始像素空间中执行,这显著降低了计算代价。作为后续,Stable Diffusion XL(SDXL)是一个强大的文本到图像生成模型,它引入了更大的UNet和第二个文本编码器,以获得对生成图像的更强文本控制。
-2 Subject-driven Image Generation
- 它使用特定主题的一组有限图像来生成基于文本描述的定制图像。
- 以前的主题驱动方法,如DreamBooth、文本反转、ELITE、E4T和ProFusion,在微调过程中微调一个特殊的prompt token S* 来描述目标概念。相比之下,其他最近的方法努力实现主题驱动的文本到图像生成,而不需要额外的微调。这些方法通常涉及训练额外的模块,同时对核心的预训练文本到图像模型冻结。 这种方法的一个主要例子是IP-Adapter,它旨在通过分离文本特征和图像特征的交叉注意层来解耦交叉注意机制。Anydoor用细节特征补充了常用的身份特征,这些细节特征旨在保持纹理细节,同时允许通用的局部变化。
-3 ID Preserving Image Generation
- ID-preserving图像生成是 Subject-driven图像生成的一个特例,但它侧重于具有强语义学的人脸属性,并在现实世界场景中找到了广泛的应用。现有的相关工作根据其对测试时微调的依赖程度可以主要分为两类。
- 低秩自适应(LoRA)是一种流行的轻量级训练技术,它在定制数据集上训练之前向模型中插入最少数量的新权重。然而,LoRA需要为每个新个体单独训练,这也限制了其灵活性。相比之下,最近的发展引入了optimization- free的方法,绕过了额外的微调或inversion过程。
- Face0覆盖最后三个文本标记text token,并在CLIP空间中投影face embedding,并使用联合嵌入joint embedding作为条件来指导扩散过程。PhotoMaker采用了类似的方法,但通过微调图像编码器中Transformer层的一部分并合并类和图像嵌入来增强其提取ID-centric embeddings的能力。FaceStudio提出了一种混合引导身份保护图像合成框架,其中face embedding通过线性的投影集成到CLIP视觉嵌入和CLIP文本嵌入中,然后合并的引导嵌入通过cross attention交叉注意融合到UNet中。
- IP-Adapter-FaceID使用来自脸部辨识系统模型的面部ID嵌入而不是CLIP图像嵌入来保持ID一致性。
- 然而,这些方法要么需要训练UNet的全部参数,牺牲与该领域现有预训练模型的兼容性,要么无法确保高人脸保真度。
方法: InstantID是一个高效的轻量级适配器,可轻松赋予预训练的text-to-image扩散模型ID保存能力.
1、预备知识
-
Stable Diffusion
- 它在低维隐空间而不是使用自编码器的像素空间中有效地执行扩散过程。
- 具体来说,给定一个输入图像Xi(H* W* 3),encoder将其映射至z0(h* w* c)。下采样因子f=H/h=W/w,c是隐空间的维度。
- 扩散过程中,采用denoising UNet (εθ)对具有噪声的潜在变量zt进行去噪。zt中包含当前timestep t、正态分布噪声ε以及条件C。其中,C是通过预训练的CLIP文本编码器生成的文本提示的嵌入表示。
- 训练目标:
-
Controllable Diffusion Models
- 它能够将空间控制作为条件添加到预训练的扩散模型中,从而超越了基本文本提示的功能。ControlNet整合了Stable Diffusion的UNet架构与一个可训练的UNet副本。这个副本在编码器块和中间块中没有卷积层。ControlNet的完整执行过程如下:
- ControlNet在后残差项中区别于最初的稳定扩散,其中F是UNet架构,x是隐变量,θ是预训练模型的冻结权重,Z对应于具有权重θz1、θz2的零卷积,θc是ControlNet的可训练权重。简单地说,ControlNet通过向UNet块添加残差来编码空间条件信息(草图、姿势、深度图等),然后将其嵌入到原始网络中。
- 它能够将空间控制作为条件添加到预训练的扩散模型中,从而超越了基本文本提示的功能。ControlNet整合了Stable Diffusion的UNet架构与一个可训练的UNet副本。这个副本在编码器块和中间块中没有卷积层。ControlNet的完整执行过程如下:
-
Image Prompt Adapter
- IP-Adapter引入了一种新颖的方法,可以在不修改原始text-to-image模型的情况下实现与文本提示并行的图像提示功能。它采用独特的解耦交叉注意力策略,通过额外的交叉注意力层嵌入图像特征,同时保持其他参数不变。
- 其中Q,Kt,Vt是文本交叉注意的注意操作的查询、键和值矩阵,Ki和Vi是图像交叉注意力。query特征为Z和图像特征为ci。请注意,只有Wi k和Wi k是可训练的权重。
- IP-Adapter引入了一种新颖的方法,可以在不修改原始text-to-image模型的情况下实现与文本提示并行的图像提示功能。它采用独特的解耦交叉注意力策略,通过额外的交叉注意力层嵌入图像特征,同时保持其他参数不变。
2、方法论
概述:仅给定一个参考ID图像,InstantID旨在从单个参考ID图像中生成具有各种姿势或风格的定制图像,同时确保高保真。它包含三个关键组件:
- (1)捕获强大语义面部信息的ID嵌入;
- (2)具有解耦交叉注意力的轻量级自适应模块,便于将图像用作视觉提示;
- (3)一个Identity Net,通过额外的空间控制对参考面部图像中的详细特征进行编码
2.1 ID Embedding
- 与先前依赖于CLIP encoder的方法不同,本工作目标是在ID-preserving任务中需要更强的语义细节和增强的保真度。CLIP的固有局限性在于它对弱对齐数据的训练,这意味着它的编码特征优先捕获广泛、模糊的语义信息,如构图、样式和颜色。这些特征可以作为文本嵌入的一般补充,但是它们不足以完成需要精确身份保存的任务,在这些任务中,更强的语义和更高的保真度至关重要。
- 近年来,对人脸表示的广泛研究,特别是在脸部辨识系统和ReID中,已经证明了人脸表示在复杂任务中的有效性,如脸部辨识系统和重建。然而,它在扩散模型图像生成中的直接应用还没有得到充分研究。在我们的研究中,我们利用预训练的人脸模型从参考人脸图像中检测和提取人脸ID嵌入,为我们提供了强大的身份特征来指导图像生成过程。
2.2 Image Adapter
- 在预先训练的text-to-image扩散模型中,图像提示的能力显著增强了文本提示,特别是对于难以用文本描述的内容。在我们的方法中,我们采用了类似于IP-Adapter的图像提示策略,引入了一个具有解耦交叉注意力的轻量级自适应模块来支持图像作为提示。然而,我们通过使用ID嵌入作为图像提示来发散,而不是粗略对齐的CLIP嵌入。这种选择旨在实现更细致和语义丰富的提示集成。
2.3 IdentityNet
-
尽管有一些方法可以将图像提示与文本提示集成(例如IP-Adapter),但我们认为这些技术只能进行粗粒度的改进,并且这种集成水平不足以用于ID-preserving的图像生成。我们将这种限制归因于预训练扩散模型的固有训练机制和属性。例如,当图像和文本提示在注意力层之前就已连接时,模型难以对扩展token序列进行细粒度控制。然而,在交叉注意力中直接添加文本和图像token往往会削弱文本token所施加的控制。此外,试图增强图像标记的强度以提高保真度可能会无意中损害文本标记的引导能力。
-
我们通过采用替代特征嵌入方法ControlNet来解决这个问题。这种方法通常利用空间信息作为可控模块的输入,与扩散模型中的UNet设置保持一致,并将文本作为交叉注意力层中的条件元素。
-
在我们对ControlNet的变动中,主要有两个修改: 1)我们只使用五个面部关键点(两个用于眼睛,一个用于鼻子,两个用于嘴巴)作为条件输入,而不是细粒度的OpenPose面部关键点。2)我们没有使用文本提示,并使用ID嵌入作为ControlNet中交叉注意力层的条件。
- 首先,我们认识到虽然在ControlNet中空间控制是必不可少的,但它必须谨慎地应用,特别是对于面部区域。我们选择面部关键点作为空间控制信号,但限制自己仅使用五个关键点(两个眼睛各一个,鼻子一个,嘴巴两个),以提供一个比详细关键点更泛化的约束。这种方法有两个目的:a) InstantID是在现实世界的人类图像上进行训练的,而不是手动裁剪的人脸图像,在这些图像中,面部通常只是场景的一小部分,使得精确的关键点检测变得更challenging。b) 我们旨在减少空间约束的影响,并防止对面部冗余信息的过度强调,如面部形状或嘴巴闭合状态,以保持可编辑性。尽管如此,我们发现如果没有任何空间约束,人脸的自由度可能会过大,导致生成满意的结果变得复杂。因此,一个粗略关键点的映射提供了一个平衡的解决方案。
- 其次,我们之所以取消文本提示并使用ID嵌入作为交叉注意力层的条件,是因为这种方法使网络能够专门关注与ID相关的表示,从而不受人脸和背景的广义描述的影响。
2.4 训练和推理策略
- 在训练过程中,我们只优化Image Adapter和Identity Net的参数,同时冻结预训练扩散模型的参数。我们在以人类对象为特征的图像-文本对上训练整个InstantID pipeline,采用类似于原始Stable Diffusion工作中使用的训练目标(就是损失函数)。
- Ci is the task-specific image condition on Identity Net.
- 在训练过程中,我们不会随机丢弃文本或图像条件,因为我们已经删除了Identity Net中的文本提示条件。我们工作的一个关键步骤是Image Adapter内文本交叉注意和图像交叉注意之间的分离,以及Image Adapter图像提示适配器和Identity Net的解耦。
实验:
1、Image Only
- 不引入提示,仅由参考图像生成。
演示InstantID的稳健性、可编辑性和兼容性。第1列显示仅图像结果的结果,其中提示在推理期间设置为空。第2-4列通过文本提示显示可编辑性。第5-9列显示与现有ControlNets的兼容性(精确度和深度)。
2、消融研究
- 即系统地移除模型的某些部分(如某个特定的层、组件或特征)来观察其对模型性能的影响。这种方法的目的是确定哪些部分对模型的整体性能贡献最大,或者识别出可能存在的冗余部分。
- 附录中的图9表明,IdentityNet单独实现了良好的ID保留,图像适配器的添加进一步增强了面部细节恢复。我们还在图4中检查了参考图像数量对生成质量的影响。更多的参考图像通常会提高我们的生成质量,但即使是单个图像,我们的方法也会实现显著的保真度。在基于训练的方法中,同一个人的图像数量通常会直接影响生成质量。 例如,LoRAs训练通常需要几十张图像,如果图像相似度太高,就会受到过拟合的困扰。然而在我们的例子中,我们使用所有参考图像的平均嵌入,这进一步有助于提高我们的生成质量。
3、与之前方法的比较
- 我们将预训练的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在保持身份同时保持风格灵活性和控制力方面的优越性。
- 为了进一步证明InstantID的优越性,我们与使用多张参考图像训练的LoRA模型进行了比较分析。为此,我们选择了几个预训练的角色LoRA模型,例如Jackie Chan和Emma Watson。
- InstantID即使不需要测试时间微调,可以仅使用一张图像就获得有竞争力的结果。LoRA模型一方面对数据质量和数量有特定的要求,这可能会限制它们在现实世界场景中的适用性。另一方面,它们需要对定制模型进行额外的训练。与之形成鲜明对比的是,InstantID可以通过单独的图像实现高效的单步推理,展示出显著的效率,可以极大地有利于各种下行应用。
- 在非写实风格中,我们的工作在人脸和背景的集成上更加灵活。
应用: InstantID的低成本、即插即用的character ID preservation角色ID保留为众多下游应用提供了可能性。为了激发创意并展示其潜力,我们探索了几个十分有趣的用例。这些用例包括新颖的视角合成,其中InstantID能够在保持角色一致性的同时创建新的视角和角度。我们还深入探讨了不同角色之间的身份插值,展示了InstantID无缝融合多个身份特征的能力。此外,我们还强调了多身份合成,说明了InstantID如何管理涉及多个角色的复杂场景。这些应用中的每一个都凸显了InstantID在各种创意和实用情境中的多功能性和有效性。
结论与未来工作展望: 在本文中,我们提出了InstantID作为零样本学习身份保留生成的解决方案,它采用简单的即插即用模块,仅使用一张面部图像就能巧妙地处理任何风格的图像个性化,同时保持高保真度。InstantID包含两个核心设计。一个Image Adapter用于增强面部细节的保真度,一个IdentityNet用于确保强大的ID控制以保留复杂的面部特征。我们的实验结果证实了InstantID的鲁棒性和兼容性,以及它保留原始模型文本编辑能力的能力。其即插即用的特性还允许与其他模型(如LoRAs和ControlNet)无缝集成,拓宽了适用范围而无需额外成本。InstantID卓越的性能和效率为其在需要保留身份的现实世界多样化场景中的应用铺平了道路。然而,尽管InstantID有效,但仍存在一些需要解决的挑战。尽管我们的模型中的ID嵌入富含性别和年龄等语义信息,但高度耦合的面部属性给面部编辑带来了挑战。未来的发展可能会涉及解耦这些面部属性特征以增强灵活性。此外,我们可能会观察到InstantID与我们所用面部模型固有的偏见相关的一些局限性。此外,围绕我们模型中人脸维护的伦理考虑,特别是可能创建冒犯性或文化上不适当的图像,是未来工作中需要仔细考虑的关键问题。