Contrastive Learning for DeepFake Classification and Localization via Multi-Label Ranking

CVPR' 2024

paper: https://openaccess.thecvf.com/content/CVPR2024/papers/Hong_Contrastive_Learning_for_DeepFake_Classification_and_Localization_via_Multi-Label_Ranking_CVPR_2024_paper.pdf

code:

Abstract

我们提出了一种统一的方法来同时解决二元deepfake分类的传统设置和一个更具挑战性的场景,即揭示哪些面部成分被伪造以及操作的确切顺序。为了解决前一个问题,我们考虑了多实例学习(MIL),将每个图像作为一个包,将其补丁作为实例。正包对应于伪造图像,该伪造图像包括至少一个被操纵的patch(即,特征图中的像素)。该公式允许我们估计输入图像为伪造图像的概率,并建立相应的对比MIL损失。另一方面,解决成分级deepfake问题可以简化为解决多标签预测问题,但恢复操作顺序的要求进一步将学习任务复杂化为多标签排序问题。我们通过设计一个定制的损失项来解决这个困难,迫使预测的多标签概率的等级顺序尊重deepfake图像的顺序修改的真序。通过大量的实验和与其他相关技术的比较,我们提供了大量的结果和消融研究,以证明所提出的方法是一个整体上更全面的deepfake检测解决方案。

1. Introduction

随着换脸技术的快速发展,深度伪造已经成为社交媒体关注的焦点。解决这个问题的有效方法是利用基于神经网络的方法来确定给定图像的真实性。deepfake分类的任务通常被表述为一个二元分类问题。最近对deepfake分类的研究已经达到饱和状态[2,5,34,40,41]。然而,由于生成网络(例如StyleGAN[17]和扩散模型[18,19,29])令人印象深刻的发展,深度伪造不再局限于面对面的交换。特别地,Shao等人[32]提出了一个顺序面部伪造数据集Seq-DeepFake,其中StyleMapGAN[19]使用来自源(例如,组件和属性)的请求顺序约束对伪造面部图像进行操作。例如,在图1中,“眉毛-头发-嘴唇”的注释表明得到的面部图像已经按照指定的顺序对眉毛、头发和嘴唇依次处理过。顺序操作可以看作是一个多标签的“定位”问题,不仅可以确定哪些面部成分被伪造,还可以确定操作顺序。后一项任务进一步将定位场景复杂化为排序问题,这带来了重大挑战,并为deepfake相关研究开辟了一个新的前沿。

检测连续的面部操作比传统的deepfake分类更具挑战性。这导致大多数现有的深度伪造解决方案不再适用。例如,Face X-ray[20]的成功是基于观察到在人脸交换过程中,伪造的人脸图像必须有一个必不可少的混合操作来平滑人脸边界,使伪造的图像更加自然。该方法着重于学习如何从配对的源图像和目标图像中捕获混合区域。然而,该策略显然不能很好地应用于序列面部操作数据集SeqDeepFake[32,33]。低效率是由两个主要因素造成的。首先,SeqDeepFake中每个被处理图像的配对源和目标信息是不可用的。其次,从对抗学习中得到的分类器通常与生成器高度相关。因此,在[20]中,如果不完全更新生成模型,很难泛化区分顺序操作图像的方法。在处理组件级深度伪造方面的不足确实是许多相关方法的共同问题,例如:[4,5,13,34,41]。毕竟,它们是为了解决二分类问题而开发的,而不是处理顺序的深度伪造操作。

为了建立统一的深度伪造检测方法,我们将底层问题分解为三个子任务,包括深度伪造分类、深度伪造定位和操作顺序。在解决第一个子任务时,我们提出了对比多实例学习(MIL),该方法将图像视为一个包,将空间特征视为实例,通过最小化对比MIL损失来解决深度分类问题。然后,我们建立了一个多标签排名公式来解决其他两个子任务。关于识别哪些面部成分是伪造的能力,我们将该过程粗略地称为深度伪造定位。此外,在这个阶段中加入排序推理是合理的,可以使多标签概率的排序表反映出序列的修改顺序。因此,可以通过多任务学习来训练网络模型,从而得到能够完成上述三个任务的有效deepfake检测模型。我们的主要贡献如下。

•我们将一般的深度伪造问题分解为三个部分,深度伪造分类、深度伪造定位和操作顺序,从而形成一个全面解决深度伪造问题的系统视图。

•我们提出了一个二元深度分类的对比多实例学习公式。两种学习范式之间的协同作用有效地提高了模型学习,更重要的是,它产生了一个成熟的概念,即如何定义给定图像被深度伪造的概率。

•我们开发了一种多标签排序方法,将多标签预测与排序推理相结合。在推理中,deepfake操作的顺序可以很容易地从输出的多标签概率的等级顺序中得到。

•我们建立了一个统一的方法进行深度分类和定位,并在流行的基准数据集上实现了最先进的性能。

2. Related work

Deepfake detection. 由于人脸处理技术的积极发展和人们对多媒体安全意识的高涨,近年来人们对各种深度伪造检测方法进行了更多的研究。根据底层数据格式,可以将Deepfake检测分为两种方法:基于图像的[2,5,13,20,24,34,40,41,43]和基于视频的[8,14,21,42]。对于基于图像的深度伪造检测,Zhu等[43]提出了一种两流架构来丰富检测的人脸特征。一种是传统的网络,另一种是3D分解框架,目的是在人脸图像上找到更多的线索和细节。Chen等[5]使用交叉注意模块融合RGB和频率特征,从伪造图像中学习伪掩码解码器。解码器使用来自伪造图像的源和目标信息来生成掩码作为GT标签。cao等[2]将检测问题视为异常检测,并利用编码器-解码器框架进行真假表征学习。Liu等[24]从原始和上采样图像的相位谱变化来判断伪造图像。Zhao等[40]引入多个注意模块捕获不同的判别位置,并在主干中插入纹理增强块提取高频特征。其他几种方法试图捕捉通过交换两张图像中的人脸而产生的伪影。Li等[20]提出了Face X-ray从伪造图像中寻找混合区域。此外,Zhao等人[41]利用伪造人脸来自两个不同源的事实,提出了一个不一致的图像生成器来支持分类器学习一致性掩码。基于类似的出发点,Dong等[13]利用自注意机制形成身份一致性transformer来检测伪造图像。为了扩展上述概念,Shiohara和Yamasaki[34]引入了一个自混合框架,该框架可以从提出的增强技术中学习混合线索。

对于基于视频的深度伪造检测,Cozzolino等[8]使用三维变形模型生成深度伪造视频,并学习时序网络嵌入视频分类器的序列特征。Zhou和Lim[42]提出了一种二加一联合检测模型,用于处理伪造的视觉和听觉模式。

最近,Shao等人[32,33]将基于图像的深度伪造检测从二值分类问题推广到多标签分类问题。具体来说,图像是从连续的组件/属性上被操作的,这大大增加了检测的难度。

Multiple instance learning.  根据[11],多实例学习(MIL)范式将“包”定义为正的,如果它包含至少一个正实例。换句话说,假定负包中的所有实例都是负的。Chen等[6]提出的较早的方法是将每个样本包转换成一个高维特征空间,并采用支持向量机(Support Vector Machine, SVM)来确定基本特征,同时构建分类器。Ilse等[16]引入了MIL注意力池,利用神经网络参数化包中实例的分布,以检测预定义的正实例。在医学成像中,一些方法将组织病理学数据集上的MIL相关任务视为弱监督学习。Zhang等[39]引入伪包概念来丰富样本包,解决了整个不稳定图像的不足。此外,Thandiackal等[36]提出了Zoom-MIL,该算法利用多级变焦来融合多重放大,降低了计算成本。

Ranking mechanism. 设计了一个排序方案,以寻找对顺序输入排序的最优排序函数。虽然早期的研究[1,23]提出了bitonic排序网络来解决排序问题,但目前大多数技术依赖于神经网络来实现差分排序操作。Petersen等[27]首先提出了可微排序网络,并通过强化单调性和限制近似误差的边界将其作为一种扩展。随后,他们引入了一个差分top-k网络[28],通过排序机制来解决多类问题。

3. Method

我们考虑了深度伪造检测的一般公式,其中潜在的逼真操作可以应用于整个面部区域或一些预定义的面部成分。为了便于讨论,我们将前一种任务分类为deepfake分类,后一种任务分类为deepfake定位,在这种情况下,我们还需要恢复[32]中描述的成分级deepfake操作的顺序。

Problem formulation. 假设有L个面部成分可以应用逼真的操作。由于修改面部成分的确切顺序很重要,我们将深度伪造定位任务视为一个多标签排序问题[10]。现在考虑一个deepfake数据集D = {(x, Y)},其中x是一个图像,Y = {lj}kj=1, k≤L是{1,2,…L 的有序子集。},表示对第lj个人脸分量进行了第j次(j≤k)deepfake操作。当Y是一个空集合时,它意味着x是一个真实的面部图像。由Y生成两维向量y = (yi)和r = (ri)是很方便的:

其中y为标准的多标签二值向量,r为相应的顺序向量。我们通过一个实际操作的示例来实现上述定义。假设总共可以修改5个面部成分,即L = 5,通过先处理面部成分4,然后处理面部成分2来创建深度伪造图像。我们的定义意味着Y = {4,2}, y =(0,1,0,1,0)和r =(5,2,5,1,5)。

为了使用训练数据D训练深度伪造检测模型,我们考虑一个CNN-transformer网络,如图2所示。对于每个训练样本(x, Y), CNN+FPN模块将x变换为大小为Rw×h×d的特征图,可以对其进行reshape,并按行归一化为一个token向量T∈RN×d,其中N = w×h为空间大小。

然后我们形成两个token向量,包括补丁token U∈RN×d和可学习的类token V∈RL×d。这两组token 通过transformer编码器ϕ传递,它执行自注意以通过关联它们的特征:

我们计算每个补丁token与所有其他token的相似度值:

其中S被整流成一个非负矩阵,使得它的所有元素都在[0,1]中。由于相似性矩阵是对称的,我们只关心每个token与所有其他token的相关性,因此关注S的上三角形部分就足够了,不包括对角线上的那些。我们将这些感兴趣的条目按相似度值的升序排列,并定义:

式中n = N (N−1)/2,为S的上三角形的大小。

MIL deepfake classification. 有了补丁token之间相似性响应的排序列表u,我们可以从多实例学习(MIL)的角度考虑深度伪造检测的任务。也就是说,我们考虑一张人脸图像X作为一个包,阳性标签1表明X确实是作为一个deepfake。就u中的元素而言,如果x是一个深度伪造图像,我们期望发现存在至少一个ui(从u的前端开始),其值接近于0。另一方面,负包(即x不是深度伪造图像)意味着所有ui都接近1。为了将上述观察结果纳入模型学习过程,我们引入了一个对比公式来实现深度伪造检测的MIL概念。假设deepfake图像x在排序列表u的前端产生k个最小的相似响应。我们建议通过对比正分布和负分布的平均响应来计算其被deepfake的概率:

式中τ为温度参数,

在我们的实现中,a是一个被设为1的标量。当x为假时,期望(6)中的对比比接近1,反之则接近1/2。在(6)中进行平移和缩放后,它落在[0,1]范围内,可用来近似给定图像x为深度伪造图像的概率:

寻求最大值的理由是至少存在一个正/假实例。因此,我们定义每个(x, Y)∈D的对比MIL损失为:

如果样本(x, Y)是深度伪造图像,则J(Y) = 1,否则为0。此外,对于真实图像x,我们有理由期望所有的相似度响应ui都接近于1。有用的观察结果促使包含以下正则化损失:

以确保对真实x有适当的相似响应。然后我们可以将深度伪造分类的损失函数表示为

现在我们准备解决多标签排序问题。首先,我们对patch-token和class-token logits求平均值,得到f = (fi) = (f U + f V)/2。两个流之间的融合产生了多标签预测{Pi(x)}Li=1,类似于(16)中的预测。我们的公式背后的主要思想是:通过构建一个等级感知损失项,期望学习到的网络模型输出多标签预测{Pi(x)}Li=1,该预测遵循给定样本(x, Y)∈D所隐含的秩阶r = (ri)。换句话说,如果i, j∈Y且ri < rj(即在操纵面部成分j之前修改了面部成分i),则训练网络进行Pi(x) > Pj(x)的多标签预测。为此,我们设计了以下损失项来处理多标签排序:

其中,l (x)∈RL的定义类似于式(18),但具有基于融合logits f的多标签预测{Pi(x)}Li=1。为了完成(13)的解释,还需要详细说明如何设计等级感知权重向量w(r, {Pi(x)})。由于我们的目标是在多标签预测{Pi(x)}Li=1中保持秩顺序r,因此我们让o = (oi)∈RL来编码多标签预测中的秩顺序(概率值的非递增顺序)。然后我们定义权重向量w(r, {Pi(x)}) = (wi)∈RL :

其中α是我们方法的一个超参数。我们现在证明w的定义。给定一个deepfake样本(x, Y)∈D,有|Y |≤L个被修改的分量。(14)中的第一个条件表明,人脸分量i是真实的,其对应的预测Pi(x)不在{Pi(x)}Li=1的最大输出|Y |中。这样的结果是可取的,因此wi被统一设置为α。第二个条件包括两个场景。第一种是i /∈Y,且ri≤|Y |。这意味着网络模型预测了真实面部成分的高等级深度伪造概率,应该用α × |oi−L|进行惩罚。(注意,从(2)中,当i /∈Y时,设ri = L。)第二种情况是i∈Y,即面部成分i发生了变化。因此,我们制定了wi的定义,以强制减小oi和ri之间的差异。我们得出的结论是,通过将LRank添加到我们的公式中,学习到的网络模型可以输出多标签预测{Pi(x)}Li=1,以检测哪些面部成分被操纵,以及修改的顺序,这是由所得概率量级的顺序隐含的。

Total loss. 为了训练提出的网络模型同时进行深度分类和定位,我们的方法考虑了以下总损失:

其中λ1和λ2为衡量具体损失项影响的参数,LBCE = LUBCE + LVBCE。需要注意的是,两组多标签概率预测{P Ui}和{P Vi}只在训练阶段进行计算,因此可以利用LUBCE和LVBCE来实现有效的模型训练。在推理中,仅从LRank头部提供多标签预测,如图2所示。

最后,我们强调提出的方法为深度伪造问题提供了统一的解决方案。在处理深度二分类的经典任务时,可以方便地从(15)中的总损失中排除LRank项,简单地将可学习的类token个数设置为1,从而实现二分类。

Multi-label localization and ranking. 对比MIL公式产生了一个新的损失项(12),用于学习深度分类。为了将我们的方法扩展到深度伪造定位,我们考虑了多标签排序来揭示哪些面部成分被修改以及操作的潜在顺序。对于每个样本(x, Y), Transformer编码器ϕ从补丁tokens U∈RN×d和类tokens V∈RL×d中生成两组特征,如(3)所示。我们的网络模型对U进行卷积,然后进行平均池化,得到补丁token logits f U = (f Ui)∈RL。以类似的方式,我们有类标记 logits f V = (f Vi)∈RL。通过对每个logit分别应用sigmoid函数σ,我们得到了两组多标签预测:

其中X可以用U或V代替,分别表示预测是基于补丁token或类token的特征。回想一下,GT标签向量Y产生相应的多标签二进制向量y = (yi)和等级向量r = (ri),它们都是L维的。根据式(16)给出的多标签预测,我们将多标签BCE损失定义为:

式中,“·”为内积,1为全一向量,且ℓX (x)∈RL的第i个元素定义为:

值得一提的是,从(16)中得到的多标签预测P U和P V都只在训练阶段计算。包括两个损失项LUBCE和LVBCE有助于规范模型训练,并更严格地对齐来自补丁token和类token流的分类逻辑。

4. Experiments

我们首先详细介绍了序列deepfake数据集[32]的实验结果。接下来,我们在多标签上下文中以及传统的深度伪造分类设置中展示了大量结果,以说明我们方法的多功能性。此外,我们进行了彻底的消融研究,以确定我们方法中每个关键组件的贡献。为了便于比较分析,我们将在整个讨论中以粗体突出显示评估中包含的其他研究的技术。全面的数据集细节看附录A。

Implementation details. 为了与Shao等人[32]详细介绍的SeqFakeFormer方法进行公平比较,针对顺序面部操作检测的挑战,我们配置了我们的方法,利用ResNet-34和ResNet-50架构[15]作为卷积神经网络(CNN)的主干进行特征提取。在解决传统的深度伪造分类任务时,首先通过RetinaFace[9]从源视频中提取面部帧,然后将其调整为384×384像素的统一分辨率。这项任务的训练方案平行于顺序面部操作,与Swin Transformer作为可选的骨干;然而,我们调整了超参数L = 1 ,λ2 = 0,强调我们的方法在不同任务中的适应性。需要注意的关键一点是,计算尺度n--表示(5)中S的上三角形的大小,其数量级为O(N 4),其中N表示特征映射的维度。因此,如(9)和(10)所示,在1到n范围内确定k的蛮力方法可能会显著阻碍训练效率。为了避免这种计算瓶颈,我们采用了一种策略,在100个不同的点上统一采样1到n之间的k值,而不是穷举枚举。有关训练过程的更多细节,请参阅附录B。

4.1. Sequential deepfake manipulation.

为了解决顺序面部操作的挑战,我们的重点是针对SeqFakeFormer[32]所提出的方法进行基准测试。SeqFakeFormer将cnn和transformers与自回归机制集成在一起,以处理问题的顺序方面。与此不同的是,目前的方法采用了一个排序机制来管理多标签场景,简化了训练和推理过程。为了评估这种新方法的有效性,在Seq-FaceComp和Seq-FaceAttr数据集上采用了[32]中的固定精度(Fixed-Acc)指标。Fixed-Acc定量地度量预测和注释的序列一致性,将它们的顺序级依赖关系考虑在内。该方法的性能与几种已建立的方法进行了对比,包括简单的多分类器(MultiCls)、DRN[37]、DETR[3]、MA[37]、Two-Stream[26]、SeqFakeFormer[32]和MMNet[38]。对比结果总结于表1。该方法已被证明不仅实用,而且在解决顺序深度伪造检测的细微复杂性方面也很优越,优于参考方法。

4.2. Binary deepfake classification.

在深度伪造二分类领域,通过内部测试和交叉测试两种场景对所提方法的性能进行了评估。当代深度伪造检测的研究大致可以分为两大类。最初的类别集中在分类任务上[3,24,40],专门使用真伪注释进行训练。后一类对训练过程没有限制[13,20,34,41]。该小组的研究人员经常整合对抗性学习技术来生成更复杂的假样本,从而增强分类器的鲁棒性。本研究综合了上述两个类别的优势,利用了一种新的数据增强策略,并结合了端到端训练框架。我们还将该方法的性能与几个已建立的工作进行了比较分析:Multi-Att[40]、SPSL[24]、RECCE[2]、Face X-Ray[20]、LRL[5]和sbi[34]。这些比较是在传统的二分深度伪造检测范围内绘制的,并且跨越两个不同的场景。

Intra-testing. 实验需要在相同的数据集上对模型进行训练和评估。如表2“内部测试”一栏所示,大多数这些方法有效地解决了深度伪造分类问题,即使是像Xception[7]和EfficientNet-B4[35]这样的基本模型也展示了令人印象深刻的准确性。这里讨论的方法显示出最高的精度,尽管改进的余地很小。与引言中提出的观点相呼应的是,内部测试性能似乎正在接近平稳期。因此,深度伪造检测的主要障碍现在在于泛化到交叉测试场景。

Cross-testing. 遵循标准协议,在facefrensics ++ (FF++)[30]数据集上专门训练每个模型,然后在Celeb-DF (CDF)[22]、WildDeepfake (WDF)[44]、DeepFakeDetection (DFD)[30]和DeepFakeDetection Challenge (DFDC)[12]测试集上评估它们的性能。相应的结果在表2的“交叉测试”一栏中给出。为了确保公平的比较,SBIs方法是使用Swin Transformer作为backbone来实现的,表2中表示为SBIs‡。我们的方法产生了显著的性能提升,特别是在DFDC数据集上,这可以归因于实现的增强策略和分类损失LCLS。这种增强表明,利用补丁tokens之间的细粒度信息有利于深度伪造检测。

4.3. Ablation study and analysis

Effect of each loss. 与表1中描述的Multi-Cls模型相反,表3中使用LUBCE的ResNet-50模型专门生成多标签预测。然后,在评估之前,这些预测根据各自的概率对每个类别进行排名。在没有LRank的情况下,虽然ResNet-50的多标签性能值得注意,但由于预测顺序错误,Fixed-Acc指标明显下降。因此,LRank在将多标签预测细化为有序序列预测方面起着至关重要的作用。此外,引入对比多实例学习(MIL)损失,LCLS,显著提高了模型性能。

Correlation analysis. 如第3节所述,假设对于Y中包含的任意两个面部成分i和j,如果ri < rj(表明面部成分i在面部成分j被操纵之前被修改),则应该训练网络来预测Pi(x) > Pj(x)的标签。

为了验证预测与成分变化顺序之间的关联,计算了决定系数R2。表4的结果显示预测与实际顺序之间的相关性增强。这一结果验证了所提出的方法在解决多标签分类任务中的排序问题上的有效性,特别是通过使用LRank。

Qualitative results. 在SeqFaceComp数据集上继续使用Grad-CAM[31]来呈现定性结果,如图3所示。热力图是通过反向传播“眉毛”和“眼睛-鼻子”类别的逻辑生成的。由于对比和排序机制的集成,图3(b)展示了一个与基线相比更加集中和精确的热力图。为了进一步显示对比MIL损失的影响,我们为每个区域提供了(4)中定义的LCLS均值自相似值。正如预期的那样,相对于其对应物,显示较低相似性得分的补丁表明被操纵的区域。此外,为了便于对基线(Multi-Cls)、SeqFakeFormer[32]和我们的方法生成的热力图进行可视化评估,还在图4中进行了定性比较。这个比较说明了我们的对比MIL融合公式提高了定位精度。

Effectiveness of LCLS. 对比MIL损失(LCLS)的评估是本研究的一个重要方面。为了直观地说明,图5的直方图表示了FF++测试集上的平均分布1 |D| P D u。在图5(a)中,分类器展示了基于分布的细微变化来区分真实和伪造的面部图像的能力——这对人类观察者来说通常是一项具有挑战性的任务。LCLS的集成使真正的实例和被操纵的实例之间的分布界限更加明确和简化。从另一个角度检查图5(b)可以发现,伪造的面部图像通常是由两个真实的面部图像组合而成的。最常见的区域变化是面部边界或合成部位,面部中心区域和四肢通常保持其真实性。因此,这些改变区域的范围相对于整个图像来说很小。这一观察结果与MIL原理相一致,即伪造的图像将在最小数量的关键点上呈现伪造,其中k≪n - 意味着这些关键点的数量明显少于图像中点或区域的总数。

5. Conclusion

这项工作旨在开发一个统一的框架,全面解决顺序深度伪造操作和二元深度伪造分类。为此,我们建议将一般的deepfake问题分解为三个部分:deepfake分类、deepfake定位和操作顺序。该方法引入了新的对比MIL学习,并探索了多标签排序,以优雅地解决这三个子任务。大量的实验结果证明了该方法在处理各种深度伪造应用场景时的有效性和灵活性。所提供的分析也合理地支持了我们方法的有效性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值