一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于面部划分的人脸深度伪造检测方法及系统与流程

2021-10-24 06:50:00 来源:中国专利 TAG:视觉 机器 计算机 学习 伪造


1.本方法属于机器学习和计算机视觉领域,特别涉及面向计算机视觉中深度伪造检测的机器学习问题。


背景技术:

2.近年来,深度学习技术不断发展,并且在计算机视觉领域取得了广泛的应用。一方面,深度学习技术引领了新一轮的人工智能浪潮,但另一方面深度学习引发的一系列安全问题也引起了越来越多的关注。目前基于深度学习的图像、视频识别技术广泛地被应用于人们生活中的方方面面,例如网络内容智能监管、自动视频监控分析、基于人脸识别地门禁系统、刷脸支付等。在这些关键应用领域,信息和数据的可靠性与安全性应当受到重视并得到保障。2017年以来,一些基于深度伪造(又称deepfake)技术生成的虚假图像和视频在互联网上引起了广泛的关注,尤其是当深度伪造用于影响力巨大的人物身上时往往会借助该人的影响力而产生更大的影响。如某论坛上存在着在未经允许的情况下,将色情视频角色的脸部修改为明星的面部的视频,造成了严重的负面影响,此外,大量“一键式”换脸的软件,使得伪造视频的获取越来越简单。虚假图像和视频已经成为目前最显著的信息数据安全隐患之一,其检测和监管面临着巨大的挑战。
3.ai合成的假脸存在巨大的威胁,能够以接近真实的面部表情和身体动作来创建目标人做某事或说某事的假象的视频,颠覆了人们对“眼见为实”观念的认知。业界迫切需要一种有效的技术来检测网络环境中的虚假人脸图像或视频,但其难度巨大,主要因为人脸伪造图像的伪造区域微弱且局部存在。进行检测时极易受到图像噪声的影响。另外伪造区域往往不可预知,每种伪造方法针对的区域不同,如何正确的检测到伪造区域并进行分类有很大的难度
4.深度伪造检测的图像大致可以分为:基于图像伪造缺陷、改进网络结构、多特征融合、借助其他任务的方法。
5.基于图像伪造缺陷的方法该方法是主流方法,试图挖掘人脸在伪造过程中,因缩放、旋转、扭曲等操作导致的不一致现象来进行检测。例如基于cnn的检测方法,通过检测面部区域和面部周围区域,以检测因篡改导致图像面部分辨率较低的现象。或通过设计面部轮廓蒙版,引导模型去关注容易出现伪造区域的面部轮廓区域,该方法取得了较好的泛化效果。
6.改进网络结构的方法该类方法致力于通过改造或改进分类网络,提高模型对真假分类的效果。例如基于介观和隐写分析特征的方法,提出了两个不同的网络来关注图像的介观特性,分别是meso

4网络和引入了inception模块的meso

4网络的变体。以及基于胶囊网络(capsulenetworks)的伪造检测系统,该方法与传统cnn相比参数更少。在使用构建了7基于空间和时序特征的深度伪造检测方法研究faceforensics 数据集的同时评估了五种不同的检测方法:1)使用隐写特征的卷积神经网络,2)卷积层经过专门设计以抑制图像的高层语义信息的卷积神经网络,3)一个具有特殊全局池层的卷积神经网络网络,该池化层
计算特征图四个维度的统计信息:均值、方差、最大值和最小值,4)mesoinception

4网络,5)预训练的xceptionnet网络,以数据驱动的方式训练最后xceptionnet网络faceforensics 数据集上取得了最好的结果。
7.多特征融合的方法,该类方法尝试从图像中获取更多可用于鉴伪的特征。例如用频域特征进行伪造检测,发现伪造图像在频域中伪造的痕迹,随后基于经典频域分析,使用svm等分类器进行分类,在少量带标签的训练样本中得到了较好的检测效果。针对伪造人脸图像的压缩问题,发现通过挖掘频域信号中的伪造模式可以应对压缩问题,提出的人脸伪造网络f3

net通过两阶段协作学习框架深入挖掘伪造模式。最后在有压缩的faceforensics 数据集上显著优于其他方法。以及换脸之后的人脸和该人脸的上下文环境有区别,随后构建了一个两分支的网络,一个是脸部语义分割为输入的分类网络,另一个是以脸部上下文(例如,头发,耳朵,脖子)为输入的分类网络。该方法利用了两个分支网络的特征来进行伪造检测。
8.借助其他任务的方法该类方法尝试借助其他任务来提高检测效果或直接用来进行伪造检测。例如使用多任务学习的方式,在对视频进行真假分类的同时像素级别的定位伪造区域。使用了y形解码器,和三个损失函数对网络进行约束,以期望多个任务之间能够共享有价值的特征。将伪造检测问题定义为像素级别的图像分割任务采用全卷积网络来进行特征提取,并对分割结果进行二值化,用以标记图像中的伪造区域。
9.基于帧内篡改痕迹的检测方法的优点是训练和检测速度往往很快,在单帧图像伪造痕迹明显时特别有效。但缺点是单帧的做法中,少有能自适应的关注到局部伪造区域,发现可疑区域的的做法。
10.目前在深度伪造检测领域,对面部进行分割的方法也有提出,但是现有方法存在以下问题:(1)这些方法在模型早期便进行面部的划分,即输入模型的图像是经过分割的,模型只能看到人脸图像中的一小部分,对于全局信息和局部信息没有共享一些特征。这对于局部信息而言,局部之间的位置关系已经遭到破坏。(2)现有模型在获取区域特征之后,只使用这部分特征进行分类,没有一个很好的方式去建模区域之间的关系。


技术实现要素:

11.为了解决上述两个问题,我们提出了一个基于面部划分的人脸伪造检测网络,具体来说,本发明提出一种基于面部划分的人脸深度伪造检测方法,其中包括:
12.步骤1、获取具有标签的该人脸图像作为训练数据,该标签代表人脸图像是否属于人脸深度伪造图像,该训练数据经包含多个卷积层的全局人脸特征提取模型处理后,得到该人脸图像的全局特征;
13.步骤2、获取该全局人脸特征提取模型在处理该训练数据过程中产生的浅层卷积特征,并将该浅层卷积特征根据预设的面部划分方式,划分为多个图像区域,分别将该图像区域输入至局部人脸特征提取模型,得到该人脸图像的多个局部特征;
14.步骤3、通过注意力模型提取该多个局部特征间的关系特征,并将该关系特征与该全局特征拼接后输入至二分类模型,得到该训练数据的检测结果,根据该结果和该标签构建损失函数,以训练该全局人脸特征提取模型、局部人脸特征提取模型、注意力模型和该二分类模型,当损失函数收敛时,保存当前所有模型的参数和连接关系作为人脸深度伪造检
测模型;
15.步骤4、通过该人脸深度伪造检测模型,判定待检测人脸图像是否属于人脸深度伪造图像。
16.所述的基于面部划分的人脸深度伪造检测方法,其中步骤2中该面部划分方式包括水平划分、垂直划分或网格划分。
17.所述的基于面部划分的人脸深度伪造检测方法,其中步骤3中该注意力模型为多头注意力模型。
18.所述的基于面部划分的人脸深度伪造检测方法,其中该注意力模型提取该多个局部特征间的关系特征,具体包括包括:
19.将输入的每一个局部特征分别乘以不同的权重矩阵,得到q、k、v三个向量,集合每个q向量和其余的每个k向量进行注意力权重的计算结果,得到自相关矩阵,通过自相关矩阵和每一个局部特征的v向量相乘,得到每一个局部特征的区域特征向量,通过集合每一个局部特征的特征向量,得到该关系特征。
20.本发明一种基于面部划分的人脸深度伪造检测系统,其中包括:
21.模块1,用于获取具有标签的人脸图像作为训练数据,该标签代表人脸图像是否属于人脸深度伪造图像,该训练数据经包含多个卷积层的全局人脸特征提取模型处理后,得到该人脸图像的全局特征;
22.模块2,用于获取该全局人脸特征提取模型在处理该训练数据过程中产生的浅层卷积特征,并将该浅层卷积特征根据预设的面部划分方式,划分为多个图像区域,分别将该图像区域输入至局部人脸特征提取模型,得到该人脸图像的多个局部特征;
23.模块3,用于通过注意力模型提取该多个局部特征间的关系特征,并将该关系特征与该全局特征拼接后输入至二分类模型,得到该训练数据的检测结果,根据该结果和该标签构建损失函数,以训练该全局人脸特征提取模型、局部人脸特征提取模型、注意力模型和该二分类模型,当损失函数收敛时,保存当前所有模型的参数和连接关系作为人脸深度伪造检测模型;
24.模块4,用于通过该人脸深度伪造检测模型,判定待检测人脸图像是否属于人脸深度伪造图像。
25.所述的基于面部划分的人脸深度伪造检测系统,其中模块2中该面部划分方式包括水平划分、垂直划分或网格划分。
26.所述的基于面部划分的人脸深度伪造检测系统,其中模块3中该注意力模型为多头注意力模型。
27.所述的基于面部划分的人脸深度伪造检测系统,其中提取该多个局部特征间的关系特征,具体包括包括:
28.将输入的每一个局部特征分别乘以不同的权重矩阵,得到q、k、v三个向量,集合每个q向量和其余的每个k向量进行注意力权重的计算结果,得到自相关矩阵,通过自相关矩阵和每一个局部特征的v向量相乘,得到每一个局部特征的区域特征向量,通过集合每一个局部特征的特征向量,得到该关系特征。
29.由以上方案可知,本发明的优点在于:
30.通过面部划分的方式在泛化性上均取得了更好结果,且面部网格划分的方式相比
其它面部划分的方式泛化性结果更稳定。
附图说明
31.图1为基于面部划分的人脸伪造检测框架图;
32.图2为多种面部划分方式示意图;
33.图3为多头注意力基本结构图;
34.图4为不同人脸划分方式注意力权重分析图。
具体实施方式
35.为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
36.如图1所示,以学习伪造人脸图像中,区域与区域之间的关系,区域与全局的关系,以便更好的发现伪造图像中的可疑区域。下面对网络的各个模块进行说明。
37.(1)全局人脸信息建模模块
38.进行人脸全局特征的学习,该部分由resnet18网络组成,当可疑人脸输入该模型时,resnet18网络进行人脸全局特征的提取得到全局人脸特征向量。
39.(2)局部区域内容建模
40.对于人脸图像,本文将其视为一个正方形图像,采取在浅层卷积特征上进行划分的方式,包括:水平划分、垂直划分、网格划分。水平划分是指将特征图沿水平方向切分成n块区域,如图2中的(a)和(d),垂直划分是指将特征图沿垂直方向切分成n块区域,如图2中的(b)和(e)。
41.另外本文根据人脸的结构信息,增加了一种3
×
3网格的划分方式,如图2中的(c)和(f)所示,使用网格划分的好处是可以将人脸区域和五官对应起来。如图2中的(c)所示,进行网格人脸划分之后,几个区域具有明显的对应关系,如1到3分别对应了人脸的额头左侧,额头中心,额头右侧;4

6分别对应了左眼、鼻子、右眼;7

9对应了人脸的嘴巴左侧、嘴巴、嘴巴右侧。3
×
3网格的划分方式相比其余的人脸划分方式,可用于提高模型的可解释性。
42.(3)区域间关系建模模块
43.区域间关系建模模块的主要功能为对多个区域进行区域关系的建模,自注意力机制中,通常将输入的向量转化为q(query)、k(key)和v(value)三个向量,然后进行自相关矩阵的计算。对于每个q而言需要和其余的每个k进行注意力权重的计算,输出是该权重和其它v的加权求和。q、k、v的计算方式如式1所示,自相关矩阵的计算方式如式2所示。
[0044][0045][0046]
自注意力机制通过自相关矩阵的学习,建模了特征之间的依赖关系,在计算机视觉任务中,自注意力机制可以建模区域之间的关系,使得区域之间存在交互,可以提升许多
任务的学习效果。
[0047]
多头注意力机制是一种有效的注意力计算方法,其核心思想为在多个维度进行注意力机制的计算。在其余的计算方式上基本保持不变,多头注意力机制的常见基本结构如图3所示。
[0048]
大多数的注意力机制计算方式都可以改为多头注意力计算方式。对每个向量而言,在计算每个向量的q、k、v时,需要通过多个权重矩阵计算多个q、k、v特征头,每个头之后的注意力权重计算是并行的互不干扰的,在计算出加权的特征之后,通过向量拼接的方式将多头的特征拼接起来如式3所示,可以获得一个整体表达。通过多头注意力机制的使用,可以让模型尽可能多的从多个维度去关注不同层次的信息,从而提高注意力机制的性能。
[0049][0050]
在具体实施例中,模型采用了在imagenet数据集上预训练的resnet18作为本发明的骨架网络。输入图像的大小被缩放到299
×
299。为了更方便的对比,实验未采用数据增强。整个网络的训练使用了sgd优化器,总共训练10轮次,初始学习率被设置为0.01,并且每2轮下降为原来的0.1。损失函数使用交叉熵。在注意力机制中使用的多头注意力的特征头的个数为8,特征向量维度为512。在测试阶段,测试阶段图像被缩放到299
×
299。该模型被实现在pytorch框架中,使用一块teslav100 gpu。
[0051]
实验结果
[0052]
为了验证本发明方法的有效性,我们选择在在dfd数据集和celebdf数据集上的单帧级别的检测结果
[0053]
deepfake detection(dfd)数据集由google在2019年主持构建,与付费且同意合作的演员合作录制了363个视频,并依此创建3068个deepfake视频。该数据集目前托管在faceforensics 中,从其主页可以下载。
[0054]
celeb

df数据集,提供了与互联网上流行的视频类似视觉质量的假视频。这些视频是通过公开的deepfake生成算法的改进版本生成的,从而改善了面部的低分辨率低和颜色不一致等现象。该数据集包含了408个真视频和795个合成的假视频。
[0055]
在数据集中对比时,主要采用auc指标进行模型效果的对比,使用敏感度、特异度和acc指标在0.5阈值时的表现进行辅助分析。本实验首先进行模型精度测试、泛化性测试最后进行可视化展示。
[0056]
精度测试
[0057]
表1不同人脸划分方式精度结果对比:
[0058][0059]
在dfd数据集的结果中,采用网格面部划分的方法达到了最好的auc指标为95.13%,这比基准方法高出了8.03%,不同面部划分方法的结果差异不超过2.59%这说明不同面部划分均表现出有效性,且面部划分之间的差异不大;在敏感度方面,水平划分方式最好,网格划分方式最差,但三种划分这些数值方式对敏感度的最大差异不超过4.64%;对比特异度指标,网格划分的方式取得了比所有划分方式都好的结果,比仅次于它的垂直划分的方式高出23.16%,这说明面部网格划分的方式对真实人脸类别有较高召回率;acc指标反应了在0.5阈值下,模型在测试集中检测正确的视频的数量,对比该指标,几种面部划分方式差异不大,但均比基线模型高。
[0060]
在celeb

df数据集的结果中,采用面部水平和垂直的划分方法达到了最好的auc指标为99.52%这比基准方法高出了5.68%,这些面部划分方式之间的差异不超过0.14%,这说明几种划分方式在该数据集中的差异不大;在敏感度方面,垂直划分最好,基线模型最差,但数值之间最大差异不超过2.01%敏感度差异不大;在特异度方面,网格划分方式最好,比基线模型高20.71%,三种划分方式之间差异不大,但均表现出比基线模型高的效果;在acc指标方面,网格划分方式取得了最好的结果,比基线模型高8.31%几种划分方式之间差异不大,但均比基线模型高。
[0061]
从模型精度的实验结果中可以得出以下观察:1)celeb

df和dfd对模型的难易程度有所不同,celeb

df数据集较dfd数据集容易一些;2)面部划分的方式取得了比基线模型显著高的检测结果,这说明了面部划分方式的有效性。
[0062]
泛化性测试
[0063]
模型泛化性测试,三种划分方式和基线模型的泛化性结果测试如3.5所示,泛化性测试采取了两种测试方法:第一种是在dfd数据集上训练在celeb

df数据集上测试,第二种是在celeb

df上训练在dfd上测试。
[0064]
表2不同人脸划分方式泛化性结果对比
[0065][0066]
在dfd数据集训练celeb

df数据集测试的结果中,垂直划分的方式取得了最好的auc结果,比基线模型高17.0%,三种面部划分方式中,垂直划分方式最好,其次是网格划分方式,最后是水平划分方式;在敏感度方面,水平划分方式最好,其次是网格划分方式,但考虑到水平划分方式在特异度方面较低,说明模型倾向于预测伪造样本;在特异度方面,垂直划分方式取得了较高的结果,比基线模型高11.79%;在acc指标方面,三种面部划分方式均取得了比基线模型高的结果,网格划分方式比基线模型高13.57%。
[0067]
在celeb

df数据集训练dfd数据集测试的结果中,网格划分的方式取得了最好的auc结果,比基线模型高17.33%,三种面部划分方式差异不大;在敏感度方面,水平划分方式最好,其次是网格划分方式,但敏感度整体数值较低,说明模型对伪造样本的敏感度不够;在特异度方面垂直划分方式取得了较高的结果,比基线模型高0.93%;在acc指标方面,三种面部划分方式均取得了比基线模型高的结果,但整体数值偏度,这说明0.5阈值下模型的检测效果整体偏低。
[0068]
从实验结果中可以得出以下观察:1)面部划分方式比基线模型在泛化性上均取得了较好的结果。2)网格划分的方式相比其它面部划分的方式泛化性结果更稳定。
[0069]
可视化分析
[0070]
对于可视化结果为了更加直观的感受到面部划分网络学习到的内容,本节进行可视化分析,将区域之间学习到的权重进行可视化展示,本节使用了上述实验中在dfd数据集上训练得到的模型权重,采用faceforensics 数据集进行可视化分析。
[0071]
图4展示了模型的检测结果,共5行,每行为一组测试样本和它的检测结果,每列从左到右分别表示:伪造样本、真实样本、真实样本和伪造样本之间的差异、基线网络使用cam得到的热度图、网格划分的检测结果、水平划分的检测结果、垂直划分的检测结果。三种划分方式的检测结果是伪造图像和matplotlib绘制的权重图进行叠加得到的。这5行数据均来自faceforensics 数据集中的face2face伪造算法,该算法主要伪造区域在嘴部,可以通过模型对嘴部区域的关注程度来反应模型的学习效果,如第三列所示,人脸的差异图中主要是嘴部区域进行了伪造。在右侧四列的检测结果中,每个检测结果图有一个框,红框代表检测结果和真实标签不符,模型检测错误,绿框代表检测结果正确。
[0072]
观察1

3行可以发现,基线模型虽然对伪造样本预测正确,但从热度图可以看出模型不是依据嘴部区域预测正确的。对于网格划分的结果可以看到,模型基本成功关注到了
嘴部,并给予了较高的权重,其它划分方式由于没有把嘴部单独作为一个区域,虽然分类正确且与嘴部相关的区域权重较高,但可解释性不高。观察4

5行可以发现,基线模型没有关注到正确的伪造区域,给出了错误的预测结果,网格划分模型和水平划分模型均给出了正确的检测结果,并关注到了正确的区域。在5个结果中,垂直划分的方式检测结果较差,可能是因为垂直的条状的区域不太适合嘴部伪造的情况。
[0073]
从可视化结果中可以得出以下观察:1)基线模型的结果和激活的伪造区域容易发生不对应现象,2)面部划分方式比基线模型获得了更好的可视化效果,结合了人脸器官分布的网格划分方式,可视化效果好,更加具有可解释性。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜