论文阅读-Thinking in Frequency: Face Forgery Detection by Mining Frequency-aware Clues(F3Net基于频率感知线索的人脸)

2023-10-26

一、论文信息:

  • 题目:Thinking in Frequency: Face Forgery Detection by Mining Frequency-aware Clues (基于频率感知线索的人脸伪造检测)
  • 作者团队:

会议:ECCV 2020

二、背景与创新

1、背景:随着Deepfake技术不断迭代,检测合成人脸的挑战也越来越多。虽然已有的基于RGB色彩空间的检测技术准确率不错,但是实际中,这些视频随着流媒体传播,视频通常会被多次压缩,而在较低质量的视频中,要想进行检测就比较困难,这也一定程度上启发我们去挖掘频域内的信息。如何才能把频域信息引入到CNN中是一个难点,传统的FFT和DCT不满足平移不变性和局部一致性,因此直接放在CNN可能是不可行的。

2、创新:作者提出了两种频率特征:

1)对分离的频率分量经过一定处理,再重组回图片,最终的结果输入进CNN当中。

2)在每个局部空间(patch)内,统计频率信息,并计算其平均频率响应。这些统计量可以重组成多通道特征图,通道数目取决于频带数目。

图1:用于人脸伪造检测的频率感知篡改线索。如上图,在低质量(Low Quality)图片中,两种图片都很真实,但是在局部的频率统计量(LFS)中,呈现出明显的差异,这也就很自然能被检测出来。

  • (a)原始的,高质量和低质量的具有相同身份的真实和伪造图像,在低质量的图像中几乎看不到操纵伪影。
  • (b)使用建议的频率感知分解(FAD)和局部频率统计(LFS)的低质量图像中频率感知伪造线索。
  • (c)人脸伪造网络(F3-Net)和基线(Xception)中建议的频率的ROC曲线,提议的F3-Net相比于Xception在彩色方面有较大优势。

三、网络结构

基于上述两种特征,作者设计了 Frequency in Face Forgery Network(F3-Net),第一个频率特征为频率感知分解FAD(Frequency-aware Image Decomposition),第二个频率特征为局部频率统计LFS(Local Frequency Statistics)。因为这两个特征是相辅相成的,作者还设计了一种融合模块MixBlock来融合其在双路网络中的特征。整体流程如下图所示:

1、FAD频率感知分解

 (a)频率感知分解(FAD,以发现显著的频率成分,D代表应用离散余弦变换(DCT),D-1表示应用反离散余弦变换(IDCT)。几个频带分量可以连接在一起,以提取更大范围的信息。

(b)DCT功率谱的分布,我们通过求和每个频带的振幅,将2D功率谱平坦化为1D功率谱。我们把光谱分成三个能量大致相等的波段)我们可以看到第一个滤波器取的是整个频段的1/16,而第二个滤波器取得是1/16~1/8,第三个滤波器则取得是剩下的7/8。

以往的工作采用的是人工设计频域滤波器,但这无法完全覆盖所有的图像模式,并且固定的滤波器很难自适应的捕捉到图像中伪造的模式。因此我们提出了自适应的滤波方法,具体做法如下:

  • 设计N个二分类滤波器(也就是所谓的掩码mask)

         将图像的频率分为低,中,高三个频带。

  • 为了让其具备自适应能力,我们额外设计三个可学习的滤波器

         然后分别将这两种滤波器结合在一起,公式如下:

  • 其中 σ 为 归一化,目的是限制其值在 (-1, 1) 之间:

  • 我们将这两个滤波器应用在DCT变换后,最后做反DCT,将图像重组回来,总的公式如下:

        其中D代表DCT变换,D-1代表反DCT变换。

2、LFS局部频率统计

前面的FAD尽管提取到了频域特征,但它最后是通过反DCT变换,转化到RGB空间上,输入进CNN。这些信息并不是直接的频域信息,因此我们提出了局部频域特征local frequency statistics(LFS),它能满足RGB图片的平移不变性以及局部一致性

(b)表示从DCT功率谱中提取统计量,+表示逐元素相加,.表示逐元素乘。

具体流程如下

  • 对输入的图片采用滑窗DCT(Silde Window DCT),在图像的滑动窗口上密集地进行DCT,从而提取局部的频率响应。H表示自适应地收集每个网格上的统计数据。
  • 计算一系列可学习频带的频率响应均值。
  • 将频率统计信息重新组合为与输入图像共享相同布局的多通道空间映射。

  • 其中log10是为了调整数值级别,D是滑窗DCT变换。
  • 跟FAD一样,我们这里也设计了二分类滤波器和可学习滤波器,操作流程跟FAD完全一样。
  • 对于每个滑窗w中的局部统计信息q,经过上述变换被转换为1×1×M的向量。
  • 作者将每个滑窗大小设置为10x10步长为2频带数目为6。一张299 x 299 x 3的图片输入进来将被转换为 149 x 149 x 6。

3、MixBlock

虽然这两种频率特征不同,但具有一致性,都是从DCT变换,并经过滤波器进行不同频率分离。因此我们设计了一种MixBlock来在双路网络中融合两者的特征。

  • FAD和LFS共同输入进卷积里,得到一个AttentionMap
  • FAD和LFS分别与AttentionMap相乘得到Fattention和Lattention
  • Fattention与LFS相加,Lattention与FAD相加,完成特征融合。

论文里双路网络都采用的是Xception网络,该网络一共有12个Block,我们将融合模块分别放置在第7个和第12个XceptionBlock里,对中,高层特征进行融合操作。

四、实验

1、这张对比图很好的表现了F3-Net在低质量图片中的表现,可见在频域内做检测确实有更好的抗压缩性能。

 2、在不同数据集上表现也比较稳定,没有因数据集的分布产生较大波动。

 3、最后作者也设计了一系列消融实验,来表明各个模块的有效性。

五、总结

这篇工作不同于以往传统频域特征,它选择将传统和深度学习进行结合,为可学习的滤波器设定一定约束,从而根据不同图像自适应分离出频率信息。Deepfake的一大难点就是对低质量,多次压缩图片的检测,因为在RGB图片上是很难发现的,最终的作者实验也表明该方法的有效性。

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

论文阅读-Thinking in Frequency: Face Forgery Detection by Mining Frequency-aware Clues(F3Net基于频率感知线索的人脸) 的相关文章

随机推荐

  • Dueling DQN的理论基础及其代码实现【Pytorch + Pendulum-v0】

    Dueling DQN 理论基础 Dueling DQN是一种基于DQN的改进算法 它的主要突破点在于利用模型结构将值函数表示成更细致的形式 使得模型能够拥有更好的表现 首先我们可以给出如下公式并定义一个新变量 q s t
  • mysql二进制升级_MySQL入门02-MySQL二进制版本快速部署

    在上篇文章 MySQL入门01 MySQL源码安装 中 我们介绍了MySQL源码安装的方法 源码安装虽然有着更加灵活和更加优化等诸多优势 但源码编译安装部署的过程相对复杂 而且整个过程所花费的时间很长 对于一整套系统和硬件完全一样的机器 其
  • 解决C#连接Mongo报Unable to authenticate using sasl protocol mechanism SCRAM-SHA-1错误

    最近做一个基于ABP的 net Core的项目 数据库选了MongoDB 但是返现无法给数据库设置认证 只要设置了账号密码连接就报错 连接串如下 mongodb root rootpassword 192 168 100 1 Webdev
  • springmvc + freemarker +sitemesh

    这 都加起来 很难 网上没有解决方案 用了一天才把环境搭起来 记录如下 先把springmvc 在 web xml上的配置
  • lol服务器维护8月7,lol维护公告最新_lol8月29日维护公告_lol今天维护到几点

    lol今天几点维护到几点 lol最新版本维护公告 想要详细了解的玩家快来跟着小编一起来看看吧 lol维护到几点 什么时候可以登录 此次更新是全服维护 从5点持续到12点 当然最终几点可以登录一般有30分钟的偏差 所以最迟预计12 30可以维
  • SQLite error,no such table的处理方法

    由于程序的启动目录是你的 bin Debug 目录 所以你如果将你的数据库 没有放到目录下的话 就会出现找不到表的情况 但是为什么 不是找不到 数据库呢 这是因为程序在运行的时候 应该自动将数据库资源拷贝到相应的 bin Debug 目录下
  • 【C++技能树】手撕AVL树 --插入与旋转详解

    Halo 这里是Ppeua 平时主要更新C 数据结构算法 Linux与ROS 感兴趣就关注我bua 文章目录 0 平衡搜索二叉树概念 0 1 平衡因子 1 插入 1 1 普通插入操作 1 2更新平衡因子 2 旋转 2 1 左单旋 2 2 右
  • 第164天:应急响应-挖矿脚本检测指南&威胁情报&样本定性&文件清除&入口修复

    知识点 知识点 网页篡改与后门攻击防范应对指南 主要需了解 异常特征 处置流程 分析报告等 主要需了解 日志存储 Webshell检测 分析思路等 掌握 中间件日志存储 日志格式内容介绍 IP UA头 访问方法 请求文件 状态码等 Webs
  • Mysql使用USE INDEX()优化查询

    语法 SELECT FROM TABLE USE IGNORE FORCE INDEX key list WHERE USE INDEX 用来提供你希望Mysql去参考的索引列表 就可以让Mysql不再考虑使用其他可用的索引 IGNORE
  • CGAL的使用

    1 C 类的知识 因为CGAL是用C 实现的 所以需要先了解一下C 编程 C 是面向对象的编程 这也是C 对C语言改进的最重要的部分 C 也被叫做是 带类的 C 简单讲一下类的构成 成员函数以及对象的定义和使用 1 1 C 类的构成 首先从
  • PAT C入门题目-7-124 天梯赛座位分配 (20 分)(动态内存分配)

    7 124 天梯赛座位分配 20 分 天梯赛每年有大量参赛队员 要保证同一所学校的所有队员都不能相邻 分配座位就成为一件比较麻烦的事情 为此我们制定如下策略 假设某赛场有 N 所学校参赛 第 i 所学校有 M i 支队伍 每队 10 位参赛
  • 【自学Linux】 Linux文件目录结构

    Linux文件目录结构 Linux文件目录结构教程 在 Linux 中 有一个很经典的说法 叫做一切皆文件 因此 我们在系统学习 Linux 之前 首先要了解 Linux 的文件目录结构 Linux 主要的目录有三大类 即根目录 usr 目
  • Tracy vue3 小笔记 1 - 如何使用 VUE, MVC, MVVM, Template, Vue 源码

    Vue Demo code 计数器那么安装和使用Vue这个JavaScript库有哪些方式呢 方式一 在页面中通过CDN的方式来引入 方式二 下载Vue的JavaScript文件 并且自己手动引入 方式三 通过npm包管理工具安装使用它 w
  • 智能输液系统(STM32+ESP8266-01S+阿里云+安卓APP)

    下位机 阿里云 APP 下位机流转上位机
  • 2021-08-19-leetcode-00001

    二分查找 704 给定一个 n 个元素有序的 升序 整型数组 nums 和一个目标值 target 写一个函数搜索 nums 中的 target 如果目标值存在返回下标 否则返回 1 278 你是产品经理 目前正在带领一个团队开发新的产品
  • Linux 学习笔记3 权限管理 定时任务 网络配置 进程、软件包管理

    权限管理 linux组的介绍 在linux中的每个用户必须属于一个组 不能独立于组外 在linux中每个文件有所有者 所在组 其它组的概念 1 所有者 2 所在组 3 其它组 4 改变用户所在的组 文件 目录所有者 一般为文件的创建者谁创建
  • kettle进阶之database join

    前言 这并不是一篇入门教学 且不是一篇高阶教学 仅仅针对kettle的database join 那么问题来了 kettle的database join是什么 简而言之 不同库之间sql语句传值 个人自定义 如有不当 请海涵 案例1 一条数
  • SQL Server 集合处理

    UNION ALL 返回两个结果集中所有的行 返回结果集中会存在重复行 UNION 返回两个结果集中去重的行 返回结果集中无重复行 INTERSECT 返回两个结果集都有的行 返回结果集中无重复行 EXCEPT 返回第一个结果集中有而第二个
  • vuex与生命周期的关系

    vue与生命周期的关系 问题呈现 获取到数据同时保存到vuex中 2 计算属性获取vuex中的值 3 循环输出 4 出现错误 问题解析 如果单独输出item questionSimpleInfo是可以输出整个对象的 但是输出其中某一个字段的
  • 论文阅读-Thinking in Frequency: Face Forgery Detection by Mining Frequency-aware Clues(F3Net基于频率感知线索的人脸)

    一 论文信息 题目 Thinking in Frequency Face Forgery Detection by Mining Frequency aware Clues 基于频率感知线索的人脸伪造检测 作者团队 会议 ECCV 2020