论文阅读-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
二、动机与贡献
动机:目前没有一种方法可以检测到多种类型的同源深度伪造图像(对同一张图片用不同伪造方法生成)。
贡献:
-
提出了一种基于多分类任务的深度伪造人脸图像检测方法,该方法可以检测整个人脸合成、人脸交换、人脸属性处理和真实人脸图像。该方法基于一个设计良好的网络框架,包括面部突触显著性模块(FSS)、轮廓细节特征提取模块(CDFE)和区分特征融合模块(DFF)三个模块。
-
该网络框架在相似层时参数较轻,且具有较高的检测精度,对内容保留操作具有较强的鲁棒性。方法的泛化效果优于其他SOTA方法。
-
创建了一个新的数据集。该数据集由真实人脸图像和三种深度伪造人脸图像(全人脸合成、人脸交换、人脸属性处理)组成,这些真实图像通过不同的深度伪造技术生成,我们称之为同源深度伪造人脸图像数据集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池化内核进行池化后融合,不仅提取了总体特征,而且提高了该方法的鲁棒性。
③展望讨论:还测试了自然伪造的图像(非面孔)。结果表明,该方法不仅局限于检测伪造的人脸图像,还可以检测其他自然伪造图像。这是因为假图像(无论是人脸图像还是自然图像)都有伪造的痕迹,而我们的模型捕捉了这些不同的特征来区分真实图像和假图像。
相关文章:

论文阅读-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 (西安理工大学,西安交…...

云服务器快速搭建网站
目录 安装Apache Docker 安装 Mysql 安装 Docker 依赖包 添加 Docker 官方仓库 安装 Docker 引擎 启动 Docker 服务并设置开机自启 验证 Docker 是否成功安装 拉取 MySQL 镜像 查看本地镜像 运行容器 停止和启动容器 列出正在运行的容器 安装PHP环境 搭建网站 安装…...

小程序首页搭建
小程序首页搭建 1. Flex布局是什么?2. 容器的属性2.1 flex-direction属性2.2 flex-wrap属性2.3 flex-flow属性2.4 justify-content属性2.5 align-items属性2.6 align-content属性 二.首页布局搭建二.1moke模拟数据实现轮播图4.信息搭建 Flex弹性布局 1. Flex布局是…...

5、使用 pgAdmin4 图形化创建和管理 PostgreSQL 数据库
通过上几篇文章我们讲解了如何安装 PostgreSQL 数据库软件和 pgAdmin4 图形化管理工具。 今天我们继续学习如何通过 pgAdmin4 管理工具图形化创建和管理 PostgreSQL 数据库。 一、PostgreSQL的基本工作方式 在学习如何使用PostgreSQL创建数据库之前,我们需要了解一…...

EtherCAT转Modbus-TCP协议网关与DCS连接的配置方法
远创智控YC-ECTM-TCP,自主研发的通讯网关,将为你解决以太网通讯难题。YC-ECTM-TCP是一款EtherCAT主站功能的通讯网关,能够将EtherCAT网络和Modbus-TCP网络连接起来。它可以作为EtherCAT网络中的主站使用,同时也可以作为Modbus-TCP…...

合伙企业的执行事务合伙人委派代表是什么样的存在
当合伙企业的执行事务合伙人为法人或非法人组织时,通常会委派自然人代表其执行合伙事务,特别是各类投资基金、信托、资产证券化等合伙企业类型的SPV中,由法人执行事务合伙人委派代表执行合伙企业事务比较常见,由此可能出现合伙企业…...

visual studio设置主题和背景颜色
visual studio2019默认的主题有4种,分别是浅白色、深黑色、蓝色、蓝(额外对比度),背景颜色默认是纯白色RGB(255,255,255)。字体纯白色看久了,眼睛会感到酸痛、疲劳,建议改成浅白RGB(250,250,250)、豆沙绿RGB(85,123,105)、透明蓝白…...

[JVM]问下,对象在堆上的内存分配是怎样的
Java 技术体系的自动内存管理,最根本的目标是自动化地解决两个问题:自动给对象分配内存以及自动回收分配给对象的内存 这里面最重要的就是,对象在堆上的内存分配 这篇文章来具体讲讲 堆整体上来说,主要分为 新生代 & 老年代 新生代又分为: Eden 区和 Survivor 区, Survivo…...

TCP/IP网络分层模型
TCP/IP当初的设计者真的是非常聪明,创造性地提出了“分层”的概念,把复杂的网络通信划分出多个层次,再给每一个层次分配不同的职责,层次内只专心做自己的事情就好,用“分而治之”的思想把一个“大麻烦”拆分成了数个“…...

数据结构-----红黑树的插入
目录 前言 红黑树的储存结构 一、节点旋转操作 左旋(Left Rotation) 右旋(Right Rotation) 二、插入节点 1.插入的是空树 2.插入节点的key重新重复 3.插入节点的父节点是黑色 4.插入节点的父节点是红色 4.1父节点是祖父…...

Excel大量表格选择,快速定位表格
excel有大量表格,快速定位表格方法。 在这个区域电机鼠标右键 出现表格选择。(此处方便查看15个表格),如果超过15个表格可以选择其他工资表。 选择其他工作表会弹出列表框如下图 特此记录 anlog 2023年10月12日...

力扣环形链表(1)进阶环形链表(2)及环形链表的约瑟夫问题
为了加深对环形链表的理解和掌握,这两道题是很不错的选择。 这里所说环形链表不是一个圈圈的结构,而是带环链表。 链接:环形链表(1) 注意这里链表的长度 所以要注意链表是否为空 第一种方法,应该是比较容易…...

linux文件权限与目录配置
用户与用户组 linux一般将文件可读写的身份分为三个类别:拥有者(owner)、所属群组(group)、其他人(other) 三种身份都有读、写、执行等权限 文件拥有者 linux是个多人多任务的系统,…...

2023年10月wxid转微信号方法
在9月份tx做了一次调整,以前很多wxid转微信号的办法都失效了。 今天分析了一下微信。捣鼓了一下午。现在已经实现了wxid转微信号。不管对方是否在群里,是否是你的好友 都能转。一分钟出60条左右。 我们先创建一个文本文件,将要转换wxid 放进…...

【Spring Boot 源码学习】@Conditional 条件注解
Spring Boot 源码学习系列 Conditional 条件注解 引言往期内容主要内容1. 初识 Conditional2. Conditional 的衍生注解 总结 引言 前面的博文,Huazie 带大家从 Spring Boot 源码深入了解了自动配置类的读取和筛选的过程,然后又详解了OnClassCondition、…...

jupyter_快速开始
文章目录 使用 Anaconda 启动 jupyter-lab纯 python 环境使用 jupyter-notebook纯 python 环境使用 jupyter-labjupyter-lab 配置文件相关jupyter-notebook 配置文件相关jupyter-lab 与 jupyter-notebook 的关系与区别 使用 Anaconda 启动 jupyter-lab 启动一个cmd 命令行&…...

英特尔 SGX 技术概述
目录 介绍概述指示结构Memory安全区页面缓存Enclave Page Cache (EPC)安全区页面缓存映射Enclave Page Cache Map (EPCM) Memory ManagementStructures页面信息Page Information (PAGEINFO)安全信息Security Information (SECINFO)分页加密元数据Paging …...

SpringBoot核心功能与基础配置
SpringBoot简介 原先的Spring程序缺点,包括依赖设置繁琐,每项jar的引用都需要自己撰写。并且配置繁琐,配置文件中也需要自己写加载bean等。由此针对原始的Spring程序,Pivotal团队提供的全新框架——SpringBoot,其设计…...

vue3后台管理框架之Mock开发
前言 在前后端对接中,有时后端的接口数据没有 那么快能给出,因此我们可以通过mock模拟自己的请求数据,在后端接口没有给出的同时,先使用mock请求的数据完成前端相关的逻辑 官方文档:vite-plugin-mock vite 的数据模…...

03_51单片机点亮LED灯
51单片机是一种非常常见的单片机型号,广泛应用于各种嵌入式系统和电子设备中。LED灯是一种常见的输出设备,用于显示信息或指示状态。下面是关于51单片机控制LED灯的介绍: 1. 连接LED灯:将LED的正极连接到51单片机的一个I/O引脚&a…...

【前端设计模式】之备忘录模式
备忘录模式是一种行为设计模式,它允许在不破坏封装性的前提下捕获和恢复对象的内部状态。在前端开发中,备忘录模式可以用于保存和恢复用户界面的状态,以及实现撤销和重做功能。 备忘录模式特性: 封装了对象的状态:备…...

复习Day15:栈与队列part02:20. 有效的括号、1047.删除字符串中所有相邻重复项
我用的方法是在leetcode再过一遍例题,明显会的就复制粘贴,之前没写出来就重写,然后从拓展题目中找题目来写。辅以Labuladong的文章看。然后刷题不用CLion了,使用leetcode自带的IDE模拟面试环境。 历史博客链接: http…...

基于Java的宠物商城管理系统设计与实现(源码+lw+部署文档+讲解等)
文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…...

Python的GIL存在的情况下,是否还有必要添加线程锁。
GIL锁的产生: 为了保证在单线程情况下,Python的正常执行和效率,GIL锁产生了,由于只有一把锁就不会产生死锁也不用切换。 对于Python语言而言,只有CPython解释器(用C语言编写的Python解释库)存在…...

基于下垂控制的孤岛双机并联逆变器环流抑制MATLAB仿真模型
微❤关注“电气仔推送”获得资料(专享优惠) 在实际应用中逆变器都是并联运行的,但是逆变器的并联运行也存在不少问题,由于线路阻抗差异、各个逆变器输出端瞬时电压幅值不同等,都容易导致环流的出现。环流会导致逆变器损耗增加,从而影响微电网的输出效率…...

spring事务面试题
1.Spring 事务实现方式有哪些? 事务就是一系列的操作原子操作,Spring事务机制主要 包括声明式事务和编程式事务。 编程式事务:通过编程的方式管理事务,自己设置未提交模式,自己获取连接,自己预编译,自己回…...

C++标准库算法整理
目录 1、数值操作 1.1、std::accumulate 1.2、std::inner_product 1.3、std::partial_sum 1.4、std::exclusive_scan 1.5、std::inclusive_scan 1.6、std::reduce 2、相邻元素 2.1、std::adjacent_difference 2.2、std::adjacent_find 2.3、std::unique 2.4、std::u…...

【Codeforces】Codeforces Round 903 (Div. 3)【待补】
Dashboard - Codeforces Round 903 (Div. 3) - Codeforces Problem - C - Codeforces Problem - D - Codeforces...

workerman 运行时报错 Call to undefined function posix_getpid()
使用 验证php扩展是否齐全 curl -Ss https://www.workerman.net/check | php缺少posix 下载 在 Linux 系统上,可以使用包管理器来安装 php-posix 扩展,例如 Ubuntu 系统可以通过以下命令进行安装: sudo apt-get install php-posix如果你使用…...

【探讨C++中的临时对象:一时之物还是永恒之道?】
在C编程中,临时对象是一个经常引起讨论的话题。它们是什么,为什么它们存在,以及如何正确使用它们?本文将深入探讨C中的临时对象,帮助您理解它们的含义和用途。 什么是临时对象? 临时对象(Temp…...