专栏名称: 极市平台
极市平台是由深圳极视角推出的专业的视觉算法开发与分发平台,为视觉开发者提供多领域实景训练数据库等开发工具和规模化销售渠道。本公众号将会分享视觉相关的技术资讯,行业动态,在线分享信息,线下活动等。 网站: http://cvmart.net/
目录
相关文章推荐
姑苏晚报  ·  苏州马拉松,有新变化! ·  3 天前  
姑苏晚报  ·  苏州马拉松,有新变化! ·  3 天前  
51好读  ›  专栏  ›  极市平台

即插即用!“一模型双任务”|Face-Adapter:超越基于GAN和Diffusion的最新方法

极市平台  · 公众号  ·  · 2024-05-27 22:00

正文

↑ 点击 蓝字 关注极市平台
作者丨Yue Han等
来源丨AI生成未来
编辑丨极市平台

极市导读

与完全微调的面部重演/交换模型相比,FaceAdapter在运动控制精度、身份保留能力和生成质量方面实现了相当或更优的性能。此外,FaceAdapter还能无缝集成到各种StableDiffusion模型中。 >> 加入极市CV技术交流群,走在计算机视觉的最前沿

论文链接: https://arxiv.org/pdf/2405.12970

项目链接: https://faceadapter.github.io/face-adapter.github.io/

当前的面部重演和交换方法主要依赖于GAN框架,但最近的研究重点已转向预训练的扩散模型,因为它们具有更强的生成能力。然而,训练这些模型需要大量资源,且结果尚未达到令人满意的性能水平。为了解决这个问题,本文引入了FaceAdapter, 是一种高效且有效的适配器,专为预训练的扩散模型提供高精度和高保真度的人脸编辑

本文观察到,面部重演和交换任务本质上都涉及目标结构、身份和属性的组合。本文旨在充分解耦这些因素的控制,以在一个模型中实现这两项任务。具体来说,本文的方法包括:

  • 提供精确的标志点和背景的空间条件生成器;
  • 通过Transformer解码器将人脸embedding转移到文本空间的即插即用身份编码器;
  • 整合空间条件和详细属性的属性控制器。

与完全微调的面部重演/交换模型相比,FaceAdapter在运动控制精度、身份保留能力和生成质量方面实现了相当或更优的性能。此外,FaceAdapter还能无缝集成到各种StableDiffusion模型中。

介绍

面部重演旨在将目标动作转移到源身份和属性上,而人脸交换则旨在将源身份转移到目标动作和属性上。这两项任务都需要完全解耦并精细控制身份、属性和动作。当前的面部重演和交换技术主要依赖于基于GAN的框架。然而, 基于GAN的方法在生成能力上存在局限性,难以处理一些复杂情况 ,比如在面部重演中处理大角度姿势,以及在人脸交换中适应面部形状的变化。

现有研究尝试通过利用扩散模型强大的生成能力来解决这些挑战。然而,这些方法需要对整个模型进行训练,导致显著的计算开销,且未能成功提供令人满意的结果。例如,FADM对基于GAN的重演方法的结果进行细化,虽然提高了图像质量,但仍未能解决由于大角度姿势变化引起的模糊问题。另一方面,DiffSwap由于训练过程中缺乏背景信息,导致生成的面部结果模糊,从而阻碍了模型的学习。此外,这些方法未能充分利用大型预训练扩散模型的潜力。为了降低训练成本,一些方法引入了用于大型预训练扩散模型的面部编辑适配器插件。然而,这些方法主要集中于使用文本进行属性编辑,不可避免地削弱了空间控制以确保文本的可编辑性。例如,它们只能使用五个点来控制面部姿势,限制了其精确控制表情和视线方向的能力。另一方面,直接用面部区域的mask进行修复并未考虑面部形状的变化,导致身份保留能力的下降。

为了解决上述挑战,本文致力于开发一种高效且有效的面部编辑适配器(Face-Adapter),专门针对预训练扩散模型的面部重演和交换任务。Face-Adapter的设计动机有三点:

  • 完全解耦的身份、目标结构和属性控制,能够实现“一模型双任务”;
  • 解决被忽视的问题;
  • 简单而有效,即插即用。

具体来说,提出的Face-Adapter包括三个组件:

  1. 空间条件生成器(SCG) :用于自动预测3D先验标志点和变化前景区域的mask,为后续的受控生成提供更合理和精确的指导。此外,对于面部重演,这种策略可以缓解仅从源图像中提取背景时可能出现的问题,例如由于摄像机或面部对象的移动导致目标背景变化引起的不一致性;对于人脸交换,模型学习保持背景一致性,获取全局光照和空间参考的线索,并尝试生成与背景和谐的内容。
  2. 身份编码器(IE) :使用预训练的识别模型提取面部embedding,然后通过Transformer解码器中的可学习查询将其转移到文本空间。这种方式大大提高了生成图像的身份一致性。
  3. 属性控制器(AC) :包括两个子模块:空间控制将目标动作的标志点与从空间条件生成器获得的不变背景结合起来。属性模板补充缺失的属性,涵盖光照、部分背景和头发。这两项任务都可以看作是执行条件修复的过程,利用提供的身份和缺失的属性内容。这个过程遵循给定的空间控制规定,达到与背景一致和和谐的效果。

通过这种设计,Face-Adapter不仅能有效地解决当前方法中的问题,还能在保持高精度和高保真度的同时,减少训练成本,并无缝集成到各种稳定扩散模型中。

本文的贡献可以总结如下:

  1. 引入Face-Adapter :本文提出了Face-Adapter,这是一种轻量级的面部编辑适配器,旨在为预训练的扩散模型提供对身份和属性的精确控制。该适配器在面部重现和交换任务中表现出色,超越了之前的最先进的基于GAN和扩散的方法。
  2. 新颖的空间条件生成模块 :本文提出了一种新颖的空间条件生成模块,用于预测必要的生成区域。该模块与身份编码器和属性控制器协作,将重现和交换任务框架化为具有充分空间指导、身份和必要属性的条件修补任务。通过合理且高度解耦的条件设计,本文释放了预训练扩散模型在这两项任务中的生成能力。
  3. 高效训练且即插即用 :Face-Adapter是一种高效训练、即插即用的面部专用适配器,适用于预训练的扩散模型。通过冻结去噪U-Net中的所有参数,本文的方法有效地利用了先验知识,防止了过拟合。此外,Face-Adapter支持“一种模型用于两项任务”的方法,只需简单的输入修改即可独立完成VoxCeleb 1/2 数据集上的两项面部任务,并取得优越或具有竞争力的结果。

相关工作

面部重演涉及从一个人脸中提取运动并将其转移到另一张脸上,大致可以分为基于变形的方法和基于3DMM的方法。基于变形的方法通常提取关键点或区域对以估计运动场,并在特征图上进行变形以传递运动。但是在处理大幅度运动变化时,这些方法由于难以预测准确的运动场,往往会产生模糊和失真的结果。基于3DMM的方法使用面部重建系数或3DMM渲染图像作为运动控制条件。3DMM提供的面部先验使这些方法在大姿态场景中能够获得更稳健的生成结果。尽管提供了准确的结构参考,但它仅提供粗略的面部纹理,并缺乏对头发、牙齿和眼睛运动的参考。

StyleHEAT和 HyperReenact使用StyleGAN2来提高生成质量。然而,StyleHEAT受限于正面肖像的数据集,而HyperReenact则受到分辨率限制和背景模糊的影响。为了进一步提高生成质量,扩散模型越来越受到欢迎。FADM 将之前的重现模型与扩散细化相结合,但基础模型限制了驱动的准确性。最近,AnimateAnyone 使用重度纹理表示编码器(CLIP和U-Net的副本)来确保动画结果的纹理质量,但这种方法成本高昂。

相比之下,本文旨在充分利用预训练的文本到图像扩散模型的生成能力,并寻求全面克服先前方法中提出的挑战,例如低分辨率生成、处理大幅度变化的困难、高效训练和意外的伪影。

人脸交换旨在将源图像的面部身份转移到目标图像上,同时保持目标图像的其他属性(如光照、头发、背景和运动)不变。最近的方法大致可以分为基于GAN的方法和基于扩散的方法。

  1. 基于GAN的方法 主要致力于解决身份和其他属性的解耦与融合问题。其努力包括引入面部解析mask、各种属性保留损失以及设计融合模块。尽管取得了显著的改进,这些方法在处理面部形状或遮挡的显著变化时,往往会产生明显的伪影。HifiFace通过利用3DMM重建参考脸,将源脸形状与目标的其他属性结合起来,缓解了这个问题。然而,由于依赖于GAN来确保生成质量,HifiFace在处理由于面部形状变化导致的大面积空白区域时,仍然无法生成和谐的结果。
  2. 基于扩散的方法 利用扩散模型的生成能力来提高样本质量。然而,在推理过程中,使用属性保留损失的众多去噪步骤显著增加了训练成本。DiffSwap 提出了中点估计来解决这一问题,但由此产生的误差以及缺乏用于修补参考的背景信息,导致结果不自然。此外,这些方法需要从头开始进行昂贵的训练。

相反,本文的Face-Adapter仅依赖去噪损失来确保图像质量,同时完全解耦目标结构、身份和其他属性的控制。此外,Face-Adapter通过冻结U-Net的所有参数,进一步显著降低了训练成本,这也保留了先验知识并防止过拟合。

预训练扩散模型的个性化。 个性化旨在将给定身份插入预训练的文本到图像(T2I)扩散模型中。早期的工作通过使用优化或微调的方式插入身份。后续研究引入了粗略的空间控制,实现了多主体生成和区域属性的文本编辑,但这些方法需要对大多数参数进行微调。IP-adapter(-FaceID)和InstantID 仅微调少量参数。后者在身份保留方面表现出色。然而,作为文本编辑能力的权衡,InstantID只能应用较弱的空间控制。因此,它在面部重演和交换中的细微动作(表情和视线)处理上存在困难。相比之下,本文的Face-Adapter是一种有效且轻量的适配器,专为预训练的扩散模型设计,能够同时完成面部重演和交换。

方法

所提出的Face-Adapter的整体结构如下图2所示,其目的是将身份信息整合到属性模板中,该模板基于目标动作(例如姿势、表情和目光)提供必要的属性(例如光照、部分背景和头发)。

空间条件生成器

为了为后续的受控生成提供更合理和精确的指导,本文设计了一种新颖的空间条件生成器(SCG),用于自动预测3D先验标志点和变化前景区域的mask。具体来说,该组件由两个子模块组成:

  • 3D标志点投影器。 为了克服面部形状的变化,本文利用一种3D人脸重建方法来分别提取源脸和目标脸的身份、表情和姿态系数。随后,本文将源脸的身份系数与目标脸的表情和姿态系数重新组合,重建一个新的3D人脸,并将其投影以获取相应的标志点。
  • 适应区域预测器。 对于面部重演,先前的方法假设只有主体在运动,而背景在训练数据中保持静止。然而,本文观察到背景实际上会发生变化,包括相机和背景中物体的运动,如下图3所示。如果模型在训练过程中缺乏对背景运动的了解,它将学会生成模糊的背景。对于面部交换,提供目标背景还可以为模型提供关于环境光线和空间参考的线索。这种背景的附加约束显著降低了模型学习的难度,使其从一个从头生成的任务转变为一个条件修复的任务。因此,模型变得更善于保持背景一致性并生成与之无缝融合的内容。

鉴于上述情况, 本文引入了一种轻量级的适应区域预测器, 用于面部重演和交换, 自动预测模型需要生成的区域(适应区域), 同时保持其余区域不变。对于面部重演, 适应区域包括源图像头部在重演前后的区域。本文训练了一个mask预测器 , 它接受目标图像 和来自 标志点投影器的运动标志点 , 以预测适应区域mask

mask的真实值 是通过取源图像和目标图像的头部区域(包括头发、脸和脖子)的并集,然后向外扩展得到的。头部区域是使用预训练的脸部解析模型获得的。需要注意的是, 本文不能直接在面部重演中使用预训练的脸部解析模型。如下图4第4行所示, 当源图像的肖像区域(例如长发和帽子)比目标图像的大时, 由预训练解析模型创建的绿色mask无法完全覆盖整个肖像, 可能会在边界处产生伪影。然而, 如下图4第5行所示, 由 创建的白色mask能够包裏整个肖像, 因为 仅使用源图像和3D标志点作为输入, 并在预测必要的适应区域方面表现出色。

基于上述讨论,本文引入了一种轻量级的适应区域预测器,用于面部重演和交换。该预测器自动识别模型需要生成的区域(适应区域),同时保持其余部分不变。对于面部重演,适应区域包括重演前后源图像头部所占据的区域。

本文训练了一个mask预测器 , 它接受目标图像 和来自3D标志点投影器的运动标志点 , 以预测适应区域mask 。mask的真实值 是通过结合源图像和目标图像的头部区域(包括头发、脸和脖子),然后向外扩展得到的。这些头部区域是通过预训练的脸部解析模型获得的。

需要注意的是, 本文不能直接在脸部重演中使用预训练的脸部解析模型。如上图4第4行所示, 当源图像的肖像区域(例如长发和帽子)大于目标图像时, 由预训练解析模型生成的绿色mask无法完全覆盖整个肖像, 可能会在边界处产生伪影。然而, 如上图 4 第 5 行所示, 由 生成的白色mask可以包裹整个肖像, 因为 仅使用源图像和3D标志点作为输入, 并且在源图像和目标图像具有不同身份时表现出出色的泛化能力。

身份编码器

正如IP-Adapter-FaceID 和 InstantID所示, 高层次的面部embedding可以确保更稳健的身份保持。本文观察到, 在面部重演/交换中不需要重型纹理编码器或额外的身份网络。仅通过调整一个轻量级的映射模块, 将面部embedding映射到固定的文本空间中, 即可保证身份的保持。具体来说, 给定一个人脸图像 , 通过预训练的人脸识别模型 获得面部embedding 。随后, 使用一个三层的Transformer解码器 将面部embedding 投射到预训练扩散模型的固定文本语义空间中, 获得身份token。在本文中设置了可学习查询 的数量为 , 以约束身份embedding。

属性控制器

空间控制 。根据ControlNet, 本文创建了 的一个副本, 并添加了空间控制 作为条件输入。空间控制图像 是通过结合目标运动标志 和由适应区域预测器 (或 )获得的不适应区域得到的。

在这个阶段,重演和交换任务都可以被视为执行条件修复的过程,利用给定的身份和其他缺失的属性内容,遵循提供的空间控制。

属性模板 。给定身份和包含部分背景的空间控制,属性模板旨在补充缺失的信息,包括光照、部分背景和头发。属性embedding 是从属性模板(重演任务使用 , 交换任务使用







请到「今天看啥」查看全文