Face Forgery Suvery

文章探讨了人脸图像伪造技术,包括属性操纵、表情交换、身份交换和整个面部合成。随着深度学习的发展,伪造图像愈发逼真,给识别技术带来挑战。文章介绍了两种检测方法:低级方法关注像素级痕迹,如频率分布特征;高级方法则检测视频中的语义不一致性。此外,研究还涉及伪造检测的新策略,如利用GAN指纹进行源追踪,以期跳出伪造生成与检测的军备竞赛。

Face Forgery

对数字图像的优化一直是计算机应用技术的研究热点,对人脸图像进行修改自美颜相机的出现后持续受到广大主播用户的追捧。这些图像修改方式或多或少对人脸认证增加了难度。尤其是近些年数据的爆炸增长和计算能力的快速发展,出现的专门对人脸进行伪造的算法,其依靠训练学习方式对人脸外观或者属性进行伪造,伪造出来的人脸图像也愈加真实,已经到了人眼无法辨别的程度。由于利用了更加先进的算法,以往的图像认证技术也很难应对这种伪造图像。

Face Forgery class

目前还有没准确的人脸伪造方式分类方案,但按照伪造程度大致可以分为Attribute Manipulation, Expression Swap(inc. Lip Sync), Identity Swap Entire Face Synthesis. (TODO: 优化分类方案)

Attribute Manipulation

这种伪造方式包括对人脸或头发的颜色,性别、年龄、是否佩戴眼镜等内容进行篡改。该类伪造方式通常以

Expression Swap

Identity Swap

Entire Face Synthesis

Face Forgery Detection

为了应对人脸伪造带来了巨大安全隐患,研究员也提出了诸多检测办法。在这里,我将其分类为两种:

  1. Low-level Approach:侧重于检测人脸图像合成过程中引入的像素级痕迹。比如,基于GAN网络生成的伪造图像,存在明显的与真实图像不同的频率分布特征。
  2. High-level Approach:侧重于检测伪造视频中存在的语义级别的不一致性。比如,视频中说话人的口型与声音存在明显的差异。

Low-level

On the Detection of Digital Face Manipulation(CVPR2020)

在这里插入图片描述
本文采用multi-task的方式同时对图像进行伪造检测和伪造区域的定位,文中对比了两种Attention机制和不同监督程度下训练得到的模型的准确度。除此之外,本文推出首个包含多种人脸伪造类型的数据集Diverse Fake Face Datasets(DFD),并提出逆交叉非包容Inverse Intersection Non- Containment(IINC)度量标准,用于评估attention map与GT的一致性,与现有的度量(IoU等)相比更加稳定准确。详见>>

High-level

以下介绍的检测方式,尽量以发表的时间为序

Protecting World Leaders Against Deep Fakes

Here

Detecting Deep-Fake Videos from Appearance and Behavior

这篇文章与上一篇一脉相承,作者也属于同一波人。所采用的基本原理一致,所不同的是,本篇利用了CNN,并在常见伪造检测数据集上做了实验和对比。

here

Out of Arms race

众所周知,伪造的生成算法与伪造的检测算法彼此相互抗争,在此过程中,双方都可以利用对方现存算法的缺陷实现算法的改进,这使得双方的算法不断的提升效果,但这种模式无疑进入一种死循环。对于伪造检测算法而言,这使得其无法做到真正的有效和泛化。因此,逐渐有学者另辟蹊径,跳出这场你来我往的竞争中,试图从根本上找到一种一劳永逸的伪造检测办法。

Artificial GAN Fingerprints: Rooting Deepfake Attribution in Training Data

在这里插入图片描述

作者认为当前的伪造检测方与伪造生成算法构成的“军备竞赛”是无休止的。必须要从根源入手来解决伪造检测问题。基于GAN的伪造生成算法,作者提出利用隐写分析技术对训练GAN的数据集加入指定指纹,并证明在该数据集上训练的GAN模型生成的图像具有相同的指纹,即指纹从训练数据传递到了GAN模型。基于此,可以通过对图像进行指纹检测,并与指纹数据库进行对比,以此来进行伪造检测并进行生成算法溯源。具体的研究进一步证明了该方案的几个有益特性,包括通用性,与GAN发展的协同性,保真度和鲁棒性。
其中与GAN发展的协同性指GAN的生成效果越好,在其生成的图片中检测到指纹的概率越高。

If a GAN technique can approximate real data distribution more accurately, it also transfers the artificial fingerprints more accurately.

Forgery Locator 是一个基于伪造检测的工具,它通常用于识别和定位图像中的篡改区域。生成图像的分割图涉及多个步骤,包括图像预处理、特征提取、模型推理以及后处理等阶段。以下是生成图像分割图的基本流程: ### 图像分割图的生成步骤 1. **图像预处理** 在输入图像到Forgery Locator之前,需要对图像进行标准化处理。这通常包括调整图像大小、归一化像素值、转换为适合模型输入的格式等。例如,可以将图像缩放为固定尺寸(如256x256),并将像素值归一化到[0, 1]范围。 2. **特征提取** Forgery Locator通常依赖于深度学习模型(如卷积神经网络)来提取图像特征。模型会分析图像的局部和全局特征,并识别出可能的篡改痕迹。这些特征可能包括颜色失真、边缘不连续、光照异常等。 3. **模型推理** 在特征提取后,模型会生成一个概率图(probability map),表示每个像素属于篡改区域的可能性。这个概率图可以通过阈值处理转换为二值图,其中高概率区域被认为是伪造区域。 4. **后处理** 后处理阶段用于优化分割结果。常见的操作包括去除小面积的噪声区域、填充空洞以及平滑边界。这些操作可以使用形态学操作(如膨胀、腐蚀)或基于连通区域的分析。 5. **生成分割图** 最终,将处理后的二值图叠加到原始图像上,生成可视化分割图。分割图通常用不同颜色标记篡改区域和原始区域,以便用户直观理解。 ### 示例代码 以下是一个简化的图像分割示例代码,假设已经加载了Forgery Locator模型并准备好输入图像: ```python import cv2 import numpy as np # 加载Forgery Locator模型 model = load_forgery_locator_model() # 读取输入图像 image = cv2.imread("input_image.jpg") # 预处理图像 processed_image = preprocess(image) # 模型推理 probability_map = model.predict(processed_image) # 后处理 threshold = 0.5 binary_mask = (probability_map > threshold).astype(np.uint8) * 255 binary_mask = cv2.morphologyEx(binary_mask, cv2.MORPH_CLOSE, kernel=np.ones((3, 3))) # 生成分割图 segmentation_map = cv2.applyColorMap(binary_mask, cv2.COLORMAP_JET) output_image = cv2.addWeighted(image, 0.6, segmentation_map, 0.4, 0) # 保存结果 cv2.imwrite("segmentation_result.jpg", output_image) ``` ### 注意事项 - **模型选择**:确保使用适合的Forgery Locator模型,例如基于多模态感知的模型,以提高分割精度。 - **参数调整**:根据具体图像调整阈值和其他后处理参数,以获得最佳效果。 - **性能优化**:对于大规模图像数据,可以考虑使用GPU加速推理过程。 Forgery Locator的生成过程依赖于模型的训练数据和架构设计,因此具体实现可能会有所不同。建议参考相关论文或官方文档以获取更详细的指导。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值