解耦:disentanglement
解耦的特征中,每一个维度都表示具体的、不相干的意义。其中最重要的是要让学到的表征具备人类可理解的意义。实际上在这个领域中,并没有一个标准的定义。概念本身也是不断发展的,甚至每个学者发表论文的时候还要专门提出一个指标来定义解耦。但是最核心且不变的诉求是要让表征可读!
Abstract
背景:人类生物信息的重要性提高,其中人脸匿名化占据重要地位。
目标:提出一种新的方法anonymous identity generation(AIG)达到人脸匿名化的目的,同时你可以保持与原始图像更加相似。
Introduction
介绍:实现人脸匿名化的方法
1.传统方法:包括模糊、遮蔽等可以再很大程度上消除给定的身份,但是这些方法会严重降低图像质量。 执行直接人脸交换也可以有效的保护目标身份,但可能对提供源身份的人造成伤害。
2.去身份化:孙等人提出一个基于图像修复的去身份方法。
Ganfni等人将人脸嵌入链接到编码解码架构的瓶颈中,并且优化一个多级感知损失以修改 与身份相关的高级特征,并且保持低级特征不变。
CIAGAN利用一个条件生成对抗网络,并且以随意的身份引导匿名化人脸的生成过程。
以上方法虽然效果卓越,但全部都有如下缺点:
1.通过这些方法的人脸不是缺乏多样性就是需要额外的信息
2.原始面部的修改程度可控性差
3.人脸的属性没有很好的保留。
方法:构建一个基于生成对抗网络的人脸身份解耦模型,并使用来自相同和不同人脸图像作为训练数据去学习身份解耦。模型引入了条件多尺度重构损失conditional multi-scale reconstruction loss(CMR)来有效的训练和保持原始图像的属性。为了彻底解耦人脸表示,使用预先训练好的人脸嵌入网络去约束解耦身份表示到一个容易操纵的单位球空间。为了精确地操控身份表示,我们提出Anonymous Identity Generation (AIG)来精确操纵身份向量,能够在原始人脸进行微小改变的情况下成功进行人脸匿名化。
Related work
1.人脸属性编辑(Identity preserved face editing)
主流研究方向:
1.人脸老化(face aging):自然地改变脸部的明显年龄。
2.人脸表情编辑(Face expression editing):操纵面部动作来实现表情修改
3.人脸重现(Face reenactment):使用一个确定的源面部来完全控制目标面部的姿势和动作
以上工作大多利用生成对抗网络模型来学习相应的条件人脸生成,并且通过控制条件输入和潜在代码来间接控制生成人脸的属性。
2.人脸替换(Face swapping)
将源面部的身份替换为目标面部。(对个人隐私安全造成巨大的潜在威胁)
1.FSGAN:使用几个不同的生成器来估计重新渲染的人脸及其分割图,最后混合生成交换的人脸图像。
2.FaceShifter利用SPADE和AdaIN来嵌入目标人脸的外观特征和源人脸的身份,并使用属性掩码将他们融合,生成逼真的交换人脸。
3.人脸匿名化(Face anonymization)
简单的人脸匿名化操作:掩蔽、镶嵌、模糊等。会破坏面部图像的可用性,不利于正常交流。
目前人脸匿名化更强调保护隐藏身份,对其他人脸属性的修改最小。
1.早期的方法:图像失真(image distortions),图像融合( image fusion)、远距离人脸选择(distant face selection )
2.稍后的方法:
Jourabloo等人利用属性分类网络提取人脸的的个体属性参数,并通过优化不断更新,使得生成的人脸不被识别为原始人脸。
Meden等人提出一种生成模型,该模型将图库数据中具有不同身份的k个人脸进行组合,以生成匿名人脸。
Ren等人提出了一种隐私保护动作检测模型,该模型使用人脸修改器来改变输入人脸的身份,并允许动作检测正常进行。
Sun等采用两阶段训练方法,第一阶段基于3D人脸参数或地标检测进行人脸身份替换,第二阶段进行人脸图像修复。这两种方法都使用两阶段训练和额外的人脸注释,这使得它们不太适用
Hukkelås等人提出了一种从噪声中生成匿名人脸的生成架构,但其生成结果不够真实。
Gafni等人提出了一种去身份方法,该方法使用多图像感知损失。该方法可以应用于人脸视频,取得了良好的效果,但生成的匿名人脸对于给定的人脸是单一的。
Maximov等人从另一个角度看待去身份,除了人脸识别网络之外,匿名化的人脸可以欺骗人眼。但是这种方法生成的匿名人脸不自然,无法满足正常传播。此外,这种方法可以生成多个匿名面,但灵活性和连续性较差。
与上述提到的人脸匿名化方法不同,本文提出了一种多样化的图像和视频人脸匿名化方法,可以灵活操纵生成的匿名化的人脸的身份,同时保证其他属性不变和看起来更加自然。
Approach
目标:
1.在一张人脸图像中成功隐藏身份信息,同时尽可能保持其他面部属性不变
2.控制身份表征
3.保持生成的人脸的多样性
为了实现这些目标,我们首先训练一个人脸身份解耦模型,将身份与其他属性解耦,以实现更好的身份匿名化,并使用所提出的AIG方法操作id向量
Identity disentanglement model(身份解耦模型)
身份解耦模型总体框架
Encoder:用于将输入人脸图片编码成两类潜在属性:面部的身份信息和除身份之外的面部其他属性。
Generator:用于从两个潜在代码的组合中恢复真实面部图像。
模型采用两个分支结构:
一个分支用于重建输入人脸图像,这个分支中的潜在代码都来自同一个输入人脸,如图中上分支所示。
另一个分支用于组合从不同面部图像提取的潜在代码,用从I1中提取的Attributes和从I2中提取的Id vector 去生成一个身份交换人脸,如图中下分支所示。
此外,利用预先训练好的人脸嵌入网络来约束学习到的身份表示空间。为了有更真实的人脸图像,加入两个鉴别器discriminator网络对生成模型进行对抗训练。
本文提出一种交替模型训练方法,为输入的面部图片分成两种情况。也提出一种条件多尺度重构损失(CMR)更有效的训练身份解耦。
第一情况:输入人脸图片有相同的身份,这样的得到的输入人脸O1和O2有着相同的身份和外观属性。也就是说O2和O1都被重建成I1。这种情况下CMR是像素级(pixel-level)重构,为确保O2完全恢复I1,损失定义为
第二种情况:输入人脸身份不同,O1与第一种情况相似,但我们期望O2有着I1的外观属性和I2的身份,这种情况下,CMR损失采用(patch-level) 重构来限制O2和I1。利用Patch GAN损失作为CMR损失。因为I1和O2的外观属性和背景是相同的,只有身份是不同的,并且这让我们无法使用全局重构强迫他们一致。Patch GAN损失是通过将人脸图像分成一些块(patch)并且将他们的组合喂入鉴别器网络来计算的,因此它是非常适合作为CMR的局部重构损失。
训练过程中,我们交替输入相同和不同的面部给模型,提出条件多尺度重构损失的公式:
L1重构损失(L1 reconstruction loss)和对抗损失( adversarial loss)定义如下:
为了让解耦身份表示更加容易操作,也为了让身份潜在空间可解释,我们使用预先训练的脸部嵌入网络来限制结构身份表示。本文用Arcface实现此目的,因为他可以编码人脸身份到一个单位球空间,让其在监督下学习到的身份表示更易于操作,我们用余弦相似性损失来约束解耦的身份向量和输入人脸嵌入向量,让生成人脸的身份更接近与解耦身份向量。
总损失函数:
Identity manipulation for face anonymization(用于人脸匿名化的身份操纵)
介绍一种匿名化身份生成方式,最小化对原始身份向量的修改同时实现身份匿名化。
在训练身份解纠缠模型时,对编码器的身份输出进行归一化,目的是将解纠缠的身份向量限制在单位球面空间内。利用预先训练好的人脸嵌入网络学习身份表示空间的分布。通过这种方式,我们解耦的身份向量将是清晰可解释和可操作的。简单的身份操作方法,如身份交换和随机采样,可以用我们的模型实现人脸匿名化,但它们不能保证匿名化人脸修改的结果,并且不容易操作。
提出一种可控解耦身份操纵的方法 the Anonymous Identity Generation (AIG)
不同身份向量之间的距离也由余弦相似度定义,这允许我们在与源身份向量相关联的解耦身份空间中定义验证阈值角度,如图中的θ所示。我们在身份表示空间中采样一个匿名向量,该向量与原始身份向量之间的角度等于验证阈值角度。
匿名身份向量可以定义为:
通过在解耦的身份空间中对满足上述公式的向量进行采样,可以得到对原始人脸身份变化最小的匿名身份向量。因此,我们能够生成匿名化的脸,保持原始的脸属性,并有一个小的修改。
Experiments
Implementation details
人脸数据库
1.CelebA:该数据集包括202599人脸图像和10177人脸身份。我们使用数据的对齐版本进行训练和测试,我们使用从总数据中随机抽样的8140个人脸身份及其对应的人脸图像作为训练数据,而测试数据则是剩余的2037个身份及其对应的人脸图像。我们使用这个数据集来确认模型的有效性以及可视化它。
2.LFW:LFW是一个广泛用于人脸识别评估的数据集,它包含6000对人脸图像,其中一半是相同的身份,另一半是不同的身份,它们被分成10个部分进行验证。我们使用所有相同的身份对来验证我们的模型的人脸匿名化性能,并将其与SOTA模型进行比较。
3.FaceForensics++:FF++是最近提出的一个由1000个原始视频组成的取证数据集,我们用它来验证我们的模型可以很容易地实现人脸匿名化,并保证视频的时间一致性。
Metrics(度量/评估)
FID用于评估生成图像的真实性。它计算生成的图像和真实图像在特征级别上的分布距离,以测量生成图像的整体真实感。
LPIPS用于衡量两幅图像之间的相似性,更符合人类的感知。
还使用了传统的图像相似性和质量评估指标SSIM和PSNR。
TPR是分类问题中的the true positive rate 真阳性率,本文利用它来确定匿名人脸图像对SOTA人脸识别模型识别精度的影响。
我们使用Dlib[14]和SSH[23]来确定匿名人脸的可检测性。
Network architecture(网络体系架构)
提出的人脸身份解纠缠模型利用自动编码器结构构建生成模型,
其中编码器使用残差块卷积神经网络,编码器最终输出的特征图是人脸属性潜在码,如图2中的attributes。
编码器的中层的特征图也被喂入其他的分支,身份潜在编码通过全局平均池和归一化获得,如图2中的Id vector。
生成器包含残差块和上采样残差块,其详细结构遵循StyleGAN2。
人脸嵌入网络使用预先训练好的ArcFace。
鉴别器结构利用类似的残差块结构,而补丁鉴别器执行与鉴别器相比的补丁输入的变化。
Training details(训练细节)
我们的方法是在PyTorch中实现的,使用的是一个24GB内存的NVIDIA TITAN RTX GPU。我们采用Adam[15]优化器,编码器、生成器和鉴别器的学习率为0.002。训练迭代的次数是40000。此外,损失函数的权重都设置为1,并且对两个鉴别器网络执行模型正则化。验证阈值角度θ设置为arccos(0.28)。
Face anonymization results(人脸匿名化结果)
人脸匿名化旨在通过对原始人脸进行最小程度的修改来修改人脸身份,从而欺骗未经授权的人脸识别。以前的方法很难实现对匿名人脸身份的精确控制。然而,我们的方法支持不同的身份操作,并生成各种匿名化的人脸,如图1所示。我们的模型可以生成具有不同身份的匿名人脸,这是通过改变图3中的匿名向量方向获得的。此外,在匿名身份向量和原始身份向量之间的角度是预设的验证阈值角度,因此可以实现人脸匿名化。同时,我们的方法生成的人脸保持了原始人脸的属性,包括表情、姿势、附件等。
图4进一步说明了我们生成各种匿名人脸的方法的灵活性。图中的方向和角度代表匿名身份向量的方向和,Zsrc和Zanony之间的角度。我们以固定的角度操纵匿名身份向量的方向,从而可以生成一系列具有不同面部身份的匿名人脸。此外,我们操纵每个方向下的身份向量之间的角度来生成不同匿名程度的人脸。
我们还在视频数据集上验证了模型的性能和时间一致性。在FaceForensics++上实验,匿名化后的人脸视频帧如图5所示。从图可以看到我们的人脸匿名化方式修改原始人脸一点点,并且表情,只是和其他的人脸属性并没有改变,同时保持视频数据中良好的时间一致性。
Comparison results(比较结果)
我们在图中的结果是通过在两个维度(即角度和方向)上操纵给定面的解耦身份表示而生成的。当操纵匿名身份向量和原始身份向量之间的角度时,我们的方法允许渐进身份匿名化,并且当以固定角度改变身份向量的方向时,允许各种人脸匿名化。我们的匿名化结果与Gafni[5]类似,对原始人脸的修改较少,生成的图像看起来自然,而方法Maximov[21]得到的匿名化人脸不自然。方法[5]通过训练一次生成单个匿名身份,而方法[21]可以生成具有多样性但不现实的匿名人脸。与这两种方法相比,我们的方法可以更灵活地控制匿名人脸的身份,而不会失去真实感,并且保持原始人脸的每个属性不变。
与这两种方法相比,我们的方法可以更灵活地控制匿名人脸的身份,而不会失去真实感,并且保持原始人脸的每个属性不变。
对于原始人脸,在两个不同数据集VGGFace2[1]和CASIA-WebFace[42]下训练的FaceNet[32]网络识别准确率可以达到较高水平。然而,通过人脸匿名化方法处理的人脸图像给人脸识别网络带来了巨大的挑战,人脸识别的准确率急剧下降。与其他两种方法相比,我们的方法获得了更高的人脸匿名化成功率。
前四个度量是在由有线电视新闻网检测到的面部区域内计算的[43]。此外,在[21]之后,我们利用Dlib[14]和SSH[23]来评估人脸检测率,因为匿名人脸需要保持人脸可用于正常识别以及下游任务。Maximov等人[21]和我们的方法在统一的测试框架下进行了比较。表中的结果表明,在具有更高的人脸检测率的同时,产生更真实和更好的人脸属性保持的匿名人脸的方法是可行的。
视觉上的比较如图7,Samarzija等人[31]在给定的数据集中搜索与原始人脸不相似的人脸,并将其交换到原始人脸,这会产生明显的边界痕迹。Gafni等人[5]生成了清晰的人脸图像,但人脸区域存在颜色不一致,如图中红色圆圈所示。我们的方法生成了更好的匿名化人脸,并且看上去自然而且在颜色和亮度上不会出现不一致。
除了视觉比较之外,我们还执行量化指标比较,如表3所示。我们定量比较了图7中每行对应的三种方法的生成结果。我们使用由Arcface[3]获得的LPIPS、SSIM、PSNR和身份描述符L2距离来评估生成的人脸。我们的方法在所有的度量中取得了最好的结果,这表明我们的方法实现了更好的人脸匿名化,同时也实现了更高的人脸外观维护。
Ablation study
人脸匿名化方法得益于高性能的人脸身份结构能力和身份潜在表示操纵技术,
我们对人脸身份解耦网络的关键损失和解耦身份向量的操纵进行消融研究。
带有CMR损失和id损失的全身份匿名化框架是合理的和优秀的。
身份操纵的对比实验如图9。
AIG可以实现人脸身份匿名化的同时尽可能少的修改原始人脸的外观。
Conclusions
由于人脸识别技术的滥用,迫切需要隐私保护。在本文中,我们提出通过操纵解耦的身份表示来匿名化人脸图像。借助基于GAN的编码器和生成器,我们提出了一个身份解耦网络。通过引入CMR损失和身份损失,它具有很强的解耦能力,并且易于操作生成匿名人脸图像。大量的实验结果和可视化显示了我们提出的方法的高性能。由于其强大的解耦能力,通过线性改变角度空间中的畸变角,我们可以很容易地得到匿名化的人脸图像,而人类也无法像CIAGAN [21]那样识别身份。