人工智能

InstantID:零次身份保留图像生成

mm

近年来,AI驱动的图像生成技术取得了显著进步,尤其是在大型文本到图像扩散模型(如DALL-E、GLIDE、Stable Diffusion、Imagen等)出现后。尽管这些图像生成AI模型具有独特的架构和训练方法,但它们都有一个共同的焦点:定制和个性化图像生成,旨在根据参考图像创建具有一致的角色ID、主题和风格的图像。由于其卓越的生成能力,现代图像生成AI框架已在图像动画、虚拟现实、电子商务、AI肖像等领域找到应用。然而,尽管这些框架具有卓越的生成能力,但它们都面临一个共同的挑战:大多数框架无法生成定制图像同时保留人类对象的细腻身份细节。

生成定制图像同时保留细节对于人类面部身份任务尤为重要,尤其是那些需要高保真度和细节的任务。近年来,LoRA、DreamBooth、Textual Inversion等个性化图像合成框架取得了显著进步。然而,这些框架仍然不适合在现实场景中部署,因为它们需要大量存储空间、多个参考图像,并且需要长时间的微调过程。另一方面,现有的基于ID嵌入的方法虽然只需要一个参考图像,但它们缺乏与公开预训练模型的兼容性,或者需要对大量参数进行过度的微调,或者无法保持高的面部保真度。

为了解决这些挑战,并进一步增强图像生成能力,本文将介绍InstantID,一种基于扩散模型的图像生成解决方案。InstantID是一个即插即用模块,可以处理图像生成和个性化,仅需一个参考图像,并且能够保持高保真度。InstantID框架的主要目标是提供对其技术基础和组件的详细理解,我们将对模型的架构、训练过程和应用场景进行详细分析。让我们开始吧。

InstantID:零次身份保留图像生成


文本到图像扩散模型的出现对图像生成技术的发展做出了重大贡献。这些模型的主要目标是定制和个性化生成,使用一个或多个参考图像创建具有一致的主题、风格和角色ID的图像。这些框架创建一致图像的能力在图像动画、AI肖像生成、电子商务、虚拟和增强现实等行业中创造了潜在的应用。

然而,尽管这些框架具有卓越的能力,但它们面临一个根本挑战:它们经常难以生成定制图像,同时准确保留人类对象的细腻细节。值得注意的是,生成定制图像同时保留细节是一个具有挑战性的任务,尤其是人类面部身份任务需要更高的保真度和细节,以及更先进的语义。现有的文本到图像模型依赖于详细的文本描述,并且在实现定制图像生成的强语义相关性方面存在困难。另外,一些大型预训练文本到图像框架添加了空间条件控制,以增强可控性,使用元素如身体姿势、深度图、用户绘制的草图、语义分割图等来实现细粒度的结构控制。然而,尽管这些添加和增强,这些框架只能实现部分的保真度。

为了克服这些障碍,InstantID框架专注于即时身份保留图像合成,并尝试通过引入一个简单的即插即用模块来弥合效率和高保真度之间的差距,该模块允许框架使用仅一个面部图像来处理图像个性化,同时保持高保真度。另外,为了从参考图像中保留面部身份,InstantID框架实现了一个新颖的面部编码器,该编码器通过添加弱空间和强语义条件来保留图像的细腻细节,指导图像生成过程,结合文本提示、标志图像和面部图像。

InstantID框架有三个与现有文本到图像生成框架不同的显著特征。

  • 兼容性和即插即用性:InstantID框架不是训练整个UNet框架的全部参数,而是专注于训练一个轻量级的适配器。因此,InstantID框架与现有的预训练模型兼容和即插即用。
  • 无需微调:InstantID框架的方法消除了微调的需求,因为它只需要一个前向传播来进行推理,使得模型对于微调来说非常实用和经济。
  • 卓越的性能:InstantID框架展示了高的灵活性和保真度,因为它能够使用仅一个参考图像来实现最先进的性能,相当于依赖多个参考图像的训练方法。

总体而言,InstantID框架的贡献可以归纳为以下几点。

  1. InstantID框架是一种创新性的、ID保留的适配方法,用于预训练的文本到图像扩散模型,旨在弥合效率和保真度之间的差距。
  2. InstantID框架与自定义微调模型兼容和即插即用,使用相同的扩散模型架构,允许在预训练模型中无需额外成本地保留ID。

InstantID:方法和架构

如前所述,InstantID框架是一个高效的轻量级适配器,它能够为预训练的文本到图像扩散模型赋予ID保留能力。

谈到架构,InstantID框架建立在Stable Diffusion模型之上,这是一个以其在低维潜在空间中高计算效率而闻名的模型,而不是在像素空间中使用自动编码器。对于输入图像,编码器首先将图像映射到潜在表示,具有下采样因子和潜在维度。另外,为了去噪一个正常分布的噪声,扩散过程采用了去噪UNet组件。条件是使用预训练的CLIP文本编码器组件生成的文本提示的嵌入。

另外,InstantID框架还利用了ControlNet组件,该组件能够为预训练的扩散模型添加空间控制,超出了传统的文本提示的能力。ControlNet组件还整合了Stable Diffusion框架中的UNet架构,使用UNet组件的训练副本。UNet组件的副本在中间块和编码器块中具有零卷积层。尽管它们有相似之处,ControlNet组件与Stable Diffusion模型区别在于后者的残差项。ControlNet组件通过将残差添加到UNet块中,并将这些残差嵌入到原始网络中,来编码空间条件信息,如姿势、深度图、草图等。

InstantID框架还借鉴了IP-Adapter或图像提示适配器的思想,引入了一种新颖的方法来实现图像提示的能力,运行在文本提示的并行中,而无需修改原始的文本到图像模型。IP-Adapter组件还采用了一种独特的解耦交叉注意力策略,使用额外的交叉注意力层来嵌入图像特征,同时保持其他参数不变。

方法

为了给您一个简要的概述,InstantID框架旨在使用仅一个参考ID图像来生成定制图像,具有不同的风格或姿势,并保持高保真度。以下图表简要概述了InstantID框架。

如图所示,InstantID框架有三个基本组件:

  1. 一个ID嵌入组件,捕获图像中面部特征的强健语义信息。
  2. 一个轻量级的适配器模块,具有解耦交叉注意力组件,来促进图像作为视觉提示的使用。
  3. 一个IdentityNet组件,使用额外的空间控制来编码参考图像的详细特征。

ID嵌入

与现有的方法(如FaceStudio、PhotoMaker、IP-Adapter等)不同,InstantID框架专注于增强保真度和更强的语义细节,在ID保留任务中。值得注意的是,CLIP组件的固有局限性主要在于其训练过程是在弱对齐数据上进行的,这意味着CLIP编码器的编码特征主要捕获广泛和模糊的语义信息,如颜色、风格和构图。虽然这些特征可以作为文本嵌入的通用补充,但它们不适合于精确的ID保留任务,这些任务需要强的语义和高保真度。另外,最近在面部表示模型(尤其是面部识别)方面的研究表明,面部表示在复杂任务(如面部重建和识别)中的效率。基于此,InstantID框架旨在利用预训练的面部模型来检测和提取参考图像中的面部ID嵌入,指导图像生成。

图像适配器

预训练的文本到图像扩散模型在图像提示任务中的能力显著增强,尤其是在无法用文本提示充分描述的场景中。InstantID框架采用了一种类似于IP-Adapter模型的策略,用于图像提示,该策略引入了一个轻量级的适配器模块,配备了解耦交叉注意力组件,以支持图像作为输入提示。然而,与粗略对齐的CLIP嵌入不同,InstantID框架通过使用ID嵌入作为图像提示来实现语义丰富和更细致的提示集成。

IdentityNet

虽然现有的方法能够将图像提示与文本提示集成,但InstantID框架认为这些方法只增强了粗粒度特征,集成程度不足以实现ID保留图像生成。另外,在交叉注意力层中直接添加图像和文本标记会削弱文本标记的控制,并且尝试增强图像标记的强度可能会损害文本标记在编辑任务中的能力。为了应对这些挑战,InstantID框架选择了ControlNet,一种替代的特征嵌入方法,该方法使用空间信息作为可控模块的输入,允许它保持与UNet设置的一致性,在扩散模型中。

InstantID框架对传统的ControlNet架构进行了两处修改:对于条件输入,InstantID框架选择使用5个面部关键点,而不是细粒度的OpenPose面部关键点。其次,InstantID框架在ControlNet架构中的交叉注意力层中使用ID嵌入而不是文本提示作为条件。

训练和推理

在训练阶段,InstantID框架优化了IdentityNet和图像适配器的参数,同时冻结了预训练扩散模型的参数。整个InstantID管道在具有人类主题的图像-文本对上进行训练,并采用与稳定扩散框架中使用的类似的训练目标,具有特定于任务的图像条件。InstantID训练方法的亮点是图像和文本交叉注意力层在图像提示适配器中的分离,这使得InstantID框架能够灵活地、独立地调整这些图像条件的权重,从而确保更有针对性和控制的推理和训练过程。

InstantID:实验和结果

InstantID框架实现了Stable Diffusion,并在LAION-Face上进行训练,LAION-Face是一个包含超过5000万个图像-文本对的large-scale开源数据集。另外,InstantID框架收集了超过1000万张由BLIP2模型自动生成的人类图像,以进一步增强图像生成质量。InstantID框架主要关注单人图像,并采用预训练的面部模型来检测和提取人类图像中的面部ID嵌入,而不是训练裁剪的面部数据集。另外,在训练过程中,InstantID框架冻结了预训练的文本到图像模型,并且只更新了IdentityNet和图像适配器的参数。

仅图像生成

InstantID模型使用空提示来指导图像生成过程,仅使用参考图像,结果如下图所示。

‘空提示’生成如上图所示,展示了InstantID框架在保持丰富的语义面部特征(如身份、年龄和表情)方面的能力。然而,值得注意的是,使用空提示可能无法准确复制其他语义(如性别)的结果。另外,在上图中,第2至4列使用图像和提示,而生成的图像并没有表现出对文本控制能力的退化,并且保持了身份的一致性。最后,第5至9列使用图像、提示和空间控制,展示了模型与预训练空间控制模型的兼容性,允许InstantID模型灵活地引入空间控制,使用预训练的ControlNet组件。

值得注意的是,参考图像的数量对生成的图像有显著的影响,如上图所示。虽然InstantID框架能够使用单个参考图像生成良好的结果,但多个参考图像会产生更好的质量图像,因为InstantID框架取ID嵌入的平均值作为图像提示。接下来,比较InstantID框架与现有的单参考图像定制图像生成方法至关重要。以下图表比较了InstantID框架和现有最先进模型的结果。

如图所示,InstantID框架能够保留面部特征,这得益于ID嵌入本身携带的丰富语义信息,如身份、年龄和性别。可以说,InstantID框架在定制图像生成方面超越了现有的框架,因为它能够保留人类身份,同时保持控制和风格灵活性。

总结

在本文中,我们讨论了InstantID,一种基于扩散模型的图像生成解决方案。InstantID是一个即插即用模块,能够处理图像生成和个性化,仅需一个参考图像,并且能够保持高保真度。InstantID框架专注于即时身份保留图像合成,并尝试通过引入一个简单的即插即用模块来弥合效率和高保真度之间的差距,该模块允许框架使用仅一个面部图像来处理图像个性化,同时保持高保真度。

专业为工程师,心为作家。 Kunal是一名技术作家,对AI和ML有着深厚的热爱和理解,致力于通过其引人入胜和信息丰富的文档来简化这些领域中的复杂概念。