【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测

视觉AIGC识别——人脸伪造检测、误差特征 + 不可见水印

  • 前言
  • 视觉AIGC识别
  • 【误差特征】DIRE for Diffusion-Generated Image Detection
    • 方法
      • 扩散模型的角色
      • DIRE作为检测指标
    • 实验结果
      • 泛化能力和抗扰动
  • 人脸伪造监测(Face Forgery Detection)
    • 人脸伪造图生成
  • 其他类型假图检测(Others types of Fake Image Detection)


请添加图片描述

🌈你好呀!我是 是Yu欸
🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~
🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长!

前些天发现了一个人工智能学习网站,内容深入浅出、易于理解。如果对人工智能感兴趣,不妨点击查看。

前言

续篇:一文速览深度伪造检测(Detection of Deepfakes):未来技术的守门人

参考:https://mp.weixin.qq.com/s/inGjMdX9TTUa3hKWaMkd3A

视觉AIGC识别

根据已有的研究工作调研,将视觉AIGC识别粗略划分为:

  • 人脸伪造检测(Face Forgery Detection):包含人脸的AIG图片/视频的检测,例如AI换脸、人脸操控等。此类方法主要关注带有人脸相关的检测方法,检测方法可能会涉及人脸信息的先验。
  • AIG整图检测(AI Generated-images Detection):检测一整张图是否由AI生成,检测更加的泛化。这类方法相对更关注生成图与真实图更通用的底层区别,通常专注于整张图,比如近年爆火的SD、Midjounery的绘图;
  • 其他类型假图检测(Others types of Fake Image Detection):此类方法更偏向于 局部伪造、综合伪造等一系列更复杂的图片造假,当然人脸伪造也属于局部、复杂,但是是人脸场景。将AIG图与真实图拼凑、合成的图片识别也属于这一类。
    这三种类型之间划分并不明晰,很多方法同时具有多种检测能力,可划分为多种类型。严格意义上说AIG整图和其他造假图检测类型可能都会包含人脸信息,但三种类型方法往往技术出发点也不同。

【误差特征】DIRE for Diffusion-Generated Image Detection

Arxiv 2023

方法

作者发现DM 图可以被近似地被扩散模型重建,但真实图片不行。将重建图和原图的图片差异记为扩散重建差(DIffusion Reconstruction Error,DIRE),则DIRE可以作为特征进行2分类训练,判断是否虚假,泛化性会高很多;

扩散模型的角色

扩散模型在这里充当了一种“数字时间机器”的角色,通过将图像“倒带”回过去的某个状态,然后再“快进”到现在,来重建图像。对于合成图像而言,这种“时间旅行”的过程中丢失的信息较少,因为它们本身就是由类似的深度学习模型生成的,因此它们与扩散模型重建的版本更为接近。相反,真实图像在这一过程中会丢失更多的细节,因为它们包含了更复杂和多样的信息,这些信息在通过扩散模型的“滤镜”时难以保留。

DIRE作为检测指标

将DIRE视作一种“指纹差异仪”,它可以测量一个图像经过时间机器旅行前后的变化量。对于合成图像,这种变化相对较小,因为它们本质上已经是“时间旅行”的产物。对于真实图像,变化较大,因为时间旅行过程中它们失去了更多的原始信息。

重建图像差DIRE可以区分真实图和合成图的原因如下图:

  • 合成图在重建后变化往往较小;
  • 真实图在重建后变化相对较大;

在这里插入图片描述
在这里插入图片描述

我的理解是,真实图在重建时会丢失很多信息,而生成图由于本身就是模型生成的,重建时信息变化相对不大。因此差异可以反映其真假。

该方法通过预训练的扩散模型(Denoising Diffusion Implicit Models,DDIMs[7])对图片进程重建,测量输入图像与重建图像之间的误差。其实这个方法和梯度特征的方法LGrad很像,区别在于上面是通过 Transformation Model转换模型获得图像梯度,这里通过 DDIM 重建图计算差。

实验结果

此外,作者提出了一个数据集 DiffusionForensics,同时复现了8个扩散模型对提出方法进行识别(ADM、DDPM、iDDPM, PNDM, LDM, SD-v1, SD-v2, VQ-Diffusion);

  • 跨模型泛化较好:比如ADM的DIRE 对 StyleGAN 也支持,
  • 跨数据集泛化:LSUN-B训练模型在ImageNet上也很好;
  • 抗扰动较好:对JPEG压缩 和 高斯模糊的图,性能很好;

最后看下实验指标,看起来在扩散模型上效果很好,这ACC/AP都挺高的,不知道在GAN图上效果如何。


实验结果显示,这种基于扩散重建差的方法在区分真实与合成图像上表现出色,这就像是在深度伪造的海洋中拥有了一张精确的导航图。这种方法在不同的扩散模型上都展现了高度的准确性,这表明了它作为一种检测工具的潜力。

总的来说,这篇研究为深度伪造检测领域提供了一个新的视角和工具,其通过利用扩散模型的独特能力,提出了一个既直观又有效的方法来区分真实与合成图像。这种方法的成功展示了深度学习领域中“以毒攻毒”的潜力,即使用生成技术的原理来反击深度伪造的问题。

泛化能力和抗扰动

这一方法之所以具有较好的跨模型和跨数据集泛化能力,可以类比于一种“通用翻译器”,它不仅能理解不同语言(即由不同模型生成的图像)之间的差异,还能在不同的环境(即不同的数据集)中有效工作。此外,其良好的抗扰动性能表明,这种方法像是具有一种“稳定的免疫系统”,能够在面对图像质量下降(如JPEG压缩)或视觉干扰(如高斯模糊)时,依然保持高效的检测能力。

人脸伪造监测(Face Forgery Detection)

人脸伪造图生成

人脸伪装图根据身份信息是否更改划分为身份信息不变类和身份替换类。

身份不变类伪造图在图片修改/生成时不修改图片中人物的身份信息,包括:

  • 人脸编辑:编辑人脸的外部属性,如年龄、性别或种族等。
  • 人脸再制定:保留源主体的身份,但操纵其口部或表情等固有属性;
    https://github.com/harlanhong/awesome-talking-head-generation
    https://github.com/Rudrabha/Wav2Lip
  • 身份替换类伪造图在图片修改时同时改变其中人的身份信息
    • 人脸转移:它将源脸部的身份感知和身份不相关的内容(例如表情和姿势)转移到目标脸部,换脸也换表情等等,相当于把自己脸贴在别人的头上;
    • 换脸:它将源脸部的身份信息转移到目标脸部,同时保留身份不相关的内容。即换脸,但不换表情,自己的脸在别人脸上做不变的事情;
    • 人脸堆叠操作(FSM):指一些方法的集合,其中部分方法将目标图的身份和属性转移到源图上,而其他方法则在转移身份后修改交换后图的属性,多种方法的复合;

其他类型假图检测(Others types of Fake Image Detection)

  • 社交媒体中发的篡改图:Robust Image Forgery Detection Against Transmission Over Online Social Networks, CVPR 2022: Paper Github
  • 通用图片造假检测(局部造假等):Hierarchical Fine-Grained Image Forgery Detection and Localization, CVPR 2023: Paper Github

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

进程间通信之信号灯 || 网络协议UDP/TCP || 三次握手四次挥手

在线程通信中由于数据段等内存空间的共用性,导致同时访问时资源竞争的问题,在线程中我们使用信号量的申请和释放,在防止资源竞争的产生。在进程间的通信中,有信号灯的概念。搭配共享内存实现进程同步。 有名信号量: 1.创建 …

请你简单说一下 Mysql 的事务隔离级别

什么情况,写了 5 年的 CRUD,还搞不清楚 Mysql 的事务隔离级别,难怪第一面就被刷下来。 一个 5 年经验的粉丝,在一个公司干了 5 年,觉得自己特厉害,什么都能搞定,结果每次一到技术面就被刷。问我…

滴滴基于 Clickhouse 构建新一代日志存储系统

ClickHouse 是2016年开源的用于实时数据分析的一款高性能列式分布式数据库,支持向量化计算引擎、多核并行计算、高压缩比等功能,在分析型数据库中单表查询速度是最快的。2020年开始在滴滴内部大规模地推广和应用,服务网约车和日志检索等核心平…

Unity UGUI之InputField(TMP)基本了解

Unity的InputField组件是用于在Unity中创建可供用户输入文本的输入框的UI组件。通过InputField组件,可以让用户在运行时输入文本,比如用户名、密码、搜索关键字等。其中TMP版本的InputField是基于TextMeshPro的InputField组件,提供了更多的文…

【Java JVM】Class 文件的加载

Java 虚拟机把描述类的数据从 Class 文件加载到内存, 并对数据进行校验, 转换解析和初始化, 最终形成可以被虚拟机直接使用的 Java 类型, 这个过程被称作虚拟机的类加载机制。 与那些在编译时需要进行连接的语言不同, 在 Java 语言里面, 类的加载, 连接和初始化过程都是在程序…

java IO 01 输入和输出,File在磁盘上的创建,File的函数,目录

输入和输出: 输入和输出都是从内存的角度出发的,也可以说是java程序角度。 输入到内存的(java程序的)都是输入 从内存的(java程序的)都是输出 02. import java.io.File; import java.io.IOException;pu…

vue2源码分析-vue入口文件global-api分析

文章背景 vue项目开发过程中,首先会有一个初始化的流程,以及我们会使用到很多全局的api,如 this.$set this.$delete this.$nextTick,以及初始化方法extend,initUse, initMixin , initExtend, initAssetRegisters 等等那它们是怎么实现,让我们一起来探究下吧 源码目录 global-…

Nodejs web服务器之GET、POST请求初次体验

一、认识http请求 步骤 1.DNS解析域名,找到ip地址,建立TCP连接,发起http请求 2.服务器接收到http请求,进行处理,返回数据 3.客户端接收到返回的数据,处理数据(比如渲染页面) 二、no…

外贸公司老板最喜欢的wordpress模板

电池wordpress外贸企业主题 电池wordpress外贸企业主题,做新能源外贸公司的企业官方网站模板。 https://www.jianzhanpress.com/?p3602 西联设备wordpress外贸企业模板 西联设备wordpress外贸企业模板,做外贸自建站就用西联wordpress企业主题。 htt…

长度为n的数组a初始值全为0,目标是把数组a变为数组b(1<=bi<=n), 可以进行任意次操作:选择长度为k的数组c,(1<=ci<=n且两两不同)

对于1<i<k, 把 a[c[i]] 改为c[i % k 1]。给定n&#xff0c;k和数组b&#xff0c;判断能否得到数组b。 题目 思路&#xff1a; #include <bits/stdc.h> using namespace std; #define int long long #define pb push_back #define fi first #define se second #d…

后悔没早点做58同城代运营

什么是58代运营&#xff1f; 58代运营是指由专业的代运营公司或团队来负责58同城等电商平台的商家店铺的运营管理。这种服务模式主要针对缺乏电商运营经验和专业知识的商家&#xff0c;代运营公司或团队通过其专业的团队和丰富的经验&#xff0c;帮助商家实现店铺的高效运营和…

WPF学习(2)

下面是WPF常用的一些布局。 Grid,UniformGrid Grid&#xff1a;网格&#xff0c; UniformGrid&#xff1a;自动创建行列。每个单元格大小相同。一般用于动态绑定数据 代码及运行效果如下&#xff1a; <!--容器控件 网格--><Grid ShowGridLines"True">&…

数据分析-Pandas数据分组箱线图

数据分析-Pandas数据分组箱线图 数据分析和处理中&#xff0c;难免会遇到各种数据&#xff0c;那么数据呈现怎样的规律呢&#xff1f;不管金融数据&#xff0c;风控数据&#xff0c;营销数据等等&#xff0c;莫不如此。如何通过图示展示数据的规律&#xff1f; 数据表&#x…

福利:kafka必知必会学习笔记

今天给大家分享两份Kafka学习笔记《kafka必知必会》《kafka基础进阶高级面试汇总》 《kafka必知必会》 为什么有消息系统 ! Kafka基础 ! Kafka 架构 ! Kafka为什么性能⾼ ! Kfaka数据可靠性! 《kafka基础进阶高级面试汇总》 基础篇 1.Kafka 的用途有哪些?使用场景如何…

2-web端管理界面使用rabbitmq

Web管理界面可以直接操作RabbitMQ&#xff0c;下面进行操作并记录步骤 1、添加交换器&#xff1a; Add a new exchange 中&#xff0c;Name是交换器名称&#xff0c;Type是交换器类型&#xff0c;有direce、fanout、heders、topic 4种。 这里先只填Name和选个类型&#xff0c;…

Java 注释的艺术

1、Java 注释的艺术 在 Java 编程中&#xff0c;注释不仅仅是代码的装饰&#xff0c;它们是沟通思想、意图和代码逻辑的桥梁。良好的注释习惯可以极大地提升代码的可读性和可维护性&#xff0c;尤其在团队合作中&#xff0c;这种作用更是不言而喻。今天&#xff0c;我将与大家…

mac 下redis

安装 Redis brew install redis 安装完成后&#xff0c;我们可以使用以下命令来确认 Redis 是否正确安装&#xff1a; redis-cli ping 启动 Redis redis-server 后台启动 Redis&#xff0c;可以使用以下命令&#xff1a; redis-server --daemonize yes 指定配置文件启动…

C#,煎饼排序问题(Pancake Sorting Problem)算法与源代码

1 煎饼排序问题 给定一个未排序的数组&#xff0c;任务是对给定数组进行排序。您只能在阵列上执行以下操作。 翻转&#xff08;arr&#xff0c;i&#xff09;&#xff1a;将数组从0反转为i 示例&#xff1a; 输入&#xff1a;arr[]{23、10、20、11、12、6、7} 输出&#xff1a…

SAP PP学习笔记07 - 简单BOM,派生BOM,多重BOM,批量修改工具 CEWB

上一章讲了BOM的操作。 SAP PP学习笔记06 - BOM操作&#xff08;BOM 展开&#xff0c;BOM 使用先一览&#xff0c;BOM比较&#xff0c;批量更改BOM&#xff09;-CSDN博客 本章延续上一章&#xff0c;继续讲BOM操作。 主要讲 派生BOM&#xff0c;多重BOM&#xff0c;以及BOM批…

2023 最新 IntelliJ IDEA 2023.3 详细配置步骤演示:新入职如何快速配置 IntelliJ IDEA?

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …