人工智能
InstantID:零样本身份保留生成,仅需几秒钟
近年来,AI驱动的图像生成技术取得了显著的进步,尤其是在大型文本到图像扩散模型(如DALL-E、GLIDE、Stable Diffusion、Imagen等)出现之后。尽管这些图像生成AI模型具有独特的架构和训练方法,但它们都共享一个共同的焦点:定制和个性化图像生成,旨在根据参考图像创建具有一致的角色ID、主题和风格的图像。由于其卓越的生成能力,现代图像生成AI框架已被应用于包括图像动画、虚拟现实、电子商务、AI肖像等领域。然而,尽管这些框架具有卓越的生成能力,但它们都面临一个共同的挑战:大多数框架都无法在保留人体对象的细微身份细节的同时生成定制图像。
生成定制图像同时保留细节对于需要高保真度和细节的任务(如人脸身份识别)至关重要,尤其是与主要关注粗糙纹理和颜色的普通物体图像生成任务相比。近年来,像LoRA、DreamBooth、Textual Inversion等个性化图像合成框架已经取得了显著的进步。然而,个性化图像生成AI模型仍然不适合在现实世界场景中部署,因为它们需要大量存储空间、多个参考图像,并且通常需要漫长的微调过程。另一方面,现有的基于ID嵌入的方法虽然只需要一个单向参考,但它们要么与公开可用的预训练模型不兼容,要么需要对大量参数进行过度的微调过程,要么无法保持高的面部保真度。
为了解决这些挑战,并进一步增强图像生成能力,本文将讨论InstantID,一种基于扩散模型的图像生成解决方案。InstantID是一个即插即用模块,可以处理图像生成和个性化,并且只需要一个参考图像即可实现高保真度。 本文的主要目标是为读者提供对InstantID框架的技术基础和组件的全面理解,我们将详细介绍模型的架构、训练过程和应用场景。所以,让我们开始吧。
InstantID:零样本身份保留图像生成
文本到图像扩散模型的出现对图像生成技术的发展做出了重大贡献。这些模型的主要目标是定制和个性化生成,使用一个或多个参考图像创建具有一致的主题、风格和角色ID的图像。这些框架创建一致图像的能力已经在包括图像动画、AI肖像生成、电子商务、虚拟和增强现实等行业中创造了潜在的应用。
然而,尽管这些框架具有卓越的能力,但它们面临一个基本的挑战:它们通常难以生成保留人体对象的细微细节的定制图像。值得注意的是,生成保留内在细节的定制图像是一项具有挑战性的任务,因为人脸身份需要比普通物体或风格更高的保真度和细节,以及更先进的语义。现有的文本到图像模型依赖于详细的文本描述,并且难以实现定制图像生成的强语义相关性。此外,一些大型预训练文本到图像框架添加了空间条件控制,以增强可控性,实现使用身体姿势、深度图、用户绘制的草图、语义分割图等元素的细粒度结构控制。然而,尽管这些添加和增强,这些框架只能实现对参考图像的部分保真度。
为了克服这些挑战,InstantID框架专注于即时身份保留图像合成,通过引入一个简单的即插即用模块来弥合效率和高保真度之间的差距,该模块可以使用单个面部图像处理图像个性化,同时保持高保真度。此外,为了保留参考图像的面部身份,InstantID框架实现了一个新颖的面部编码器,通过添加弱空间和强语义条件来保留图像的细微细节,指导图像生成过程,融入文本提示、标志图像和面部图像。
InstantID框架有三个与现有文本到图像生成框架不同的显著特征。
- 兼容性和即插即用性:与训练UNet框架的全部参数不同,InstantID框架专注于训练一个轻量级适配器。因此,InstantID框架与现有的预训练模型兼容和即插即用。
- 无需微调:InstantID框架的方法消除了对微调的需求,因为它只需要单向推理,因此该模型对于微调来说非常实用和经济。
- 优越的性能:InstantID框架表现出高灵活性和保真度,因为它能够使用单个参考图像实现最先进的性能,相当于依赖多个参考图像的基于训练的方法。
总体而言,InstantID框架的贡献可以归结为以下几点。
- InstantID框架是一种创新性的、ID保留的适应方法,用于预训练的文本到图像扩散模型,旨在弥合效率和保真度之间的差距。
- 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框架有三个基本组件:
- 一个ID嵌入组件,用于捕获图像中面部特征的强健语义信息。
- 一个轻量级的适配器模块,具有解耦的跨注意力组件,用于促进图像作为视觉提示的使用。
- 一个IdentityNet组件,用于使用额外的空间控制从参考图像中编码详细的特征。
ID嵌入
与现有的方法(如FaceStudio、PhotoMaker、IP-Adapter等)不同,这些方法依赖于预训练的CLIP图像编码器来提取视觉提示,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框架使用ID嵌入而不是文本提示作为ControlNet架构中跨注意力层的条件。
训练和推理
在训练阶段,InstantID框架优化了IdentityNet和图像适配器的参数,同时冻结了预训练的扩散模型的参数。整个InstantID管道在具有人类主题的图像-文本对上进行训练,并采用与稳定扩散框架中使用的类似的任务特定图像条件训练目标。InstantID框架训练方法的亮点是图像适配器中图像和文本的跨注意力层之间的分离,这使得InstantID框架能够灵活地、独立地调整图像条件的权重,从而确保训练和推理过程更加有针对性和可控。
InstantID:实验和结果
InstantID框架实现了稳定扩散,并在LAION-Face上进行训练,LAION-Face是一个大型开源数据集,包含超过5000万个图像-文本对。另外,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框架专注于即时身份保留图像合成,并尝试通过引入一个简单的即插即用模块来弥合效率和高保真度之间的差距,该模块可以使用单个面部图像处理图像个性化,同时保持高保真度。
