基于生成对抗网络的人脸识别对抗攻击
2023-11-14肖韬睿
王 鑫,肖韬睿
(中国电子科技集团公司第十五研究所系统一部,北京 100083)
0 引 言
人脸识别(Face Recognition,FR)是一项重要的计算机视觉任务,广泛用于解决身份验证问题,人脸验证(Face Verification,FV)是人脸识别的一个子任务,它可以判断一对人脸图像是否属于同一身份[1]。在过去几十年里,人脸验证在移动支付、军事、金融、监控安全和边境控制等各种应用场景中取得了巨大成就[2]。
深度神经网络(Deep-learning Neural Network,DNN)容易受到对抗样本的影响,这些对抗样本在图像中添加了人类视觉无法察觉的微小扰动,以此来欺骗DNN 模型产生错误的预测[3]。对抗攻击可以分为白盒攻击和黑盒攻击,白盒和黑盒是基于对攻击者知识进行假设而区分出的2 种主要环境[4]。前者假设攻击者可以访问模型的参数值、体系结构、训练方法、输入、输出和权重;而后者假设攻击者只能访问模型的输入和输出,但不知道有关模型的信息。
人脸属性是表征人类面部特征的一系列生物特性,是现代安全系统中新兴的软生物识别技术之一。最近,基于生成对抗网络(Generative Adversarial Network,GAN)的方法被用于操纵面部特征图像,如StarGAN[5]、STGAN[6]和AttGAN[7]。本文提出一种有效的攻击方法,称为使用StarGAN 的语义对抗攻击(SGAN-AA),旨在通过改变显著面部特征来欺骗人脸验证模型(FV 模型)。该方法除了通过修改每个输入图像的显著面部特征来提高攻击的可转移性外,还可以有效地生成语义对抗样本,这些特征会通过影响不同FV 模型的决策来欺骗这些模型。在白盒环境中,该方法使用基于目标人脸验证(Target Face Verification,TFV)模型[8]的余弦相似度(Cosine Similarity,CS)[9]或可能性评分(Probability Score,PS)[10]来预测每个输入图像的最显著属性,然后通过特征空间中的StarGAN 模型来改变一个或多个属性。注意力特征融合(Attention Feature Fusion,AFF)方法用于融合语义不一致的特征以生成逼真的图像[11]。在黑盒环境中,SGAN-AA 依赖余弦相似度预测最显著属性,通过进行循环迭代顺序地改变这些属性直到生成对抗人脸图像。
实证表明,预测最显著属性在成功攻击中起着重要作用。SGAN-AA方法在黑盒环境中的攻击成功率明显优于其他方法,并且在白盒环境中的假冒和躲闪攻击中保持较高的攻击成功率。
1 相关研究
1.1 对图像的对抗攻击
人们已经提出了许多对抗样本生成方法来欺骗不同的图像分类模型,大多数研究都集中在通过向输入图像添加扰动来生成受限的对抗样本。文献[3]首先发现了图像分类的对抗样本的存在,该样本将图像少量部分转换为不可检测的,从而改变图像的分类方式。文献[12]提出了一种快速梯度符号方法(Fast Gradient Sign Method,FGSM),该方法使用神经网络的梯度来生成对抗样本,但只是在每个像素上沿着梯度符号的方向应用了一步梯度更新。文献[13]提出了一种基本迭代方法(Building Information Modeling,BIM),该方法将较小幅度的FGSM 扰动应用于多次迭代以提高攻击成功率,并在每次迭代中修剪像素以避免大的变化。投影梯度下降(Projected Gradient Descent,PGD)[14]使合成的对抗样本多样化,是BIM方法的扩展。
1.2 对人脸识别的对抗攻击
人们已经提出了多种对抗攻击来攻击FR模型,可以分为3类:添加对抗扰动、操纵面部特征、物理攻击。
第1 类攻击方式是在特定区域添加人眼无法察觉的扰动来改变输入图像,文献[15]提出了AdvFaces自动对抗方法,该方法通过生成对抗网络在面部区域中产生最小扰动。第2 类是基于操纵面部特征,文献[16]介绍了SemanticAdv,它可以通过改变单个面部特征来生成不受限制的对抗样本。物理攻击可以通过各种不同的工具产生,例如添加一些对抗面部装饰、自然妆容和对抗补丁[17],这些方法使攻击在物理世界中更加危险。
2 人脸识别攻击
2.1 问题定义
FV模型通过在数据集D(x,y)上训练模型来识别输入图像,其中x是根据潜在分布采样的人脸图像,y是相应的真实标签。根据f(x):x→y,该模型可以预测每个输入人脸图像的标签,主要目标是生成与原始图像x相似但能欺骗FV 模型的对抗人脸图像xadv,即FV(xadv)=y' ≠y。
对抗攻击分为2 种类型:躲闪攻击和假冒攻击[18]。躲闪攻击(无目标攻击)是为了欺骗目标模型,使得输出是除原始身份之外的随机身份;假冒攻击(目标攻击)通过将对抗人脸图像识别为指定的目标身份来欺骗目标模型。生成一个xadv,躲闪攻击使模型将xadv识别为不同的身份,使得FV(xadv)≠y,假冒攻击使模型将xadv识别为目标身份,使得FV(xadv)=ytgt。
2.2 语义对抗攻击
本文提出一种有效的攻击方法SGAN-AA,该方法首先预测每个输入图像最显著面部特征,然后在中间层生成xadv。该方法的白盒攻击框架有2个步骤:
1)预测每个输入图像的最显著属性;
2)通过修改一个或多个最显著属性来生成xadv。
StarGAN 模型[5]由单个生成器G和鉴别器D组成,鉴别器经过学习训练将图像从一个域转换到另一个域,这些属性通过使用StarGAN模型进行更改。
2.2.1 显著属性预测
SGAN-AA 使用余弦相似度CS 或可能性评分PS来检测显著属性,相应的方法分别表示为SGANAA-CS 和SGAN-AA-PS。该方法应用CS 或PS 来预测最显著属性并比较它们的结果,然后在所有面部特征上重新训练StarGAN 的G以用于显著属性的预测步骤。
1)余弦相似度CS。
SGAN-AA 通过计算TFV 模型[19]的输出特征之间的余弦相似度来获得显著属性,对于图像属性a=(a1,a2,…,aK),其中ai表示第i个属性,K表示属性总数。首先使用StarGAN 来改变输入x的每个ai,以获得图像合成x*ai。然后通过TFV 模型提取合成图像特征fx*ai和原始图像特征fx,并计算它们的余弦相似度以得到Sai,即通过改变属性ai来改变TFV输出的变化程度。之后根据相似度分值按升序对a中的属性进行排序,以获得最显著属性C=(c1,c2,…,cK),其中ci是第i个排序的属性,余弦相似度越小,属性的显著程度就越大。如式(1)所示,余弦相似度是一种测量2 个向量之间相似度的方法,范围是从0到1。
2)可能性评分PS。
可能性评分法的基本思想是使用TFV 模型作为属性预测模型(Att-Pred)来预测输入的显著属性。对于输入x中的每个属性ai,使用Att-Pred 模型来获得类可能性评分PS,如图1 所示。如果在原始图像x中发现a'i,则在合成图像x*中去除它,所以本文方法使用StarGAN 模型来更改a'i以获得x*a'i。输入人脸图像中的每个属性对最终决策都有不同的影响,因此需要计算x和x*的a'i的概率值Pa'i以获得变化程度,ΔPa'i表示在改变a'i以确定每个图像x的最显著属性前后,图像x中的概率值的变化程度。
图1 FaceNet属性预测模型输出
其中:
这里,表示在改变属性之后生成的图像。
最后使用ΔPa'i按降序对属性进行排序,以获得最显著属性C,从而生成xadv,这些属性代表了最佳的攻击效果。
2.2.2 对抗人脸图像生成
第2 步重点生成对抗人脸图像,如图2 所示。原始图像和最显著属性被输入编码器(GE)以改变这些属性,并从不同的层提取它们的特征,然后使用注意力特征融合框架(AFF 框架)来生成β并执行特征之间的融合,之后将融合的特征发送到解码器(GD)以获得合成图像。最后,TFV模型接收合成图像和目标身份,以计算对抗损失并在特征级别优化β值。为了生成xadv,SGAN-AA 使用单个或多个属性应用2 种扰动,SGAN-AA-CS-M 和SGAN-AA-PS-M 分别表示CS和PS技术中用于多个属性的方法。
图2 SGAN-AA攻击框架
1)对于单个属性,在完成预测C=(c1,c2,…,cK)的第1 步后使用StarGAN 的生成器G,面部特征已经在显著属性预测步骤中进行了训练。G由编码器GE和解码GD器组成,如式(3)所示。GE获取输入图像x和单个有效属性c1并获得中间层中的输出特征,GD将该特征作为输入并输出合成图像。
如图2 所示,使用x作为具有显著属性c1的GE的输入,然后从编码器的conv层和残差块层中提取输出特征,如式(4)和式(5)所示。
SGAN-AA 利用注意力特征融合AFF 方法来获得融合的特征作为解码器GD的输入。注意力特征融合是一种基于多尺度通道注意力模块(Multi-Scale Channel Attention Module,MS-CAM)将不同层次的特征组合在一起的框架,以克服输入特征之间的语义不一致,生成更逼真的图像。式(6)表示融合权重β,其中β∈[0,1],是根据注意力特征融合中多尺度通道注意力模块生成的注意力权重计算的,该方法会更新β的值,直到模型具有欺骗性。为了获得更好的融合特征f*,在特征空间中应用插值,如式(7)所示。最后,解码器GD将融合的特征f*作为输入,并获得合成的面部图像x*作为输出,如式(8)所示。
SGAN-AA通过特征级插值修改每个图像的显著属性c1来获得xadv,为了实现假冒攻击,使用L2 损失函数来最小化xadv的人脸嵌入和目标图像xtgt之间的距离,如式(9)所示。
对抗人脸图像通过最大化特征空间中xadv和x之间的距离来躲闪攻击,如下所示:
2)对于多个属性,同样使用StarGAN 的生成器G,但它在这种情况下用于更改特征空间中的多个显著属性C。在实验中改变了2 个显著属性c1和c2,表示为独热向量,结果得到了变化较大的合成图像。
2.2.3 黑盒环境中的SGAN-AA
为了进行成功的攻击,需要2个步骤:
1)预测目标模型的最显著属性。这个步骤与白盒环境中的步骤类似,但只使用CS方法,因为它不需要训练目标模型来预测属性。
2)通过在迭代循环中用γ改变每个人脸图像的最显著属性,进行线性搜索以找到影响生成的人脸图像的最大γ值,直到输出欺骗模型。
为了改变最显著属性C,SGAN-AA 使用StarGAN模型中的GE来获得特征。但不同的是SGAN-AA 进行迭代循环,按照最显著到最不显著的顺序来更改属性,直到满足对抗条件。这里使用具有变量γ值的双线性插值来生成融合特征f*γi,根据置信度得分的变化进行线性搜索以找到最佳的γopt值。创建一个向量γ,它由从[0,1]中提取的100 个随机值组成,该向量用于研究式(11)中每个值γ的影响,然后根据分数的变化来排列这些值。
对于假冒攻击,选择最佳的γopt值以减少生成人脸图像的人脸嵌入与目标人脸图像之间的距离。对于躲闪攻击,选择最佳的γopt值使生成人脸图像的人脸嵌入和输入的人脸图像之间的距离最大。最后,用最优γopt值来生成融合特征并将其反馈到解码器,通过以下公式获得x*:
为了保证生成的人脸图像与原始人脸图像保持语义相似,需要测量生成的人脸和输入的人脸图像之间的语义相似度sim,以过滤掉不真实的人脸图像并控制其质量,当达到对抗标准并且语义相似度高于阈值th(sim>th)时,就找到了对抗人脸图像。重复上述步骤,在有序的显著属性中添加下一个显著属性,直到找到一个对抗样本。
3 实验设置
3.1 数据集
SGAN-AA 方法使用CelebA 数据集[20]来生成语义对抗人脸图像,该数据集有202599 张人脸图像,具有40 个人脸属性和10177 个身份。实验使用40 个面部特征来训练StarGAN 模型,随机选择5000 个不同的身份作为原始图像,并选择5000 个相同的身份作为目标图像。
3.2 目标人脸验证模型
实验选择了6种最先进的FV 模型来评估SGANAA 的有效性,其中包含不同的模型架构和训练损失函数,使用FaceNet[21]和ArcFace[19]作为白盒TFV 模型,这2个模型返回图像的512维嵌入,此外还使用了另外2 种公开可用的模型SphereFace[22]和CosFace[23]进行评估,然后在不同的主干和损失函数下选择训练模型ResNet-101[24]和MobileFace[25]以验证SGANAA在不同模型上的有效性,最后根据每个FV模型的误报率(FPR)计算最佳阈值T。
3.3 基线
实验采用了8 种基线方法来评估SGAN-AA,包括随机选择(Random Selection)方法,FGSM、BIM、PGD 和MI-FGSM 的典型一步攻击方法,此外还包括人脸攻击方法Sticker[26]和Face Mask[27]。SemanticAdv[16]的面部攻击方法是与本文方法最相似的方法,也通过修改面部特征以生成对抗人脸图像。对于Random Selection 方法,G1应用了4 个面部特征:头发颜色、浓妆、性别和苍白皮肤,而G2则应用微笑、微微张嘴、刘海、眼镜和年轻;对于FGSM,将L2 攻击的扰动设置为ε=0.2,将BIM 的迭代次数设置为20;对于像素值在[0,255]范围内的PGD 和MI-FGSM,将扰动设置为ε=8。迭代次数为40,衰减因子μ=1.0。
3.4 评估指标
实验使用几个评估矩阵来评估在不同基线下的攻击有效性,选择攻击成功率来评估SGAN-AA 生成的对抗人脸图像,使用余弦相似度来测量图像之间的相似度,并对每个TFV 模型使用阈值T来决定2 个身份之间的相似度是否匹配。在将特征归一化为Ts=1-(T/2)之后,可以从欧几里得阈值获得余弦阈值Ts。
用于假冒攻击的攻击成功率计算如下:
其中ImagePairs 由SGAN-AA 生成的对抗人脸图像和匹配的目标人脸组成。
用于躲闪攻击的攻击成功率计算如下:
其中ImagePairs 由SGAN-AA 生成的对抗人脸图像和输入面部图像组成。
最后,计算均方误差(MSE)和结构相似度指数测度(SSIM)以评估不同攻击的原始人脸图像x和对抗人脸图像xadv之间的质量。
3.5 环境与细节
实验使用Adam 优化器,并在NVIDIARTX3090ti图形处理器上进行,所有实验的固定学习率为0.05,最多300次epochs。SGAN-AA 是使用PyTorch v1.7.0实现的,该方法训练TFV模型以获得每个属性的类可能性评分PS。实验基于具有不同身份的原始图像和目标图像执行假冒攻击,并基于具有相同身份的成对原始图像执行躲闪攻击。所有选择的人脸图像都通过MTNN 检测器来检测并对齐,然后在112×112×3 像素范围内得到调整后的图像,但由于模型输入的差异,每个模型内部将执行特定的输入。
4 实验结果
为了验证SGAN-AA 的有效性,实验评估了该方法的对抗人脸图像,并验证其在不同的FV 模型下实现了更高的攻击成功率,而且提高了对抗攻击的可转移性。黑盒环境下SGAN-AA 实现了高攻击成功率,而且可以生成逼真、多样化的对抗人脸图像。表1 和表2 列出了各种方法的攻击成功率,分别使用FaceNet 和ArcFace 模型生成对抗样本进行假冒和躲闪攻击。
表1 FaceNet模型生成对抗样本进行攻击(*表示白盒攻击,粗体数字表示最高攻击成功率)
表2 ArcFace模型生成对抗样本进行攻击(*表示白盒攻击,粗体数字表示最高攻击成功率)
4.1 白盒攻击的比较
为了验证SGAN-AA 方法的有效性,实验首先将SGAN-AA 与白盒环境中的基线方法进行比较,在CelebA 数据集上使用FaceNet 和ArcFace 模型对这些基线方法进行训练,然后计算每种方法的攻击成功率。表1 中比较了SGAN-AA 和FaceNet 模型上白盒环境中的基线,用于假冒攻击和躲闪攻击。SGANAA 方法的所有变体都达到了近100%的攻击成功率,证实了SGAN-AA 可以成功欺骗TFV 模型。表2中比较了SGAN-AA 和ArcFace 模型上白盒环境中的基线,用于假冒攻击和躲闪攻击。通过实验得出结论,SGAN-AA 可以生成有效的对抗人脸图像以在白盒环境中欺骗TFV模型。
4.2 黑盒攻击的比较
大多数人脸识别系统不允许访问神经网络的内部信息。在黑盒环境中,权重和网络架构不包括在训练过程中,因此有必要评估人脸识别在基于转移和基于分数置信度的攻击环境中的脆弱性。
4.2.1 可转移性分析
不同模型之间的可转移性是对抗样本最重要的特性之一。为了验证SGAN-AA 生成的对抗人脸图像在2 个白盒模型下的可转移性,实验从FaceNet 和ArcFace模型生成的对抗人脸图像中构建了一个数据集,然后评估5 种不同TFV 模型的攻击成功率。观察表1 可得,对于假冒攻击,SGAN-AA 与各种基线相比实现了较高的攻击成功率。相比之下,Sticker 和Face Mask 方法的攻击成功率没有超过17%,FGSM和BIM 方法在所有TFV 模型上表现出最弱的可转移性,PGD、MI-FGSM、Random Selection 和SemanticAdv方法实现了比FGSM 和BIM 更好的可转移性。这些攻击的攻击成功率在7.4%~32.4%之间,SGAN-AA 显然优于它们。
Random Selection 和SemanticAdv 方法也通过修改面部特征来进行对抗攻击,但它们只改变随机属性或单个固定属性,SGAN-AA-CS 对单个属性的可转移性在所有模型上都超过了其他方法。同样,该方法在躲闪攻击方面明显优于其他基线,如表1 所示,SGAN-AA-CS 针对SphereFace 生成的对抗人脸图像比基线攻击高出14.1~53.7个百分点。
如表2 所示,SGAN-AA 提高了ArcFace 模型生成的对抗人脸图像相较于基线攻击针对不同模型的可转移性,主要原因是该方法改变了影响决策的最显著属性。SGAN-AA-CS 的主要优点是它不需要为属性预测任务训练TFV模型,可以简单高效地直接应用这些模型。MobileFace 由于权重较轻,容易受到Arc-Face 上生成的对抗人脸图像的攻击,而FaceNet 模型则很难转移到其他模型。
4.2.2 基于分数置信度的攻击比较
本文评估了基于分数置信度的SGAN-AA 黑盒攻击的性能,以实验验证SGAN-AA 在黑盒环境中可以生成欺骗不同FV 模型的对抗图像。实验改进了SemanticAdv 方法(表示为ImSemanticAdv),以在随机属性选择的基础上向黑盒环境中添加多个属性,然后将SGAN-AA 与ImSemanticAdv 进行比较,后者更改属性的过程遵循相同的方法,即通过循环来改变随机属性直到达成对抗。基于分数置信度的假冒和躲闪黑盒攻击的主要结果如图3 所示。SGAN-AA 在所有不同的模型中都优于ImSemanticAdv,与ImSemanticAdv 相比,SGAN-AA 在假冒和躲闪攻击下的平均攻击成功率分别提高了13~29.8个百分点和9.9~54.7个百分点。因此,预测目标模型的最显著属性会提升攻击的性能。
图3 黑盒攻击的平均攻击成功率
5 结束语
本文提出了一种对抗攻击方法SGAN-AA,用于在白盒和黑盒环境中生成语义对抗人脸图像。在白盒环境中,SGAN-AA 首先通过TFV 预测每个输入图像的显著属性,并使用余弦相似度或可能性评分来确定最显著属性,然后使用特征空间中的StarGAN 模型来改变最显著属性。在黑盒环境中,SGAN-AA 循环更改有序的显著属性直到输出对抗图像,生成的对抗人脸图像实现了良好的假冒和躲闪攻击。结果表明,SGAN-AA 可以生成高质量且逼真的图像,在白盒和黑盒环境中实现较高的攻击成功率,并且表现出比许多常见的人脸攻击方法更高的可转移性。