deepfake入门
date
Oct 2, 2022
Last edited time
Oct 2, 2022 03:43 PM
status
Published
slug
deepfake入门
tags
DL
summary
DeepFake尝试入门
基本只读了Abstract 和 Introduce
type
Post
Field
Plat
参考综述Reference面部伪造的分类Face Manipulation PipelineEntire Face Synthesis常见数据集常见方法Identity Swap常用数据集基础检测方法CVPR2020-AAAI2021ACM MM2020-CVPR2021CVPR2021CVPR2022
参考综述
Reference
面部伪造的分类
- Entire Face Synthesis(全脸合成,类似于直接用GAN或者其他生成模型生成的人脸,没有明确的target)
- Attributes Manipulation(面部属性操作,包括更改人的发型,是否戴眼镜等等,个人认为有点像ps,没有target)
- Identity Swap(换脸,也就是deepfake,有target)
- Expression Manipulation(面部表情交换,就是将target的表情移植到被攻击者的面部,有target)
Face Manipulation Pipeline
在第一阶段,假人脸由复杂的深度网络生成或基于模型模板渲染。不同的操作方法总是采用不同的算法,从而产生不同的纹理图案。在第二阶段,生成的人脸被进一步细化并变形回原始图像。这个阶段通常包括一些后期处理操作,例如颜色校正和图像混合。
Entire Face Synthesis
常见数据集
常见方法
这些方法使用生成图像中的颜色特征、GAN生成器在图像上留下的 fingerprint 特征、VGG-Face网络的中间层激活值特征这些特征进行判断图像真假。使用的方法有SVM、XceptionNet、CNN+Attention等方式。
Identity Swap
常用数据集
基础检测方法
Two-Stream Neural Networks for Tampered Face Detection(Low Level + High Level)
第一部分提取脸部特征直接进去二分类。第一个stream是基于GoogleNet的人脸分类,通过真实的和篡改的图像训练作为一个二分类器。
第二部分提取基于patch level的隐藏特征。该结构期望网络捕捉到类似CFA模式或者局部噪声残差之类的low-level的相机特征(隐写术相关)。作者没有直接利用隐写分析特征,而是在提取隐写分析特征后训练一个triplet 网络,使模型能够refine隐写分析特征。
将这两种stream结合起来,既可以发现high-level的篡改伪迹的证据,又可以发现low-level的噪声残差特征,为人脸篡改检测提供了很好的性能。作者最后通过两个换脸App自己创建新的数据集来训练和测试。
MesoNet: a Compact Facial Video Forgery Detection Network
事实上,基于图像噪声的微观分析不能应用于图像噪声被强降噪的压缩视频环境中。同样,在更高的语义水平上,特别是当图像描绘的是人脸时,人眼很难分辨出伪造的图像。因此作者建议采用一种中间方法,使用具有少量层的深层神经网络。
实验:作者在自己创建的deepfake数据集和FaceForensics的Face2Face数据集上实验,为了提高泛化和鲁棒性,输入patches进行了几个轻微的随机转换,包括缩放、旋转、水平翻转、亮度和色调变化。
FakeSpotter: A Simple yet Robust Baseline for Spotting AI-Synthesized Fake Faces
使用神经网络中间层的激活作为判断依据(使用vgg-face等网络的中间层作为特征进行svm分类)
Exposing Deep Fakes Using Inconsistent Head Poses (面部朝向估计)
该方法是基于这样的观察:将合成的面部区域拼接到原始图像中来创建deepfakes会在从2D面部图像估计三维头部姿态(比如头的方向和位置)时引入误差。作者进行实验来证明了这一现象并且将这种特征用SVM分类器进行分类。
具体来说,作者比较用所有面部(whole face)坐标点估计的头部姿态和只用中心区域(central face region)估计的头部姿态,发现在真实脸里面它们会很相近,但是对于假脸,因为中间的人脸区域是来自合成脸,这两者的误差就会比较大。
Exposing DeepFake Videos By Detecting Face Warping Artifacts (仿射变换带来的伪影)
该方法基于DeepFake视频的这样一个属性:
由于计算资源和制作时间的限制,DeepFake算法只能合成有限分辨率的人脸图像,并且必须对其进行仿射变换以匹配源人脸的配置。由于扭曲面区域和周围环境的分辨率不一致,这种扭曲在生成的Deepfales视频中留下了独特的伪影(artifacts),这些伪影可以被经典的深度神经网络模型(如VGG,ResNet等)有效捕获。
特点:获得负样本训练数据时,考虑到deepfakes算法耗时和耗资源,另一方面,由于本文的目的是检测Deepfakes pipeline中仿射脸翘曲步骤引入的伪影,作者通过直接模拟仿射面翘曲步骤来简化负样本生成过程。
经典的深度学习模型可以有效的检测到这些伪影的存在,这些伪影可以用来判断这些视频是否使用DeepFakes算法合成。
FaceForensics++: Learning to Detect Manipulated Facial Images
Xception架构是一个具有残差连接的深度可分离卷积层的线性堆叠(就是inception的改进)。
Exploiting Visual Artifacts to Expose Deepfakes and Face Manipulations (人为视觉特征)
基于现有的生成视频方法会产生特有的人为视觉特征(visual artifacts ),通过检测眼睛,牙齿,脸部轮廓发现可以简单地检测出这些特性。作者将这些人为视觉特征(visual artifacts )分为以下几类:
- 全局一致性(Global Consistency):包括左右眼虹膜颜色不一致。在现实中虹膜异色症相当稀少,但是这种现象在生成脸中出现的严重程度有很大方差。
- 光照估计(Illumination Estimation):在用Face2face的方法中,几何估计、光照估计和渲染是显式建模的,但用深度学习生成的人脸中,对入射光的错误或不精确的估计容易导致相关的伪影。这种伪影通常出现在鼻子周围的区域,比如一侧渲染得过黑。同样,人眼里面的镜面反射在深度学习生成的人脸中不是缺失就是出现简化的白斑。
- 几何估计(Geometry Estimation):对人脸不精确的几何估计导致明显的边界和高对比度的人工伪影出现在mask和人脸的边界上,此外,部分遮挡的面部部分,如头发建模不正确,会导致出现“空洞”。而且牙齿通常根本没有建模。这一点在很多视频中都很明显,在这些视频中,牙齿看起来是一个白色的小点,而不是单个的牙齿。
Deepfake Video Detection Using Recurrent Neural Networks (Video)
提出了一个end-to-end系统。给一段视频序列,前面的CNN网络是直接用ImageNet预训练的InceptionV3模型,只是把最后的全连接层去掉来生成每一帧的2048维特征向量,特征向量输入到LSTM网络中,紧跟着一个512维的全连接层,最后用softmax计算真伪概率。
作者从网站上收集了300个deepfakes视频,试验了不同帧长度的视频,从结果中可以看出,在不到2秒的视频(以每秒24帧的速度采样40帧的视频)的情况下,这个系统可以准确地预测所分析的片段是否来自一个深度伪造的视频,准确率高达97%。
缺点:需要真实和伪造图片作为训练数据,低效。
Protecting World Leaders Against Deep Fakes(Video)
给定一段视频片段,用OpenFace2开源工具追踪人脸和头部运动,面部肌肉的运动可以被编码成特定的运动单元(AU),OpenFace2提供了17个AU,作者去掉了眨眼的AU,因为眨眼影响不大,这些AU根据头部关于x,z轴旋转,嘴角的3D水平距离,上下嘴唇的3D垂直距离生成20个特征向量,然后用Pearson相关性系数测量这20个特征的两两向量相似度,因此可以产生 对特征,因此每个10s的视频片段被压缩为一个190维的特征向量,然后用SVM来分类区分视频的真假。
Recurrent Convolutional Strategies for Face Manipulation Detection in Videos(Video)
论文借鉴了行为识别领域有很多利用时间信息处理视频的方法,首先进行人脸crop和alignment,把ResNet或DenseNet作为backbone,后面接一个RNN网络进行end-to-end的训练。作者实验了ResNet/DenseNet+单向RNN/双向RNN的组合,在FaceForensics++ 数据集上测试发现双向RNN+DenseNet的结构达到state-of-the-art.
以上方法在全脸合成或DeepFake检测部分,使用的特征有: 1️⃣ 图像的噪声特征(图像颜色, GAN留下的指纹特征, 仿射变换留下的伪影) 2️⃣ 合成假数据算法缺陷导致的特征(面部朝向, 一些人为视觉特征不一致) 3️⃣ 视频中表情的模式特征分布 使用的这些在图像空域存在的底层特征, 在经过图片或者视频压缩之后, 特征难以得到保留. 如这些噪声, 指纹, 并且伪影在文章 FakePolisher: Making DeepFakes More Detection-Evasive by Shallow Reconstruction 中也得到了去除的方法. 总而言之, 这些特征不够稳定与可靠. 使用的方法有: 1️⃣ SVM 2️⃣CNN 3️⃣XceptionNet 4️⃣视频使用 CNN+LSTM, RNN
CVPR2020-AAAI2021
On the Detection of Digital Face Manipulation (修改区域Attention+监督)
由于人脸可以被篡改部分或者整体,所以作者认为被篡改的空间信息非常重要。以往的工作都忽略了这一点。所以其文章目标不仅是检测被操纵的人脸,而且还通过估计特定图像的注意力图来自动定位被操纵的区域。
该模块以特征图为输入,输出为伪造区域的attention map,最后与原有的feature map逐元素相乘即可得到输出的特征图. attention map 直接用逐像素MSE回归得到.
Face X-Ray for More General Face Forgery Detection (边界Loss+前背景分布不一致假设)
文章基于两个先验:
- 几乎所有的人脸伪造技术都符合下图这个流程(Figure 3),伪造的人脸由一个作为背景的人脸图片和一个作为前景的伪造人脸图片进行融合而成。
Exposing DeepFake Videos By Detecting Face Warping Artifacts 文章中提出这个方法会生成伪影, 不过伪影生成的条件大概是图像翘曲变化比较大的时候, 也就是说只针对GAN生成数据集质量不高的情况下
- 这样形成的伪造人脸图片中,前景和背景在统计意义上(Noise Analysis, Error Level Analysis, etc. )存在着一些不一致性。这种不一致可能来自于硬件原因(相机的参数不同,镜头光照等),算法原因(运算过程中对于图像的压缩和运算操作等)。
作者使用一种简单的融合方式构造出伪造人脸的训练数据,具体过程如下图所示
有数据集中的真实人脸 得到 landmarks,一方面通过landmarks 的欧氏距离在数据集中寻找最相似的人脸 , 另一方面通过landmarks 的凸包做变形并模糊处理后得到融合的mask M, 并计算边界 B。计算过程如下:
其中M和B 都是 0 - 1 范围内的连续值,从Intial mask 到 final mask 中模糊化,使得binary 的 M 变成了连续值。
训练过程如下:
- 数据分为(I,B,c),分别是图像,边界,类别。
- 模型第一部分是一个全卷积神经网络(如HRnet),输入图像I,输出预测的边界图像B', B和B' 比较得到第一个loss。
- 模型的第二部分是一个有pool层,fc层,softmax 组成的小网络,输入之前预测的边界图像B',输出预测的类别c',并得到第二个loss
Global Texture Enhancement for Fake Face Detection In the Wild (全脸合成检测, 长距纹理)
- 提出CNN靠纹理来区分真假脸。 实验方法是使用L0滤波(一种可以破坏图片纹理的滤波)对图像进行处理,发现性能下降明显,从而证明CNN十分依赖纹理信息。
- 提出真假脸的纹理有区别(由GAN生成的假脸) 实验方法是使用灰度共生矩阵:gray-level co-occurrence matrix (GLCM)来表征真假脸的纹理,可以看到真脸的灰度共生矩阵的值远大于假的。从而证明真假脸的纹理信息有差异。
- 提出长距纹理对图像篡改更加健壮 实验方法是计算对应真假脸灰度共生矩阵中纹理距离d和皮尔逊相关系数的关系(标准化的相关系数),看上图可以的出,当纹理距离越大时候(这里距离指灰度共生矩阵计算共现时的范围,具体可以参考维基百科或者原文公式),真假脸的纹理越相关,可以推出长距纹理对图像篡改更加健壮。
基于以上的三个实验, 作者认为识别的关键是要增强对长距纹理信息的捕捉,很遗憾CNN没有这个能力,所以作者就使用格拉姆矩阵辅助捕捉这种信息。
Leveraging Frequency Analysis for Deep Fake Image Recognition (频域)
作者认为所有的生成模型都必须经过上采样过程,而上采样之后的图像的频域上和自然图像会出现明显的差异,
所以在频域上直接识别会取得非常好的效果。
将真假图分别做2D DCT变换:
可以看出GAN生成的频率会有栅格化(grid-like pattern)的问题,为了进一步证明普适性,作者做了更多的频谱实验:
可以看出明显的栅格化。
之后文章猜测栅格化的原因是由于上采样导致的,作者使用三种上采样方式并观察频谱图:
三种上采样方式采用不同大小的核大小(直观理解为从左到右上采样质量越来越好),可以看出随着上采样方式的改变,栅格化效果也越来越弱,从侧面证明了栅格化是由上采样引起的。
采用相同的条件,在pixel域和frequency分别训练,对比效果。结果发现频域训练能高20个点, 并且频域训练鲁棒性更强。
Thinking in Frequency: Face Forgery Detection by Mining Frequency-aware Clues(频域)
文章提出了两种频率特征,从一个角度来看,我们可以根据分离的频率分量重组回原来的图片,因此第一种频率特征也就可以被设计出来,我们可以对分离的频率分量经过一定处理,再重组回图片,最终的结果也适合输入进CNN当中。这个角度本质上是在RGB空间上描述了频率信息,而不是直接给CNN输入频率信息。这也启发了我们的第二种频率特征,在每个局部空间(patch)内,统计频率信息,并计算其平均频率响应。这些统计量可以重组成多通道特征图,通道数目取决于频带数目.
如上图,在低质量(Low Quality)图片中,两种图片都很真实,但是在局部的频率统计量(LFS)中,呈现出明显的差异,这也就很自然能被检测出来。
Two-branch Recurrent Network for Isolating Deepfakes in Videos (RGB+LoG+ICC)
- 提出一种新颖的双流网络,一路走普通的RGB,一路采用LoG算子(高斯拉普拉斯算子)后的图像,用于抑制RGB图像的内容信息。
- 提出一种新颖的基于one-class-classification的loss,让正样本拉近,同时推开负样本。
网络结构
整个网络框架如上图所示,整体分两部分,第一部分是普通的RGB分支,第二部分把原来的图像用LoG算子过一遍,用于提取高频信号(可以理解为边缘信息)。两个branch都用dense net结构。之后用一个融合模块把两个信息结合起来,然后经过几个dense block之后过一个lstm抽取帧间的信息最后经行分类。
损失函数
借用了Deep SVVD的思想(一种异常检测的常用的损失),作者把正类聚集,同时推开负样本(但没解释原因)。具体来说,首先先给正样本定计算几个聚类中心,然后使用如下公式计算:
What makes fake images detectable? Understanding properties that generalize (Patch Based CNN)
这篇文章主要关注在forgery face detection泛化性的可解释性上.
实验设置
在模型选择上,作者认为假脸检测和普通的人脸识别不一样,人脸识别需要很多content信息,但是假脸检测更多需要细节信息。所以一方面为了减少content信息,另一方面为了可解释性,作者提出了一种patch-based CNN:
具体来说,就是把完整网络的CNN中某一层的像素接一个1*1卷积进行预测,最后的预测 结果是所有patch的平均值。网络所用的loss:
结果表示patchbased CNN确实比普通的分类器更具有泛化性:
在数据处理上,作者认为现在的假图片都是用生成器生成的,所以我们可以自由选择图片的保存格式(比如JPG或者PNG等),但是真实图片的编码格式往往是数据集给定的,如果这两者有差异,那神经网络很容易拟合这一保存编码不同而造成的差异,造成表面效果好,而并没有提取到真正的伪造信息。
Domain General Face Forgery Detection by Learning to Weight (META-Learning+PNet+ICC)
- 这篇文章考虑到GAN生成图片的质量参差不齐, 有一些 Fake Faces 生成质量比较差(或者Real Faces 中纯粹是人脸检测器误检的样本)的样本去拟合他们反而会损害泛化性. 所以作者通过一个打分网络pnet去衡量每个样本的泛化性得分.
- 文章引入了异常检测的loss,拉近真脸,推远假脸。
- 作者结合 Mate-Learning 的方式, 随机将所有的训练数据划分为Training-set 和Meta-test set。其中meta-test set相当于是不可见的域. 也就是说想让模型不仅在training set上表现好,也要在meta-test上表现好,为了达成这个目的, 必须筛选出具有域泛化性的样本,且梯度正则项也会强迫模型往更具泛化性的方向更新。
Local Relation Learning for Face Forgery Detection (高频Attention+双流)
- Motivation:
(1)因为deepfake只是更改了部分的面部,而被更改的面部和未被更改的部分一定是有差异的,所以作者从局部和全局关系的角度出发,提出了Multi-scale Patch Similarity Module.
(2)由于真假图在频率域上的差异,为了更好的利用频率信息,让其与RGB信息充分融合,作者提出一种新颖的RGB-Frequency Attention Module
- Method
首先让输入的rgb通过傅里叶变化得到频域图像,之后经过一个高通滤波过滤掉低频的图像内容部分,保留大概率存在伪造信息的高频部分。再对这部分进行逆变化,得到了输入的第二个分支。
之后采用双流的策略分别对网络的low-level,mid-level和high-level使用RFAM进行模态对齐:
最后将三个层级的特征进行resize和concat得到了最后的分类特征,不同于以往直接使用polling+fc做二分类,作者考虑了局部与全局的关系,通过将最后特征图分成 个小patch,基于余弦距离计算所有小块彼此的相似度:
计算原图和相应伪造图每个像素点的差值,转换成灰度图后取 0.15 为阈值,创造真值二进制图:
将该图同样分成 25 个小块区域,对每个小块计算伪造率,每个patch 的伪造概率 是通过对 的所有像素值进行平均得到的。然后根据该值计算真值相似性:.
计算similarity-loss:
最后的,作者还在feature层面接了一个decoder,回归出差异图,同时和ground-truth做Segmentation loss:
以上的方法开始使用频域特征, 因为图像压缩也是基于频域的, 因此频域特征能很大程度上得到保留, 比起空域底层特征更加可靠. 还有些使用了同样不容易丢失的长距纹理特征. 总之, 更关注通用性来了 方法方面, 开始使用Attention, 改进损失形式, 多任务等方法, Patch CNN
ACM MM2020-CVPR2021
WildDeepfake: A Challenging Real-World Dataset for Deepfake Detection (由人脸计算Attention)
作者提出一种基于attention map的检测方法,motivation是在生成deepfake的时候往往会用到一个attention mask去做blending:
所以在做检测的时候可以先生成相似的attention mask,让网络聚焦在fake的区域。具体作者采用如下的流程去融合原始输入和attention mask:
具体的attention mask是用landmark先分别提取出face mask和organ mask,再用高斯模糊和归一化融合起来得到,如下图所示:
Not made for each other– Audio-Visual Dissonance-based Deepfake Detection and Localization (画音同步)
1.Motivation
作者认为音画不同步可以作为检测deepfake视频的很好依据,因为被篡改的帧往往会存在嘴唇的不连续性,而这种不连续性导致了和声音对不上的情况,所以作者提出了基于模态一致性的Modality Dissonance Scores(MDS)来判断真假视频,这个scores还可以判断具体是哪一帧被篡改了。
2.方法
两路 ,一路是视频,一路是对应的音频,之后视频进CNN,音频通过提取MFCC之后进一个浅层的CNN,中间用一个对比损失进行模态对齐(不是现在自监督那个infonce,是以前lecun提出的那个孪生网络用的对比损失),具体对比损失如下:
d就是Modality Dissonance Scores。
DeepRhythm: Exposing DeepFakes with Attentional Visual Heartbeat Rhythms (心跳???)
- 贡献
- 发明了DeepRhythm,是第一个从心脏跳动节奏(heartbeat rhythms)角度出发解决deepfake detction问题的。
- 提出了motion-magnified spatial-temporal representation(MMSTR)模块对deepfake视频做运动放大
- 提出了一个dual-spatial-temporal attention网络去适应人脸的动态变化和不同类型假脸。
作者认为假视频会破坏正常的心脏跳动节奏信号,所以本文从放大这一信号的角度去增强DFD准确率,
- 方法
我觉得玄学, 日后再说
FakePolisher: Making DeepFakes More Detection-Evasive by Shallow Reconstruction (伪影去除)
这篇文章的目的是通过基于字典学习的浅层重建,消除deepfake的伪影信息,从而使伪造图片更难被发现。
具体方法挺简单,完全不用深度学习。就是先用真人数据集用PCA或者K-SVD学一个真人字典,然后用这些字典做基,对假图像进行重建。
原理就是在真图的流形上找到一个和假图最接近的图,用这个图代替原来的假图,可以消除伪影信息:
Multi-attentional Deepfake Detection
文章在浅层使用一个texture enhancement block用于提取纹理信息,具体而言,作者使用average pooling先去掉特征图的纹理信息,再与原图相减用于增强纹理特征。同时在深层使用attention module去定位伪造信息。同时还使用了基于attention map的数据增强和特殊设计的损失函数增加特征图的多样性。
Spatial-Phase Shallow Learning: Rethinking Face Forgery Detection in Frequency Domain
使用相位谱来捕捉上采样操作留下的栅格化并给出了一些理论证明,总体思路和ICML那篇有点像。
CVPR2021
Generalizing Face Forgery Detection with High-frequency Features (图像固定模式噪声+RGB互相Attention)
- Motivation
在本文中,我们发现当前基于 CNN 的检测器倾向于过度拟合特定方法生成的颜色纹理,因此无法泛化。我们观察到图像噪声会消除颜色纹理,并暴露出真实和被篡改的区域之间的差异,因此我们建议利用高频噪声进行人脸伪造检测。
我们精心设计了三个功能模块,以充分利用高频特性。第一个是 Multi-Scale SRM,它在多尺度上提取高频噪声并组成一种新颖的模态。第二个是 Residual-guided Spatial Attention Module,它引导低级RGB特征提取器从新的角度更多地关注伪造痕迹。最后一个是 Cross Modality Attention Module,它利用两种互补模态之间的相关性来促进彼此的特征学习。
- Analysis of Generalizable Forgery Detector
为了验证CNN分类器是否偏向于特定的伪造纹理,我们利用基于梯度的可视化工具来生成类的激活图,即Grad-CAM图,它揭示了CNN依赖的分类区域。
当遇到未见过的 forgeries 时,该模型将其他三种 forgeries 误认为是真实的,尽管它们包含许多可见的 Visual Artifacts。此外,高响应区域与训练集中的区域明显不同,与真实脸部的区域相似。原因是模型对F2F独特的forgeries纹理进行了过度适应。因此,当它没有识别当与训练集相同的假纹理模式时,就会给出错误的预测。
- Method
- Multi-Scale SRM
- Cross Modality Attention Module
观察到图像的高频噪声去除了颜色内容,同时描绘了内在特征,我们尝试利用图像噪声进行人脸伪造检测。噪声是一些高频信号,捕捉亮度或颜色信息的随机变化。图像噪声的分布受图像传感器或数码相机电路的影响。因此,由不同设备处理或来自不同来源的图像具有不同的噪声模式(冷噪)。
鉴于 Face Manipulation 操作破坏了原始图像特征的一致性,在噪声空间中经常留下独特的痕迹, 因此可以使用噪声来鉴别图像.
SRM 滤波器参考
我们设计了一个双跨模态注意模块(DCMA)来捕获远程依赖并模拟低频纹理和高频噪声之间的相互作用。
- Experiments
Lips Don’t Lie: A Generalisable and Robust Approach to Face Forgery Detection (唇读)
在本文中,我们提出了LipForensics,一种既能泛化到新的Face Manipulation又能允许各种扭曲变形的检测方法。LipForensics的目标是嘴部动作的高层次语义不规则,这在许多生成的视频中是很常见的。它包括首先预训练一个空间-时间网络,以实现视觉语音识别(唇读),从而学习与自然口型相关的丰富的内部表征。随后,在真实和伪造数据的固定嘴部嵌入上对时间网络进行微调,以便根据嘴部运动检测假视频,而不对低层次的、特定于操作的人工制品进行过度拟合。
Multi-attentional Deepfake Detection (Attention*纹理+Attention*全局特征+新Loss解决注意力过于集中)
本文通过语义信息获得注意力map,然后再去利用低粒度信息(篡改痕迹比较多出现的地方)去进行真假判断
文章的工作:
这篇文章主要完成了三个工作:
①原来我们在做deepfake检测的时候,我们都会用一种二分的手段,非真即假,但是这篇文章采取了一个新的角度,它对图像进行细粒度分类
②文章中用到的是多注意力网络结构,为了能够使该结构保持它的多注意力特性,作者还引入了一种区域独立损失,设计了一种注意力引导的数据增广机制从而使得模型产生一种对抗学习的效果
网络的架构:
拿到一张图,我们先用注意力块去给它生成多注意力map:
- 图中可见,先是获得通过主干后的attention layer然后放入attention module
- 然后依次经过1X1卷积,BN,EeLu,最终得到的就是Attention maps(A,channel就是有多少种局部注意力的方式)
然后就是质地特征的增强(reason:篡改所导致的浅层特征中的组织信息通常都非常显著,所以我们要保留更多的组织信息):
- 先是对shallow layer进行一个局部平均池化,得到将会是非组织信息D。
- 然后我们用原来的shallow layer减去非组织信息,就能得到组织信息了。
接下来就是双线性注意力池化了:
- 首先我们要将刚刚获得的attention map进行重整,使其与结构信息map的大小一样
- 然后attention maps和结构特征map 对应元素相乘然后就能得到注意力集中后的结构特征map
- 最后将 进行归一平均池化(因为传统的全局平均池化,注意力map的强度不同会影响到最终的池化特征)后输入到分类器
- 至于那些深层次的特征,我们将注意力maps加在一起能得到一张注意力map ,然后就可以获得全局的深层特征了
- 最后就是将结构特征还有全局特征交给分类区,然后做一个真假分类。
Spatial-Phase Shallow Learning: Rethinking Face Forgery Detectionin Frequency Domain (检测上采样)
我们观察到上采样是大多数人脸伪造技术的必要步骤,累积上采样将导致频域的明显变化,尤其是相位谱。
论文将原始图像和基于零插值上采样经过DFT变换,分别得到各自的幅度谱和相位谱,然后得到幅度谱的残差和相位谱的残差,发现后者的差异比前者大。因此,提出基于相位谱信息进行鉴伪。具体做法是,将图像DFT变换后的相位谱逆变换回去,和RGB通道拼接得到一个4通道的信息,送入到CNN里学习伪造特征。
Face Forgery Detection by 3D Decomposition (个性纹理分量+直射光分量+双流+Attention)
本文提出了基于三维解构的人脸伪造检测方法,通过对人脸图像进行图形学分解,找到包含最多伪造线索的图形学分量,提升了模型对多种伪造方式的鲁棒性。
根据计算机图形学对人脸成像的相关研究,我们将一张人脸图像视为其对应的三维人脸结构、纹理和光照环境交互的产物,通过三维可变模型和计算机图形学的渲染技术模拟一张人脸图像的生成过程,并将人脸解构为5个组成部分:
- 3D人脸结构(3D geometry)
- 共有纹理(common texture),指人类群体共有的纹理模式。
- 个性纹理(identity texture),指某一人脸的特定纹理模式。
- 环境光照(ambient light)
- 直射光照(direct light)。
通过观察目前主流的人脸伪造数据,伪造数据中很少存在不合理的人脸拓扑结构和奇异肤色,因此可以认为目前的伪造方法能够有效重建人脸的3D结构、共有纹理和环境光照,这些分量在伪造检测时可以不再考虑。
然而,考虑到不同人脸之间明显而复杂的个性纹理差异,现有伪造方法很难实现对这一成分的完美重建。同时,很多在强直射光环境下的伪造图像中也存在明显的伪造痕迹。因此,个性纹理分量和直射光分量蕴含丰富的伪造线索,是伪造检测的两个重要成分。
首先用 3DFFA 对人脸进行分解,提取 direct light 和 identity texture 信息. 基于多模态学习的思想,团队提出一种双流网络Forgery-Detection-with-Facial-Detail Net(FD2Net),对人脸图像和人脸细节两种模态中隐含的伪造痕迹同时进行挖掘,并引入监督式注意力模型指导检测网络关注人脸细节中的伪造痕迹。与其他相关工作中的注意力模型不同的是,团队采用人脸细节上的差异作为训练注意力模型的监督信号。
ForgeryNet: A Versatile Benchmark for Comprehensive Forgery Analysis (新数据集)
Exploring Adversarial Fake Images on Face Manifold (攻击, 略)
MagDR: Mask-guided Detection and Reconstruction for Defending Deepfakes (一种保护 deepfakes 免受对抗性攻击的方法, 略)
FReTAL: Generalizing Deepfake Detection using Knowledge Distillation and Representation Learning (知识蒸馏)
为了检测新类型的换脸技术,模型应该从额外的数据中学习,而不必担心失去对deepfakes的事先了解(灾难性的遗忘),尤其是当新的伪造技术与事先训练的很不一样。在这项工作中,该论文采用了表征学习(ReL)和知识蒸馏(KD)范式来解决这个问题,介绍了一种基于迁移学习的特征表示迁移自适应学习(FReTAL)方法。使用FReTAL在新服务器上执行域自适应任务伪造数据集,同时最大限度地减少灾难性遗忘。学生模型可以快速适应新类型的通过从预先培训过的老师那里提取知识来加深理解。
教师网络:使用知识蒸馏和表征学习检测深度伪造,先用FReTAL作为教师网络训练一个基础模型,教师模型是用Xception训练出来的,迁移学习的时候教师网络固定,学生网络训练。
学生网络:一旦教师模型在源域上得到完全训练,我们将教师模型(fT)的权重复制到学生模型(fS)。然后使用KD损失和基于特征的表征学习在目标域上训练学生模型。如图2所示,该过程与通常的师生模式不同。
基于特征的表征学习:在目标领域训练之前,学生模型只是教师模型的副本。使用目标域的数据进行建模以获得其特征表示(教师为Φtn,学生为Φsn),不存储所有目标域数据的特征,而只存储可区分的特征。为此,将softmax应用于两个模型的输出。基于特征的表征学习,有助于最小化学习过程中的域转移。由于真实数据和虚假数据的分布不同,我们分别存储真实数据和虚假数据的特征。
为了减少灾难性遗忘和领域转移的影响,应用交叉熵损失和KD损失,同时在目标领域训练学生模型。类概率通常由使用softmax输出层的神经网络生成,随着T的增加,softmax函数的概率分布变软
Representative Forgery Mining for Fake Face Detection (数据增强, 遮挡可疑区域)
- 摘要 提出了一个基于注意力的数据增强框架来指导检测器细化和扩大其注意力。我们的方法跟踪和遮挡面部Top-N敏感区域,鼓励检测器深入挖掘之前忽略的区域,以获得更有代表性的伪造结果。
- 介绍 人脸特征点检测(vanilla CNN)倾向于从脸部的有限区域内检测,而人类倾向于整个面部。
- 通过提取由操作技术缺陷产生的数字指纹,对cnn生成的面部图像实现了先进的泛化性能;
- 部分作品将人脸划分为多个patch并进行独立检测,强制优化了探测器对假脸的感知场。
- 利用精心设计的训练数据集,利用同源真假人脸之间的差异来指导检测器学习假人脸上的伪造信息,从而进一步实现伪造可视化。
现在三个方向:
- 方法
基于注意力的数据增强方法:代表伪造挖掘(RFM),通过在训练过程中精炼训练数据来解决有限注意力问题。
包括两个步骤:
- 利用检测器的梯度生成图像级的伪造注意图(FAM),可以精确定位面部的敏感区域;
- 利用可疑伪造消除(Suspicious Forgery erase, SFE)有意遮挡面部的Top-N敏感区域。
该方法通过将检测器的注意力从过度敏感的面部区域解耦,实现了具有先进水平的检测性能,并显著保持了对仅包含少量技术伪造的人脸的检测性能。
RFM过程:
分为三个部分。首先,我们为单个小批的每个原始图像生成FAM。然后,我们利用SFE在之前生成的FAMs的指导下对原始图像进行擦除。最后,我们使用被擦除的图像作为输入来训练检测器
发掘了新特征: 图像的固定模式噪声, 引入了直射光分量+个性纹理分量, 上采样痕迹(频域)这些特征. 另外, 高级特征比如唇读 开始花式Attention
CVPR2022
Leveraging Real Talking Faces via Self-Supervision for Robust Forgery Detection (跨模态自监督+视频++)
真实的人脸视频包含了丰富的自然脸部外观和行为的信息,并且可以在网上随时大量获得。我们的方法由两个阶段组成。首先,我们利用真实视频中视觉和听觉模态之间的自然对应关系,以自我监督的跨模态方式学习时间上密集的视频表征,以捕捉诸如面部运动、表情和身份等因素。其次,我们将这些学习到的表征作为目标,由我们的造假检测器与通常的二元造假分类任务一起预测;这鼓励它将真假判断建立在上述因素之上。我们的方法在跨操纵泛化和鲁棒性体验方面达到了最先进的性能.
Detecting Deepfakes with Self-Blended Images (使用单个样本的数据增强)
在本文中,我们提出了新的合成训练数据方法,称为自混合图像(SBIs).
增强的流程如下图
End-to-End Reconstruction-Classification Learning for Face Forgery Detection (VAE + Attention +二分图)
- Motivation
现有的人脸伪造检测器主要集中在特定的伪造模式上,如噪声特征、局部纹理或频率统计学的伪造检测。这导致学习到的表征对训练集中的已知伪造模式的特殊化,并使其难以检测到具有未知模式的伪造。
我们提出了一个伪造检测框架,强调基于重建分类学习的真实面孔的共同紧凑表示。对真实图像的重构学习增强了对甚至是未知的伪造模式的认知,而分类学习则负责挖掘真实和伪造图像之间的本质差异,促进对伪造的理解。为了实现更好的表征,我们在重建学习中不只使用编码器,而是在一个多尺度的快照中,在编码器和解码器的特征上建立双线图。我们进一步利用重建的差异作为图形输出的伪造痕迹的指导,作为最终的表征,它被送入分类器进行伪造检测。
- Method
Reconstruction Learning
对于重建学习,我们提出了一个重建网络,该网络由一个编码器和一个解码器组成,仅对真实人脸的分布进行建模。除了 reconstruction loss 之外,我们在编码器和解码器上应用metric-learning loss来使真实图像接近,而真实图像和假图像距离很远。由于学习到的分布差异,这确保了具有未知伪造模式的假图像更有可能被识别。
基于上述约束,揭示伪造线索的差异信息在解码器侧逐渐加强,最终导致真实面孔的良好重建和虚假图像的不良重建。因此,为了实现完整的表示,我们不仅使用编码器输出作为特征,还考虑了解码器的特征。
其 metric-learning 的损失为:
令 表示编码器或解码器块的输出特征。我们将全局平均池化操作应用于 并获得每个输入样本的特征向量 。其中 , 表示真假样本的集合。 是基于余弦距离函数.
的第一部分鼓励从真实面孔中学习紧凑的表示,而第二部分强调真实样本和虚假样本之间的差异。
Multi-scale Graph Reasoning
当对解码器应用metric-learning损失时,分离真假图像的有用信息也被嵌入到解码器中。为了有效地利用解码器特征捕捉到的伪造线索进行最终分类,我们提出了一个多尺度图推理(MGR)模块,该模块将解码器块的潜在特征和编码器的输出结合成一个双子图,以全面地重估伪造的线索。
Reconstruction Guided Attention
在重建网络的约束下,重建的伪造人脸在视觉外观上与输入的伪造人脸有很大不同。这促使我们使用重建差异来指示可能被操纵的轨迹。为此,我们提出了重建引导注意(RGA)模块,该模块更加关注可能的伪造区域,以方便后期分类。
DeepFake Disrupter: The Detector of DeepFake Is My Friend (扰动攻击 DeepFake)
Learning Second Order Local Anomaly for General Face Forgery Detection (看不懂)
Robust Image Forgery Detection over Online Social Network Shared Images (对抗生成噪音+图像有损压缩)
在线社交网络(OSNs)的广泛使用使其成为传播伪造图片的主要渠道,以重新发布假新闻,传播谣言等。不幸的是,OSNs采用的各种有损操作,如压缩和调整大小,给实现强大的图像伪造检测带来了巨大挑战。为了对抗OSN共享的伪造,在这项工作中,我们提出了一个新的鲁棒性训练方案。我们首先对OSNs引入的噪声进行了彻底的分析,并将其解耦为两部分,即可预测的噪声和未见过的噪声,分别进行建模。前者模拟OSN公开的(已知的)操作所引入的噪声,而后者的设计不仅是为了完成先前的操作,而且还考虑到了检测器本身的缺陷。然后,我们将建模的噪声纳入一个稳健的训练框架,显著提高图像伪造检测器的稳健性。
可预测的噪声和旨在模拟已知操作(例如JPEG压缩)带来的可预测损失,其建模依赖于具有残差学习和嵌入式可微JPEG层的深度神经网络(DNN)。
未见过的噪声主要是为了应对OSN所进行的不可知的操作或各种 OSN 的训练和测试之间的差异。显然,从信号本身的角度为看不见的噪声建立一个合适的模型是不现实的。为了解决这个困难,我们将我们的观察从噪声的角度转移到伪造检测器上,只关注可能导致检测性能恶化的噪声。这种策略自然地孵化了一种新的算法,利用对抗性噪声的核心思想来模拟看不见的噪声,这本质上是不可察觉的扰动,会严重降低模型的性能。
Exploring Frequency Adversarial Attacks for Face Forgery Detection (攻击DeepFake检测器, 略)
在本文中,我们没有将对抗性扰动注入空间域,而是提出了一种针对面部伪造检测器的频率对抗性攻击方法。具体来说,我们对输入图像应用离散余弦变换(DCT),并引入融合模块来捕获频域中对手的显着区域。与空间域中现有的对抗性攻击(例如 FGSM、PGD)相比,我们的方法对人类观察者来说更不易察觉,并且不会降低原始图像的视觉质量。此外,受元学习思想的启发,我们还提出了一种混合对抗攻击,可以在空间和频率域中执行攻击。大量实验表明,所提出的方法不仅可以有效地欺骗基于空间的检测器,还可以有效地欺骗最先进的基于频率的检测器。此外,所提出的频率攻击增强了跨面部伪造检测器作为黑盒攻击的可转移性。
Voice-Face Homogeneity Tells Deepfake (匹配面部与声音???)
Protecting Celebrities from DeepFake with Identity Consistency Transformer (匹配人脸内部和外部区域的特征)
在这项工作中,我们提出了身份一致性转化器,这是一种新型的人脸伪造检测方法,它关注高层次的语义,特别是身份信息,并通过寻找人脸内部和外部区域的身份不一致来检测可疑的人脸。身份一致性转化器包含了一个用于身份一致性确定的一致性损失。