使用纹理对比度检测检测AI生成的图像

王林
发布: 2024-03-06 21:28:09
转载
965 人浏览过

在本篇文章中我们将介绍如何开发一个深度学习模型来检测人工智能生成的图像。

使用纹理对比度检测检测AI生成的图像

许多用于检测人工智能生成图像的深度学习方法都根据图像生成的方式或者图像的特性/语义来确定,通常这些模型只能识别人工智能生成的特定对象,比如人、脸、汽车等。

然而,这项名为“Rich and Poor Texture Contrast: A Simple yet Effective Approach for AI-generated Image Detection”的研究提出的方法克服了这些挑战,具有更广泛的适用性。我们将深入探讨这篇研究论文,阐明它是如何有效解决了其他检测人工智能生成图像方法所面临的问题。

泛化性问题

当我们使用一个模型(比如ResNet-50)来识别人工智能生成的图像时,模型会根据图像的语义进行学习。如果我们训练一个模型来识别人工智能生成的汽车图像,使用真实图像和人工智能生成的不同汽车图像进行训练,那么该模型将只能从这些数据中获取有关汽车的信息,而对于其他物体则无法进行准确识别。

虽然可以对各种对象的数据进行训练,但这种方式耗时较长,而且仅能在未知数据上达到大约72%的准确率。尽管可以通过增加训练次数和数据量来提高准确性,但我们无法无限地获取训练数据。

也就是说目前检测模型的泛化性有很大的问题,为了解决这个问题,论文提出了以下的方法

Smash&Reconstruction

这篇论文介绍了一种独特的方法,用于防止模型在训练过程中从图像的形状中学习到人工智能生成的特征。作者提出了一种名为Smash&Reconstruction的方法来实现这一目标。

在这种方法中,图像被分成预定大小的小块,然后对它们进行重新排列,以生成新的图像。这只是一个简单的概述,因为在形成生成模型的最终输入图像之前,还需要进行额外的步骤。

使用纹理对比度检测检测AI生成的图像

将图像分割成小块后,我们将小块分成两组,一组是纹理丰富的小块,另一组是纹理较差的小块。

图像中细节丰富的区域,如物体或两个对比色区域之间的边界,就成为一个丰富的纹理块。与主要是背景的纹理区域(如天空或静止的水)相比,丰富的纹理区域在像素上有很大的变化。

计算纹理丰富的指标

首先将图像分成预先确定大小的小块,如上图所示。然后找到这些图像块的像素梯度(即找出水平方向、对角线方向和反对角线方向上的像素值之差并将它们相加),并将它们分离成丰富纹理块和纹理较差块。

与纹理较差的块相比,纹理丰富的块具有更高的像素梯度值,计算图像梯度值得公式如下:

使用纹理对比度检测检测AI生成的图像

在像素对比度的基础上对图像进行分离,得到两幅合成图像。这一过程是本文称之为“Smash&Reconstruction”的完整过程。

使用纹理对比度检测检测AI生成的图像

这样就让模型学习到得是纹理的细节,而不是物体的内容表征

fingerprint

大多数基于指纹的方法受到图像生成技术的限制,这些模型/算法只能检测由特定方法/类似方法(如扩散、GAN或其他基于CNN的图像生成方法)生成的图像。

为了精确地解决这个问题,论文已经将这些图像块划分为丰富或贫乏的纹理。然后作者又提出了一种识别人工智能生成图像指纹的新方法,这也就是论文的标题。他们提出在应用30个高通滤波器后,找到图像中丰富和贫乏纹理斑块之间的对比度。

丰富和贫乏的纹理块之间的对比度有什么帮助呢?

为了更好理解,我们将图像并排比较,真实图像和人工智能生成的图像。

使用纹理对比度检测检测AI生成的图像

这两张图像使用肉眼观看也是很难查看他们的去别的对吧

论文首先使用Smash&Reconstruction 过程:

使用纹理对比度检测检测AI生成的图像

使用纹理对比度检测检测AI生成的图像

在每个图像上应用30个高通滤波器后,它们之间的对比度:

使用纹理对比度检测检测AI生成的图像

使用纹理对比度检测检测AI生成的图像

从这些结果中我们可以看到,人工智能生成的图像与真实图像的对比度相比,纹理斑块丰富和贫乏的对比度要高得多。

这样我们用肉眼就可以看到区别了,所以可以将对比度的结果放入可训练模型,并将结果数据输入分类器,这样就是我们这篇论文的模型架构:

使用纹理对比度检测检测AI生成的图像

分类器的结构如下:

使用纹理对比度检测检测AI生成的图像

论文中提到了30个高通滤波器,这些滤波器最初是为隐写分析而引入的。

注:图片隐写的方式有很多种。广义上,只要通过某种方式将信息隐藏到图片中而难以通过普通方式发现,就可以称为图片隐写,对于隐写分析有很多相关的研究,有兴趣的可以查阅相关资料。

这里的过滤器是使用卷积方法应用于图像的矩阵值,所使用的滤波器是高通滤波器,它只允许图像的高频特征通过它。高频特征通常包括边缘、精细细节和强度或颜色的快速变化。

使用纹理对比度检测检测AI生成的图像

除(f)和(g)外,所有滤波器在重新应用于图像之前都以一定角度旋转,因此总共形成30个滤波器。这些矩阵的旋转是用仿射变换完成的,而仿射变换是用SciPy完成的。

总结

论文的结果已经达到了92%的验证精度,并且据说如果训练的更多还会有更好的结果,这是一个非常有意思的研究,我还找到了训练的代码,有兴趣的可以深入研究:

论文:https://arxiv.org/abs/2311.12397

代码:https://github.com/hridayK/Detection-of-AI-generated-images

以上是使用纹理对比度检测检测AI生成的图像的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:51cto.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!