论文地址:/content_CVPR_/html/Wu_ManTra-Net_Manipulation_Tracing_Network_for_Detection_and_Localization_of_Image_CVPR__paper.html
本文提出了一个不需要额外的预处理和后处理的篡改检测网络ManTra-Net。此网络是一个全卷积网络,可以处理任意尺寸的图像和多种篡改类型。主要的贡献在于用一个自监督学习的方式从385篡改类型中学习特征。并且将篡改定位问题当做一个局部异常点检测问题来解决。使用Z-score特征表示局部异常,使用long short-term memory solution进行评估。
Motivation:
1 实际中图像不止经过一种篡改方式,而且会包含许多后处理。
2 许多已存在的方法都是在图像级判断是否经过篡改,最近的一些定位算法也依赖一些费时的预处理或后处理,如patch特区、特征聚类、分割。
How and why:
ManTra-Net网络通过识别局部异常特征来判断像素是否经过篡改,可以识别多种类型的篡改(copy-move、splicing、remove、enhancement)。
本文提出的ManTra-Net主要包括两个子网络:manipulation-trace feature extractor和LADN(local anomaly detection network)。
1 Overview:
1 对已有特征进行组合,形成了一个更加鲁棒、通用的特征,可以识别385种特定类型的篡改方式。
2 与传统的语义分割框架不同(感觉差别是对mask特征 提取之后的做了修改),将IFLD作为一个局部异常检测问题解决。主要是通过LADN网络(使用两个design模仿人类决策)解决,(1)以Z分数形式标准化局部特征与其参考之间的差异,(2)对来自不同分辨率的ZPool2D feature map进行Conv2DLSTM 顺序分析(远近分析)。
2 Manipulation-Trace feature:
作者首先对网络架构的选择进行了分析。在这一步,作者使用常见的七类篡改操作:families: compression, blur-ring, morphology, contrast manipulation, additive noise, re-sampling, and quantization.
然后对Fine-GrainedManipulation Types进行了研究,作者将常用的七类篡改类型划分为更加具体的小类,如blurring可以划分为:Gaussian blurring, box blurring, wavelet denoising, and median fil-tering,这是level1。像3、5、7这种关于kernel size的划分是level2,一致持续划分直到level5。Level0到level5分别是7、25、49、96、185、385类。
作者也使用level i划分训练的模型对level j的划分进行实验。
可以发现,使用更细度的划分时,对于较为粗糙的划分的实验结果逐渐上升,但是对于细粒度的划分实验结果较差。因此,左右又从两个加宽网络、加深网络两个方面进行了研究。
但是,这里提取出来的特征对于JPEG压缩检测效果较差。
3 Local Anomaly Detection Network:
如框架图中所示,LADN分为三个阶段:1adaptation。将manipulation-trace feature转换为适用于anomaly detection task;2anomalous feature extraction,异常特征提取;3.decision,整体考虑异常特征然后判断一个像素点是否forged。
Anomalous Feature Extraction:
给定一张图片,一个人如何判断这张图片是否经过了篡改?每个人的回答都不一样,但可能是先识别出一张图像的主要特征,然后与主要特征不一致的就是异常的。
在论文中,作者按照这样的思路,讨论了什么是主要特征、如何计算,如何量化局部特征和主要特征之间的差异。
作者将所有像素点的平均特征做为主要特征:
使用下式来衡量差异:
为了更加通用,作者又进行了标准化:
是标准差。实际使用时,作者用代替。
,是一个可学习的非负权重向量,与长度相同。
编码了异常特征与其参考之间的差异,但当图像中包含两个或多个篡改区域时,有一个致命的缺点,当篡改区域面积大于真实区域时,无法表示异常区域。
因此,作者的补救措施是用以一个局部但是足够大的窗口为单位计算reference feature。如果不能排除来自其他篡改区域的影响,就减少它的影响。所以,作者计算了一个window-wise deviation feature:
关于n的选取,作者没有给出一个具体的数字,而是选取了多个不同的n值,计算了一系列的Z-score特征。
将input feature F转换为Z-score是通过ZPool2D实现的。
连接多个窗口的特征时,作者采用的方法与传统的concatenate不同,在这里作者引入了一个新的维度——时间维度,将其转换为四维的,然后使用LSTM去分析序列中不同窗口大小的Z-score偏差。这个方法遵循了一个由远及近的思想,先观察整体,然后局部、局部、再局部。
例:的feature map传安装传统的连接方式,在C这个维度上进行连接,结果仍然是三维的,论文作者引入新的维度,连接后的结果是四维的:,变相的引入的一种时间序列,从而可以利用LSTM进行处理。
结论 or 下一步:
单纯从实验结构来说,作者的结果并不理想,在NIST、Columbia这两个数据集上结果都不如RGB-N,分别落后了14.2%、3.4%,在coverage、CASIA这两个数据集上领先了0.2%、2.2%。
论文中作者的Z-score和引入时间维度进行连接感觉是这篇文章中比较出彩的地方。