论文阅读-可泛化深度伪造检测的关键

news2025/7/14 16:14:01

一、论文信息

  1. 论文名称:Learning Features of Intra-Consistency and Inter-Diversity: Keys Toward Generalizable Deepfake Detection

  2. 作者团队:Chen H, Lin Y, Li B, et al. (广东省智能信息处理重点实验室、深圳市媒体安全重点实验室和深圳大学人工智能与数字经济广东实验室)

  3. 论文网址:https://ieeexplore.ieee.org/abstract/document/9903059

  4. 发表期刊:IEEE Transactions on Circuits and Systems for Video Technology

二、动机与创新

1、动机:

①大多数都存在不同数据源、不同伪造方法、不同后处理方式、训练集中包含的深度不同的问题。由于这些不匹配的域差距导致大多数深度伪造检测方法在实际应用中都存在严重的性能下降。——>泛化性差

②原始图像的自一致性,通常起源于传感器模式噪声或由生成管道中的微纹理引起,是深度伪造检测的一般线索。—>由于不同的数据源或处理操作而导致的图像样本之间的不一致性可能比虚假的痕迹更明显。—>需要学习具有良好的类内一致性和类间可分性的特征,特别是在数据集不匹配的条件下。

2、创新:学习类内一致性类间多样性的特征,我们利用一种新的基于Transformer的自监督学习方法和一种有效的数据增强策略来增强深度伪检测泛化性。

三、方法

提出通过两阶段的自监督范式来提高深度伪造检测的泛化能力。

  1. 首先,在预训练阶段,我们利用没有任何图像类注释的mask patch和预测策略来训练一个大型的基于vit的编码器。它的目的是通过预测mask patch来学习丰富的隐藏的代表性特征。图像内的类内一致性线索可以由MIM以这种方式挖掘。

  2. 随后,我们以一种有监督的方式对预先训练过的基于视频的编码器进行了微调。我们采用了与深度伪造相关的二值分类和假mask估计两个任务,旨在丰富训练中的监督信息

  3. 此外,我们还引入了一种新的基于小波的数据增强技术,即可调伪造合成器(AFS),以丰富微调阶段人工伪造样本的多样性。

  • Masking and Prediction Pre-Training

①引入了一种基于MIM的策略,该策略掩盖了图像patch的一些随机部分,并在预训练阶段预测了它们的RGB像素。

②改编自SimMIM ,由两个主要组件组成:

1)Masking:首先将大小为H×W×3的图像分割成一些规则的补丁大小为P×P。然后,我们用掩码比ρ随机mask部分输入图像patch。如图3所示,我们将mask patch的区域标记为[M]。我们提供了所有的patch来训练一个基于vit的编码器。

2)Prediction:我们使用一个基于vit的编码器来提取mask图像的潜在代表性特征。使用Swin-L作为编码器的主干。预测的目标是恢复每个mask patch中的原始像素。我们在主干的最后一层引入一个预测头,其目的是将特征映射中的每个特征向量映射到原始分辨率,并让这个向量负责相应的原始像素的预测。

  • Multi-Task Fine-Tuning(多任务微调)

①在预训练阶段之后,我们用标记数据对预训练后的编码器进行微调,以进行深度伪造检测。采用多任务学习的方式。使用了两个任务,一个用于二元分类,另一个用于估计伪造mask,涉及到更多的监督信息。

②损失函数说明:其中Lc是二分类交叉熵

  • Adjustable Forgery Synthesizer(可调节伪造合成器)

①通过在频域扰动图像来模拟深度伪影的产生。提出了一种基于小波的数据增强方法,名为可调伪造合成器(AFS)。

②由于小波变换可以将图像分解为多个空间频子带,AFS可以通过一组缩放参数显式地调整源面与目标面之间的相似性。

③三个步骤组成:

1)相似的面部检索:通过Dlib提取面部landmarks。通过取landmarks的凸包得到掩模M。

2)小波分解:对图像进行离散小波变换(DWT),得到4个小波子频带。

3)伪造合成:为了尽可能多地覆盖不同形状的掩模,将2D维仿射变换T(·),然后进行高斯模糊,记为¯M。使用一些混合方法将mask内源子带的面区域缝合到目标图像的相应子带。这样,我们就得到了四个相应的合成子频带。最后,我们利用逆离散小波变换(IDWT)操作将合成子带{Fi}变换为合成图像If。同时,AFS也输出相应的伪造图片。

④证明AFS合理性:通过人类感知得到的深度伪造图像的人身份位于源脸和目标脸之间。由DF(c23)、DF(c40)和FSh(c23)分别生成的三张假图像虽然保留了源图像的一些特征,但更接近目标标识。不同的伪造方法和后处理操作(如不同的压缩率)可能导致与目标身份的不同程度的相似性。

采用了一个公共平台,可以提供人脸比较服务来计算S(·,·)的面部相似性得分。—>现有的深度伪造方法在不控制相似性的情况下,只能产生少量的样本。为了获得更通用和鲁棒的检测,最好以更多的多样性来增加数据。

⑤AFS的动机是在图像空间中生成许多质量不同、与目标身份相似程度不同的假样本,以促进表示学习。简单地为四个子波段设置相同的αi,然后计算S(I,Is)和S(I,It)。AFS可以通过调整混合权重αi来模拟与源标识和目标标识具有不同相似性的深度伪造样本。这样,我们就可以在微调阶段丰富假样本的相互多样性。

四、实验

  1. 实验设置

  • 数据集:

①UADFV和DF-TIMIT仅用于训练。FF++,DFD,Celeb-DF,DFDC-p,DFDC,DeeperForensics-1.0 (DFR),WildDeepfake。

②训练过程:

a)预训练阶段:在预训练阶段,将UADFV、DF-TIMIT、FF++/DF(c23和c40)、DFDC、Celeb-DF和DFD(c23和c40)的训练集混合,形成一个复合训练集,名为DF-Mix,作为预训练数据集。这些数据没有注释,就被用于模拟未标记的数据场景。

b)微调:在此阶段使用标准的监督学习范式来微调模型,该范式使用每个给定数据集的训练和验证集。

  • 评价指标: 采用AUC和EER。

1、定量分析

1)预测Masked Patches:

①mask和预测预训练有助于基于transformer的编码器学习具有代表性的特征,并具有良好的patch间一致性和相关性。

2)预测伪造Mask

①可以观察到不同的深度伪造方法的ground truth mask的形状和位置是非常不同的。这种多样性增加了可推广的深度假检测的难度。计算结果表明,该方法的伪造掩模估计是可靠的。

2、与其他方法比较

1)数据集内部评估

2)跨方法验证

3)跨数据集验证:

3、消融实验

1)Masking and Prediction Pre-Training:

2)Multi-Task Fine-Tuning:

五、总结与局限

①工作总结:包括两个阶段的学习,即1)采用mask和预测的预训练阶段,2)采用二值分类和伪造mask估计的多任务微调阶段。

在第一阶段,采用基于MIM的方案来学习大规模未标记面部数据的内一致性代表性特征。然后,对预先训练好的模型进行微调,以利用标记数据进行下行的深度伪造检测。此外,还引入了一种新的小波域伪造数据增强方法。

②局限性:

(1)采用了大规模的预训练数据,对一个庞大的骨干网络进行预训练,以实现SOTA的性能,这导致了较大的计算成本。(2)其次,由于所提出的AFS是为了模拟和增强由深度伪造算法造成的伪造线索,包括人脸混合操作,即人脸交换和人脸再现。然而,这种生成方案在识别由整个面部或头部合成方法生成的面部(不包括面部混合操作)伪造图像时可能表现不佳。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1103383.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大模型LLM相关面试题整理-位置编码-tokenizer-激活函数-layernorm

10 LLMs 位置编码篇 10.1.1 什么是位置编码? 位置编码是一种用于在序列数据中为每个位置添加位置信息的技术。在自然语言处理中,位置编码通常用于处理文本序列。由于传统的神经网络无法直接捕捉输入序列中的位置信息,位置编码的引入可以帮助…

Kotlin中的算数运算符

在Kotlin中,我们可以使用各种算术运算符来进行数值计算和操作。下面对这些运算符进行详细描述,并提供示例代码。 正号(正数)和负号(负数): 正号用于表示一个正数,不对数值进行任何…

电脑照片如何打包发送微信?三种方法随心选!

微信是我们沟通交流的主要工具,外出游玩拍的风景照还是办公会议保存的重要照片,大部分时候都是通过微信进行发送的,常常会遇到特别多的照片在电脑上需要发送,那么如何一次打包发送给微信好友呢?下面是三种常用的方法介…

2022最新版-李宏毅机器学习深度学习课程-P15 自动调整学习速率(learning rate)

一、使用场合 当loss函数表面崎岖不平时,可以采用这招。 被困住时不一定是小梯度,还有可能在峡谷两端来回跳跃,下不去了 例子 当误差表面是凸函数(可以想成长轴很大的椭圆)时,可能在峡谷两端交替&#x…

关于SparkRdd和SparkSql的几个指标统计,scala语言,打包上传到spark集群,yarn模式运行

需求: ❖ 要求:分别用SparkRDD, SparkSQL两种编程方式完成下列数据分析,结合webUI监控比较性能优劣并给出结果的合理化解释. 1、分别统计用户,性别,职业的个数: 2、查看统计年龄分布情况(按照年龄分段为7段&#xff0…

QML自定义可长按短按的SpinBox

默认长按10.短按1 主要难点在区分长按和短按,以1s为界限.这里我使用了四个定时器用于实现加和减的长短按操作. shortClickTimer定时器用来在鼠标松开的时候判断是否是短按: 如果是短按的话我们需要借助forbidClickTimer定时器短暂禁用Click事件,否则会出现长按松开的时候10后…

2022最新版-李宏毅机器学习深度学习课程-P22 卷积神经网络CNN

零、吴恩达专项课程引入 概念导入:边缘检测 假如有一张如下的图像,想让计算机搞清楚图像上有什么物体,有两种方法:检测图像的 垂直边缘 和 水平边缘。 如下图所示,一个 6 * 6 的灰度图像,构造一个 3 * 3 …

基于类电磁机制优化的BP神经网络(分类应用) - 附代码

基于类电磁机制优化的BP神经网络(分类应用) - 附代码 文章目录 基于类电磁机制优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.类电磁机制优化BP神经网络3.1 BP神经网络参数设置3.2 类电磁机制算法应用 4…

AI绘画使用Stable Diffusion(SDXL)绘制中国古代神兽

一、引言 说到神奇异兽,脑海中首先就会跳出我国古代神话传说中的各种神兽。比如青龙、白虎、朱雀、玄武,再比如麒麟、凤凰、毕方、饕餮等等,这些都是大家耳熟能详的的神兽。 这些神兽不仅体现了人们丰富的创造力和想象力,更是我…

day07_oop

今日内存 1.作业 2.成员变量局部变量 3.构造方法 4.对象创建过程 5.重载 零、复习 昨天 介绍面向对象编程类,属性,方法,对象定义类,设置属性,设置方法,创建对象使用对象,调用属性,调用方法内存图(创建对象,创建多个对象,多个引用指向一个对象) 类和属性,方法的关系 类是模板,其…

CUDA学习笔记3——图像卷积实现

分别采用GPU、CPU对图像进行sobel滤波处理 #include <stdio.h> #include "cuda_runtime.h" #include "device_launch_parameters.h" #include<math.h> #include <malloc.h> #include <opencv2/opencv.hpp>#include <stdlib.h…

DevEco Studio的安装和开发环境配置(详细)

记录一下这段时间备赛金砖职赛的鸿蒙应用开发 下载与安装 下载网址华为开发者联盟-智能终端能力开放,共建开发者生态 (huawei.com) 单击下载 然后跳转到下载的具体版本型号 这里我们选择window版本 下载完解压后 双击运行安装 我们需要找到一个不包含中文的地方&…

文件操作和IO详解

文件操作 和 IO 文件,File 这个概念,在计算机里,也是“一词多用”. 文件的狭义和广义 狭义的文件: 指的是硬盘上的文件和目录(文件夹) 广义的文件: 泛指计算机中很多的软硬件资源.操作系统中,把很多的硬件设备和软件设备都抽象成了文件.按照文件的方式来统一管理.例如网卡,操…

薪资27k,从华为外包测试“跳”入字节,说说我转行做测试的这5年.....

转行测试5年了 当时因为家里催促就业&#xff0c;在其中一个室友的内推下进入了一家英语教培机构&#xff0c;前期上班和工资都还算满意&#xff0c;甚至觉得自己找到了一份很稳定的工作了&#xff0c;可是好景不长&#xff0c;“双减政策”的到来&#xff0c;让公司的经济遭受…

LeetCode1389——按既定顺序创建目标数组

LeetCode1389 思路&#xff1a;先将元素存放在集合中&#xff0c;集合中的add&#xff08;index&#xff0c;value&#xff09;方法可以在指定的位置插入元素。 再创建新的数组&#xff0c;将集合中的元素存入数组&#xff0c;直接用数组的话元素移动不好操作。 public class D…

嵌入式学习笔记(58)程序运行为什么需要内存?

1.1.1.计算机程序运行的目的 程序 代码 数据 代码就是函数&#xff0c;表示加工数据的动作。 数据包括全局变量和局部变量&#xff0c;表示被加工的东西。 程序运行的目的要么重在数据结果&#xff08;有返回值&#xff09;&#xff0c;要么重在过程&#xff08;无返回值…

Java和前端都不好找工作,计算机毕业可以干嘛?

37了&#xff0c;11年多的Java经验&#xff0c;其他什么mysql&#xff0c;linux&#xff0c;Vue等等都会&#xff0c;现在失业在家已经1年多&#xff0c;不指望入职摸鱼了&#xff0c;寻思着转行中。祝你好运 这是某问答社区&#xff0c;有个大四学生提问&#xff0c;好迷茫啊马…

华为云云耀云服务器L实例评测|部署war格式的web项目

目录 准备服务器安装java安装tomcat配置tomcat部署Web Adaptor总结 对于很多刚开始接触编程的朋友&#xff0c;通常都期待自己能部署一个网站&#xff0c;并可以在公网上访问。这就需要一台云服务器。最近发现华为云 推出了 云耀云服务器L实例&#xff0c;使用后&#xff0c;体…

R语言进度条:txtProgressBar功能使用方法

R语言进度条使用攻略 在数据处理、建模或其他计算密集型任务中&#xff0c;我们常常会执行一些可能需要很长时间的操作。 在这些情况下&#xff0c;展示一个进度条可以帮助我们了解当前任务的进度&#xff0c;以及大约还需要多长时间来完成&#xff0c;R语言提供了几种简单且灵…

多模态论文串讲

多模态论文串讲 近几年&#xff0c;尤其是 CLIP 出现以来&#xff0c;多模态学习的发展异常火爆。除了传统的VQA、图文检索、图像描述等&#xff0c;还有受启发于 CLIP 的新任务 Language Guided Detection/Segmentation、文本图像生成、文本视频生成等。本次串讲主要还是围绕…