统一单ID和多ID个性化框架!阿里发布UniPortrait:质量和多样性超越现有方法

文章链接:https://arxiv.org/pdf/2408.05939
git链接:https://aigcdesigngroup.github.io/UniPortrait-Page/
demo链接:https://huggingface.co/spaces/Junjie96/UniPortrait

亮点直击

  • 本文提出了UniPortrait,一种创新的人像图像个性化框架,统一了单ID和多ID的定制,具有高面部保真度和可控性;

  • 提出了一种新的ID embedding模块,采用解耦策略,在嵌入详细面部身份信息的同时保持良好的可编辑性;

  • 引入了ID Routing机制,解决了多ID定制中的身份混合问题,同时不影响每个身份的完整性、生成图像的多样性以及提示设计的灵活性。

本文介绍了UniPortrait,一种创新的人像图像个性化框架,统一了单ID和多ID的定制,具有高面部保真度、广泛的面部可编辑性、自由形式的输入描述以及多样化的布局生成。UniPortrait仅由两个即插即用的模块组成:ID embedding模块和ID routing模块。ID embedding模块采用解耦策略为每个ID提取多功能可编辑的面部特征,并将其嵌入扩散模型的上下文空间中。然后,ID routing模块自适应地组合并分配这些嵌入到合成图像的各自区域内,实现单ID和多ID的定制。通过精心设计的双阶段训练方案,UniPortrait在单ID和多ID定制中都表现出卓越的性能。定量和定性实验表明,UniPortrait相较于现有方法具有优势,同时也具备良好的可扩展性,例如与现有生成控制工具的广泛兼容性。

方法

本节详细说明UniPortrait的两个关键模块。最后阐述了UniPortrait的训练方案。框架概览如下图2所示。

ID embedding

ID embedding模块专门设计用于传递高保真度且可编辑的面部ID信息,从而引导扩散模型生成ID一致且可控的图像。与大多数先前的方法利用面部识别骨干网络的最终全局特征进行面部ID表示不同,本文呢使用了倒数第二层(即全连接层之前)的特征。此调整旨在保留与ID特征相关的更丰富的空间信息。由于面部识别骨干网络通常在包含数百万人ID的大型数据集上进行训练,因此其特征预计对与ID无关的面部信息(如表情、姿势和目光)不敏感,尤其是不敏感于面部形状和纹理细节。这样即使考虑到体重或年龄的波动会影响一个人的外貌,但并不会改变其身份。将这些识别特征称为内在ID特征。

然而,用户常常希望个性化ID图像,使其与给定的面部参考更加匹配,即在内在ID特征之外保持一致的面部形状和纹理细节。对此,一些先前的研究利用了从CLIP图像编码器中提取的局部特征作为面部结构条件。尽管面部相似性有所增强,但使用CLIP局部特征面临两个显著挑战。首先,CLIP是在弱对齐的图像-文本对上进行训练的,其特征在面部身份识别方面不够区分性,主要以语义为主。其次,由于缺乏解耦,这些特征可能会与其他与ID无关的面部信息甚至与面部无关的表示(如背景光照)耦合在一起。鉴于个性化训练数据通常稀少且缺乏多样性——训练参考和目标面部通常来自相同或相似的图像——这些无关特征可能导致模型在非必要的面部细节上过拟合,进而使面部控制和编辑过程变得复杂。

为了解决这些问题,首先整合面部识别模型的浅层特征,以增强面部的结构表示。随后,在结构特征分支上应用强大的dropout正则化,以使其与内在ID分支解耦。骨干网络的浅层特征经验上是低级的,包含更多的纹理细节,并且与ID相关性更高,从而帮助生成更高保真度的肖像。对面部结构分支的dropout正则化保持了内在ID特征和面部结构特征的独立性,同时使模型更依赖于内在ID特征。这种策略允许在ID相似性和可编辑性之间进行更灵活的权衡,满足用户在保持身份的肖像生成中的不同需求。

具体而言,如上图2中的蓝色部分所示,首先对面部识别模型倒数第二层的特征进行展平,并应用多层感知器(MLP)以获得内在ID特征。然后,对浅层特征进行插值,即来自面部骨干的1/2、1/4和1/8的特征图,并将它们与CLIP局部特征拼接,通过另一个MLP得到面部结构特征。接下来,引入一个具有m个可学习查询的l层Q-Former,以聚合和。Q-Former的每一层由两个注意力块和一个前馈网络(FFN)组成,注意力块分别关注内在ID信息和面部结构表示。在第二个注意力块的输入和输出中,进一步引入DropToken和DropPath,作为将面部结构与内在ID表示解耦的手段。Q-Former的最终输出表示为,作为ID embedding并对齐到U-Net的上下文空间。这里使用解耦的交叉注意力将ID信息注入U-Net。

单ID多参考embedding。由于所设计架构的可扩展性,ID embedding模块可以无缝适应嵌入单个ID的多个参考的情境。只需要为每个参考提取内在ID特征和面部结构特征(j为参考索引),并将它们拼接为新的内在ID和面部结构特征。实验表明,尽管本文的方法是在单个参考图像上进行训练的,但它可以有效扩展以适应多个参考图像,并实现更好的个性化效果。

身份插值。本文为每个身份提取ID embedding (n为身份索引),并对它们进行线性插值以实现身份插值。通过身份插值,可以在不同ID之间或同一ID的不同状态之间创建有意义的语义过渡。

ID Routing

通过ID embedding模块,可以为单个ID获得多样化的可编辑embeddings。对于多ID场景,利用ID embedding模块将每个ID信息嵌入上下文空间。值得注意的是,这些嵌入的ID表示是位置无关的,因为没有对它们施加任何位置约束。为避免身份混合,先前的方法要么将ID embedding集成到文本embeddings中,要么采用手工制作的布局masks以隔离不同ID的信息。前者需要遵循特定格式的文本描述(例如,主体的单一短语),并可能会降低文本和身份表示的保真度;后者则限制了生成图像的多样性。本工作在每个交叉注意力层中引入了一个逐位置ID routing模块,以自适应地route并分配唯一的ID到潜在特征中的每个潜在面部区域,从而有效缓解身份混合的问题。

具体来说,假设有N个不同的ID,每个ID嵌入表示为,。对于潜在特征内的每个空间位置(u, v),route并分配一个唯一的身份()给它,其中的确定方式如下:

其中,ψ表示router,它输出一个N维的离散概率分布,其形式为:

其中, 是一个权重,用于将m个ID embedding tokens聚合成一个单一的token,θ 和 ϕ 是两个小型网络,∗ 是矩阵乘法操作符。随后,通过交叉注意力机制,定位到每个空间位置的ID信息被整合到该位置的潜在特征中,类似于前面描述的单ID信息注入。实际操作中,为简化起见,将θ 和 ϕ 实例化为两个2层的MLP。ID Routing的核心思想是图像中的每张脸最多只与一个ID特征相关联。通过限制每个位置仅交叉关注一个ID信息,有效地避免了ID之间的混合问题。

然而,直接应用公式2会带来两个潜在问题。首先,它不能保证所有ID都会被routed。其次,相同的ID仍然有可能通过关注多个目标面部的部分区域而泄露。此外,公式2是不可微的。

为了解决这些问题,本文提出了routing正则化损失,并在训练阶段利用Gumbel Softmax技巧。这些措施有助于router的学习,增强其有效管理和分配ID表示的能力。

Routing正则化损失。具体而言,在训练阶段给定一个包含N个不同ID的目标图像时,首先检测图像上所有面部的边界框并将其转换为二进制masks,其中1表示面部区域,0表示非面部区域。通过这种方式,得到N个面部区域masks。然后,routing正则化损失通过Router输出与这些面部区域masks之间的L2损失计算如下:

其中,λ 是损失函数的权重, 表示逐元素乘法,ψ 代表在所有位置上的routing输出, 是N个面部区域masks的堆栈,而 是N个面部区域masks的并集,这意味着仅对图像中的面部区域应用正则化损失。通过强调所有面部区域的routing目标,一方面鼓励所有ID被routed,另一方面提示ID router每个ID只能最多routed到一个面部区域。

Gumbel Softmax技巧。为了确保routing模块的梯度在训练过程中能够正确反向传播,引入了Gumbel Softmax技巧。具体而言,在训练过程中,向router的输出logits中添加Gumbel噪声,以重新参数化router采样过程。在推理阶段,通常从router中选择最佳的前1个身份进行前向传播。最后,值得注意的是,在单ID的情况下,router变得无关紧要,基于routing的多ID生成退化为常见的单ID生成。

训练

UniPortrait的整个训练过程分为两个阶段:单ID训练阶段和多ID微调阶段。完成这两个阶段的训练后,UniPortrait可以用于单ID定制或多ID个性化。

阶段 I:单ID训练。在这个阶段,仅引入ID embedding模块;训练仅限于具有单一ID的图像,如前面图2左侧所示。首先裁剪并对齐图像的面部区域,以此作为ID embedding模块的输入。如果面部具有关联的ID标签,例如来自CelebA数据集的图像,则会以0.1的概率采样同一ID的另一张裁剪并对齐的面部图像,作为内在ID分支的输入。相反,所有面部结构分支的输入均来自目标图像,这种方法旨在增强面部纹理和结构细节的学习。在整个训练过程中,对面部结构分支应用了丢弃正则化,概率如下:以0.33的概率完全丢弃该分支;以0.33的概率保留分支但随机丢弃面部结构token;以0.34的概率完全保留面部结构分支。为了更全面地提取面部信息,在U-Net架构中添加了低秩适应(LoRA )。在此阶段,仅对ID embedding模块和U-Net的LoRA中的参数进行训练。训练损失与传统扩散损失对齐,如公式1所示。

阶段 II:多ID微调。完成阶段I训练后,引入了ID routing模块。固定ID embedding模块中的所有参数,仅微调ID Router和LoRA模块的参数,LoRA模块的学习率下降0.1。第二阶段的损失函数包括原始扩散损失(公式1)和routing正则化损失(公式4)。其中,平衡参数λ设置为0.1。

实验

设置

数据集。本工作使用的数据集包括四个主要部分: (1) 从LAION中筛选出的24万张单ID图像;
(2) 从CelebA数据库中筛选出的10万张单ID肖像;
(3) 从互联网收集的16万张高质量单ID图像;
(4) 从LAION中筛选出的12万张高质量多ID肖像。

前三个子集用于阶段I训练,而最后一个子集用于阶段II训练。来自CelebA的数据和从互联网获取的数据使用Qwen-VL进行了标注,而LAION的数据则保留了其原始文本标注。值得注意的是,在所有这些数据中,只有CelebA图像配有ID注释。

实现细节。训练从StableDiffusion v1-5模型开始。使用的面部识别骨干网络是CurricularFace。对于CLIP图像编码器,使用的是OpenCLIP的clip-vit-huge-patch14。ID embedding模块中的Q-Former有6层和16个可学习查询。U-Net中的LoRA的秩设置为128。所有实验均在8个V100 GPU上进行,使用AdamW优化器,批量大小为128,学习率为1e-5。第一阶段训练300k次迭代,第二阶段训练150k次迭代。为了方便无分类器引导采样,在5%的图像上训练模型时不使用面部条件。在推理阶段,使用20步DDIM 采样,分类器guidance scale为7.5,并且为了实现更逼真的图像生成,使用来自huggingface的Realistic Vision V4.0模型,参考了之前的工作 [67]。

评估指标。本文从身份保持、提示一致性、FID和LAION-Aesthetics (LAION-Aes)评分方面评估图像生成质量。对于身份保持和提示一致性,遵循FastComposer制定的评估协议。具体而言,身份保持通过计算参考面孔和生成面孔之间的成对面部相似度来量化,使用FaceNet。对于多身份生成,检测生成图像中的所有面孔,并使用生成面孔与参考面孔之间的贪婪匹配程序。所有面孔之间的最低相似度评分衡量整体身份保持。提示一致性通过平均CLIP-L/14图像-文本相似度进行评估。

结果

单ID个性化。首先评估了单ID定制的性能。遵循FastComposer的做法,使用了来自CelebA数据集 的15个身份,这些身份在训练数据集中被故意排除,每个主题分配了40个独特的文本提示进行评估。这些文本提示涵盖了广泛的场景,如重新语境化、风格化、配饰化以及各种动作。为了公平比较,所有方法接受一个单一的参考面孔图像,并每次生成4张图像。定量结果如下表1所示。

本文的方法在身份保持和提示一致性之间表现出良好的平衡,同时实现了最低的FID评分和第二高的LAION-Aesthetics评分,显著超越了PortraitBooth、IP-Adapter-FaceID-PlusV2和FastComposer的性能指标。值得注意的是,InstantID记录了最高的面部身份相似度;然而,其提示一致性和FID评分相对较低,这一限制归因于其需要面部标志点的固定位置。PhotoMaker在提示一致性方面表现突出,但面部相似度结果一般。尽管FlashFace在面部相似度和提示一致性之间实现了相对的折衷,但较差的FID和LAION-Aes值表明其在生成图像的质量和多样性方面表现不佳。需要强调的是,在所有评估方法中,仅有FastComposer和本文的方法可以直接支持多人的个性化图像生成。下图3展示了利用不同方法应对一系列单ID个性化提示的定性结果,定性分析与定量指标的结论一致。

多ID个性化。进一步评估了多ID图像生成的性能。还使用了FastComposer的测试基准,其中包含上述CelebA数据集的15个ID和21个额外策划的测试提示。这15个ID被策略性地配对,形成了总共105个多ID组合。下表2显示了UniPortrait与FastComposer的定量比较。

本文的方法在所有指标上均优于FastComposer,展现了增强的身份保持和提示一致性,同时生成图像的质量和美学也得到了提升。下图4展示了定性分析。UniPortrait保留了不同主体的独特属性。同时,UniPortrait对文本提示的忠实度有所提高,使得可以直接应用文本进行多人的风格化图像定制。此外,由于ID Routing机制,本文的方法支持更大的提示输入灵活性。这对于包含多个短语的输入尤为有利,而在FastComposer的情况下,这需要转换为由“和”连接的单一短语。图5展示了本文的方法在生成多ID图像时的多样性,进一步证明了本文的方法在多ID图像定制中的定性提升。

消融研究

ID embedding模块中的组件。下表3展示了ID embedding模块中各组成部分的效果评估。使用来自面部识别模型倒数第二层的局部特征而非其最后的全局特征显著提升了ID相似度。引入面部结构特征进一步增强了ID相似度,尤其是当结合了面部骨干的浅层特征时,这一效果尤为明显。然而,观察到面部结构特征的整合会导致生成图像的多样性(即FID)和与相关文本提示的一致性下降。这种下降可以通过在面部结构分支中应用DropToken和DropPath正则化来缓解。同时,这些正则化有助于减轻模型对不准确面部细节的过度依赖,从而最佳地增强ID相似度。尽管进行了这些调整,但必须承认,面部结构分支的包含在一定程度上必然会妥协提示一致性。

Routing正则化损失。下表4验证了Routing正则化损失的效果。结果表明,这种方法可以显著提高ID相似度,同时在多ID定制中保持提示一致性。下图6展示了在不同扩散步骤下从所有U-Net交叉注意力层中得出的平均routing maps。可以观察到,采用routing正则化损失后,结果更加集中,表明不同ID信息的隔离有所改善。

应用

UniPortrait在对齐ID、保持提示一致性以及提升生成图像的多样性和质量方面的优越性能,为多种潜在的下游应用铺平了道路。其中,面部属性修改尤为突出,包括年龄、性别和特定面部特征的改变,如下图7(a)所示。此外,UniPortrait的灵活插件式设计确保了与一系列现有社区开发工具的兼容性,如ControlNet、LoRA和IP-Adapter。这种集成促使条件可控的ID保持生成成为可能。这些应用示例如图7(b-e)所示。进一步地,UniPortrait在不同角色之间的身份插值能力也得到了探讨,展示了其在平滑融合多个身份特征方面的能力,如图7(f)所示。此外,还展示了UniPortrait生成具有一致ID的故事的潜力,如图7(g)所示。

结论

本文介绍了UniPortrait,一个用于单一和多ID图像统一定制的模型。UniPortrait结合了先进的ID embedding模块,确保了高保真度和可编辑的身份嵌入。此外,集成了一个模块化的即插即用ID routing组件,以解决多ID生成过程中身份混合的问题。实证结果表明,UniPortrait在生成质量和多样性方面超越了现有方法,同时提供了强大的可编辑性和身份保真度。希望UniPortrait能够成为该领域的新基准,为所有研究机构提供一个可以遵循、复制和优化的标准。

参考文献

[1] UniPortrait: A Unified Framework for Identity-Preserving Single- and Multi-Human Image Personalization

更多精彩内容,请关注公众号:AI生成未来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值