CNN-generated images are surprisingly easy to spot... for now

CNN-generated images are surprisingly easy to spot… for now----《目前CNN生成的图像非常容易被发现》

在这里插入图片描述
 
背景: 研究者们发现,仅仅对一种由CNN模型生成的图像进行训练的分类器,也可以检测许多其他模型生成的结果。由此提出这样的观点:即目前CNN生成的图像存在一些常见的系统缺陷,导致它们无法实现真实的图像合成。
动机: 随着生成模型的快速发展,对无法分辨真假的担忧。
 
最简单的方法:
在这里插入图片描述

引言

  近年来深度图像合成技术(例如生成对抗网络(GAN))的快速发展引起了公众的极大兴趣和关注,同时人们担心我们正在进入一个无法辨别哪些图像是真实的、哪些图像是假的世界[14]。这种担忧主要针对特定​​的操纵技术,例如“深度伪造”式面部替换[2]和逼真的合成人类[20]。其实这些方法仅仅是一种广泛应用技术中的两个实例:基于卷积神经网络(CNN)的图像生成。我们这项工作的目标是找到一种通用的图像取证方法来检测 CNN 生成的图像。
  检测图像是否是由特定合成技术生成的相对简单 - 只需在由真实图像和通过相关技术合成的图像组成的数据集上训练分类器即可。然而,这种方法可能与图像生成中使用的数据集(例如面部)相关联,并且由于数据集偏差[35],在新数据(例如汽车)上进行测试时可能无法泛化。更糟糕的是,随着生成方法的发展以及它所训练的技术变得过时,特定技术的检测器可能很快就会变得无效。
  因此,很自然地会问,今天的 CNN 生成的图像是否包含常见的伪影,例如某种可检测的 CNN 指纹,这将允许分类器泛化到整个生成方法系列,而不是单个生成方法。不幸的是,先前的工作表明泛化是图像鉴别取证方法的一个重大问题。例如,最近的几项工作 [44,12,37] 观察到,在一种 GAN 架构生成的图像上训练的分类器在其他架构上进行测试时表现不佳,并且在许多情况下,当仅更改分类器训练数据集(而不是架构或任务)时,它们也无法泛化。这是有道理的,因为图像生成方法多种多样:它们使用不同的数据集、网络架构、损失函数和图像预处理。
  在本文中,我们表明,与当前的理解相反,经过训练来检测 CNN 生成图像的分类器可以在数据集、架构和任务中表现出惊人的泛化能力。我们遵循惯例,以简单的方式训练我们的分类器,使用单个 CNN 模型生成大量假图像(我们使用 ProGAN,一种高性能无条件 GAN 模型 [19]),并训练二元分类器来检测假图像,使用模型的真实训练图像作为反例。
  为了评估我们的模型,我们创建了一个新的 CNN 生成图像数据集,即 ForenSynths 数据集,由 11 个模型的合成图像组成,范围从无条件图像生成方法(如 StyleGAN [20])到超分辨率方法 [13] ,以及深度伪造[33]。每个模型都在适合其特定任务的不同图像数据集上进行训练。
  在这种方法看似简单的背后,我们发现存在许多微妙的挑战,我们通过一组实验和经过训练的图像生成模型的新数据集来研究这些挑战。我们表明,当采取正确的步骤时,分类器对于 JPEG 压缩、模糊和调整大小等常见操作确实具有鲁棒性。我们还发现,训练图像的多样性很重要;从CNN合成方法中采样的大数据集导致分类器在一定程度上优于在较小数据集上训练的分类器。最后,检查后处理对模型泛化能力的影响至关重要,这通常发生在图像创建的下游(例如,在存储和分发期间)。我们表明,当采取正确的步骤时,分类器对于 JPEG 压缩、模糊和调整大小等常见操作确实具有鲁棒性。
  总之,我们的主要贡献是:
1)我们表明,在CNN生成的图像上训练的取证模型对其他CNN合成方法表现出惊人的泛化能力;
2)我们提出了一种新的数据集和评估指标,用于检测CNN生成的图像;
3)我们通过实验分析了跨模型泛化的因素。

相关工作

  检测CNN生成的技术。 最近的几项工作已经解决了检测 CNN 生成的图像的问题。Rossler 等人[33]评估了检测面部操纵技术的方法,包括基于 CNN 的面部和嘴巴替换方法。虽然他们表明简单的分类器可以检测同一模型生成的赝品,但他们没有研究模型或数据集之间的泛化。Marra 等人 [24] 同样表明,简单的分类器可以检测由图像翻译网络 [17] 创建的图像,但没有考虑跨模型迁移。
  最近,Cozzolino 等人 [12] 发现取证分类器在模型之间的迁移很差,常常获得近乎偶然的性能。他们提出了一种基于自动编码器的新表示学习方法,以提高各种生成方法的零和低样本训练方案中的传输性能。虽然他们的最终目标与我们相似,但他们采取了正交方法。他们专注于改进迁移学习方法,并将其应用于各种模型(包括 CNN 和非 CNN)。相比之下,我们实证研究了简单“基线”分类器在不同训练和测试条件下基于 CNN 的图像生成的性能。Zhang 等人 [44] 发现分类器在 GAN 模型之间的泛化能力很差。他们提出了一种称为 AutoGAN 的方法,用于生成包含 GAN 架构中常见的上采样伪影的图像,并在两种类型的 GAN 上进行测试。其他工作提出使用手工制作的共现特征 [26] 或通过基于预训练的人脸检测器构建的异常检测模型来检测 GAN 图像 [37]。研究人员还提出了几种方法来识别哪些已知的 GAN 生成了给定的图像 [25, 41]。
  图像取证。 研究人员提出了多种方法来检测更传统的操纵技术,例如通过图像编辑工具进行的操纵技术。早期的工作侧重于手工制作的线索 [14],例如压缩伪影 [3]、重采样 [31] 或物理场景约束 [27]。最近,研究人员将基于学习的方法应用于这些问题[45,16,11,32,38]。像我们一样,这一行的工作发现简单的监督分类器通常可以有效地检测操作 [45, 38]。
CNN生成的共有特征
  研究人员最近表明,常见的 CNN 设计包含降低其表征能力的伪影。这项工作的大部分内容都集中在网络执行上采样和下采样的方式上。这种伪影的一个众所周知的例子是由反卷积层产生的棋盘伪影[28]。Azulay 和 Weiss [4] 表明,卷积网络忽略了经典采样定理,因此跨步卷积降低了平移不变性,Zhang [43] 通过减少这些层中的混叠来改进平移不变性。最近,Bau 等人 [5] 提出 GAN 的生成能力有限,并分析了预训练的 GAN 无法生成的图像结构。

研究问题:

是否有可能在一个生成模型的图像上训练一个取证分类器,该模型可以推广到许多其他模型上。

分类器的训练:

数据集构建: 选择ProGAN作为生成模型(无条件、结构简单、可生成任意数量、高质量图像),LSUN为ProGAN的训练数据集,共20个类别,为每类生成36K训练图像和200个验证图像,共720K训练图像和4K验证图像,再取相同数量的真实图像共同组成分类器数据集。
模型选择: 与训练的ResNet-50,图像输入为224×224.
评价指标: 平均精度 AP

实验结论分析:

  1. 作者认为以前的分类器没有很好的泛化,是因为图像没有后增强。由于真实图像存在后处理操作(指压缩、模糊、裁剪等)。而大多数合成图像不存在,但不能让分类器通过学习是否有后处理进行分类。因为在现实场景使用过程中,无论生成还是真实图像都会受到压缩或模糊处理,使模型的鲁棒性降低,导致在理想情况下训练的分类器不能很好泛化。
  2. 训练数据类别的增加能够提升模型的泛化性能,但类别达到一定数量后,AP的增量变得很小,说明可能存在一个对于实际泛化来说“足够多样性”的训练数据集。
  3. 证明了摘要中提出的观点,CNN生成的图像与真实图像存在不同,并且可视化了合成图像和真实图像的频率,并进行比较。

总结:

  和大多数方法一样,都是训练一个分类器。改进在于:根据现实场景存在的伪影情况,对训练数据进行后增强,使模型学习到生成图像和真实图像更本质的区别,使得该分类器实现开箱即用的效果。
  CNN分类器学习图像的高频和低频信息进行分类,但在现实中,图像会被压缩或模糊处理,导致部分低频信息损失,使模型失效(这说明伪影可能不仅是高频的,而且是跨频段存在的),可以在模型训练阶段使用高通滤波过滤掉低频信息,从而增强模型鲁棒性。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言中的自定义类型详解(结构体 + 枚举 + 联合(共用体))

文章目录 1. 结构体1.1 结构体的声明1.2 结构体成员的访问1.3 匿名结构体1.4 结构体的自引用1.5 结构体内存对齐(计算结构体的大小)1.6 结构体传参1.6.1 传值传递1.6.2 传址传递(使用指针) 2. 位段2.1 什么是位段?2.2 …

铅华洗尽,粉黛不施,人工智能AI基于ProPainter技术去除图片以及视频水印(Python3.10)

视频以及图片修复技术是一项具有挑战性的AI视觉任务,它涉及在视频或者图片序列中填补缺失或损坏的区域,同时保持空间和时间的连贯性。该技术在视频补全、对象移除、视频恢复等领域有广泛应用。近年来,两种突出的方案在视频修复中崭露头角&…

miRNA测序数据生信分析——第四讲,未知物种的生信分析实例

miRNA测序数据生信分析——第四讲,未知物种的生信分析实例 miRNA测序数据生信分析——第四讲,未知物种的生信分析实例1. 下载测序数据2. 原始数据质控——软件fastqc3. 注释tRNA和rRNA,使用Rfam数据库——软件blast,Rfam_statisti…

监控系列(六)prometheus监控DMHS操作步骤

一、监控的操作逻辑 给操作系统安装expect命令expect脚本执行dmhs_console脚本执行 cpt / exec 命令用脚本进行过滤字符串过滤dm_export读取脚本与当前日期作比较,然后返回差值 二、安装步骤 1. linux中Expect工具的安装及使用方法 https://blog.csdn.net/wangta…

mybatis拦截器源码分析

mybatis拦截器源码分析 拦截器简介 mybatis Plugins 拦截器由于Mybatis对数据库访问与操作进行了深度的封装,让我们应用开发效率大大提高,但是灵活度很差拦截器的作用:深度定制Mybatis的开发抛出一个需求 :获取Mybatis在开发过程中执行的SQL语句(执行什么操作获取那条SQL语句…

ChatGPT,AIGC 制作按年份选择的动态条形图

在数据分析与可视化中,条形图是用来进行对比分析,在正负条形图中都有哪些好处与优点呢? 正负条形图是一种常用的数据可视化方式,它的优点和好处包括: 1.明确展示:正负条形图可以清晰地显示出数据中的正负差异,使读者能直观地看出数据的变化和趋势。 2.直观比较:正负条…

苹果电脑其他内存怎么清理?

苹果电脑中的应用程序大部分是可以通过将其拖拽至废纸篓并倾倒来卸载的。但是部分程序在卸载后仍有残留文件,比如support文件和pref设置等文件的。小编今天介绍下苹果电脑清理内存怎么清理卸载残留以及好用的清理技巧分享。 一、苹果电脑清理内存怎么清理 苹果电脑…

简单实现一个todoList(上移、下移、置顶、置底)

演示 html部分 <!DOCTYPE html> <html> <head><title>表格示例</title> </head> <body><table border"1"><thead><tr><th>更新时间</th><th>操作</th></tr></thead…

thinkphp5.1 获取缓存cache(‘cache_name‘)特别慢,php 7.0 unserialize 特别慢

thinkphp5.1 获取缓存cache(‘cache_name’)特别慢&#xff0c;php 7.0 unserialize 特别慢 场景&#xff1a; 项目中大量使用了缓存&#xff0c;本地运行非常快&#xff0c;二三百毫秒&#xff0c;部署到服务器后 一个表格请求就七八秒&#xff0c;最初猜想是数据库查询慢&am…

KY258 日期累加

KY258 日期累加 int main() {int n 0; //样例个数cin >> n;//for循环处理n个样例for (int i 0; i < n; i){int y, m, d, num;int days[12] { 31,28,31,30,31,30,31,31,30,31,30,31 };//输入年月日 要加的天数cin >> y >> m >> d >>…

完整教程:Java+Vue+Websocket实现OSS文件上传进度条功能

引言 文件上传是Web应用开发中常见的需求之一&#xff0c;而实时显示文件上传的进度条可以提升用户体验。本教程将介绍如何使用Java后端和Vue前端实现文件上传进度条功能&#xff0c;借助阿里云的OSS服务进行文件上传。 技术栈 后端&#xff1a;Java、Spring Boot 、WebSock…

【Java学习之道】GUI开发的基本概念

引言 在这一章&#xff0c;我们将一起走进Java的图形用户界面&#xff08;GUI&#xff09;开发的世界。在你阅读完这篇文章后&#xff0c;你将能够了解什么是GUI&#xff0c;以及如何使用Java进行GUI的开发。 一、什么是GUI 首先&#xff0c;让我们来解答一个许多初学者都会…

AN基础工具——变形工具

【AN基础工具——变形工具】 基本使用方法&#xff1a;任意变形工具基础动画 本篇内容&#xff1a;学会使用变形工具 重点内容&#xff1a;变形工具 工 具&#xff1a;Adobe Animate 2022 基本使用方法&#xff1a; 任意变形工具 《任意变形工具&#xff08;快捷键Q&#xff0…

深度学习系列51:hugging face加速库optimum

1. 普通模型 Optimum是huggingface transformers库的一个扩展包&#xff0c;用来提升模型在指定硬件上的训练和推理性能。Optimum支持多种硬件&#xff0c;不同硬件下的安卓方式如下&#xff1a; 如果是国内安装的话&#xff0c;记得加上-i https://pypi.tuna.tsinghua.edu.c…

八大排序算法(含时间复杂度、空间复杂度、算法稳定性)

文章目录 八大排序算法(含时间复杂度、空间复杂度、算法稳定性)1、&#xff08;直接&#xff09;插入排序1.1、算法思想1.2、排序过程图解1.3、排序代码 2、希尔排序3、冒泡排序3.1、算法思想3.2、排序过程图解3.3、排序代码 4、&#xff08;简单&#xff09;选择排序4.1、算法…

Springcloud笔记(2)-Eureka服务注册中心

Eureka服务注册 Eureka作为一个微服务的治理中心&#xff0c;它是一个服务应用&#xff0c;可以接收其他服务的注册&#xff0c;也可以发现和治理服务实例。 服务治理中心是微服务&#xff08;分布式&#xff09;架构中最基础和最核心的功能组件&#xff0c;它主要对各个服务…

kafka生产者发送消息报错 Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected

报这个错误是因为kafka里的配置要修改下 在config目录下 server.properties配置文件 这下发送消息就不会一直等待&#xff0c;就可以发送成功了

CTFHub SSRF 题目

文章目录 CTFHub SSRF 通关教程1. 内网访问&#xff0c;伪协议利用1.1 内网访问1.2 伪协议读取文件1.3 端口扫描 2. POST请求&#xff0c;上传文件&#xff0c;FastCGI协议&#xff0c;Redis协议2.1 POST请求2.2 上传文件2.3 FastCGI协议2.4 Redis协议 3. Bypass系列3.1 URL By…

Macos数字音乐库:Elsten Software Bliss for Mac

Elsten Software Bliss for Mac是一款优秀的音乐管理软件&#xff0c;它可以帮助用户自动化整理和标记数字音乐库&#xff0c;同时可以自动识别音乐信息并添加标签和元数据。 此外&#xff0c;Bliss还可以修复音乐库中的问题&#xff0c;例如重复的音乐文件和缺失的专辑封面等…

Apache Dubbo 首个 Node.js 3.0-alpha 版本正式发布

作者&#xff1a;蔡建怿 关于Apache Dubbo3 Apache Dubbo 是一款易用、高性能的 WEB 和 RPC 框架&#xff0c;同时为构建企业级微服务提供服务发现、流量治理、可观测、认证鉴权等能力、工具与最佳实践。经过近几年发展&#xff0c;Dubbo3 已在阿里巴巴集团各条业务线实现全面…