论文阅读-FCD-Net: 学习检测多类型同源深度伪造人脸图像

一、论文信息

论文题目:FCD-Net: Learning to Detect Multiple Types of Homologous Deepfake Face Images

作者团队:Ruidong Han , Xiaofeng Wang , Ningning Bai, Qin Wang, Zinian Liu, and Jianru Xue (西安理工大学,西安交通大学)

论文网址:FCD-Net: Learning to Detect Multiple Types of Homologous Deepfake Face Images | IEEE Journals & Magazine | IEEE Xplore

发表期刊:IEEE Transactions on Information Forensics and Security

二、动机与贡献

动机:目前没有一种方法可以检测到多种类型的同源深度伪造图像(对同一张图片用不同伪造方法生成)。

贡献:

  1. 提出了一种基于多分类任务的深度伪造人脸图像检测方法,该方法可以检测整个人脸合成、人脸交换、人脸属性处理和真实人脸图像。该方法基于一个设计良好的网络框架,包括面部突触显著性模块(FSS)、轮廓细节特征提取模块(CDFE)和区分特征融合模块(DFF)三个模块。

  2. 该网络框架在相似层时参数较轻,且具有较高的检测精度,对内容保留操作具有较强的鲁棒性。方法的泛化效果优于其他SOTA方法。

  3. 创建了一个新的数据集。该数据集由真实人脸图像和三种深度伪造人脸图像(全人脸合成、人脸交换、人脸属性处理)组成,这些真实图像通过不同的深度伪造技术生成,我们称之为同源深度伪造人脸图像数据集HDFD。

三、方法

1、网络框架:该方法基于一种新的网络框架FCD-Net,该框架由面部突触显著性模块(FSS)、轮廓细节特征提取模块(CDFE)和区分特征融合模块(DFF)三个模块组成。

2、设计动机:

  • 1)目前的深度伪造检测网络模型一般采用标准卷积来实现图像特征提取,由于降采样会导致重要的局部细节信息的丢失;2)标准卷积的单一尺寸在一定程度上限制了特征提取的能力;3)深度伪检测的类间差异远远小于模式识别领域的分类差异。因此,标准卷积很难获得全面、准确的特征信息。—>利用多尺度深度可分离卷积的方法构建FSS模块,通过不同尺度的卷积核对多尺度图像特征进行聚合,提取出更丰富的详细特征,提高特征映射的分辨率。

  • 反向残差结构可以在保证网络性能的同时大大降低网络参数,因此我们设计了集成了反向残差和CBAM的CDFE模块,该模块由多个子模块即CDi组成。CBAM可以增强特性中的有用信息,并过滤掉不重要的信息。多CDs的级联不仅加深了网络深度,提取高语义特征,更加关注关键面部特征,而且与残差结构相比,参数更低,效率更高。

  • 目前深度伪造检测方法中使用的全局平均池造成的信息丢失,我们对空间金字塔池方法进行了改进,并在网络的全连接层之前使用DFF模型避免失去可区分的差异特征。利用DFF,该网络可以更加关注特征的全面性,提高深度伪检测的分类能力和鲁棒性。

A. Facial Synaptic Saliency Module, FSS(面部突触显著性模块)

①动机:考虑到深度可分离卷积具有在保持检测精度的情况下可以大大减少网络参数和计算量的优点,我们通过在网络中引入多尺度的深度可分离卷积来设计FSS模块。

②组成:FSS由三个平行的分支组成,每个分支包含两个深度可分离的卷积层。第一层使用的内核分别是7×7、5×5和3×3,padding分别为3、2和1,步幅为1。第2层的内核分别为5×5、3×3、1×1,padding分别为2、1、0,步幅为2。每个分支第一层用于提取特征,第二层用于过滤前一层引入的噪声。这样,就可以提高特征融合的有效性。

③作用:由于FSS通过聚合多尺度的图像特征信息来捕获不同尺度的感受野,因此我们的网络可以提取出更丰富的详细特征和更清晰的面部特征。对于类间间隙较小的伪造图像,FSS可以提取任何图像分辨率下的特征,获得通道上“最有价值”的特征分布,提高特征图的分辨率,忽略背景信息。

④特征可视化:使用FSS提取的人脸特征图比标准卷积更清晰。我们的方法提供检测多种伪造类型的鉴别性特点。其原因是两层深度可分离卷积结构具有较强的详细特征表示和去噪能力,提高了人脸特征信息的丰富性。

B. Contour Detail Feature Extraction Module, CDFE(轮廓细节特征提取模块)

①设计动机:为了减少网络参数,提高计算效果,避免了更深层次网络的梯度消失或爆炸,我们采用了反向残差结构。为了提取能够突出面部特征详细信息的特征,我们在反向残差结构中引入了一种注意机制,以关注有价值的特征而忽略背景信息。因此,我们设计了CDFE来整合反向残差结构和CBAM。

②组成:CDFE包括8个级联CD,每张CD包含两个与内核1×1的标准卷积,一个与内核3×3的深度(DW)卷积,一个CBAM和一个与1×1标准卷积的瓶颈结构。8个CD子模块分为四组,即CD1、CD2、CD3和CD4,分别包含1个、3个、3个和1个CD子模块。

③作用:利用级联CD获取不同大小的特征图,以更加关注关键的面部特征,并可以提取深层图像特征信息,获得高级的语义特征。

④特征可视化:使用CDFE可以提取出更清晰的面部特征和轮廓信息,如图8(b)∼(f)所示。这说明CDFE可以忽略背景信息,增强可识别的特征。

C. Distinguishing Feature Fusion Module, DFF(区分特征融合模块)

①设计动机:为了避免全局平均池化导致的重要信息丢失,将DFF模块设置在全连接层之前。

②作用:DFF是一种基于SPP(空间金字塔池化)的改进池化方法,它将局部特征映射到不同维度空间并将其融合,可以生成固定大小的特征向量,有效地提取多尺度信息,防止区分差异特征的减少。

③结构说明

D. Training Optimization Strategy

1、损失函数:

①使用多分类损失Softmax

②训练损失函数变化图示:人脸交换、人脸属性操纵、整个人脸合成和真实人脸图像都很明显。然而,我们可以看到,面部属性处理与真实的人脸图像之间存在部分重叠,这会导致检测精度的下降。

2、优化器: 使用AdamW优化器。

3、学习率: 使用余弦衰减的学习率与warm-up策略。

四、实验

A. 数据集与预处理流程

①数据集组成:

(1)真实的人脸图像来自FFHQ ,伪造的图像是由我们自己通过StyleGAN、FaceAPP和深度伪造(FaceSwap)从真实的图像中生成的。我们将这种伪造的图像定义为同源的深度伪造。

(2)HDFD由四种类型的图像组成,它们是真实的人脸图像、整个人脸合成、人脸交换和人脸属性操作,每个类别包含8000张图像。

(3)四种类型的图像按9:1的比例分为训练集和验证集(测试集),其中训练集包含28800张图像(每类别7200张图像),验证集(测试集)包含3200张图像(每类别800张图像)。

B. 实验结果准确度

C. 性能分析

①为了探究AUC的变化,我们定义了一个新的评价指标DR(%),它反映了AUC的下降率。模型的泛化性和鲁棒性随着DR的降低而提高。

泛化性:

①重新组织了一个名为Collacted的数据集,该数据集包含四种类型的人脸图像(真实人脸图像、整个人脸合成图像、人脸属性操作图像和人脸交换图像)进行测试。收集到的数据集包括3200张图像,每一种深度伪造包含800张图像。其中,真实的人脸图像从社交网络下载,整个人脸合成图像(由ProGAN生成)来自DFFD,人脸属性操作图像(由AttGAN生成)来自文献[57]提供的数据,人脸交换图像来自FF++数据集。

鲁棒性:

①为了研究该方法的鲁棒性,我们分别通过添加盐和胡椒噪声、高斯噪声、高斯模糊和JPEG压缩来对测试数据集的图像进行处理。

②ACC和AUC的值远高于其他SOTA方法,而DR的值也低于其他SOTA方法。这表明,我们的方法对盐和胡椒噪声和高斯噪声都具有鲁棒性。

③发现Meso4和DSP-FWA在鲁棒性方面相对最优,但它们的网络层较少。因此,我们推断浅层低级特征对于图像JPEG压缩的鲁棒性检测至关重要,因为浅层网络可以捕获更丰富的感知特征。这为我们下一步提高图像JPEG压缩的鲁棒性提供了很大的灵感,我们可以通过根据不同权重的模块设计,有效地将浅层低级感知特征与深层高级语义特征融合。

D. 消融实验

①即使图像经过了后处理(添加噪声),FSS的引入也显著提高了ACC和AUC指标。这表明FSS在降采样过程中有提取高分辨率的面部特征和滤波噪声的能力。CDFE和DFF对提高该方法的泛化性起着重要的作用。

五、总结

①工作总结:本研究中,我们提出了一种基于多种类型的同源深度伪造人脸图像检测的多分类方法。它可以检测真实的人脸图像、整个人脸合成、人脸交换和人脸属性处理。该方法基于一个设计良好的网络模型FCD-Net,由FSS、CDFE和DFF组成。

②具体:FSS的作用是获得不同尺度的接受域,提高网络提取更清晰的面部特征的全面性和丰富性的能力,同时大大减少网络参数和计算量。利用CDFE技术提高了网络提取关键信息,特别是面部特征和轮廓信息的能力,从而提高了人脸深度造假的检测精度。采用不同的DFF池化内核进行池化后融合,不仅提取了总体特征,而且提高了该方法的鲁棒性

③展望讨论:还测试了自然伪造的图像(非面孔)。结果表明,该方法不仅局限于检测伪造的人脸图像,还可以检测其他自然伪造图像。这是因为假图像(无论是人脸图像还是自然图像)都有伪造的痕迹,而我们的模型捕捉了这些不同的特征来区分真实图像和假图像。

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

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

相关文章

GB28181学习(十)——视音频文件下载

要求 SIP服务器接收到媒体接收者发送的视音频文件下载请求后向媒体流发送者发送媒体文件下载命令,媒体流发送者采用RTP将视频流传输给媒体流接收者,媒体流接收者直接将视频流保存为媒体文件;媒体流接收者或SIP服务器可通过配置查询等方式获取…

【Hello Algorithm】暴力递归到动态规划(五)

死亡概率问题 现在给定你三个参数 N M K 怪兽有 N 滴血 等着英雄来砍自己 英雄每一次打击会让怪兽流失 0 ~ M 滴血 概率相同 请求在K次之后 英雄把怪兽砍死的概率 递归版本 面对这个问题 我们首先来想递归函数怎么写 首先是返回值 我们无法直接返回一个概率给上层 所以我…

gRPC之gRPC转换HTTP

1、gRPC转换HTTP 我们通常把RPC用作内部通信,而使用Restful Api进行外部通信。为了避免写两套应用,我们使用grpc- gateway 把gRPC转成HTTP。服务接收到HTTP请求后,grpc-gateway把它转成gRPC进行处理,然后以JSON 形式返回数据。…

Go 语言的垃圾回收机制:自动化内存管理

在编程的世界中,内存管理一直是一个重要的问题。不正确的内存管理可能导致内存泄漏和程序崩溃。Go 语言以其高效的垃圾回收机制而闻名,使开发者从手动内存管理的烦恼中解脱出来。本文将深入探讨Go语言的垃圾回收机制,介绍它的工作原理以及如何…

消息队列 RocketMQ 消息重复消费问题(原因及解决)

目录 1.出现重复消费的原因 2.解决 2.1 数据库插入法 2.2 使用布隆过滤器 2.2.1 添加hutool的依赖 2.2.2 测试生产者 2.2.2 测试消费者 1.出现重复消费的原因 BROADCASTING(广播) 模式下,所有注册的消费者都会消费,而这些消费者通常是集群部署的…

ubuntu20.04下安装nc

前言 nc在网络渗透测试中非常好用,这里的主要记一下Ubuntu20.04中nc的安装 编译安装 第一种方式是自己编译安装,先下载安装包 nc.zip wget http://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1.tar.gz/download -O netcat-0.7.…

当你学会这项python数据提取神器时,请做好升职准备!

一、什么是 jsonpath ● JsonPath 是一种信息抽取类库,是从 JSON 文档中抽取指定信息的工具,提供多种语言实现版本,包括:JavaScript、Python、PHP 和 Java。 二、特点 ● 只能提取 JSON 格式的数据 ● 提取后的数据类型与原数据…

2023秋招笔试算法Python3题解

诸神缄默不语-个人CSDN博文目录 签两方了,感觉秋招已经结束了,所以发布一下之前写的笔试编程题题解。 不全。可能有些题我会继续补。 不保证能过。 后续依然有可能继续刷算法题,但是就另外专门写博文来解析了。 打码是因为原则上其实是不让公…

国密https访问

前言 现在的SSL的加密算法实际上主要是国际算法,包括JDK,Go等语言也仅支持国际算法加密(毕竟是国外开源项目),hash。随着国密算法的普及,比如openssl就支持国密了,还要新版本的Linux内核也开始…

【Python第三方包】实现自动化(pyautogui包)

文章目录 前言一、如何安装pyautogui二、pyautogui鼠标操作2.1 鼠标移动2.2 鼠标点击2.3 拖动鼠标三、键盘操作3.1 按下和释放按键3.2 键盘输入四、截图和图像识别4.1 截图4.2 图像识别总结前言 自动化是现代计算机编程和软件开发中的一个重要概念。通过自动化,我们可以节省时…

解决因d3dx9_30.dll丢失程序无法运行,电脑缺失d3dx9_30.dll报错解决方案

我们的生活和工作都离不开电脑。然而,电脑作为一种复杂的工具,也会出现各种各样的问题。其中,丢失d3dx9_30.dll文件是一个常见的问题。d3dx9_30.dll是DirectX的动态链接库文件,如果丢失或损坏,可能会导致许多软件和游戏…

[论文笔记]GPT-1

引言 今天带来论文Improving Language Understanding by Generative Pre-Training的笔记,它的中文题目为:通过生成式预训练改进语言理解。其实就是GPT的论文。 自然语言理解可以应用于大量NLP任务上,比如文本蕴含、问答、语义相似和文档分类。虽然无标签文本语料是丰富的,…

Js使用ffmpeg在视频中添加png或gif

Js使用ffmpeg在视频中添加png或gif ffmpeg 使用场景是需要在web端对视频进行编辑 添加图片和gif。 注意: 以下所有的使用案例均基于vue3 setup。 同时由于ffmpeg版本不同会导致使用的api不同,使用案例前需要注意ffmpeg版本问题。 如果使用的是0.12需要使用新的…

通讯录和内存动态管理

目录 (通讯录)动态增长版 实现效果 找单身狗 题目 源码 思路 三个内存函数的模拟实现 模拟实现strncpy 模拟实现strncat 模拟实现atoi (通讯录)动态增长版 该版本通讯录在原版的基础上增加了检查容量函数,实现了通讯录的动态…

Linux中的shell编程

shell编程 重定向 cat >temp 输入内容到temp文件中,如果存在temp则覆盖,没有则新建 cat >>temp 追加内容 cat temp1>>temp2 将temp1中的内容追加到temp 命令执行控制符号 ; 一个命令行执行多条语句 命令替换符 1.双引号&#…

插槽的基本使用和作用域插槽

1.编译作用域 父级模板里的所有内容都是在父级作用域中编译的;子模板里的所有内容都是在子作用域中编译的。 即父子组件只能使用各自作用域的数据 2.插槽的后备内容(slot中默认配置内容) 可以在slot中提前设置一段内容作为默认值&#xf…

数据结构--线性表回顾

目录 线性表 1.定义 2.线性表的基本操作 3.顺序表的定义 3.1顺序表的实现--静态分配 3.2顺序表的实现--动态分配 4顺序表的插入、删除 4.1插入操作的时间复杂度 4.2顺序表的删除操作-时间复杂度 5 顺序表的查找 5.1按位查找 5.2 动态分配的方式 5.3按位查找的时间…

Spark简介

文章目录 一、简介二、安装1、简介2、本地部署(Local模式)2.1 安装2.2 官方WordCount实例 3、Standlong模式3.1 简介2.2 安装集群2.3 官方测试案例 4、Yarn模式3.1 安装3.2 配置历史服务器3.3 配置查看历史日志 5、Mesos模式6、几种模式对比7、常用端口 三、Yarn模式详解1、简介…

3. 无重复字符的最长子串 --力扣 --JAVA

题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 解题思路 遍历字符串,遇到重复字符计算进行下一个子串的统计;从发生重复的字符第一次出现的位置进行继续循环;输出最长子串的长度。 代码展示 class S…

sql语句数据库查询:如果当前元素已经使用过,下拉框不显示该元素该如何查询?

写宿舍管理系统,做到宿管和楼栋关系时,新增一个宿管,一个宿管管理一栋楼,如果当前楼栋已选择,那么就不能再选,如图所示: 最开始使用的是: SELECT DISTINCT b.building_num,b.TYPE,b…