DeepFake Detetion综述
综述一:DeepFake生成与防御研究入门
转自公众号【隐者联盟】DeepFake生成与防御研究入门
DeepFake(深度伪造)是英文“Deep Learning”和“Fake”的混成词,专指基于人工智能的人体图像合成技术,这是维基百科对Deepfake的基本定义。广义而言,深度伪造包括基于深度学习的图像、文本、音视频等各种媒体的生成和编辑技术。从2017年Reddit社区“DeepFake”作品引起轰动,到近期“蚂蚁呀嘿”的盛行,DeepFake已经在全网掀起了一次次应用热潮。深度学习的发展使人脸伪造技术趋于大众化,由DeepFake技术滥用导致的问题也严重威胁着社会信誉、司法公正乃至国家安全,因此相应的防御技术也得到了快速发展。
伪造技术概述
1. 基于图像域特征编码的方法
现阶段,全智能化的人脸深度伪造技术发展并不完备,其中主流的伪造技术主要从人脸图像域的角度出发,通过对人脸图像进行特征编码、重构的操作方式实现篡改,篡改类型可以概括为面部替换和属性编辑两大类。
-
其中面部替换旨在用原始人脸面部替换目标人脸的面部区域,涉及目标图像身份属性的变化。
-
而属性编辑主要针对目标人脸身份信息外的各类属性进行编辑篡改,如使用表情迁移、唇形篡改等。
面部替换的经典算法是“Deepfakes”[1],主体结构基于自动编码器实现。对于原始人脸A和目标人脸B,训练权值共享的编码器用于编码人脸特征,解码端A和B各自训练独立解码器用于重构人脸。在测试阶段,用训好的编码器对目标B进行编码,再用训好的A解码器来解码B的特征,以实现A与B之间的人脸替换。为了达到更好的替换效果和更佳的可操控性,对抗损失和人脸解耦重构等技术也被用于深伪算法进行约束与监督,并产生了很多变体方法,如FSGAN[2]、FaceShifter[3]等,使得生成的伪造人脸质量大幅提高。
属性编辑算法的基本原理与面部替换类似,但该类算法以人脸属性为对象进行篡改,不涉及到目标人物身份信息的改变,通常用来进行人脸的表情迁移、唇形篡改等应用。代表算法包括早期的表情迁移方法Face2Face[4]、特定人唇形篡改方法ObamaNet[5]和近期应用火热的表情迁移方法First Order Motion[6]以及唇形篡改方法Wave2Lip[7]等。下表列举了部分高影响力的人脸深度伪造工具与商业软件以及它们的特点。
| 工县/软件名称 | 类型 | 特点 |
|---|---|---|
| FaceSwap-GAN | 面部替换开源工具有技术要求 | 需大量人脸素材 |
| DeepFakes | 面部替换开源工具有技术要求 | 需大量人脸素材 |
| FakeAPP | 面部替换商业软件 | 无技术门槛,需大量人脸 |
| DeepFaceLab | 面部替换开源工具多平台开源项目 | 技术与硬件门槛高,需大量人脸 |
| ObamaNet | 属性编辑开源工具有技术要求 | 需大量指定人脸素材 |
| First Order Motion | 属性编辑开源工具有技术要求 | 需大量人脸素材 |
| Wave2Lip | 属性编辑开源工具有技术要求 | 需大量人脸素材 |
| ZAO | 面部替换商业软件无技术门槛 | 仅需1张人脸,但可换场景固定 |
| Avatarify | 属性编辑商业软件无技术门槛 | 仅需1张人脸,实现表情迁移,场景固定 |
| 去演APP | 面部替换商业软件无技术门槛 | 仅需1张人脸,替换指定场景中的人物 |
2. 基于隐变量编辑的方法
在人脸伪造相关技术中,有一类方法基于对抗生成网络(GAN)来实现。与基于图像域特征编码的方法不同,基于GAN实现的方法依赖于已训练好的GAN网络,探索人脸图像各属性在隐空间中对应的隐变量,找到待篡改的语义方向,再利用预训练好的GAN生成器来生成编辑后的人脸。这类方法需要在图像隐空间进行操作,对于已知分布的生成人脸图像可以实现高自由度的编辑和高真实感的伪造,但对于真实人脸图像,首先需要将其映射到隐空间,此时非常依赖GAN翻转(GAN Inversion)技术的效果。这类方法可探索性强,且思路多样化,近期在学术界得到了快速发展,代表算法有InterFaceGAN [10]、idinvert [11]。
防御技术概述
被动式检测方法
现阶段的Deepfake防御主要指针对深伪媒体的被动式检测,即在无辅助信息的条件下对伪造人脸视频进行检测与鉴别,这个任务本质上是一个二分类任务,判断给定的人脸媒体文件是真还是假。二分类任务在多媒体取证、计算机视觉等领域都已有深入研究,但深度伪造的检测具有其特殊性,既不同于一般取证场景下像素级的修改检测,也不同于计算机视觉中语义级的理解分类,而是与二者都有关联但又有实质差别的一种技术。现阶段的Deepfake的被动式检测方法也大多从这两个领域中借鉴思路,根据检测方法的特点,可以概括为三类。
- 有伪造样本学习方法
这类方法的核心特点是利用真假成对数据作为训练驱动,模型学习的过程需要有伪造人脸样本的参与。通过人工设计或神经网络挖掘的形式提取到真假人脸的可区分特征,从而进行分类。
根据提取特征方式的不同,这类方法可分为基于人工特征的方法和基于深度学习方法两种。
-
基于人工特征的检测方法多见于早期阶段,针对伪造技术不完善导致的篡改痕迹进行特征提取,如利用传统图像取证中的隐写分析特征[12],或捕捉眨眼异常、头面姿势不一致、异瞳和牙齿细节异常[13]等。
-
基于深度学习的方法则更多建立在深度神经网络强大的图像理解能力之上,从媒体的空域、时域、频域等角度挖掘可鉴别的细节特征。一些经典的网络结构如XceptionNet、EfficientNet等在deepfake检测任务中发挥了良好的效果。在此基础上,Two-branch[14]采用了双向LSTM来寻找伪造视频的时序伪像,F3-Net[15]通过精心设计的局部频域统计模块从频域的角度放大了伪造带来的可检测痕迹,MPSM[16]为特征图设计了块相似度计算模块以捕捉空域和频域特征上的篡改痕迹,均取得了良好的效果。Multi-Attention[17]首次将deepfake检测定义为细粒度分类任务,采用了多个注意力图来响应人脸图像的不同区域和不同注意力点,以定位局部且细微的篡改伪像。SPSL[18]则通过分析伪造算法中普遍存在的上采样过程,从相位谱中捕捉频域伪造痕迹,实现了更为通用的检测。
-
无伪造样本学习方法
与“有伪造样本学习”的方法相对应,“无伪造样本学习”方法的模型训练过程不需要使用伪造人脸的负样本,而是抓住了人脸这一特殊信息载体的某些特性,或抓住了深度伪造过程中某一固有的流程漏洞实现检测与鉴别。典型的方法是Face X-ray[19],其抓住了伪造方法大多需要进行融合操作这一固有流程,进行针对融合操作痕迹的检测,模型训练只需要使用真脸数据和部分人工制作的非人脸融合图像,不需成对的真假脸。类似的还有PCL[20],通过预测融合mask的方式,判断给定人脸是否有融合痕迹或边界的不一致性。这类方法由于不依赖于真假成对数据,因此对不同的伪造算法具有较强的迁移检测能力。
-
基于多任务迁移的方法
这是最近新兴起的一类方法,其核心分类器依旧是依赖于成对真假数据进行训练,与前述方法最大的不同在于,该类方法会利用其它任务中的预训练模型或预筛选特征,在deepfake的真假数据对上进行微调。代表方法为Lip-forensics[21],利用了唇读模型这一与人脸相关的分类模型,迁移到deepfake检测的任务中来,特征提取过程与唇读任务一致,但最终的目标是利用精准的唇读,区分真假唇的差别,从而实现真伪鉴别。
主动式防御
主流的伪造防御技术大多通过事后取证的方式进行,属于被动式检测方法,但此时往往伪造多媒体的危害已经形成。因此,近期一些主动式防御的工作被提出。如Huang等人[28]提出的基于对抗攻击和数据毒化的人脸主动干扰方法,在不影响人脸多媒体数据视觉质量的前提下,干扰伪造者的模型训练过程,使其难以利用被保护的数据进行伪造。此外,主动式防御也可结合信息隐藏中的鲁棒水印以及模型水印等技术,锁定伪造数据的泄露途径,实现主动取证,如ArtificialGANFingerprints [29]、Decentralized Attribution of Generative Models[30]。
常用数据集
Deepfake数据集主要用来训练以及评估检测模型的性能。Deepfake发展至今,出现过很多数据集。目前最常用的数据集主要有四个,各数据集的基本情况如表2所示。其中衡量算法的库内检测性能通常用FaceForensics++[22],而衡量算法跨库性能时则多使用Celeb-DF[23]测试。随着领域内技术的进步和研究视角的转变,不同类型的数据集还将继续产生和发展,如近期中国科学技术大学和微软亚研院联合组建的包含人物身份参考的特定人伪造鉴别数据集“Vox-Deepfake”[26]和Zi等人提出的真实场景下的数据集“WildDeepfake”[27]。如下表是Deepfake主要数据集基本情况。
| 数据集名称 | 数据规模 | 数据来源 | 特点 |
|---|---|---|---|
| FaceForensics++ | 1000 real, 4000 fake |
Youtube | 早期包含4种伪造方法(现新增FaceShifter),包含3种分辨率,整体质量偏低,有明显伪像 |
| Celeb-DF | 590 real, 5639 fake |
Youtube | 基于Deepfakes方法进行优化,视频视觉质量较高,但伪造方法与数据类型单一。 |
| DeeperForensics-1.0 | 1000 real, 11000 fake |
Youtube+Actors | 增加了数据规模和大量亚洲人种数据,合成方法更好,但真实人脸源自FF++,易造成数据泄露问题 |
| DFDC | 23645 real, 104500 fake |
Actors | 全真实场景模拟,全真实演员拍摄,迄今为止规模最大的deepfake数据集,8种伪造方法,19种干扰手段,难度极大。但部分数据有异常。 |
| Dataset name | Download | Generate method | Deepfake videos | Actors | Intro |
|---|---|---|---|---|---|
| Deepfake-TIMIT low | download | Deepfake | 320 | 32 | |
| Deepfake-TIMIT high | download | Deepfake | 320 | 32 | |
| Faceforensics | - | Deepfake | 1000 | 977 | |
| Faceforensics++ | download | Deepfake | 1000 | 977 | |
| Deepfake detection | download | Deepfake | over3000 | 28 | |
| Celeb-deepfakeforensics v1 | download | Deepfake | 795 | 13 | |
| Celeb-deepfakeforensics v2 | download | Deepfake | 590 | 59 | |
| DFDC | download | Deepfake | - | - | |
| WildDeepfake | download | Internet | 707 | - | introduction |
参考文献
[1] DeepFakes. Deepfakes github. http://github.com/deepfakes/faceswap, 2017. Accessed 2020-08-18. 2, 3, 5, 6
[2] Nirkin, Y., Keller, Y., & Hassner, T. (2019). Fsgan: Subject agnostic face swapping and reenactment. In Proceedings of the IEEE/CVF International Conference on Computer Vision (pp. 7184-7193).
[3] Li, L., Bao, J., Yang, H., Chen, D., & Wen, F. (2019). Faceshifter: Towards high fidelity and occlusion aware face swapping. arXiv preprint arXiv:1912.13457.
[4] Thies, J., Zollhofer, M., Stamminger, M., Theobalt, C., & Nießner, M. (2016). Face2face: Real-time face capture and reenactment of rgb videos. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 2387-2395).
[5] Suwajanakorn, S., Seitz, S. M., & Kemelmacher-Shlizerman, I. (2017). Synthesizing obama: learning lip sync from audio. ACM Transactions on Graphics (ToG), 36(4), 1-13.
[6] Siarohin, A., Lathuilière, S., Tulyakov, S., Ricci, E., & Sebe, N. (2020). First order motion model for image animation. arXiv preprint arXiv:2003.00196.
[7] Prajwal, K. R., Mukhopadhyay, R., Namboodiri, V. P., & Jawahar, C. V. (2020, October). A lip sync expert is all you need for speech to lip generation in the wild. In Proceedings of the 28th ACM International Conference on Multimedia (pp. 484-492).
[8] Zao app. Retrieved from https://zao-app.com/, 2019-12-01
[9] Petrov, I., Gao, D., Chervoniy, N., Liu, K., Marangonda, S., Umé, C., ... & Zhang, W. (2020). Deepfacelab: A simple, flexible and extensible face swapping framework. arXiv preprint arXiv:2005.05535.
[10] Shen, Y., Gu, J., Tang, X., & Zhou, B. (2020). Interpreting the latent space of gans for semantic face editing. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 9243-9252).
[11] Zhu, J., Shen, Y., Zhao, D., & Zhou, B. (2020, August). In-domain gan inversion for real image editing. In European Conference on Computer Vision (pp. 592-608). Springer, Cham.
[12] Zhou, P., Han, X., Morariu, V. I., & Davis, L. S. (2017, July). Two-stream neural networks for tampered face detection. In 2017 IEEE Conference on Computer Vision and Pattern Recognition Workshops (CVPRW) (pp. 1831-1839). IEEE.
[13] Matern, F., Riess, C., & Stamminger, M. (2019, January). Exploiting visual artifacts to expose deepfakes and face manipulations. In 2019 IEEE Winter Applications of Computer Vision Workshops (WACVW) (pp. 83-92). IEEE.
[14] Masi, I., Killekar, A., Mascarenhas, R. M., Gurudatt, S. P., & AbdAlmageed, W. (2020, August). Two-branch recurrent network for isolating deepfakes in videos. In European Conference on Computer Vision (pp. 667-684). Springer, Cham.
[15] Qian, Y., Yin, G., Sheng, L., Chen, Z., & Shao, J. (2020, August). Thinking in frequency: Face forgery detection by mining frequency-aware clues. In European Conference on Computer Vision (pp. 86-103). Springer, Cham.
[16] Chen, S., Yao, T., Chen, Y., Ding, S., Li, J., & Ji, R. (2021). Local Relation Learning for Face Forgery Detection. AAAI 2021.
[17] Zhao, H., Zhou, W., Chen, D., Wei, T., Zhang, W., & Yu, N. (2021). Multi-attentional Deepfake Detection. arXiv preprint arXiv:2103.02406.
[18] Liu, H., Li, X., Zhou, W., Chen, Y., He, Y., Xue, H., ... & Yu, N. (2021). Spatial-Phase Shallow Learning: Rethinking Face Forgery Detection in Frequency Domain. arXiv preprint arXiv:2103.01856.
[19] Li, L., Bao, J., Zhang, T., Yang, H., Chen, D., Wen, F., & Guo, B. (2020). Face x-ray for more general face forgery detection. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 5001-5010).
[20] Zhao, T., Xu, X., Xu, M., Ding, H., Xiong, Y., & Xia, W. (2020). Learning to Recognize Patch-Wise Consistency for Deepfake Detection. arXiv preprint arXiv:2012.09311.
[21] Haliassos, A., Vougioukas, K., Petridis, S., & Pantic, M. (2020). Lips Don\'t Lie: A Generalisable and Robust Approach to Face Forgery Detection. arXiv preprint arXiv:2012.07657.
[22] Rossler, A., Cozzolino, D., Verdoliva, L., Riess, C., Thies, J., & Nießner, M. (2019). Faceforensics++: Learning to detect manipulated facial images. In Proceedings of the IEEE/CVF International Conference on Computer Vision (pp. 1-11).
[23] Li, Y., Yang, X., Sun, P., Qi, H., & Lyu, S. (2020). Celeb-df: A large-scale challenging dataset for deepfake forensics. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 3207-3216).
[24] Jiang, L., Li, R., Wu, W., Qian, C., & Loy, C. C. (2020). Deeperforensics-1.0: A large-scale dataset for real-world face forgery detection. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 2889-2898).
[25] Dolhansky, B., Bitton, J., Pflaum, B., Lu, J., Howes, R., Wang, M., & Ferrer, C. C. (2020). The deepfake detection challenge dataset. arXiv preprint arXiv:2006.07397.
[26] Dong, X., Bao, J., Chen, D., Zhang, W., Yu, N., Chen, D., ... & Guo, B. (2020). Identity-Driven DeepFake Detection. arXiv preprint arXiv:2012.03930.
[27] Zi, B., Chang, M., Chen, J., Ma, X., & Jiang, Y. G. (2020, October). WildDeepfake: A Challenging Real-World Dataset for Deepfake Detection. In Proceedings of the 28th ACM International Conference on Multimedia (pp. 2382-2390).
[28] Huang.Q., Zhang. J., Zhou, W., Zhang, W., & Yu, N., Initiative Defense against Facial Manipulation, AAAI 2021.
[29] Yu, N., Skripniuk, V., Abdelnabi, S., & Fritz, M. (2020). Artificial GAN Fingerprints: Rooting Deepfake Attribution in Training Data. arXiv e-prints, arXiv-2007.
[30] Kim, C., Ren, Y., & Yang, Y. (2020). Decentralized Attribution of Generative Models. arXiv preprint arXiv:2010.13974.
现阶段的Deepfake检测主要有两大研究难点。
一是如何捕捉高质量伪造数据中较难发掘的伪像,提升检测准确率与可解释性,
二是如何设计真实场景下的鲁棒检测方法。
Image manipulation Detetion综述
综述一:数字图像篡改操作取证
转自公众号【隐者联盟】【极简综述18】数字图像篡改操作取证
Copy-move操作取证技术
图像复制粘贴篡改(copy-move)是数字图像篡改中比较常用的一种手段。它把单个图像中的部分区域复制并粘贴到同一图像中不交叠的其它区域,从而增加或覆盖掉某些物体。为了使篡改后的图像能够以假乱真,在复制过程中,复制区域可能会经历旋转、缩放等几何变换,并且合成图像可能经历加噪、模糊、压缩等后期处理,这进一步加大了篡改检测的难度。现有的图像复制篡改检测方法可以粗略的分为基于图像块的方法、基于关键点的方法和基于深度学习的方法。
1. 基于图像块的方法
Fridrich等人[1]首次定义了复制粘贴篡改,并提出了基于块匹配的检测方法,将图像分割成固定大小且相互重叠的子块,并使用DCT量化系数作为图像块的特征描述。该算法对图像块的所有DCT系数都进行统计计算,所以算法的复杂度很高。
后来,多位学者分别提出了DWT变换、FWT变换等用于描述图像块的特征。Bashar等人[2]提出了两个鲁棒的特征,分别基于DWT变换和KPCA,并将这些特征向量构成一个矩阵。Cozzolino等人[3]提出了CHT作为图像的特征。该方法将图像中的每一个像素点都进行处理,提取到每一个像素点的特征。为了减少计算量,使用了快速的近似最近邻搜索算法对密集区域处进行高效的计算。
除了频率域的特征提取,基于空间域的特征提取也有很多经典的算法,其中将矩阵特征作为图像的特征进行处理就是经常使用的方法。Mahdian和Saic[4]较早提出了一种基于模糊矩阵的方法,并使用了主成分分析减少特征的维数,最后利用k-d树对多维的数据块进行相似性分析,从而对篡改区域进行定位。Ryu等人[5]则将Zernike矩阵作为图像块的特征,并在图像块匹配时使用了局部敏感哈希算法加速匹配过程,最终根据匹配块寻找篡改区域。
除了使用矩阵特征以外,也有研究者利用图像本身的一些纹理亮度信息作为图像的特征。Davarzani等人[6]采用多分辨率局部二值模式(MLBP)作为图像块的特征信息。为了获得精确的匹配信息,还使用了RANSAC算法去除掉错误的匹配。
基于图像块的检测算法虽然能达到一定的效果,但是随着图像复制粘贴篡改的多样化,以及实际图像复制篡改过程中经历更多几何变换如旋转、缩放等,基于图像块的检测方法的鲁棒性会降低。此外,基于图像块的方法需要大量的计算,难以在实际中进行应用。为了提高检测效率,增强对抗几何变换的鲁棒性,基于关键点匹配的检测方法成了新的研究热点。