论文名:Human Image Personalization with High-fidelity Identity Preservation论文链接:https://arxiv.org/pdf/2403.18417.pdf开源代码:https://jshilong.github.io/flashface-page
引言
图像生成在近年来有了显著的进展。总体框架已经从GANs(生成对抗 网络)发展到了Diffusion模型,具有更好的训练稳定性和生成 质量。同时,包含图像-标题对的大规模多模态数据集连接了视觉和 语言处理的任务。这样,文本开始作为图像生成的控制信号,带来了算法和 产品,如Stable Diffusion、DALL-E系列,引领了一场具有多样化应 用的生产力革命。在图像生成的应用中,人类图像定制是一个受欢迎且具有挑战性的主 题。它需要生成具有一致面部身份的图像。这个任务不仅仅依赖于语言条 件,而是将多个参考面部图像中的人类身份整合起来来指导生成。最近的方法研究了零样本设置,使模型可以即时工作 (通常为几秒钟)。这些零样本方法使得人类图像定制变得实用,速度显著提高。然而,它 们仍然有两个限制。首先,它们难以保留面部形状和细节。这是由于将参考面部编码为一个或几个标记时丢失了空间表示。其次,这些方法很难实现精 确的语言控制。
简介
这项工作介绍了FlashFace,这是一个实用工具,用户可以通过提供一个 或几个参考人脸图像和文本提示,轻松地即时个性化他们自己的照片。我 们的方法与现有的人类照片定制方法有所不同,具有更高保真度的身份保 留和更好的指令遵循,得益于两个微妙的设计。首先,我们将人脸身份编 码为一系列特征图,而不是像以往的方法那样一个图像标记,这使得模型 能够保留更多参考人脸的细节(例如,疤痕、纹身和脸部形状)。其次, 我们引入了一种解耦集成策略,在文本到图像生成过程中平衡文本和图像 指导,缓解了参考人脸和文本提示之间的冲突(例如,将成年人个性化为 “儿童”或“老年人”)。大量实验结果证明了我们的方法在各种应用中的 有效性,包括人类图像个性化、语言提示下的人脸交换,将虚拟角色变 成真实人物,等等。
方法与模型
本文整体框架基于广泛使用的SD-V1.5项目。所有图像都 使用步长为8的自编码器投影到潜空间中。采用U-Net[34]进行去噪。引 入CLIP的语言分支来编码语言提示,然后使用交叉注意力操作进行整 合。我们框架的一个显著特点是包括了FaceReferenceNet,该网络提取 保留空间形状的详细面部特征,并使用额外的参考注意力层将其整合到网 络中。我们利用了相同的预训练参数(SD-V1.5)的相 同U-Net架构作为我们的Face ReferenceNet。在训练过程中,我们随机抽 样B个ID簇,然后从每个ID簇中随机抽样N个参考图像。我们裁剪面部区 域并将其调整大小为224×224。经过VAE编码后,这些面部被转换为形状 为(B∗N)×4×28×28的输入潜变量。当潜在特征通过中间和解码器块时, 我们在自注意层之后缓存所有特征,其形状为(B∗N)×(hr∗wr)×C。在 训练过程中,参考图像的数量N在1和4之间随机设置。 在训练阶段,我们将选定的B个目标图像编码 为具有4个通道的初始潜变量表示。对于我们的面部修复模型,我们将面部 区域内的潜变量表示填充为0,并将其与有噪声的潜变量表示连接起来,形 成具有8个通道的输入。为了方便用户的组合,我们初始化了一个面部位置 掩码,这是一个单通道的零掩码,只填充了面部边界框内的区域为1。然后 将面部掩码连接到有噪声的潜变量表示作为输入潜变量。当潜在特征前进 到与缓存的参考特征相同的位置时,我们使用额外的参考注意力层将参考面 部特征合并到U-Net中。如Eq.(1)所示,查询(Q)保持为U-Net潜变量特征 (yg),其形状为B×(hg∗wg)×C,而键(K)和值(V)是由U-Net和所有 参考面部特征(yri,i指第i个参考面部图像)组成的连接特征。所有参考特 征都与U-Net特征沿空间维度连接,并获得长度为hg∗wg+N∗hr∗wr的K, V。为了保持原始图像生成能力,在训练过程中以0.1的概率随机丢弃面部 位置掩码和参考特征。我们还提供了一种在推理阶段控制参考强度的方法。这使 用户能够在出现冲突时调整语言提示和参考之间的平衡。例如,可以将一个 人制作成青铜雕像,
首先,我们引入λfeat来重新加权两个参考注意力层的结 果:一个结果在其K和V中包含了参考特征,而另一个则没有。较高的λfeat值 会赋予具有参考特征的结果更大的权重,从而在生成的图像中产生更高 的ID保真度面部。这个操作提供了对参考强度的平滑控制。它还通过轻松 更改与两个不同个体相关的注意力结果的重新加权,促进了身份混合。
其次,我们还采用了无分类器指导(Classifier-Free Guidance),通过 结合在不同条件下的三个推理结果来进行指导:无参考图像或文本提示 (YNone),仅文本提示(YText),以及文本提示和参考图像同时存在(YText&Ref)。其中λtext和λref是文 本指导和参考指导的权重因子。参考指导不像λfeat那样平滑,但它有助于 保留更多的细节(请参考Supplementary Material)。在本研究中,默认情况下λfeat = 0.85,λref = 2,λtext = 7.5。
实验与结果
在本研究中,我们采用了SD-V1.5模型。对于人脸定制和人脸修复 模型,我们使用Adam在8个NVIDIA A100 GPU上进行参数优化,批 量大小为32,总共进行50000次迭代。学习率对于Face ReferenceNet和U Net模块都设置为2e-5。在训练过程中,我们随机选择N个参考图像和一 个相同ID簇中的目标图像进行训练(N在1到4之间随机设置)。我们裁剪 参考图像的人脸区域并将其调整为224×224的大小。目标图像也被调整 为768 ×768的大小以更好地表示人脸细节。为了通过无分类器引导来 提高生成质量,有10%的概率使用空文本嵌入。在采样过程中,我们使用 了50步的DDIM采样器。特征强度λfeat默认设置为0.85。无分类器引导 的文本尺度默认设置为7.5,参考引导默认设置为2。方法FlashFace与之前方法的性能比较