CVPR2023优秀论文 | AIGC伪造图像鉴别算法泛化性缺失问题分析
作者 | 搜索内容技术部
导读
深度伪造检测算法无法检出未知伪造算法生成的攻击数据。以往算法采取手动建模伪造特征的方式提升模型泛化性,然而这种方式限制了算法可行域,影响了模型泛化性进一步提升,同时这类方法参数量巨大,无法满足工业实时检测要求。本文发现过往采取二分类训练检测算法的方式,使模型过多关注了样本中的用户身份信息,从而导致深伪检测模型无法检出未知伪造数据,我们称其为 “隐式的身份泄漏现象”。为解决此问题,本文提出了一种忽略样本身份特征的深度伪造检测算法。实验证明,当抑制了模型对图片身份信息的学习,模型可以自主学习不同 伪造特征之间所存在的 共性特征,即使基于最简单的二分类模型,检测精度也远超现有业界同期算法。
全文4358字,预计阅读时间11分钟。
01 导论
近来,伴随 AIGC 的快速发展,基于 AIGC 技术的人脸编辑算法开始在互联网兴起。其在增加用户使用趣味性同时,也降低了借助算法进行伪造攻击的技术门槛。攻击者借助面部编辑,利用伪造身份在互联网传播虚假新闻,制作恶作剧,造成恶劣影响。深伪检测算法旨在检出这类伪造数据,减少人脸伪造技术带来的负面效应。现有算法在已知的伪造数据中取得了极高的检测精度。然而,新的人脸伪造技术总是层出不穷,这部分检测模型在面对未知的伪造算法时,精度严重不足。
此前关于深伪检测模型泛化性的研究主要集中在两方面。一种是采用手动建模伪造特征的方式。它们假设不同伪造图片存在某种共有的伪造特征,并训练模型对其进行检测。然而,这一假设的特征往往反映的是人类对于伪造特征的主观理解,并不能体现数据中真实的多种不同伪造特征的共性特征,故并无法从根本上提升模型的泛化性。另一种方法则是通过简单的二分类模型进行检测。二分类模型可以自主从数据中学习伪造特征分布,但很容易出现过拟合的问题,一定程度上限制其泛化能力。为了解决这一问题,本文深入分析现有二分类模型,并期望提出构建一个简洁、鲁棒的深伪检测器。
本文发现现有二分类模型泛化性较差的主要原因在于图片身份信息的干扰。如图1 (a) 所示,伪造图像(Fake Image)是通过将原始图像(Source Image)的身份更换为目标图像(Target Image)所得来。伪造目标图像(New Target Image)则是基于 伪造图像和目标图像编辑得来。可以看出,伪造目标图像在图像伪造过程中丢失了部分身份信息,其身份特征同原始目标图像并不相同。如图1(b)所示,伪造过程中身份信息的丢失就导致了:深度伪造检测模型训练数据集中,真假数据集合间存在一个基于身份特征的分界面(Identity Boundary)。基于此训练的二分类模型会关注图像中的身份特征,当模型无法检出图像中的伪造特征时,会被图像身份信息误导,做出错误判定。我们称这种现象为“隐式的身份泄漏现象”。
为削减“隐式的身份泄漏现象” 的负面影响,我们进一步提出了忽略身份特征的深度伪造检测器。简而言之,只要迫使伪造检测模型关注图像中的局部信息,那么算法就无法借助全局五官特征来捕获人脸的身份信息,进而就削减了身份特征对伪造检测任务的负面影响。模型共由 伪造区域检测器 和 多尺度面部伪造方法 两部分组成。其中伪造区域检测器采取局部检测方式避免了全局身份信息影响,同时迫使模型从不同局部伪造区域中学习共性特征。多尺度面部伪造方法 通过对面部进行局部伪造,为 伪造区域检测器提供了训练所需的标注信息。实验结果证明,避免图片身份信息的影响后,忽略身份特征的深度伪造检测器即便使用最简单的二分类模型,其精度也可远超业界同期算法。该模型为未来研究深伪检测模型泛化性问题提供了一个新的方向,同时也为模型真实场景的部署提供了一个更为简单有效的方案。
02 隐式的身份泄漏现象
隐式的身份泄漏现象特指深伪检测模型在训练过程中,捕捉到了训练数据集中存在的身份特征分界面。尽管这种特征会在同源数据测试阶段强化真伪数据间的特征差异,但在面对新的伪造数据时,模型无法捕捉伪造特征分布,就开始被曾学习到的身份特征所误导。为此我们构建了线性身份分类实验来验证基于二分类的深伪检测算法在训练阶段捕捉到了身份特征信息,同时提出了量化指标来精确度量这种现象在同源数据测试和交叉数据测试(未见过的伪造方法)过程中,对算法精度的影响。
假设一:深伪检测算法在训练过程中用到了身份特征完成真假判定
我们基于不同网络结构,不同的实验配置进行了 线性身份分类实验。模型先在深伪检测训练数据集进行伪造检测任务训练,而后固定主干模型参数,追加线性分类器(Fully Connection Layer)进行身份分类。如图2 (a, b, c)所示,我们分别在深伪数据集 Celeb-DF 和 FF++ 以及人脸识别数据集 LFW 上进行实验。实验结果发现深伪检测算法在数据集上不同程度收敛,同时分类准确度皆高于 50%,证明了模型的特征空间具备身份信息,可用于身份识别任务。进而验证了深伪检测算法在训练过程中用到了身份特征完成真假判定这一假设。
假设二:身份特征在交叉数据测试阶段误导模型,限制了算法泛化性
我们认为通常身份特征对伪造检测任务的贡献,表现在局部特征联合的全局交互得分。具体而言,我们通常难以仅基于人的鼻子,眼睛和嘴这些局部五官特征判定人的身份。但是当我们基于人的全局五官进行身份判定,任务就变得简单许多。在这里,基于局部判定身份就可以看作是局部特征在伪造检测任务中的独立得分,全局五官身份判定可以理解为局部特征拼接在一起时所形成的全局交互得分。为验证当前假设,我们引入 Shapley Value 对局部特征独立伪造检测得分和全局交互伪造检测得分进行解耦,并分析全局交互得分(仅基于身份特征做伪造检测)在不同测试集上的精度(AUC)。实验结果如上,身份特征在同源数据(FF++)测试阶段都表现出了较高的精度(>=81.53%), 但用于交叉数据(Celeb-DF)测试时,对判别结果产生负面影响。证明了身份特征在交叉数据测试阶段误导模型,限制了算法泛化性这一假设。
03 忽略样本身份特征的深伪检测算法
本文提出了一种简洁、鲁棒的深伪检测器 —— 忽略样本身份特征的深伪检测算法。算法共由 局部伪造区域检测模块 和 多尺度面部伪造方法 组成。其中局部伪造区域检测模块通过检测样本局部区域中是否含有伪造特征过滤伪造样本,以此避免模型关注样本的全局身份信息。多尺度面部伪造方法用于生成带有伪造区域位置信息的伪造样本,以支持局部伪造区域检测模块训练。
3.1 局部伪造特征检测模块
我们期望模型可以根据图片中的Artifact区域进行深伪检测,而非利用其它无关的身份信息。为此,我们设计了 局部伪造区域检测模块 用于定位和判别图片中存在伪造特征的局部区域,以此避免全局I身份信息干扰。如图所示,局部伪造区域检测模块的输入为传统二分类模型提取的图片特征,输出为图片中伪造特征存在的区域。同检测模型相似,局部伪造区域检测模块在主干网络后追加了四层卷积层,并将图片划分为多尺寸 锚点。局部伪造区域检测模块通过对这些锚点进行分类,可以有效学习到图片中真实区域与伪造区域之间的差别。此外,我们将主干网络输出结果经全局池化后追加在局部伪造区域检测模块输出结果中,从而进一步丰富提取特征的信息。
综上,通过定位图片中伪造特征存在的区域,模型可以较为精准地学习到多种伪造特征的共性特征,同时避免受到图片全局身份信息的影响,有效提升模型的泛化能力。
3.2 多尺度面部伪造方法
过往数据集中不包含图片中伪造区域的标注,我们提出多尺度面部伪造方法,其利用多尺度的滑动窗口和不同的融合方式,生成带有伪造特征区域标注的伪造图片,同时进一步丰富训练集中伪造特征的信息。多尺度面部伪造方法的流程如图所示。针对一对源图片和伪造图片,多尺度面部伪造方法使用不同尺度的滑动窗口定位伪造的区域,并生成指示局部换脸区域的0-1 Mask。输入的源图片和伪造图片会结合0-1 Mask,并采用不同的融合方式生成新的伪造图片。其共包括两种不同的处理方式:全局交换和局部交换。全局交换生成的Mask包含整个脸部区域,而局部交换的Mask只覆盖伪造特征最显著的区域。我们计算源图片和对应伪造图片的 DSSIM,并借助滑动窗口定位伪造图片与原图之间差异性最大的局部区域,并定义这一区域为伪造特征最显著的区域。该区域DSSIM最大,被改动的信息最多,也就最可能含有伪造特征。
综上,通过多尺度的滑动窗口和不同的融合方式,多尺度面部伪造方法 可以生成带有伪造区域标注的伪造图片,进一步丰富训练集中伪造特征的信息,最终帮助模型学习共性伪造特征。
04 实验部分
4.1 隐式身份泄漏现象验证实验
为验证隐式身份泄漏现象,我们从数据集中随机选取了来自10个不同ID的100张样本,借助在FF++数据集中训练的模型提取高维特征,并使用t-SNE将其投影到二维进行可视化(L2正则化后)。如图所示,每个点表示一张图片的特征,不同颜色的点表示不同身份图片的特征。如图b所示,二分类模型在同源数据测试中,在特征空间内,不同ID彼此可分,无明显重合。同时在交叉数据集测试过程中,二分类模型仍受到ID信息干扰,来自相同ID的不同样本被投影到邻近区域。相反,我们的方法在同源数据集和交叉数据集测试中,不同身份的图片特征之间不可分,且存在显著交集。这一结果说明所提出方法有效减少了模型对图片身份信息的提取。
4.2 不同主干网络精度对比实验
为了验证算法的广泛适用性,我们在不同的主干网络上进行了实验。实验表的结果表明,在交叉数据集测试中,我们的算法使用不同的主干网络都可以显著提升模型性能,而在同源数据集测试中,模型也可以保持模型精度。这一结果进一步说明了所提出方法的有效性,即便是简单的二分类模型,也可以取得不错的表现。同时根据可视化结果,我们提出的算法准确检测到局部伪造特征区域,具备更好的可解释性。
05 总结与展望
在本文中,我们发现以往利用二分类模型完成深伪检测的方式容易受到图片身份信息的影响,从而限制了模型泛化能力的提升。本文提出了忽略身份特征的深伪检测方法,迫使模型仅关注图片中包含伪造特征的局部区域,并从不同区域中学习共性伪造特征,以避免身份信息干扰。实验证明,随着训练集中伪造方法增加,提出的方法可以自主建模更鲁棒的共性伪造特征。综上,本文为深伪检测算法泛化性研究提供了新的思路,也为现实场景中的模型部署提供了一个更为简单有效的方案。
——END——
推荐阅读
一文搞定专属码的设计与开发
AI原生应用速通指南
代码理解技术应用实践介绍
百度交易中台之内容分润结算系统架构浅析
小程序编译器性能优化之路
相关文章:

CVPR2023优秀论文 | AIGC伪造图像鉴别算法泛化性缺失问题分析
作者 | 搜索内容技术部 导读 深度伪造检测算法无法检出未知伪造算法生成的攻击数据。以往算法采取手动建模伪造特征的方式提升模型泛化性,然而这种方式限制了算法可行域,影响了模型泛化性进一步提升,同时这类方法参数量巨大,无法满…...
ISP Pipeline典型场景要点SAT、Bokeh、MFNR、HDR
目录 一、概述 二、通用流程 三、典型场景 1. SAT 2. Bokeh背景虚化 MFNR 3. HDR(DOL、DCG等) 一、概述 本文解释isp pipeline的一些非常典型的场景,不同厂商对pipeline的连接及node的port口设计可能不同,但核心的思想相同…...
计算机视觉(CV)技术
是一种将数字图像或视频进行处理和分析的技术,旨在使计算机能够模拟人类视觉系统。该领域涉及到图像处理、模式识别、机器学习等多个领域,主要涵盖以下几方面: 图像处理:对图像进行去噪、增强、分割、特征提取等处理。图像分类&a…...

vue3项目使用TypeIt打字机
官网: TypeIt | The most versatile JavaScript typewriter effect library on the planet. 下载: npm i typeit 使用方法: 正常打字 多行打字机 input输入框实现打字机效果 打字机颜色变化 删除,光标移动,最全面的打字机效果 官网最下面还可以输入你想有的打字效果,然后生…...

Linux基础命令1——Linux的命令格式与命令分类
目录 Linux命令格式 Linux命令分类 如何判断命令的类型——Type命令 内置命令 外部命令 alias命令 命令的执行效率与过程 Linux命令格式 命令格式 完整的命令格式分为三部分:命令、参数、对象 其中命令与参数、参数与参数、参数与对象之间最少要有一个空格做…...

SystemVerilog Assertions应用指南 Chapter 11.5SVA检验器的时序窗口
11.5SVA检验器的时序窗口 到目前为止,带延迟的例子使用的都是固定的正延迟。在下面几个例子中,我们将讨论几种不同的描述延迟的方法属性p12检查布尔表达式“a&&b”在任何给定的时钟上升沿为真。如果表达式为真,那么在接下去的1-~3周期内,信号“c”应该至少在一个时钟周…...

内衣洗衣机有必要买吗?口碑好的小型洗衣机测评
在近年以来,由于人们对健康的认识和生活质量的不断改善,使得内衣洗衣机这一类的产品在近年来得到了飞速的发展,洗烘一体机、洗烘套装的价格总体下降,功能和性能都得到了改善,往往更多的用户会选择一台或者多台洗衣机来…...

Mac风扇控制电脑降温软件Macs Fan Control Pro 简体中文
Macs Fan Control Pro是一款功能强大的Mac风扇控制软件,旨在帮助用户更好地管理和控制Mac电脑的风扇速度和温度传感器。以下是该软件的主要特色介绍: 监测和调整Mac电脑的风扇速度和温度传感器,帮助用户控制设备温度,提高电脑性能…...
OPENCHAT: ADVANCING OPEN-SOURCE LANGUAGE MODELS WITH MIXED-QUALITY DATA
本文是LLM系列文章,针对《OPENCHAT: ADVANCING OPEN-SOURCE LANGUAGE MODELS WITH MIXED-QUALITY DATA》的翻译。 OPENCHAT:利用混合质量数据推进开源语言模型 摘要1 引言2 前言3 OpenChat4 实验5 分析6 相关工作7 结论与未来工作 摘要 如今࿰…...
【React】编程式路由,push 与 replace,withRouter,BrowserRouter 和 HashRouter 的区别
push 与 replace 模式 默认情况下,开启的是 push 模式,也就是说,每次点击跳转,都会向栈中压入一个新的地址,在点击返回时,可以返回到上一个打开的地址 有时候页面不需要这么繁琐的跳转,我们可以…...

测试老鸟总结,Allure测试报告-自动化测试详解,惊险避坑...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、Allure安装教程…...

大模型开发06:LangChain 概述
大模型开发06:LangChain 概述 LangChain 是一个基于语言模型开发应用程序的框架。它可以实现以下功能: 上下文感知: 将语言模型与上下文源相连接(提示词、示例、用于支撑响应的内容等)推理能力: 依赖语言模型进行推理(如何根据提供的上下文来回答问题或采取哪些行动等)La…...
unity save load系统 快速搭建
我的最终目标是快读建立一个关卡数据自动读入储存功能: 1. 每个关卡有自己的编号,如果没有自定义该关卡,则读取默认编号的初始布局,如果有自定义该关卡,则读取新定义的关卡。 2.在游戏中如果对布局做出了更改&#x…...
前端 TS 快速入门之四:函数
1. 为函数定义类型 一般使用中,我们可以不必完整写出函数类型,因为 TypeScript 会为我们自动推断出类型,需要注意的是:类型中的参数名称可以不必和值中的参数名称匹配,只要它们类型是兼容的便可。 // 书写完成函数类型…...

Linux 救援模式
Linux突然坏了 第三次坏了 第一次是找不到盘,修复好了 第二次是找不到卷,但是能启动,启动界面选择救援模式,可以正常使用 第三次,尝试修复卷,启动后,找不到文件系统了,只能从光盘…...
HOT100自查题集
前言 遗忘是人类的本能,经常自查是必不可少的。现在面试手撕已经是必备项目,手撕题目大部分来自于力扣 HOT100 以及对应方向的一些编码题。我对 HOT 100 的题目以及Java相关的一些编码题目进行了分类整理,并提供解题思路,用作复习…...

Post-Process1-水下
一、新建第三人称游戏项目,我这里选择C,你也可以选择Blueprint。 新建一个Level,命名为DemoUnderWater 保存一下,命名为DownUnderWater 添加水插件 选择Yes 勾选Show Engine Content和Show Plugin Content,在左侧可以看…...

通过pipeline配置sonar自动化实现过程解析
这篇文章主要介绍了通过pipeline配置sonar自动化实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.sonar配置webhooks, 2.url填写jenkins的地址:http://jenkinsurl/sonarqu…...

Spring framework Day 23:容器事件
前言 容器事件是 Spring Framework 中的一个重要概念,它提供了一种机制,使我们能够更好地了解和响应 Spring 容器中发生的各种事件。通过容器事件,我们可以在特定的时间点监听和处理容器中的各种状态变化、操作和事件触发,以实现…...
【Dockerfile】基于openjdk镜像添加常用命令工具
背景 官方openjdk镜像是Red Hat操作系统,可以使用microdnf命令安装 bash-4.4# cat /etc/redhat-release Red Hat Enterprise Linux release 8.5 (Ootpa)拉取openjdk镜像 docker pull openjdk:17.0.2 编写Dockerfile touch Dockerfile-openjdk-utilsFROM openjd…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...

IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...

用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...

基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

客户案例 | 短视频点播企业海外视频加速与成本优化:MediaPackage+Cloudfront 技术重构实践
01技术背景与业务挑战 某短视频点播企业深耕国内用户市场,但其后台应用系统部署于东南亚印尼 IDC 机房。 随着业务规模扩大,传统架构已较难满足当前企业发展的需求,企业面临着三重挑战: ① 业务:国内用户访问海外服…...