A general approach to detect tampered and generated image
Abstract
当前的数字图像取证算法主要集中于传统篡改图像的检测或需要GAN的网络结构的先验知识。
本文创新点提出了一种能同时检测篡改图像和GAN生成图像的通用方法。方法内容:
1. 使用Scharr操作提取图像的边缘信息。
2. 将边缘信息矩阵转换成灰度共生矩阵(GLCM),在不损失图像信息的情况下放缩图片。
3. 将GLCM输入基于深度可分离卷积的神经网络中进行训练。
结果:与其他方法相比,模型在F1评分上获得了0.98的分数,对于其它GAN模型同时具有较强泛化能力。
关键字:Digital image forensics, generative adversarial networks, deep learning, convolutional
neural networks
1.INTRODUCTION
数字图像取证分为主动取证和被动取证。
在大多数被动取证算法中,图像特征是在图像预处理后提取的,然后使用SVM进行分类引用[5] – [7],[27]。随着CNN的发展,采用CNN的有引用[8],[15]。
splicing, removal, 和 copy-move是主要的检测方面,也是本文主要讨论的三个方面。
GAN网络论文引用[2]–[4], [16], [17], [26], [28].
以往算法存在的缺陷,不能同时检测GAN网络和传统图像篡改,并且泛化能力差。
训练的数据集为BigGAN生成的图片。
论文代码:https://github.com/yuleung/image_forensics
文章的主要贡献:
- 第一个模型同时检测GAN生成的图片和图像篡改的图片。
- 提出通用的方法检测GAN和GAN变种网络生成的图片。
- 我们提出一种以深度可分离卷积网络结构,与传统卷积相比,该结构的参数数量较少。
2.Related Works
本节主要解释图像篡改和GANs网络结构。
A. DIGITAL IMAGE TAMPERING DETECTION
-
引用[5]提出了splicing traces在YCrCb颜色空间是容易被检测的。
-
引用[7]提出steerable pyramid transform (SPT) and local binary pattern (LBP)提取特征。
-
引用[36]提出wavelet transform and texture descriptor的检测方法。(小波变换和纹理描述符)
-
引用[6]提出将边缘图像建模为有限状态马尔可夫链,并从其静态分布中提取低维特征向量以进行篡改检测。(model the edge image as a finitestate Markov chain and extract low dimensional feature vector from its stationary distribution for tampering detection)
-
引用[8]提出一种新得卷积层叫constrained convolutional layer(约束卷积层),可以抑制图像的内容并自适应地学习篡改检测特征。
-
引用[15]提出的CNN模型中使用在空间丰富模型(SRM)中设置的基本高通滤波器初始化了第一层卷积核。然后提取特征用于SNN卷积网络。
-
引用[10]提出了一种用于检测任务的两流Faster R-CNN网络。 他们的模型由两个子网组成,分别是SRM噪声流子网和RGB流子网,它们经过训练分别提取不同的特征。 最后,通过分析这两个特征来检测篡改区域。
-
引用[29]使用扩散残差网络变量(DRN-C-26)来检测应用于人脸的图像变形。
B. GANS IN IMAGE GENERATION
GAN网络模型有PGGAN、SNGAN、BigGANs、StyleGAN、StackGAN、StackGAN。
一些检测GAN网络的论文[11]–[13], [31], [32], [35]
3. APPROACH
网络结构图如下
主要分为三个部分:特征提取,图像缩放和分类。
- 将图像从RGB颜色空间转换为YCrCb颜色空间,然后使用Scharr运算符提取Cr和Cb分量的图像边缘信息。
- 转换成灰度共生矩阵(GLCM),该矩阵用于将不同大小的边缘矩阵统一为相同的大小。
- GLCM将基于我们设计用于获得分类结果的深度可分离卷积馈入一个深度神经网络。
A. FEATURE EXTRACTION
- YCrCb是一种颜色空间,类似RGB,其中Y是亮度分类,Cr和Cb是色度分量。
- 如图1第一行,篡改该会尽量消除RGB图片上的篡改痕迹。
- 在图4第一行,篡改痕迹更加明显(拼接鸟的边缘比其它部分更加平滑)
- 在图3中,GAN生成的图像前景和背景之间也存在边缘信息。
- 将图片转换成YCrCb提取Cr和Cb色度分量。Y分量如图4所示,它主要包括内容细节,图像的内容细节将会覆盖篡改的边缘信息,所以,我不这里不使用Y分量。Cr和Cb不关注图像的细节,更加图像的边缘信息。能够提取篡改的关键信息,然后使用3×3的边缘检测算法,获取边缘信息。
- scharr是soble的变体,更加注重边缘信息。公式如下
边缘信息的结果如图4所示。可以看出,篡改操作区域的边缘信息比Cr成分和Cb成分的边缘信息矩阵中的真实区域要平滑和明亮。
B. IMAGE SCALING
图像的纹理是通过重复出现在特定空间位置的灰度来形成的,灰度共生矩阵(GLCM)通过提取灰度空间相关性的特征来提取图像的纹理。 我们将图像边缘信息矩阵转换为GLCM的原因有两个:
- 在图像取证的实际应用中,图像的像素不确定。 同时,基于CNN的分类器通常需要输入数据具有特定大小,并且图像的详细信息对于检测篡改操作特别重要。 GLCM的大小取决于图像中的最大灰度值。 因此,GLCM可以将边缘信息矩阵调整为统一大小,而不会丢失图像细节。
- 根据GLCM的特征,边缘图像中与篡改区域相对应的平滑边缘和与未篡改区域相对应的粗糙边缘在GLCM中具有不同的表示形式。
经过Scharr算子滤波后得到的边缘信息矩阵的最大值可以达到4080,但是我们发现,由Scharr算子计算得到的图像的边缘信息矩阵的值大多在相对较小的范围内,如图6所示。我们可以选择合适的阈值来截断边缘信息矩阵的较大值,而对模型的性能影响很小,这可以减小转换后的GLCM的大小,从而最大程度地减少模型的复杂性。 截断操作根据以下规则进行:
接下来,我们在四个方向(0°,45°,90°,135°)采用偏移距离为1对Cr和Cb的成分矩阵进行运算。最后,将它们连接在一起以获得大小矩阵T×T×8,作为深度神经网络的输入。
转换为GLCM的特定算法如下
C. CLASSIFICATION BASED ON DEPTHWISE SEPARABLE CONVOLUTION
我们设计了基于深度可分离卷积的深度神经网络,专门用于检测篡改图像和GAN生成的图像。网络结果如图
设计这样的网络结构的原因:
- GLCM来自边缘信息矩阵中提取的,这导致存在大量的0,所以我们在第一层的卷积核设置为5×5,步长为4.
- 在将边缘信息矩阵转换为GLCM之后,边缘的特征将分散在整个GLCM中。 因此,在网络体系结构的较深部分中,在获得较小的特征图之后,我们重复了几次卷积运算以完全提取图像特征。
4. EVALUATION
A. DATASET
- CACIA 2.0
- GPIR dataset
- COVERAGE dataset
- BigGANs dataset
- LSUN Bedroom dataset (256×256)
- PGGAN dataset
- SNGAN dataset
- StyleGAN dataset
B. EXPERIMENTAL DETAILS
- 框架:tensorflow
- 网络参数细节:ADAM optimizer is used to minimize the cross entropy loss with an initial learning rate of 0.0005, and decay of learning rate 0.85 every 600 steps, a minibatch size of 56, a batch normalization decay parameter of 0.95, and a weight decay(L2 regularization) parameter of 0.0001.
- RGB转换为YCrCb原则
- 同时检测GAN网络和篡改图像的多分类问题使用Macro-F1评分来评估我们的模型
- 准确率衡量为
C. DETECTION PERFORMANCE
在CACIA2.0和BigGANs数据集上进行了实验,在测试边缘信息矩阵的时候使用了不同的阈值,不同颜色空间,不同深度神经网络用于分类的性能差异以及Sobel运算符和Scharr运算符之间的性能差异。
我们从7491个真实图像和5123个CASIA 2.0篡改图像中随机选择5123个图像,并从16,000个BigGANs数据集中的图像中随机选择5123个图像。 然后,我们从每个类别中随机选择4123张图像,总共12369张图像作为训练集,从每个类别中剩余的1000张图像和总共3000张图像作为测试集。 实验结果示于表1。
我们发现截断值T为192可获得最佳结果,截断值小于192导致性能降低,截断值大于192并没有带来更高的性能。 另外,对于篡改图像和GAN生成的图像,我们发现在处理伪造图像检测的边缘检测任务时,我们的方法中使用的Scharr运算符具有比Sobel运算符更好的性能。 与传统的卷积网络模型和其他经典的网络模型相比,基于深度可分离卷积的深度神经网络模型具有更好的分类性能。 与其他颜色空间中的分量相比,YCrCb颜色空间中的Cr和Cb分量在伪图像检测任务中可以更好地执行特征提取。 与[11],[31]和XceptionNet中提出的方法相比,我们的方法具有更好的性能。
同时,可以注意到,在某些特定条件下,我们的模型达到了很高的精度和召回率(甚至达到100%)。 并且使用不同的参数,我们的模型都能很好地检测BigGAN生成的图像。 因此,有了这些结果,我们可以有把握地得出结论,我们的模型可以很好地提取GAN生成的图像的特征。
与其他专门设计用于检测篡改的方法相比,我们的通用模型在检测篡改图像方面也具有良好的性能。 实验结果示于表2。
在表1的最佳组合中,如果根据规则(9)计算准确性,则仅考虑真实图像和篡改图像,而忽略GAN生成的图像,我们的模型在BigGANs数据集和CASIA2上的检测精度得到了训练。 0数据集是97.95%。 如果像[15],[27]和[6]一样仅在CASIA2.0数据集上训练模型,则检测精度为99.25%,[15],[27]和[6]中报告的准确性 分别为97.83%,97.50%和95.60%。 此外,如果我们的模型在CASIA1.0数据集上进行了训练和测试,则可以将CASIA1.0数据集视为CASIA2.0数据集的简化版本,检测精度可以达到100%,并且在[15],[ 27]和[36]分别为98.04%,97.00%和96.81%。 因此,与以前的工作相比,我们的方法在检测篡改图像方面效果很好。
D. GENERALIZABILITY
1) Generalizability on Tampered images
我们在COVERAGE数据集和GIRP数据集中测试了模型的可泛化性。 具体来说,我们首先分别对两个数据集评估我们的方法,然后对两个数据集执行交叉评估(一个数据集作为训练,另一个作为测试)。 由于COVERAGE数据集和GPIR数据集的样本有限,因此它们太小而无法重新训练我们的深度神经网络。我们使用了从COVERAGE篡改图像或GPIR篡改图像中随机选择的50%图像来微调原始训练模型,其余50% 图像和另一个数据集进行测试。
我们仅以0.0001的学习速率和8的最小批量大小执行了150步的参数更新操作。实验结果如表3所示。
实验表明,我们的模型可以快速且轻松转移到其他小型新颖篡改数据集。
2) Generalizability on GANs Generalized Images
我们的方法具有针对各种GAN模型的通用检测功能。 我们选择了具有良好生成图像质量的GAN模型来测试我们模型的性能,并使用规则(9)计算准确性。 请注意,我们用于评估泛化性能的模型是在表1的实验中使用Cr和Cb分量,Scharr算符,截断值T为192,深度可分离卷积进行训练的模型,并且还在BigGANs数据集和 CASIA 2.0数据集。 实验结果示于表4。
实验表明,我们的模型具有很强的泛化能力,可以检测GAN生成的图像。 这是一个了不起的发现,这意味着由各种GAN模型生成的图像具有其固有的通用特性,并且我们的模型也很好地了解了这些特性。
V. CONCLUSION
在本文中,我们提出了一个可以检测篡改图像和GAN生成图像的通用模型。首先,我们将要检测的RGB图像转换为YCrCb色彩空间,并提取Cr成分和Cb成分的图像边缘信息。然后,我们将图像边缘特征转换为GLCM,以便在不丢失图像调节信息的情况下进行图像缩放。最后,将GLCM输入我们基于深度可分离卷积设计的深度神经网络中进行训练和检测。我们设计的边缘特征提取方法和深度神经网络模型可以识别篡改图像和GAN生成的图像,这些图像的F1得分的宏观平均值较高,为0.9865。此外,与以前的工作相比,我们的模型在仅检测篡改图像方面也取得了良好的性能。此外,我们的模型可以同时高精度检测不同GAN模型从头开始生成的图像,我们认为原因是GAN生成的图像会在对象边缘留下痕迹,并且我们的模型很好地了解了这一标记。