Region-Aware Face Swapping论文阅读笔记

介绍

左部分为属性不同,刘海和白发。右部分变光和野外情况
1、提出一种新的区域感知人脸交换网络,以局部-全局方式实现身份一致的高分辨率人脸生成
(1)局部面部区域感知(FRA)分支通过引入Transformer来有效地模拟错位跨尺度语义交互,增强了局部身份相关特征。
(2)全局源特征自适应(SFA)分支进一步补充了全局身份相关线索,用于生成身份一致的交换脸。
2、提出了一个与StyleGAN2相结合的掩膜预测器(FMP)模块,以无监督的方式预测与身份相关的soft mask

存在的问题:(1)如何保持身份与源身份的一致性,包括局部和全局面部细节。目前几乎所有的方法都只在全局特征表示上进行特征交互,而没有对与身份相关的局部区域(如嘴唇、鼻子、眉毛和眼睛)进行建模,这将限制模型表达身份一致性的能力。
(2)如何在GAN反演框架下生成高分辨率交换人脸,同时保持与目标人脸一致的身份无关细节,如背景、遮挡等。

解决问题:(1)身份一致若采用全局AdaIN将源人脸的额身份信息迁移到目标人脸中,但是人脸识别网络产生的身份向量自然不能很好地解纠缠,其中不可避免地包含了一些与源人脸身份无关的信息,如背景、光照分布、发型等。这些错误的信息将通过AdaIN以全局的方式进一步注入到目标特征中,从而导致低质量的生成结果。为了更好地保持所生成人脸的身份一致性,我们在全局表示的基础上对局部人脸特征进行显式建模,更精细地进行特征交互,同时也排除了源人脸身份无关区域的影响。设计两个并行分支来处理不同的细粒度信息。
1)局部面部区域感知(FRA)分支用于模拟源和目标面部之间与身份相关的特征交互,该分支使用区域感知身份标记器(RAT)、变压器层和区域感知身份投影器(RAP)来实现不对齐的跨尺度语义交互,即嘴唇、鼻子、眉毛和眼睛。
2)全局源特征自适应(SFA)分支,以补充全局身份相关线索,如皮肤皱纹,以获得更一致的身份结果。
(2)高分辨率人脸生成,采用了GAN反演框架,即不能保留背景和遮挡,因为矢量条件渐进生成将不可避免地改变身份无关的区域。MegaFS将预先存在的掩膜的高分辨率结果混合到目标面部,HifiFace以监督的方式学习预测掩膜,这限制了应用。但是这些方法必须依赖ground truth face mask,并且通常会在面部轮廓周围产生伪影。预训练的StyleGAN2封装了丰富的面部语义先验,我们设计了一个掩膜预测器(FMP),以一种无监督的方式预测身份相关的软掩膜,即不使用特定的掩膜监督。

GAN反演

GAN反演是一项利用训练良好的GAN所提取的隐码最准确地重建原始输入图像的任务。
通常,直接优化潜在向量,以最小化给定图像的误差。这些方法可以获得较高的重建质量,但耗时较长。
最近的方法采用编码器将给定图像映射到端到端的潜在空间。具体来说,pSp和GHF将真实图像嵌入到一系列样式向量中,这些样式向量被馈送到预训练的StyleGAN2生成器中。e4e设计了编码器,该编码器生成单个基本样式代码和一系列偏移向量,以产生最终样式代码。

特征融合

AdaIN将身份向量注入目标人脸,生成交换人脸;MegaFS提出了FTM来控制身份信息的多个属性;而其他方法几乎没有将身份和属性向量连接起来。然而,这样的全局操作不能模拟关键的局部特征交互。最近,注意结构在NLP和CV的特征增强和交互中起着关键作用。
【IPGAN分别将源人脸的身份和目标人脸的属性分离,重新组合,进行保身份人脸合成。MegaFS首次利用StyleGAN2作为高分辨率人脸交换的解码器。】

方法

在这里插入图片描述
在这里插入图片描述
源人脸和目标人脸首先通过权值共享的分层人脸编码器φE和预训练的人脸解析模型得到分层特征Fs和Ft(所有的特征映射都映射到512通道。)及通过BiseNet提取源脸和目标脸在嘴唇、鼻子、眉毛和眼睛区域的语义标签M s和M t,然后利用局部面部区域感知分支FRA(橙色)和全局源特征自适应分支SFA(蓝色)以局部-全局的方式将Is的身份信息与It的目标属性进行融合,得到F l和F g。进行元素相加,将融合的层次特征F t映射到不同的细粒度向量上,通过StyleGAN2生成器控制目标人脸生成过程。掩膜预测器利用StyleGAN2特征映射同时产生软掩膜M。由M混合到目标面,得到最终交换的面。表示生成的人脸,而不是真实的人脸。

继pSp之后,对18个映射网络进行训练,从分层特征映射中提取学习到的样式。所有的样式向量都被输入到StyleGAN2生成器中,以合成原始交换的面,提取StyleGAN2的特征映射,同时通过FMP生成软掩码M。最后,由M将原始交换的面和目标图像混合,得到交换面。
【BiseNet的设计结合了两个主要组件:全局分支和细粒度分支。全局分支主要负责捕捉图像中的全局上下文信息,以辅助较大目标的分割任务。细粒度分支则专注于捕捉图像中的局部细节信息,对于小目标的分割具有更好的效果。】

面部区域感知分支FRA

在这里插入图片描述

区域感知身份标记器RAT

为了通过局部身份相关区域(即嘴唇、鼻子、眉毛和眼睛)明确地建模面部特征,我们提出了一种区域感知身份标记器。RAT的目的是将源人脸特征Fs转换为关键的局部身份相关令牌Ts∈RN×L×512的紧集,其中N为特征映射尺度的数量,L为区域的数量。定义了三个尺度和四个面部区域,因此N和L分别设置为3和4。根据SEAN,我们采用了一个区域平均池化层Φ来获得局部语义表示。具体地,使用双线性插值来调整语义标签的大小,以匹配每个源特征映射的大小。然后,将每个区域的像素级特征聚合并平均为相应的标记。接下来是一个线性层,以进一步嵌入所有分层身份相关的令牌。标记器操作可以用下面的公式表示:
在这里插入图片描述

Transformer Layers

基于AdaIN的方法缺乏关键局部特征之间的特征交互,导致交换的人脸身份一致性差。引入了Transformer层T来模拟跨不同尺度和语义的令牌之间的交互,该层建立在多头自注意(MSA)层上,以及前馈网络(FFN)、层规范化(LN)和剩余连接(RC)操作。
【多头自注意力机制(Multi-Head Self-Attention):这是Transformer层的核心组件之一。它对输入序列中不同位置之间的相关性进行计算,用于捕捉上下文信息和建模序列关系。
前馈神经网络(Feed-Forward Neural Network):该层负责对每个位置的特征进行非线性变换和映射。通常由两个线性变换层和一个激活函数组成。
层规范化(Layer Normalization):用于对每个子层的输入和输出进行归一化处理,提高模型的训练稳定性和泛化能力。
残差连接(Residual Connection):将子层的输入与输出进行相加,以便传递原始输入的信息,并解决梯度消失和信息丢失问题。
正向传播(Feed Forward):在每个子层中,输入通过子层的计算得到输出,形成正向传播的过程。
自注意力层与前馈层之间的连接:特征经过多头自注意力机制计算后,与经过前馈神经网络的特征进行连接,以整合两者的信息。】
对Ts进行重塑操作,将N维和L维组合在一起:Ts∈RN L×512。将Ts表示为Query、Key和Value,它们用于计算每个位置的注意力权重,并对特征进行加权聚合。
【Query用于表示当前位置的特征,也称为“要查询的特征”。
Key表示输入序列的所有位置的特征,也称为“用于比较的特征”。
Value包含了输入序列中每个位置的特征表示,也称为“要聚合的特征”。】
每个注意力头表示为:
在这里插入图片描述
在这里插入图片描述
对于FFN,它由两个级联线性变换组成,中间有一个ReLU激活:
在这里插入图片描述
其中x为输入令牌,W1和W2为两个线性层的权值,b1和b2为对应的偏置。
在这里插入图片描述
随后,每个令牌通过Transformer层包含足够的多尺度和多语义表示。

区域感知身份投影仪RAP

在这里插入图片描述
在这里插入图片描述
其中wp为可学习权值,RS为重塑操作

源特征自适应分支SFA

经过FRA后,源人脸的关键局部身份相关特征被合并到目标人脸中。然而,一些全局面部表征也会影响交换后面部的身份一致性,如皮肤皱纹、面部成分的相对距离等。因此,我们设计了一个全局源特征自适应分支,它捕获全局信息作为互补线索来区分不同的身份。为了避免源面与目标面空间不匹配,首先对最小尺寸的源特征图进行全局平均池化(GAP)处理。然后根据mlps进一步自适应重组全局特征。最后,我们广播三尺度的全局特征,并以相同的分辨率加入到Fl中,得到综合目标特征 F t^:
在这里插入图片描述

掩膜预测器FMP

为了解决GAN反演框架引入的遮挡和背景失真问题,MegaFS直接利用预训练分割模型产生的硬掩模进行混合,这种方法容易在边缘周围产生伪影。首先,预训练StyleGAN2的层已经包含丰富的语义先验。其次,身份一致性约束可以迫使掩码模块关注与身份相关的区域。因此,我们利用StyleGAN2的特征映射来制作软掩膜,而无需特定的掩膜监督。
在这里插入图片描述
首先以16到256的分辨率对特征映射进行采样,然后在每个特征映射上应用瓶颈,将通道减少到32,并将分辨率提升到256。最后,将拼接的特征映射依次馈送到1×1卷积层和sigmoid层,生成单通道软掩码M。
在这里插入图片描述

损失函数

身份损失:使用余弦相似度,其中R(·)是预训练的ArcFace网络,输出特征向量。
在这里插入图片描述
重建损失:像素级L2距离
在这里插入图片描述
感知损失:LPIPS loss来计算目标和生成的人脸之间的语义误差。度量图像感知相似性的指标和损失函数。
φp(·)表示预训练后的VGG16网络。
在这里插入图片描述

实验

训练细节

训练集:CelebA-HQ
将损失权值分别设置为λid = 0.15, λrec = 1, λp = 0.8。设置It = Is和It != Is的训练数据的比例为1:4。输入图像被调整为256 × 256。在训练过程中,StyleGAN2固定,其余部分的权值通过Adam优化器更新,其中β1 = 0.9, β2 = 0.999,学习率=1e−4。RAFSwap以50K步进行训练,使用1个Tesla V100 GPU和8个批处理大小。

定性比较

在这里插入图片描述
MegaFS不能保留目标面部的属性,比如肤色
在第4行和第5行中,我们的结果比其他方法更好地与源脸共享眼睛颜色。
在这里插入图片描述
野生面部图像上进行比较,我们的结果可以很好地保留源身份信息,如小嘴,目标属性,如头发颜色,处理遮挡情况,如眼镜。
在这里插入图片描述
对性别、年龄、肤色和姿势之间的四对显著差距进行了采样。

定量比较

首先,我们从每个视频中抽取10帧,并通过MTCNN进行处理,得到10K张对齐的脸。因为一些视频显示重复的身份,并包含多个面孔在一个帧中,我们仔细检查对齐的面孔,并手动将所有视频分类为885个身份。
我们使用CosFace提取身份嵌入,并使用余弦相似度检索最接近的人脸。利用姿态估计器和三维面部模型提取姿态和表情向量,进行姿态和表情评估。
FF++
在这里插入图片描述
SimSwap保留了较好的目标面部属性,但身份一致性较差。我们的方法实现了最高的ID检索,在很大程度上优于MegaFS,并且与FaceShifter的姿势和表情误差相当。请注意,由于源代码不公开,我们省略了与FaceInpainter的定量比较。
与MegaFS进行高分辨率交换结果的比较,我们在CelebA-HQ测试集中随机抽取了100K对人脸图像。我们报告ID相似性(简称。ID Sim),姿势错误,表情错误和FID
在这里插入图片描述
ID相似度是通过计算交换面与对应源面的余弦相似度来度量的。RAFSwap在ID相似度和姿态误差方面的性能优于MegaFS,但表达误差更高。由于MegaFS采用地标损失,产生的交换脸忠实地尊重了目标的嘴型,但导致与源的一致性较低。此外,较低的FID表明我们的方法可以生成更真实的图像,提供一个衡量生成结果与真实图像之间差异的指标。

消融实验

特征融合模块

验证FRA和SFA的组合在GAN反演框架中优于AdaIN,我们进行了定性和定量实验。修改了一个基于adain的基线,将身份向量注入到分层特征映射中。如图8第2行和第4行所示,AdaIN生成的第三列图像无法保留源人脸的面部身份细节。
在这里插入图片描述
在这里插入图片描述
第1行和第5行,我们的方法在ID ret上比基于adain的基线显著提高了4.22。
孤立的SFA识别性能较差,而孤立的FRA识别性能较好,但存在源面部纹理不匹配的问题。当同时使用FRA和SFA时,生成的人脸保留了源人脸的局部身份相关特征和全局面部细节。

注意结构

为了验证Transformer捕获令牌交互的强大能力,我们进行了定量实验。特别地,我们修改了一个比较版本,将Transformer层替换为Nonlocal层。
在这里插入图片描述
一个Transformer层提高了性能,而一个Nonlocal层不能充分地建模令牌交互并导致轻微的性能下降。随着层数的增加,性能并没有明显提高。
可视化一个注意力图指向一个源脸。注意图表明Transformer在不同尺度上集中在不同的语义区域,即大尺度的token集中在眼睛上,中等尺度的token集中在嘴唇上,而小尺度的token集中在鼻子上。值得注意的是,眉毛没有受到太多的关注,因为它的区域很小,而且与眼睛的感受区重叠。符号l, n, b, e分别代表嘴唇,鼻子,眉毛,眼睛。上标0、1、2分别代表小、中、大尺度。
在这里插入图片描述

脸部掩膜预测器

在这里插入图片描述
在没有掩膜引导的情况下,我们的方法无法保持一些属性不变,例如背景。将硬地真相掩膜混合在原始交换的脸上会产生过多的信息和不自然的边缘,特别是在刘海区域。相比之下,我们的全模型与软掩模模块实现了更和谐的融合面。

局部FRA

采用PSGAN作为基线,将AMM模块替换为FRA分支,与LADN和PSGAN相比,我们的方法可以精确地转移彩妆颜色,效果逼真,很好地保留了源脸上的身份和光线。
在这里插入图片描述
在Makeup-Wild数据集上比较SOTA(State-of-the-Art)先进化妆转移方法。
在这里插入图片描述
由于标记机制灵活,特征交互充分,FRA也可以处理纹理和颜色特征转移。
PSGAN源图像保持目标图像的妆容

局限性

由于训练数据集的限制,基于反演的方法无法处理超出范围的情况,即具有不同视角的人脸。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值