关键字:forgery detection, GAN, Contrastive loss, deep learning, fully convolutional network.网络
如今篡改检测存在的问题:很难发现GAN网络生成图像的可区别的共性特征。app
论文提出的检测方法:提出了一个深度篡改判别器[\(DeepFD\)],是一个二分类的判别器,采用对比损失函数来寻找不一样GAN网络生成图像的共同特征,而后经过级联一个分类器来对上一步找到的特征进行分类。框架
实验采用的数据集:\(CelebA\)和各类GAN网络生成的数据集,包括\(DCGAN、WGAP、WGAN-GP、LSGAN、PGGAN\)dom
实验的结果:提出的\(DeepFD\)在对如今流行GAN网络生成图像的检测中实现了94.7%的准确率。函数
[补充] 对比损失函数性能
\(L=\frac{1}{2N}\sum_{n=1}^Nyd^2+(1-y)max(margin-d,0)^2\)学习
\(DeepFD\)包括两个阶段,第一个阶段是经过收集的数据和真实的图像来基于对比函数来学到共同的特征\(D1\),第二阶段是经过判别器(分类器\(D2\))对\(D1\)进行分类。(分类器\(D2\)直接级联到\(D1\)网络的第四层)网络的详细参数以下:测试
[Note] \(C(N_t,2)\)是排列组合的意思。优化
输入集的输入是以对为标准的,记\(R_i=D_1(X_i)\),共同特征学习的目的是最小化\(E_w(X_1,X_2)\):spa
直接最小化\(E_w(X_1,X_2)\)能够将特征表示\(D_1(X_i)\)映射为常含数。这会致使特征表示没有意义。
因此咱们采用对比损失函数:
其中\(p_{ij}\)表示两个样本是否类似,\(m\)为阈值。以这种方式,能够学习由不一样GAN生成的伪图像的共同特征。若是\(p_{ij}=1\),经过对比损失函数,特征表示\(D_1(X_i)\)会更加类似\(D_1(X_j)\)。经过基于比对损失函数的迭代训练,共同特征很快即可学习到。
分类器能够采用SVM,随机森林分类器,拜耳分类器。本文采用的卷积神经网络做为分类器,这样会造成一个端对端的网络结构。卷积神经网络的损失函数采用交叉熵,采用反向传播训练。
数据集:\(CelebA\)和5中GAN网络,分别为\(DCGAN、WGAP、WGAN-GP、LSGAN、PGGAN\)
数据数量:每一个GAN网络生成200000个64×64大小的篡改图像池。对于\(PGGAN\)生成的高像素图像,咱们采用下采样来造成64×64大小的图像。最后选择出400198做为训练数据集和5000做为测试数据集。
网络参数:D1和D2学习率le-3,最大训练epoch为15,对比损失函数阈值m为0.5.Adam optimizer 优化。batch大小为32。在前两个epoch中,只采用成对的数据来训练D1,在这以后,训练D2。
为了实验的严谨,我和传统的实验进行对比而且设计了基准方法。同时也采用了不一样的分类器,例如RFC (Random forest classifier), SVM (Support vector machine), and LC(Linear classifier)。
图2展现了对比损失函数趋于稳定在25000次迭代(第2个epoch)上。
图三展现了在不包括LSGAN训练集,提出的\(DeepFD\)在采用对比损失函数和没有采用的状况下,性能的对比。
表二展现了和其它研究对比结果
LSGN显示了较少不切实际的细节图片。
问题 ???
\(DeepFD\)采用全卷积神经网络,能够将特征图可视化来定位篡改图像中不真实的细节。受引用[14]的启发,在分类器D2的最后一个卷积层中有两个通道,致使该层的学习目标将倾向于学习高激活特征表示,这能够被视为不切实际的细节定位。PGGAN生成的篡改图像的六个可视化结果如图4所示。
[问题]:这个定位不真实细节是如何实现的。
对比损失函数可用于很好地捕获由不一样GAN生成的篡改图像的共同判别特征。 此外,提出的分类器细化过程进一步提升了分类性能,可用于可视化假图像中的不真实细节。 咱们的实验结果代表,该方法在准确性和查全率方面优于其余基准方法。