基于增量学习的深度人脸伪造检测

本文提出了一种基于增量学习的人脸伪造检测方法,旨在解决深度伪造技术发展导致的检测方法泛化能力不足和资源消耗大的问题。通过引入动态可扩展的增量学习框架,模型在吸收新知识的同时保留对旧知识的记忆,提高检测网络在新旧伪造类型上的性能。实验表明,该方法在减少存储和计算资源的同时,能有效应对新出现的伪造样本,与现有方法相比具有更好的适应性和资源效率。
摘要由CSDN通过智能技术生成

目录

引言

图1

1 本文方法

1.1 方法总览

1.2 特征提取阶段

图2

1.3 分类器学习阶段

1.3.1 二分类学习

图3

1.3.2 多分类学习

1.3.3 多分支学习

2 实验设置

2.1 数据集

2.2 评价指标

2.2.1 ACC

2.2.2 AUC

2.2.3 F1-Score

2.3 超参数设置

3 实验结果与分析

3.1 超参数λc、λd

3.2 分类学习系统

3.3 有效性

3.4 资源占用

图4

图5

3.5 适应性

4 总结


摘要

【目的】 随着计算机视觉、计算机图形学以及深度学习技术的发展,深度人脸伪造(DeepFake)技术取得了以假乱真的效果,若被非法利用,将给个人、社会和国家带来严重的安全隐患。已有的人脸伪造检测方法大多通过一次训练来推断或预测伪造人脸存在的某种特定“指纹”进行真伪检测,当面对新的伪造类型时,这些方法使用全部数据重新训练网络以保持其检测能力,否则检测效果将急剧下降。然而,重新训练网络需要相对大的代价,并且阻碍了模型实时学习新知识的能力。鉴于此,本文提出一种检测伪造人脸的增量学习方法。【方法】 引入动态可扩展的增量学习框架,以保证模型在吸收新知识的同时能保留对旧知识的记忆;使用多分类指导二分类的方式来提高模型的分类能力,最终实现对人脸图像的精确分类。【结果】 在两个公开数据集上进行实验。在实验定义的FF++扩充集和ForgeryNet扩充集上,本文方法能同时保持在新旧任务上的人脸伪造检测性能;在实验定义的ForgeryNet扩充集上,现有的人脸伪造检测方法达到了近98.33%的平均ACC(accuracy),本文方法达到了96.16%的平均ACC,但前者使用了超出后者接近3倍的存储和计算资源;将实验定义的ForgeryNet扩充集的后5个任务视为新任务,每个任务下每个类别仅包含100张训练数据,现有方法在该5个任务上达到了近88.72%的平均ACC,本文方法达到了93.83%的平均ACC。【局限】 为了保持正负样本的平衡,训练时需要成对的训练样本,这引入了不必要的训练数据,增加了训练负担。【结论】 本文提出的人脸伪造检测方法通过增量学习的方式提高了模型对检测不断出现的伪造样本的有效性。实验结果表明,本文方法能以较低的计算代价,达到与现有方法相当的检测能力;在训练数据匮乏的情况下,达到比现有方法更优的伪造检测能力。

关键词: 深度人脸伪造检测; 深度伪造; 增量学习; 连续学习; 灾难性遗忘

引言

深度伪造起源于人脸合成技术,2015-2016年,美国程序员圈子开始利用此技术制作换头视频用于娱乐消遣。2017年年底,Reddit网站用户“Deepfakes”在网上发布了一段经过AI技术篡改的某女星的不雅视频,这一事件正式标志着人脸视频深度伪造技术的兴起[1]。此后,随着DeepFake技术的不断发展,基于其技术的软件已经开始普及,如国外Facebook公司出品的Face Swap Live软件、国内陌陌公司出品的Zao软件等,其能自动快捷地合成人脸图像和视频,降低了伪造技术的门槛,使得个人可以轻易地篡改已有图像和视频中的内容,尤其是人脸,DeepFake技术也逐渐从娱乐领域渗透到媒体、体育、政治等各领域。如2016年,美国大选期间,特朗普支持者制作佩洛西的伪造视频扰乱选举秩序;2018 年,美国出现了前任总统辱骂时任总统的伪造视频;2022年,俄乌冲突期间,互联网上出现了与两国总统发言不实的伪造视频[2]。鉴于人脸伪造技术带来的负面影响,先后涌现出大量的人脸伪造检测方法[3]

伴随着深度学习的发展,伪造检测技术从传统的机器学习分类模式逐渐演变为利用各种关键特征的微小差异来进行真伪检测。现有的伪造检测技术主要包括但不限于以下4类:

1)基于深度神经网络特征提取的方法。此类方法将真实样本和合成样本直接送入神经网络中进行有监督训练,期望网络学习到正负样本不同的内在分布,并通过一个二分类器输出预测结果。这类方法往往依赖于网络本身,特征提取能力强的网络通常有更好地分类结果,目前最流行的基础网络如ResNet[4]CapsuleNet[5]XceptionNet[6]以及 EfficientNet[7]等已经被用于人脸伪造检测任务。这些方法在域内测试了良好的检测结果,但在域间测试检测性能大幅下降,表现为泛化性能的不足。因此,很多工作致力于提高网络的泛化性能,共同思路都是希望通过找到或者强化合成数据存在的伪造痕迹来进行判别。Yu[8]提出通过挖掘通道差分图像和频谱图像中的内在特征来改进网络的泛化能力;Liu [9]提出利用全局图像纹理信息来进行伪造检测的网络结构Gram-Net,并改善了泛化能力;杨少聪等[10]提出用多级特征全局一致性的方法提高了网络的泛化能力。这些工作推进了伪造检测技术的发展,但还不能较好地解决泛化能力不足的问题。

2)基于图像上下文空间的检测方法。此类方法认为合成图像只是对图像中面部区域进行了篡改,而图像中其他部分(比如背景、躯干)并没有更改,理论上真实图像和合成图像内部存在着必然的不同,真实图像内部是连续的,而合成图像内部则是拼接而成,由此可进行真伪检测。Li [11]发现合成的人脸图像拥有一种融合边界,而真实图像没有这样的边界,提出了一种检测边界融合痕迹的Face-X-Ray方法;Dang [12]提出利用注意力机制来定位人脸图像中的伪造区域,并用其改进最后的分类任务;蒋小玉等[13]提出了将篡改区域定位、篡改边缘提取和真伪判别分类融为一体的三分支多任务学习框架,并加粗篡改边缘辅助最后的分类。基于图像上下文空间的检测方法对于只存在局部篡改的图像有较好检测性能,并且通常比直接用神经网络进行特征提取的方法具有更优的泛化性能,但是对于整体合成的图像,这类方法检测效果欠佳。

3)基于视频时序信息的检测方法。视频的本质是帧的快速切换,现有的人脸伪造视频大多是对每一帧分别进行伪造和处理,再压缩编码制成最后的视频,因此相邻帧间通常会产生时空差异。Güera [14]提出了一种时间感知管道,该管道首先利用CNNConvolutional Neural Network)提取帧级特征,随后将特征送入RNNRecurrent Neural Network)中进行训练,最后用训练好的RNN进行判别;Amerini[15]提出视觉流动向量场的概念,将帧间预测误差与长短期记忆(Long Short Term MemoryLSTM)网络结合起来,基于VGG-16得到了不错的检测结果;Masi [16]提出结合频率域特征和RGB图像(RGB三通道)特征的双分支网络,利用组卷积整合各分支特征并输入到LSTM进行检测;Fei [17]发现真实和合成视频中人脸运动的振幅有较大差异,利用 InceptionV3提取特征,结合 LSTM 提取时序信息,取得了不错的检测效果。基于视频时序信息的检测方法,推进了人脸伪造检测技术的实用化,共同思路都是利用相邻帧间人物运动不一致、色彩与纹理不正常抖动等信息进行伪造检测。

4)基于生理信号的检测方法。此类方法认为真实的人具有丰富的生理特征,比如心率、脉搏和眨眼等,而计算机合成的人往往不具备这些特征或者生理特征前后不一致。Li [18]针对人眼眨眼具有很强的时间依赖性,提出基于眨眼检测的方法鉴别伪造视频;Yang [19]提出了监测中心表情和头部姿势的方法;Matern [20]提取眼睛、牙齿以及脸部轮廓等位置的特征来检测视频真伪;Ciftci[21]提出监测脉搏信号的方法;Qi[22]提出利用心跳信号来检测视频中人物对象真实性的方法。基于生理信号的检测方法能够脱离视频载体(比如频率、像素等),利用人的持续生理信号进行真伪检测,在现有的方法中取得了具有竞争力的跨库测试准确率,但该方法对数据集的要求较高,且易受噪声和模糊影响,主要用于对重要人物的伪造视频检测。

由于DeepFake技术在不断进步,不同伪造类型的数据也越来越多。现有方法在处理新的伪造类型时主要存在以下不足:1)在已知伪造类型的数据上检测能力优异,但在未知伪造类型的数据上检测能力欠佳,表现为泛化性能的不足;2)如果要求模型在新数据(未知伪造类型)上有较好的检测能力,需要使用旧数据(已知伪造类型)和新数据重新训练模型,这通常需要消耗较大的存储和计算资源,并且相对来说阻碍了模型实时学习新数据的能力。针对现实场景中不断出现的未知伪造类型的数据,本文提出一种人脸伪造检测的增量学习方法,简言之,本文的检测网络在面对新数据时不用重新训练模型,而是在原模型的基础上以增量学习的方式学习新数据,最终模型能以较低的训练代价在新旧数据上达到良好的伪造检测能力。

增量学习又称为连续学习(continual learning)或终身学习(lifelong learning),主要有以下特点:1)随着模型的更新,需要在新旧数据上同时保持良好的识别能力;2)计算能力与内存占用随着类别数的增加固定或者缓慢增长,原始的训练数据不允许再被访问;3)模型可以持续不断地学习新数据中的新知识。增量学习有多种实现方式,其出发点都是为了避免灾难性遗忘,过去几年里很多方法被提出以解决灾难性遗忘问题,主要包括但不限于以下几类:1)基于回放的方法。Rebuffi [23]提出基于表征学习的增量分类器(iCaRL),其利用旧数据的代表性样本和所有的新数据一起训练,取得了不错的分类结果;Hu [24]提出了一个因果框架来解释类增量学习(class incremental learning)中的灾难性遗忘问题,并提出数据流中存在着增量动量效应,消除它有助于抵抗遗忘;2)基于正则化的方法。Li [25]提出无遗忘学习策略LwFLearning without Forgetting),即让旧模型先在部分新数据上预测,并将预测结果作为这部分数据的标签,然后将这部分数据视为旧数据与剩下的新数据一起投入训练,一定程度上缓解了灾难性遗忘问题;Kirkpatricka[26]提出一种可塑权重巩固(Elastic Weight ConsolidationEWC)的方法,即在损失函数中增加一个惩罚项来限制模型修改先前任务中的重要权重,以此来缓解遗忘问题;3)基于参数隔离的方法。Mallya [27]提出一种PackNet的方法,该方法在训练新数据时固定旧数据的参数,以此来抵抗灾难性遗忘;Zhang [28]提出一种特征表示和分类器的解耦学习策略,即训练新数据时只更新分类器,避免了特征表示中的知识遗忘;Yan [29]提出可动态扩展的增量学习方法DERDynamically Expandable Representation),即为新任务构建新的特征提取器,在训练时固定旧特征提取器的方法取得了具有竞争力的分类结果。Marra [30]提出将iCaRL[23]和真伪检测(真实图像/GANgenerative adversarial network)生成的图像)结合起来,取得了不错的检测结果,受此启发,本文在检测网络XceptionNet的基础上引入了增量学习,模型在遇到新的伪造数据时以增量学习的方式动态地更新其网络结构,并挑选出代表性样本存储在记忆中,最终在新旧数据上保持良好的检测能力,如图1所示,其中检测网络可以是人脸伪造检测领域任意流行的检测网络。Rössler[31]发现在人脸伪造检测领域XceptionNet相比于其他网络具有更优的检测能力,所以本文的检测网络选择了XceptionNet

1

1   基于增量学习的人脸伪造检测

Fig. 1   Face forgery detection based on incremental learning

本文主要有以下贡献:1)在已有的增量学习框架DER[29]上进行改进,使其适应人脸伪造检测任务;2)设计3种分类学习系统,加强分类器的判别能力;3)在实验定义的FF++扩充集(包含4种伪造人脸及相应的真实人脸)和ForgeryNet扩充集(包含15种伪造人脸及相应的真实人脸)上进行测试,结果显示本文方法提高了模型对检测不断出现的伪造样本的有效性,同时能以较低的计算代价达到与现有方法相当的检测能力。

1 本文方法

在传统场景中,所有类别的训练数据在一次训练中全部出现,而在增量学习场景中,新类别随着时间的推移不断出现,这正好与不断更新的伪造类型的应用场景相吻合,如图1所示。本文选择了一种成功的增量学习算法DER,该算法通过动态地扩展特征提取器来保持模型在新旧类别上的特征提取能力,同时为旧类别设置代表性样本以便于未来的训练,其中,代表性样本是避免忘记旧类的关键。算法的主要参数是存储容量M,它表示可存放的代表性样本的个数,反映的是现实场景中受限的存储容量。另外,人脸伪造检测是一个二分类场景,增量学习是一个多分类场景,为了更好的结合二者,本文设计了3种分类学习系统,以适应检测分类问题。

1.1 方法总览

本文将整个检测任务视为增量学习中的类增量学习任务。在类增量学习过程的时刻t-1,标签空间为Y˜t1=∪t1i=1Y˜t-1=i=1t-1Yi,模型可以对每一个旧任务Yi中的所有类别进行很好的预测,每一个任务Yi都有一种形式(xkixik,ykiyik),其中xkixik表示任务Yi中第k类的输入图像,ykiyik表示任务Yi中第k类的输入标签;在时刻t时,模型观察到新任务Yt,此时标签空间为Y˜tY˜t=Y˜t1Y˜t-1Yt,本文希望模型在Y˜tY˜t中对所有任务中的所有类别都有很好的预测。本文的方法主要分为以下两个阶段:

1)特征提取阶段。本文利用DER提出的可动态扩展的特征提取框架在新旧类别上提取特征,最后将这些特征连接起来作为分类器的输入。

2)分类器学习阶段。本文考虑了3种分类学习方式使增量学习适应伪造检测场景,分别为二分类学习、多分类学习以及多分支学习,并将三者之一用于最后的真假人脸分类中。

1.2 特征提取阶段

增量学习算法DER的整体框架如图2所示。在特征提取阶段,对于每个新任务i,模型为该任务新建一个特征提取器Fi,为了快速自适应,Fi的权重参数继承自Fi-1。在时刻t时,所有旧任务的特征提取器组成旧特征提取器Φt-1Φt-1和新特征提取器Ft组成超特征提取器Φt,其中Φt-1=∪t1i=1i=1t-1Fi,对于输入xΦt提取的特征υυ为:

υ=Φt(x)=[Φt1(x),Ft(x)]υ=Φt(x)=[Φt-1(x),Ft(x)]

1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罗伯特之技术屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值