2023年5月

摘要

本篇文章采用蜕变测试(metamorphic testing)的原理来寻找可能影响DeepFake检测模型鲁棒性的潜在因素,并缓解其中的Oracle问题。作者对MesoInception-4和TwoStreamNet两种检测模型进行了评估。通过蜕变测试发现化妆应用程序是一种对抗性攻击,可以欺骗deepfake检测器。实验结果表明,MesoInception-4和TwoStreamNet模型在输入数据被施加化妆扰动时,其性能下降高达30%。

Oracle问题:程序的执行结果不能预知的现象在测试理论中称为“Oracle问题”,即无法知道输入的预期结果,导致测试人员只能选择一些可以预知结果的特殊测试用例进行测试,而不能完整有效地进行测试。例如测试sin函数时,并不知道sin(153°)的预期结果。从而无法验证输入为153°时程序的正确性。

蜕变测试:蜕变测试是软件测试中的概念,是一种特殊的黑盒测试方法。蜕变测试依据被测软件的领域知识和软件的实现方法建立蜕变关系(Metamorphic Relation, MR),利用蜕变关系来生成新的测试用例,通过验证蜕变关系是否被保持来决定测试是否通过。同样以sin函数为例,虽然不知道sin(153°)的预期结果,但是根据数学知识可以得知sin(27°)=sin(153°),这是一种蜕变关系。我们利用程序验证这种关系,如果这个关系不成立可以说明源程序存在问题。

蜕变关系(Metamorphic Relation, MR) :指多次执行目标程序时,输入与输出之间期望遵循的关系。

实验设置

  • 数据集:数据集选择的是FaceForensics++,其中包括四种Deepfake方式形成的图片:Deepfakes (DF),Face2face (F2F), Face Swap (FS),Neural Textures (NT)
  • 受害者模型:MesoInception-4和TwoStreamNet

蜕变测试的应用

本文关于蜕变测试的具体应用如下图。具体来说,首先将数据集中的图片进行Metamorphic Transformation,得到两部分数据集(未扰动与扰动后)。将这两部分数据集分别输入检测器中,通过比较两次的检测结果来判断Metamorphic Transformation这种变化是否是影响模型鲁棒性的潜在因素。

个人感觉就是在对抗样本检测模型鲁棒性的基础上套了一个蜕变测试的壳子

image-20230514153519834

因为输入的扰动数据集是在原始数据集上通过扰动得到,如果模型具有较好的鲁棒性,那么两次测试结果应该一致。这就是蜕变测试中的蜕变关系(MR)。

关于如何衡量MR是否满足,即比较两次测试结果的方式,论文提到的方法是比较两次测试结果的Accuracy,Recall,Specificity

image-20230514160232197

关于选择这三个指标的原因:选择Accuracy是因为它是用于DeepFake检测器的常见评估度量。它展示了模型的正确性和一致性。但是Accuracy受到准确性悖论(accuracy paradox)的影响,高准确性模型可能无法捕获分类任务中的基本信息。

因此作者还考虑了Recall和Specificity,因为FN和FP对于了解模型性能同样重要。高召回率表明模型在识别TP方面做得很好,而低召回率表明高FN。因此,Recall非常适合输出敏感的环境,例如预测deepfake或预测癌症(也就是说宁愿误判,也要找全)。同时,Specificity显示了模型在避免误报方面的表现。Specificity非常适合关注TP和FP的领域,例如推荐引擎(也就是说要减少误报)。

准确度悖论:面对非均衡数据集时,准确度这个评估指标会使模型严重偏向占比更多的类别,导致模型的预测功能失效。

对抗性扰动

本文提到的对抗性扰动(也是之前提到的Metamorphic Transformation)是给图像添加化妆效果。

具体流程如下图,通过Dlib库识别面目的68个面部标志,并得到这些标志的坐标,调用OpenCV的方法在相应坐标绘制RGB色域的多边形,并通过高斯模糊滤镜使多边形与图像更好融合。

image-20230514161200473

实验结果

文章总共展开了两个实验,主要区别在于数据集:一个是子数据集,另一个是完全数据集。参数差异如下图。

image-20230514161906819

image-20230514161918303

分出一个子数据集进行实验的原因是:MesoInception-4模型的主要优势之一是它能够在使用小数据集和最少的训练时间的情况下有效地检测deepfake。所以这里额外测试了小数据集下模型的鲁棒性表现。

1、子数据集上,模型的Accuracy表现

image-20230514162147582

上表也表明Deepfake在跨数据集的表现很差,泛化能力不行

2、子数据集上,模型的recall和specificity表现

image-20230514162429521

image-20230514162504385

低召回率,高特异值表示模型将扰动后的图像同样认为是正常图像。说明化妆这种扰动确实对MesoInception-4和TwoStreamNet造成较大影响。

3、完整数据集上,TwoStreamNet的recall表现

image-20230514162829921

对于F2F这种方式得到的数据集,模型的recall值还保持在48.35%。说明训练数据的大小和质量的变化确实会影响深度学习模型的性能。(这是共识吧)

4、从原始数据集中挑选本来就化妆的DeepFake图像进行测试。发现同样会导致模型的低召回率。说明模型对于自然化妆或后处理化妆都不具备鲁棒性。

image-20230514163157897

总结

文章采用蜕变测试(metamorphic testing)的原理来寻找可能影响DeepFake检测模型鲁棒性的潜在因素。并通过这种测试发现现有的部分DeepFake检测器对于化妆(无论是自然化妆或后续处理)不具备鲁棒性。

摘要

本文对现有Deepfake视频进行对抗性修改来绕过对应的检测器,并且进一步证明这种扰动对图像和视频压缩具有鲁棒性

攻击原理

目前关于DeepFake视频的检测可以分为两大类。

第一种是通过手工选取的特征以及自然图片的统计/物理特征进行真假区分,然而视频合成方法通过修改它们的训练目标(例如通过Loss函数指导生成器模拟这些人工/统计特征),从而绕过这种检测。

之前解析的CVPR2023的一篇文章就是采用这种方式绕过检测器

第二种是基于深度神经网络进行检测。首先将视频分解成帧,随后提取帧中的人脸特征并判断。当然现在先进的DeepFake检测器并不是以整张图片帧作为输入,而是先通过面部追踪方法从原始帧中裁剪面部,再经过归一化等变换才输入网络。事实证明这种先验输入可以使检测性能更好。

既然这种视频检测器仍然是通过单帧检测DeepFake,那么如果对视频的每一帧都施加对抗性扰动,理论上就可以欺骗到检测器。

当然现在也有检测器引入时间序列检测deepfake视频,这种检测器使用CNN+RNN架构或3-D CNN模型对帧序列进行处理。文章对这类检测器的代表3-D EfficientNet也进行了攻击。

实验设置

  • 受害者模型:逐帧分析的检测器有XceptionNet和MesoNet,基于时间序列的检测器有3-D EfficientNet
  • 攻击手段:使用基于梯度符号的方法进行扰动,考虑到视频需要处理的帧数较多,使用$L_\infty$对扰动进行限制。
  • 攻击流程:对于任何给定的帧,首先提取脸部区域,并为裁剪后的脸制作一个对抗样本,然后将其放回原始帧中面部裁剪的边界框中。

    image-20230514230933443

攻击类别

白盒攻击

使用基于梯度符号下降的攻击方法(如FGSM/PGD),不过损失函数采用了C&W Attack中的其中一种,即

$$ loss(x')=max(Z(x')_{Fake}-Z(x')_{Real},0) $$

其中$Z(.)$表示模型softmax前一层的输出。那么对抗样本的迭代如下

$$ x_i = x_{i-1} - clip_{\epsilon}(\alpha·sign(\nabla loss(x_{i-1}))) $$

鲁棒的白盒攻击

通常上传到社交网络和其他媒体的视频会被压缩。已知的一些标准操作(如压缩、调整大小)都可能去除图像中的对抗性扰动。为了确保对抗性视频即使在压缩后仍然有效,引入鲁棒的白盒攻击。

首先引入$T$变化操作,这个即刚刚提到的压缩,大小调整等。

那么对于输入x,我们的最终目标是生成

$$ x_{a d v}=a r y m a x_{x}\mathbb{E}_{t\sim T}[F(t(x))_{y}]\operatorname{s.t.}||x-x_{0}||_{\infty}\lt \epsilon $$

其中$F(t(x))_{y}$是指模型将$t(x)$判别成目标类别$y$,即Targeted Attack。

Loss函数如下,其实跟白盒攻击对比只多了一个t变换。

$$ l o s s(x)=\mathbb{E}_{t{\mathord{\sim}}T}\left[m a x(Z(t(x))_{F a k e}-Z(t(x))_{R e a l.0}\right] $$

这里涉及到期望,根据大数定理可以转换成

$$ l o s s(x)=\frac{1}{n}\sum_{t_{i}\sim T}[m a x(Z(t_{i}(x))_{F a k e}-Z(t_{i}(x))_{R e a l},0)] $$

关于T变化,文章提到了以下几种操作

  • 高斯模糊。$t(x)=k*x$,其中k是高斯核,*是卷积算符;
  • 添加高斯噪声。$t(x)=x+\Theta$,其中$\Theta \sim N(0,\sigma)$;
  • 大小转换。在图像的四个边填充0值。$t(x)=x'$且$x^{\prime}[i,j,c]=x[i+t_{x},j+t_{y},c]$
  • 下采样与上采样。首先将图像以因子r下采样,再通过插值上采样回原大小。

黑盒攻击

黑盒攻击采用基于查询的方法,并通过NES进行梯度估计。略去NES梯度估计的理论过程,估计梯度可以表示为

$$ \nabla \mathbb E[F(\theta)]\approx\frac{1}{\sigma n}\sum_{i=1}^{n}\delta_{i}F(\theta+\sigma\delta_{i})_{y} $$

其中$\theta=x+\sigma\delta$且$\delta \sim N(0,I)$,关于NES梯度估计的算法流程见算法1。

image-20230514234820165

估计梯度后,采用基于梯度符号的攻击进行优化。

$$ x_i = x_{i-1} + clip_{\epsilon}(\alpha·sign(\nabla F(x_{i-1})_y)) $$

注意这里是加号,与白盒攻击不同。白盒攻击因为引入了CW的Loss,所以是最小化Loss函数。

鲁棒的黑盒攻击

鲁棒的黑盒攻击同样使用NES进行梯度估计,相比于黑盒攻击同样只多了一个T变换。梯度估计如下

$$ \nabla \mathbb E[F(\theta)]\approx\frac{1}{\sigma n}\sum_{i=1,t_i \sim T}^{n}\delta_{i}F(t_i(\theta+\sigma\delta_{i}))_{y} $$

优化过程与黑盒攻击一致。

实验结果

评估指标

  • 攻击成功率SR:对抗视频中被分类成真实图片的帧的百分比。进一步地,SR-U表示以Raw形式保存的视频的攻击成功率(Raw表示视频未经过压缩),SR-C表示已MJPEG形式保存的视频的攻击成功率。
  • 准确率Accuracy:视频中被检测器分类为假的帧的百分比。ACC-C表示压缩视频上检测器的准确率。
  • 平均失真Mean distortion:通过$L \infty$范数衡量对抗帧和原始帧之间的失真情况

数据集

  • FaceForensics++ HQ Dataset:其中包括DF、F2F、FS、NT四种DeepFake类型的视频

1、对于XceptionNet和MesoNet,它们在原始数据集上的准确率表现

image-20230515000338738

2、白盒攻击的攻击成功率。

image-20230515000627784

3、鲁棒白盒攻击的设置与结果

image-20230515000713965

image-20230515000727580

主要提升在于SR-C,即对于视频压缩的鲁棒性。

4、黑盒攻击与鲁棒黑盒攻击的攻击成功率。

image-20230515000840307

黑盒攻击中,对于每一帧图像,对受害者模型的平均查询次数为985.

image-20230515000852745

鲁棒黑盒攻击中,对于每一帧图像,对受害者模型的平均查询次数为2153.

总结

个人认为文章的亮点有两处:首先是针对deepfake视频施加扰动从而欺骗分类器;其次在白/黑盒攻击场景下考虑了对抗性攻击的鲁棒性,即考虑到物理场景下视频很可能被压缩的情况,针对这种情况对输入进行变化后再执行对抗攻击。

摘要

本篇文章做了以下三项工作:

  • 探究高斯噪声扰动对面部提取器的影响
  • 发现可以通过使用新方法生成DeepFakes来绕过现有检测器
  • 发现可以利用数据毒化、后门攻击来绕过DeepFake分类器

第二点现在基本算是共识,所以接下来主要谈1、3两点。

实验设置

  • 数据集来源:FaceForensics++和DFDC
  • 受害模型:对于选择开源的面部提取器Dlib,deepfake检测器选择XceptionNet

面部提取器攻击

攻击方式:向图像帧中每个通道的每个像素都施加均值为0,标准差为$\sigma$的随机高斯噪声。然后通过Dlib提取器提取人脸。如果Dlib输出结果为NULL,说明攻击成功。

这个设置其实对Dlib有利,因为Dlib有可能受噪声影响从而输出不正确的图像

当随着$\sigma$的增加,Dlib的性能逐渐下降,拐点在$\sigma = 0.2$的位置。对于DFDC数据集,Dlib性能下降相比其他数据集快得多。性能下降更快的原因作者认为是FaceForensics++数据集的人脸可能更好提取。

image-20230515093658722

数据毒化攻击

数据毒化攻击主要是对模型训练集进行修改,从而改变模型的性能表现。文章共提到两种数据毒化攻击:标签反转攻击与后门攻击。

标签反转攻击:顾名思义,就是修改训练样本的标签值。real->fake与fake->real。结果如下图。

image-20230515094541579

可以发现当翻转标签比例达到37.5%时,人脸分类器的准确度也仅仅下降了7%。这可能是因为训练数据集的大量冗余,只要具有正确标签的训练人脸图像比具有翻转标签的训练人脸图像足够多,就可以学习准确的人脸分类器。

当翻转比例达到50%时,分类器基本将所有输入都认为是真实图像。

后门攻击:使用棋盘网格作为触发器,嵌入到deepfake样本中,并将标签改为real。具体来说,棋盘格嵌入在图像右下角,大小占比为图像大小的0.1%,具体如下图所示。

image-20230515095239955

攻击效果见下图。当毒化比例在5%时,分类器就已经将所有测试图像都认为是真实的。

image-20230515095022684

讨论

本节作者讨论了几种针对对抗样本的防御以及它们各自的缺陷。

对抗训练与随机平滑可以实现对对抗样本的鲁棒性;集成模型则可以抵御后门攻击。不过随机平滑与集成模型目前来看本身准确率就不高,并且当对抗样本扰动足够大时,仍然可以逃避检测。

下图则是对DeepFake技术的一个分类树,个人觉得有一定参考价值就贴在这了。

image-20230515095520551

总结

这篇文章个人认为亮点主要在于提出对面部提取器的攻击(虽然实验部分好像太随便了)。数据毒化也是一个思路,但是真实攻击场景下这种攻击的可行性应该不是很高。

摘要

这篇工作使用对抗性扰动来增强deepfake图像并绕过常见的deepfake检测器。使用FGSM和C&W L2 Attack在黑/白盒场景下进行测试。探测器在未扰动的deepfake上实现了超过95%的准确率,但在扰动的deepfake上的准确率低于27%。文章还探索了对deepfake检测器的两项改进:Lipschitz正则化以及深度图像先验

对抗扰动生成

FGSM这里就掠过不谈了,C&W $L_2$ Attack挺感兴趣的可以查看【学习笔记】对抗攻击:基于优化的CW攻击方法 - 知乎 (zhihu.com)

具体来说,论文使用的CW攻击设置如下。

首先是目标函数$f(x)$,选择

$$ f(\mathbf{x}^{\prime})=\operatorname*{max}(\operatorname*{max}_{i\neq y}\{\mathbf{Z}(\mathbf{x}^{\prime})_{y}-\mathbf{Z}(\mathbf{x}^{\prime})_{i}\},-\kappa). $$

其中$Z(x)_y$指模型将x识别为真实类别y的概率(softmax前),$Z(x)_i$则是识别成目标类别i的概率。$\kappa$则是目标类别概率大于真实类别概率的阈值。

同时为了更好优化图像x,采用变量转换。原先是对x进行优化,现在转而优化$\omega$,而新图像$x'$表示为

$$ {\bf x}^{\prime}=\frac{1}{2}(\operatorname{tanh}(\omega)+1) $$

优化$\omega$的方法如下

$$ \omega^{*}=\arg_{\operatorname*{min}}\{||{\bf x}^{\prime}-{\bf x}||_{2}^{2}+c\,f({\bf x}^{\prime})\} $$

最终对抗样本则可以表示为

$$ {\bf x}_{adv}=\frac{1}{2}(\operatorname{tanh}(\omega ^*)+1) $$

攻击效果如下图。

image-20230515102803962

Lipschitz正则化

Lipschitz正则化主要是约束了检测器相对于输入的梯度。具体做法是在损失函数后多加一项

$$ J_{a u g}({\bf x},{\bf y},\theta)=J({\bf x},{\bf y},\theta)+\frac{\lambda}{C N}\sum_{i=1}^{C}||\nabla_{x}Z({\bf x})_i||^{2}. $$

其中C是目标类别的总数,N是输入向量的维度,$\lambda$控制正则化的强度。结果如下图,虽然准确率有一定提升,但是提升不大。

image-20230515103147795

深度图像先验

深度图像先验,简单来说就是在输入之前训练一个CNN网络,这个网络负责输入图像的重建,将重建后的图像输入deepfake检测器中。这种重建有可能滤掉攻击者施加的对抗性扰动。

关于实验的具体设置,选择MSE作为重建损失,而关于generative CNN的具体网络结果没有提及。

实验效果如下图,可以看到随着训练轮数增加,分类器性能从好到逐渐变差。性能变差的主要原因在于CNN非常容易过拟合,训练到后期DIP图像重建发生过拟合从而影响分类器。观察以下四幅图片,发现在轮数为6500左右时分类器可以达到不错的性能。

image-20230515103832149

总结

这篇攻击主要探讨了deepfake检测器的防御方式,第一种是通过Lipschitz正则化限制模型关于输入的梯度变化;第二种基于图像重建来消除扰动。但是两种方式都具有局限性,例如Lipschitz正则化对于对抗样本的鲁棒性不足(性能提升不够明显),而图像重建对于训练轮数有较大限制。

摘要

论文地址: 2304.11670] Evading DeepFake Detectors via Adversarial Statistical Consistency (arxiv.org)

本文主要提出了一种针对DeepFake检测器的统计一致性攻击(StatAttack):选择DeepFake检测器的一些统计敏感性特征(natural degradations,例如图片的曝光、模糊以及噪声),然后使用对抗性的方法将这些特征加入到Fake图片中,减小真图和假图之间的特征分布差异,从而欺骗检测器。

对抗训练中,因为注意到自然图像和DeepFake图像中的统计差异和两种图像之间的分布偏移成正相关,所以使用分布偏移感知损失(MMD,最大均值差异)来作为训练的损失函数。

最后文章还提出了一个攻击效果更好的MStatAttack,实际上就是在StatAttack基础上给各个增加的统计特征赋予权重(动态调整),并多次迭代。

实验方面,文章在四个基于空间的检测器和两个基于频率的检测器分别测试了白盒、黑盒攻击的效果。

攻击原理

下图两列分别展示了DeepFake检测器A、B的决策边界,对于不同的检测器,由于网络结构、训练方式的不同,决策边界往往不同。因而限制住了对抗样本的迁移性,即攻击特定检测器生成的对抗样本大概率无法攻击其他检测器。

本文希望找到不同检测器之间的一块公共的嵌入区域,如果对抗样本落入这块区域,那么它对于这些检测器都具有欺骗性。下图第二行形象地展示了这个过程。

image-20230514103641073

统计差异

根据一些前人的工作得知:自然图像和GAN生成图像在频域和空间域上都存在差异。例如McCloskey表明两者存在亮度统计差异,GAN只能生成有限光强的图像,无法生成饱和或曝光不足的区域。Durall表明两者存在频率信息的统计差异,GAN会在图片上留下规律的高频痕迹(high-frequency artifacts)。

作者认为通过降低刚刚提到的自然图片与DeepFake图片之间频域/空间域差异(他称这个过程为自然退化,natural degradation),可以让DeepFake在检测器眼里更加真实。

这也意味着攻击原理中提到的公共区域是由这些统计特征指示的,换句话说作者认为不同检测器都能学习到自然图像和Fake图像之间的这些统计差异

自然退化

作者提出了三个方向降低上文提到的统计差异。

  • 改变曝光:通过调整图像局部区域中的亮度值,改变DeepFake的亮度分布,模拟饱和或曝光不足的区域,从而使亮度分布与自然图像分布相似。

    image-20230514105802382

  • 添加模糊:通过低通滤波器去除DeepFake中的高频分量,减少频域中的统计差异。

    image-20230514105805737

  • 添加噪声:通过添加随机噪声,去除图像频谱图中的regular artifacts。

    image-20230514105808068

这三种扰动都是通过对抗的方式生成的。每种方式都有可学习的参数,然后使用MMD Loss去优化。

我的理解是一种物理模拟,作者先假设检测器通过这种统计差异区分真假,也就意味着它学习到自然样本这些特征的分布(真实分布),通过增加可学习的物理变换,并利用GAN去优化参数,从而使扰动后的Deepfake在这些特征上的分布更逼近真实分布。

改变曝光

改变曝光采用的是Gao的adversarial exposure generation model,模型包括两部分,产生曝光的多项式模型和保持曝光自然的平滑公式。

$$ P_e(X^{fake})=\log^{-1}(\tilde X^{fake} + \tilde E) $$

其中$E$是曝光生成模型,$X^{fake}$是DeepFake图像,$\tilde ·$是对数操作。个人理解对数操作也实现保持曝光自然的平滑。

在$E$中有两个可学习参数$\alpha,φ$,用于优化曝光的生成。这里作者说为了让曝光更加自然,可以在损失函数加入下列平滑方程来约束参数值。(类似$L_2$正则)

$$ S(\alpha,φ) = -\lambda_a||a||_2^2 - \lambda_φ||\nabla φ||_2^2 $$

其中$\lambda_a,\lambda_φ$是超参数,用于调节曝光强度与平滑性之间的平衡。

添加高斯模糊

通过给图片添加高斯模糊,从而减少DeepFake中的高频分量。与普通高斯模糊不同,这里将高斯核设计成可学习的参数。这样允许在图像在不同位置自适应添加扰动。具体来说,首先生成一副和原图大小一致的标准偏差图$\sigma$ ,$\sigma$越大图片越模糊。通过$\sigma$也可以反推高斯核的值。例如第i个像素对应的高斯核为

$$ {\bf H}_{i}(u,v)=\frac{1}{2\pi\left(\sigma_{x_{i},y_{i}}\right)^{2}}e x p\left(-\frac{u^{2}+v^{2}}{2\pi\left(\sigma_{x_{i},y_{i}}\right)^{2}}\right) $$

其中u和v表示高斯核内的点与高斯核中心像素$(x_i,y_i)$的相对坐标。随后可以计算高斯模糊后的图像

$$ P_{b}(\mathbf{X}^{\mathrm{fake}})=\sum_{i\in{\cal{N}}(i)}g(\mathbf{X}_{i}^{\mathrm{fake}},k)*\mathbf{H}_{i} $$

其中$\cal{N}(i)$表示$X^{fake}$中的所有像素,$g(X^{fake},k)$表示在图中第i个像素附近,包括于半径为k的高斯核内的范围。

优化参数时,通过loss函数的反向传播更新标准偏差图$\sigma$,那么每个像素对应的高斯核也被更新。最后通过优化后的高斯核对Deepfake施加像素级别的高斯模糊。

添加噪声

这部分和以往工作一致,往DeepFake中添加随机噪声$N_a$。通过最小化Loss对$N_a$进行更新。

$$ P_{n}(\mathbf{X}^{\mathrm{fake}})=\mathbf{X}^{\mathrm{fake}}+\mathbf{N}_{a} $$

StatAttack

StatAttack应用上述的三种方法,得到最终的扰动图像

$$ P_{\theta}(\mathbf{X}^{\mathrm{fake}})=P_{n}(P_{b}(P_{e}(\mathbf{X}^{\mathrm{fake}}))) $$

其中$P_{\theta}(X^{fake})$包括以下优化参数$\{\alpha,φ,\sigma,N_a\}$

损失函数本文使用的是最大均值差异(MMD),这是一个统计学的概念。具体是通过随机变量的矩来确定两个数据分布的距离。具体可以看这篇统计知识(一)MMD Maximum Mean Discrepancy 最大均值差异 - 知乎 (zhihu.com)

$$ M M D[F,p,q]=\operatorname*{sup}_{||f||_{H}\leq1}E_{p}[f(x)]-E_{q}[f(y)] $$

文章解释了为什么使用MMD作为损失函数。之前提到过GAN生成的图像在高频分量的能量较大,通过高斯模糊可以滤去高频信息。而随着高频信息的过滤(参数体现为$\sigma$的增大),统计量MMD也呈下降的趋势。并且MMD是端到端可微的,所以作者认为可以通过MMD指导损失。

image-20230514131946798

综上,优化目标可以表示成

$$ \begin{array}{c}{{a r g\,\mathrm{min}\mathrm{J}_{M M D}\left(P_{\theta}\,\left(\chi^{\mathrm{{fake}}}\right)\,,\,\chi^{\mathrm{{real}}}\right)}}\end{array}+S(\alpha,φ),||N_a||_p \leq \epsilon $$

这里限定了$N_a$的$L_p$范数,同时也提到了使用约束项强制$N_a$具有稀疏性,所以这里应该p=1

StatAttack可以总结为下图,首先对DeepFake施加之前提到的三种退化,接下来在检测器的全局池化层上收集自然图像和DeepFake的特征分布,并计算它们的MMD Loss,通过反向传播更新自然退化的参数$\{\alpha,φ,\sigma,N_a\}$,最后将更参数后的结果应用在DeepFake,从而欺骗DeepFake检测器。

image-20230514133012992

Multi-layer StatAttack

MStatAttack相比于StatAttack,主要多了以下两点改进:

  • 单层退化拓展到多层退化
  • 使用自适应权重调整每种退化的占比

image-20230514133605483

单层扰动可以表示为

$$ \mathbf{X}_{p_{k}}^{\mathrm{fake}}=w_{e_{k}}P_{e}(\mathbf{X}_{p_{k-1}}^{\mathrm{fake}})+w_{b_{k}}P_{b}(\mathbf{X}_{p_{k-1}}^{\mathrm{fake}})+w_{n_{k}}P_{k}({\bf X}_{p_{n-1}}^{\mathrm{fake}})+w_{{X}_{k}}{\bf X}_{p_{k-1}}^{\mathrm{fake}} $$

这里四个权重值需要做softmax,保证权重总和为1,防止图像混合过程中给的强度溢出。

实验结果

实验设置

  • 数据集:总共收集了四种数据集,包括面部合成、属性替换、身份交换三种类型

    image-20230514145332584

  • 受害者模型:四种基于空间的检测器(ResNet50,EfficentNet-b4,DenseNet,MobileNet),两种基于频率的检测器(DCTA,DFTA)

    image-20230514145631383

  • 评估手段:攻击成功率(ASR)与图像质量度量(BRISQUE)
  • Baseline Attack:PGD 与 FGSM,以及两种SOTA可迁移攻击MIFGSM与VMIFGSM

攻击效果

1.攻击基于空间的四个检测器

image-20230514150057940

其中红、黄、蓝颜色标识攻击成功率的前三名。

2.攻击基于频率的四个检测器

image-20230514150307995

3.消融实验

image-20230514150410392

上表表明:对于基于空间的检测器,噪声和曝光两种操作对其影响较大;对于基于频域的检测器,主要受曝光和高斯模糊的影响。

总结

这篇工作以自然图像与DeepFake图像之间存在的统计差异为出发点,通过添加对抗性扰动弥补这种差异,达到欺骗检测器的效果。

具体来说,文章选择了三种方式(添加曝光、模糊、噪声)弥补deepfake在空间域/频域的缺陷,每种方法都具有可学习的参数,参数由$MMD Loss$指导更新。$MMD Loss$可以感知并量化两张图片的统计差异(例如高频分量的多少)。基于以上思想,文章提出了StatAttack和MStatAttack,MStatAttack相比于StatAttack多了权重适应和多层退化。

最后文章在4个数据集上对6种检测器进行白盒/黑盒测试,同时横向对比了PGD/MIFGSM等其他攻击方式。通过消融实验也得出不同退化对于不同类型检测器的攻击效果。