论文阅读-Multi-attentional Deepfake Detection

2023-11-12

一、论文信息:

  • 题目:Multi-attentional Deepfake Detection
  • 作者团队:

  • 会议:CVPR 2021

二、背景与创新:

  • 背景:之前大多数方法将deepfake检测模型作为一个普通的二分类问题,即首先使用骨干网络提取全局特征,然后将其输入二分类器(real/fake)。但由于在鉴伪任务中,真假图像之间的差异往往是微妙的和局部的,作者认为普通的解决方法不是最佳的。
  • 创新:本文将Deepfake表述为一个细粒度的分类问题,并提出了一种新的多注意力的Deepfake检测网络。具体有以下几部分:
    • 多个空间注意力头,使网络关注不同的局部区域,并从多个人脸注意区域中获取局部区别特征;
    • 纹理增强块,放大浅层特征中的细微伪影;
    • 在注意力图的指导下,聚合低层纹理特征和高层语义特征。
    • 为了解决网络的学习困难,进一步引入了一个新的区域独立性损失和一个注意力引导的数据增强策略,以对抗学习的方式辅助网络训练。

注意区域被分离并响应不同的区别特征。

三、网络结构

3.1 overview

基于此,本文作者提出的多注意力网络框架如下图表示:

三个关键组件集成到主干网络中:

  • 使用一个注意力模块来生成多个注意力图。
  • 使用密集连接的卷积层作为纹理增强模块,可以从浅层特征图中提取和增强纹理信息。
  • 利用双线性关注池(BAP)代替全局平均关注池化。使用贝叶斯概率方法从浅层收集纹理特征矩阵,从深层保留语义特征。

3.2 方法

1、多注意力图

  • 输入I,经过Backbone Layers 1得到的Shallow feature Fsla(I),将Fsla(I)输入到设计的attention block中,得到Attetion maps。其中attention block由一个1×1的卷积层,1个BN层,1个非线性激活RELU组成。真假人脸之间的差异通常是微妙的,并且发生在局部,这并不容易被单注意力网络结构捕获。所以将注意力分散到多个局部,更有效地收集局部特征。

2、纹理增强 

  • 将Fsla(I)经过一个局部平均池化下采样得到池特征图(Pooled feature map)D,大多数检测模型都没有注意到,伪影通常在浅层特征的纹理信息中较为突出。这里的纹理信息代表浅层特征的高频分量。因此,为了保留更多的纹理信息来捕捉这些伪影,设计了一个纹理特征增强block。其中采用归一化平均池化替换全局平均池化。
  • 我们在特征层定义残差来表示纹理信息如下:

这里的T包含了Fslt(I)的大部分纹理信息。然后使用3层密集连接的卷积块来增强T,输出记为F∈R_C f×Hs×Ws,称为“textual feature map"。

3、双线性注意力池化(BAP)

  • 对浅层特征图和深层特征图都使用双向BAP,为了提取浅层纹理特征,我们首先使用双线性插值将注意力图调整到与特征图相同的比例,如果它们不匹配的话。然后,我们分别用每个注意力图Aka元素乘纹理特征图F,得到部分纹理特征图Fk。
  • 考虑到不同区域范围之间的差异,如果使用传统的全局平均融合,融合后的特征向量会受到注意力图强度的影响,这违背了关注纹理信息的目的。为了解决这个问题,我们设计了一个标准化的平均池:

通过叠加Vk得到纹理特征矩阵P ∈ R_MxCf,然后送进分类器。

3.3 注意力图正则化的区域独立性损失

由于缺乏细粒度级别的标签,所以容易陷入网络降级的情况。即不同的注意力图往往集中在同一区域,这不利于网络捕捉给定输入的丰富信息。作者希望每个注意力图都位于固定的语义区域。所以提出一个区域独立性损失,以减少特征图之间的重叠,并保持不同输入的一致性。通过中心损失,区域独立性损失定义如下:

其中B是批大小,M是注意力的数量,Min表示特征与相应的特征中心之间的边界,并且随着Yi是0还是1而变化,Mout是每个特征中心之间的边界,其中C被定义为:

其中 α为特征中心的更新速率,每个epoch都衰减它。

L_RIL的第一部分是类内loss,目的是为了将V逼近特征中心c,第二部分是类间loss,排斥分散的特征中心。作者将这种区域独立性损失与传统的交叉熵损失相结合,Lce为交叉熵损失,λ1=λ2=1,最后Loss被定义为:

3.4 注意力引导的数据增强

为了让不同的注意力图注意不同的区域,作者提出了注意力引导的数据增强的方法

注意力图Ak 经过归一化以后得到Ak∗∈R_H × W,然后利用高斯模糊生成一个退化的图片,最后再利用Ak∗作为权重来退化原始图片.

作用:

  1. 该方法可以对某些区域进行模糊化处理,保证模型能够从其他区域学习到更为稳健的特征;
  2. AGDA可以偶然删除最显著的区分区域,强制Attention map关注在不同的区域(不同的标签);
  3. AGDA机制可以防止单个关注区域过度扩展,并鼓励关注块探索各种关注区域划分形式。

四、实验

  1. 实验细节
  • α=0.5,每epoch乘0.9;
  • mout=0.2, min=0.05, 0.1 respectively for real and fake images;
  • et the resize factor 0.3 and Gaussian blur σ = 7;
  • Adamoptimizer with learning rate 0.001 and weight decay 1e-6;
  • batch size 48;
  • 对齐的面部图像保存为380 × 380大小的输入。
  1. 采用EfficientNet-b4作为backbone network,包括7层主要的层在EfficientNet中,分别用L1-L7表示。由于观察到细微的伪影倾向于被网络较浅层的纹理特征所保留,所以选择L2和L3。
  2. FF++数据集训练,celeb-DF跨数据集评估:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

论文阅读-Multi-attentional Deepfake Detection 的相关文章

随机推荐

  • 快速学习Flutter

    文章目录 写在前面 Flutter官网 Flutter基本知识 Flutter 的特性 Flutter Windows环境搭建 查看文档时有几点注意 1 中国镜像地址 2 搭建 Android 开发环境 3 Flutter SDK Flut
  • MyCAT实现MySQL的读写分离

    在MySQL中间件出现之前 对于MySQL主从集群 如果要实现其读写分离 一般是在程序端实现 这样就带来一个问题 即数据库和程序的耦合度太高 如果我数据库的地址发生改变了 那么我程序端也要进行相应的修改 如果数据库不小心挂掉了 则同时也意味
  • 全排列、子集合subset、目标和combation、树的路径和问题

    主要的方法 深度优先搜索 回溯算法 宽度优先搜索 是否有相同元素需要考虑等问题 针对所给问题 确定问题的解空间 首先应明确定义问题的解空间 问题的解空间应至少包含问题的一个 最优 解 确定结点的扩展搜索范围 for等一系列循环等问题 以深度
  • matlab如何读取一个文件夹下所有文件,Matlab获取一个文件夹下所有文件名

    Matlab获取一个文件夹下所有文件名 fileFolder fullfile D MATLAB bin trc dirOutput dir fullfile fileFolder trc fileNames dirOutput name
  • 解决IDEA中ctrl+shift+f快捷键搜索没反应的问题

    文章目录 0写在前面 1 问题解决 1 1 直接切换英文输入法 1 2 win10 输入法 1 3 搜狗输入法 1 4 其他 2 写在末尾 0写在前面 今天想使用 在文件中查询 功能 使用ctrl shift f进行搜索的时候 疯狂的按组合
  • keil CMSIS_DAP.DLL missing

    由于keil版本支持问题 可以下载以下版本的CMSIS DAP DLL进行替换 CMSIS DAP DLL官方下载地址 百度云下载 提取码 g8ia keil安装目录如 D Keil v5 ARM BIN 先删除原来的CMSIS DAP D
  • MySQL存储过程遍历游标用loop嵌套循环的例子

    CREATE DEFINER root PROCEDURE procInitData IN sId1 INT IN sId2 INT IN sId3 INT IN sId4 INT IN sId5 INT IN sId6 INT IN sI
  • 函数调用约定cdecl、stdcall、fastcall

    我们在编写代码的时候都会调用函数 有点函数有多个参数 例如 int test int a char b char c 上面的函数调用方式是test 10 c tinus 那么这个函数编译器是怎么知道有多少个参数 参数类型是什么了 因为函数调
  • 基于FPGA的LCD1602驱动(含代码)

    目录 LCD1602显示原理 LCD1602接口 LCD1602操作时序 1 读操作时序 2 写操作时序 LCD1602初始化 LCD1602读写数据 LCD1602显示原理 将LCD显示屏与FPGA连接之后 需要做的第一件事就是进行LCD
  • Redis底层封装细节

    日常我们程序员在使用redis做缓存的时候 很少会直接使用到RedisTemplate直接操作k v键值对 而是通过对RedisTemplate原生代码的封装 来构建我们日常便于使用习惯的代码来操作数据 这里我分享一下日常基本的对Redis
  • 【华为OD机试】矩阵元素的边界值【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 给定一个N M矩阵 请先找出M个该矩阵中每列元素的最大值 然后输出这M个值中的最小值 输入描述 无 输出描述 无 备注 N和M的取值范围均为 0 100 用例1 输入
  • umi+dva+antd后台管理系统(3)---完整登录逻辑

    源码在这儿MyGithub 觉得不错留颗小星星哦 界面准备好啦 开始写登录 1 回顾一下redux是什么 redux 是一个应用数据流框架 主要解决了组件间状态共享的问题 原理是集中式管理 可以让数据更可控 react 中所有数据处理都在
  • JS加减乘除位移方法封装

    常用加减乘除等方法汇总 直接上代码 逻辑简单 代码如下 div 加减乘除位移方法汇总 div
  • 轨迹预处理(轨迹压缩)

    轨迹压缩分为在线压缩和离线压缩两类 在介绍两类压缩算法之前 本文先介绍两种 距离度量 方法 第一种距离度量方法是 垂直的欧几里得距离 如图b所示 p1 p7 p12作为压缩后的点 垂直度量 则为做垂线计算 第二种距离度量方法是 时间同步的欧
  • Dynamics CRM2011 导入解决方案报根组件插入错误的解决方法

    今天在还原一个老版本的解决方案 在导入时报根组件插入问题 Cannot add a Root Component 38974590 9322 e311 b365 00155d810a00 of type 31 because it is n
  • android: ERROR: unknown virtual device nam

    环境变量 ANDROID SDK HOME your path 设置好就没有问题了
  • 刷脸支付服务商为各行各业提供完美体验

    随着刷脸支付技术迭代更新的速度加快 其商业化应用的步伐也越来越快了 4月17日 支付宝推出第二代基于线下消费场景的刷脸支付机具 蜻蜓2 0 定价1499元 同时 新一代蜻蜓还实现了刷脸注册会员卡的功能 切中了苦于获客高成本的线下零售门店的需
  • pve 使用noVNC num lock 不同步的问题

    问题描述 在使用 pve 的noVNC 控制台 访问 WINDOWS 虚拟机时 VM 会出现num lock 状态不同步的情况 主要是由于WINDOWS 笔者这里是 SERVER2022 启动后默认关闭了 num lock 而 pve的虚拟
  • Scala中的抽象类

    1 先看下 类的层次结构 类层次结构 也称为类分类法 是一组相关的类 它们通过继承连接起来做类似的事情 层次结构的顶部可以是一个基类 它下面的所有其他类都是从中派生出来的 或者层次结构可以有多个基类 这些基类的功能稍后会在一个或多个派生类中
  • 论文阅读-Multi-attentional Deepfake Detection

    一 论文信息 题目 Multi attentional Deepfake Detection 作者团队 会议 CVPR 2021 二 背景与创新 背景 之前大多数方法将deepfake检测模型作为一个普通的二分类问题 即首先使用骨干网络提取