一种改进的Mask R-CNN图像篡改检测模型
2020-12-10宣锦昭闪文章
宣锦昭,徐 超,冯 博,闪文章
(安徽大学 电子信息工程学院,合肥 230601)
1 引 言
随着高分辨率数码相机、智能手机和平板电脑的发展,数字图像的数量呈指数增长,而Facebook等社交软件进一步促进了它们的传播.这种图像公共传播的趋势以及功能强大的数字图像处理软件(Photoshop)的普遍使用使得伪造图像成为一个严重问题.篡改图像被认为是一种潜在威胁,如篡改者有目的地篡改图像,用于保险鉴定、司法调查、网络安全.在篡改技术中,复制-移动(copy-move)和拼接(splicing)是图像伪造的最常见类型,都涉及将图像内容粘贴到目标(伪造)图像.但是,在拼接中添加的内容是从其它图像中获取,而复制-移动则通过复制并粘贴同一图像中的区域生成篡改图像.不同篡改技术的篡改图像样例如图1所示.
图1 不同篡改技术的篡改图像样例,第一行为拼接操作,第二行为复制-移动操作Fig.1 Example of tampered images with different tampering techniques,including the first behavior splicing operation and the second behavior copy-move operation.
图像取证的最新工作利用噪声特征、滤波器阵列CFA模式以及JPEG压缩相关的痕迹.对于噪声特征[1,2],型号不同的数字式相机产生的图像之间会有不同噪声特征.拼接区域是从源图像删除一个对象并将其复制粘贴到目标图像(篡改图像),目标图像中篡改区域噪声特征与其余区域可能不匹配,因此噪声特征可以潜在地用于识别拼接区域.CFA插值通过捕获输出转换为三通道(RGB)来重建全彩色图像[3],而拼接会以多种方式破坏CFA插值模式,因此合并两个不同的图像会导致不连续.JPEG压缩会留下压缩痕迹[4],假定原始图像经历了连续JPEG压缩,而拼接部分由于平滑或者重新采样会失去其初始JPEG压缩特性.因此,我们认为这些篡改特征可以帮助定位拼接区域.复制-移动篡改区域来自同一图像,会产生相似的噪声分布,因此需要增强全局特征类间区分.然而,现有方法存在两个主要问题:1)手工制作的特征限制了模型的泛化能力;2)无法实现更通用的取证模型,从而忽略了取证任务的完整性.文献[5,6]只能推断出给定的图像是否伪造或者只能用边界框来定位篡改区域,定位的篡改区域不是像素级的.为了克服这些问题,本文以Mask R-CNN[7]为基本框架,提出了双分支注意力机制 Mask R-CNN网络.为了区分篡改区域和真实区域,我们将卷积注意力模块[8](CBAM)引入主分支区域提议网络(RPN)前,以增强特征提取能力.注意力机制也常用于自然语言处理[9,10].利用主分支发现篡改特征,如篡改图像边界存在的篡改痕迹以及篡改区域和未篡改区域之间形成的类间区分效果.第二个分支用于发现篡改图像中的局部噪声特征,我们将主分支RGB篡改图像转成噪声域,并使用转换后的图像输入第二个分支.基于篡改操作分类的隐写丰富模型(SRM)的最新工作[11,12,23],我们选择SRM滤波器核以产生噪声特征.主分支主要发现对象边缘的异常高对比度,并将边界框回归到真实框.噪声分支首先将输入的RGB图像通过SRM层获得噪声特征,利用噪声特征为分类提供依据.主分支和噪声分支共享来自区域对齐层(ROI Align)之后的区域建议,从而产生主分支的感兴趣区域(ROI)和噪声分支的ROI区域.最后,利用双线性池化合并两个分支的特征图用于分类.目前公开的篡改图像数据集不足以训练深层的神经网络,因此我们合成了一个新的综合篡改数据集以进行模型的预训练,然后在不同的公开数据集上对该模型进行微调.我们提出的算法结构如图2所示.
图2 算法结构图Fig.2 Algorithm structure diagram
本文的主要贡献如下:
1)添加噪声分支,以区分真实区域和篡改区域的噪声不一致.
2)主分支注意力区域提议网路(A-RPN)可有效增强全局特征的类间区分.在标准数据集上实验表明,我们的模型优于其它算法.
3)基于COCO[13]数据集合成创建了新的篡改数据集COCO Synthetic Tampered Data Set(COCO STDS),以形成预训练模型.
2 相关工作
近年来,数字图像取证已经开发了许多技术,可以分为被动检测技术[14]和主动检测技术.在验证图像是否真实时,主动检测技术从可疑图像中提取数据并与原始图像进行比较.相反,被动检测技术无需额外的预处理就可以验证图像的真伪性.虽然篡改图像在视觉上不会留下明显痕迹,但是无法避免会更改图像的局部特征甚至整个特征.目前,许多传统的图像取证任务通过手工制作特征集区分原始图像和处理后的图像.因此,研究通常集中在复杂手工特征的构建上.然而,许多任务很难确定应该提取哪些特征.随着深度学习应用于图像取证的情景越来越多,深层卷积神经网络已经能够用于图像取证.文献[15,16]通过对图像进行特征提取从而进行分类和定位操作.例如,第一次将卷积神经网络应用于图像篡改检测,提出了基于卷积神经网络的中值滤波取证[17].在标记的训练数据上训练完全卷积(FCN)的神经网络来预测给定图像的篡改掩码[18].将图像补丁馈送到深度学习模型中,对补丁是否被篡改进行分类[19].利用深度神经网络的技术(DNN)进行人脸的交换[20,21].文献[22]提出一种堆叠式自动编码器学习篡改图像的上下文特征.文献[23]首先提取预定特征,然后将这些特征输入深度学习模型.这些算法中,都只关注图像级别的检测,无法实现对篡改区域的分割或者无法实现分类、定位、分割的通用模型结构.对于不同场景,关注篡改图像的边界只起到有限的作用,所以我们利用全局视觉篡改痕迹以及局部噪声特征以学习更丰富的篡改特征.
3 合成数据集
当前的标准数据集没有足够的数据进行深层神经网络训练.为了在标准数据集上测试我们的网络,我们在合成数据集上对模型进行预训练以产生预训练模型.使用COCO的图像和注释自动创建一个合成数据集COCO Synthetic Tampered Data Set(COCO STDS).我们使用分段注释从COCO中随机选择对象,然后将其复制粘贴到其它图像.将训练(90%)和测试集(10%)分开,以确保在训练和测试集中都不会出现相同的背景和被篡改图像.我们创建了40K综合篡改数据集,篡改数据集包括篡改区域坐标、篡改图像、篡改图像掩码.我们对合成数据集0.5概率进行图像翻转.在进行图像翻转情况下,预训练模型取得了最佳效果.合成数据集样例如图3所示.
图3 合成数据集样例Fig.3 Example of synthetic data set
4 提出方法
本文的方法同时执行分类、边界框回归和篡改区域分割.如图2所示,上层主分支输入篡改图像,RF1阶段引入CBAM模块.下层噪声分支输入经过SRM处理后的图像.RPN产生区域提议,噪声分支利用提议区域产生局部噪声特征,再利用双线性池化[24,25]合并两个分支.
4.1 主分支
在Mask R-CNN中,完全卷积网络(FCN)[26]用于预测像素级实例掩码,特征提取阶段使用特征金字塔网络(FPN)[27].因此,本文也采用ResNet101-FPN网络从输入的RGB图像中学习特征.如图4所示,FPN产生特征金字塔[P2,P3,P4,P5,P6],而非只是一个特征图,再经过RPN产生区域提议(region proposal).根据region proposal切出ROI进行后续的分类和回归预测.
图4 特征提取Fig.4 Feature extraction
注意力机制RPN网络(A-RPN)
虽然噪声分支能够捕获图像的局部噪声分布,但主分支会丢失很多内容信息(如亮度,对比度).篡改图像内容信息缺少会削弱全局特征的类间区分.因此我们设计注意力区域提议网络,将注意力图输入RPN网络.CBAM通过空间和通道两个维度依次推断出注意力权重,然后与特征图相乘来对特征进行自适应调整,如图5所示.
图5 CBAM模块Fig.5 CBAM module
在通道注意力模型中,首先使用平均池化和最大池化聚合特征映射的空间信息,生成两个不同空间上下文描述符.两个描述符送入一个共享网络,产生通道注意力图.通道注意力集中在“what”是有意义的.通道注意力定义为:
(1)
在空间注意力模型中,利用特征间的空间关系,生成空间注意图.空间注意力集中在“where”信息,是对通道注意力的补充.空间注意力定义为:
(2)
本文在主分支RF1阶段,即在1×1卷积后引入CBAM模块.表达式定义为:
(3)
图6 引入CBAM模块Fig.6 Introducing CBAM module
4.2 噪声分支
噪声分支以利用图像的局部噪声分布为检测提供其它依据,其更加关注因篡改而产生的噪声,而不关注图像中语义内容.基于篡改操作分类的隐写分析丰富模型(SRM)的最新工作[11,12,23],它描述了一种用于构建数字图像隐写检测器的新颖通用策略.该过程将许多不同子模型组装成一个丰富的噪声分量模型,而这些子模型由线性和非线性高通滤波器获得噪声残差的相邻样本联合分布形成.在30个基本滤波器中,量化并截断这些滤波器的输出,提取附近的共现信息作为最终的特征.如图7所示,获得的特征可以作为局部噪声描述符,其中只有3个内核才能获得不错的性能,而应用30个内核并不能显著提高性能.因此,我们使用3个基本滤波器,如图8所示.噪声分支SRM滤波器层内核大小定义为5×5×3,输出通道大小为3.噪声分支的作用是突出篡改图像中的局部噪声,其主干卷积网络(RF2)不引入CBAM模块.
图7 经过SRM层产生的噪声Fig.7 Noise generated through SRM layer
图8 用于提取噪声特征的三个SRM滤波器内核Fig.8 Three SRM filter cores for extracting noise features
4.3 实验参数
实验中,Resnet101由ImageNet权重初始化.MASK输出尺寸设置为28×28,图像分辨率为1024×512像素.最初学习率为0.001,在50K步后降低为0.0001,我们将模型训练90K步.0.5概率图像翻转用于图像增强.RPN的IOU阈值设置为0.7.利用随机梯度下降(SGD)进行优化,学习动量设置为0.9,权重衰减设置为0.0001.在测试时,使用标准非最大抑制(NMS)来减少冗余框,NMS阈值设置为0.3.
5 实 验
在本节中,我们将提供实验结果证明提出的篡改检测算法的有效性.如之前所述,我们需要验证添加噪声分支及注意力机制对篡改图像检测精度是否提高.所有实验都在Ubuntu16.04中使用NVIDIA GeForce GTX 1080 Ti进行.
5.1 预训练模型
本文在合成数据集上对模型进行预训练,使用平均精度(AP)进行评估,该度量标准与COCO检测评估相同.如表1所示,为了探索噪声分支和CBAM模块的作用,进行了三组实验.其中MR Net为没有任何改进的Mask R-CNN网络,MRN Net代表添加噪声分支,MRNC Net代表引入主分支CBAM模块并且添加噪声分支.MRN Net性能优于MR Net,我们认为针对篡改检测,网络需要学习更丰富的特征,而噪声分支为检测提供了其它依据.MRNC Net性能优于MRN Net,我们认为主分支引入CBAM模块,有效增强了全局特征类间区分,使网络能够学习类间独特的特征表示.在噪声分支共同作用下,性能达到最优.
表1 数据集COCO STDS AP比较Table 1 AP comparison of the COCO STDS
5.2 标准数据集实验
本文提出的方法在COVER[28]和COLUMBIA[29]数据集与最先进技术进行了比较.COVER数据集是一个侧重于复制-移动的数据集,该数据集将相同或者相似目标通过粘贴覆盖类似对象来隐藏篡改图像.COLUMBIA数据集则侧重于未压缩的图像拼接技术.利用评估指标F1分数,评估了我们提出的方法和现有方法的性能,Zampoglou[30]等人也使用这种方法评估现有算法.评估指标F1定义为:
(4)
其中Iout代表算法输出mask,Igt代表真实mask.TP代表篡改区域检测为篡改像素数量.FN代表未篡改区域检测为篡改像素数量.FP代表篡改区域未检测为篡改像素数量.
实验对比
本文分别评估了MR Net、MRN Net和MRNC Net.从表2可以看出,所提出的方法在F1评分方面优于现有的一些基线方法.如ELA,NOI1和CFA1.这是因为手工设计的特征限制了它们的功能.本文引入的CBAM模块在不同空间生成上下文描述符,有助于获得RGB图像中不易显现的篡改痕迹.
表2 两个标准数据集上F1的得分比较Table 2 Comparison of F1 scores on two standard dataset in this method
噪声分支则探索了篡改区域和非篡改区域间的噪声不一致.COLUMBIA数据集为未压缩拼接图像,更好保留了噪声差异,使MRN Net也取得了不错的效果.在数据增强上,我们分别使用图像水平翻转和添加高斯噪声,高斯噪声平均值为0,方差为5.实验证明,图像翻转和高斯噪声共同作用并不能提高准确率.仅使用图像翻转达到最佳效果.表3显示了数据增强实验结果.预测结果样例如图9所示.
表3 数据增强比较Table 3 Data enhancement comparison
图9 结果定性可视化Fig.9 Qualitative visualization of result
5.3 篡改技术检测
为了分析本文提出的网络结构能够检测出不同的篡改技术,本文修改了网络的预测类别,类别分别修改为拼接(Splicing)和复制-移动(copy-move).使网络能够进行多类别篡改技术检测.表4显示了更改类别后AP分数.图10显示了预测结果.
表4 拼接和复制-移动技术在MRNC Net的AP值比较Table 4 AP Comparison on two standard datasets using MRNC Net
5.4 定性结果
图9第一行显示了COLUMBIA数据集的定性结果.MR Net主分支没有加入CBAM同时没有结合噪声分支的功能,相对于MRNC Net,其定性结果更差.第二行显示COVER数据集的定性结果.通过复制移动包产生篡改图像使MR Net产生了混淆,而MRNC Net在这种情况下实现了更好的检测,结合表1分析,我们认为这是主分支注意力机制和噪声分支共同作用产生的结果.同样,图10显示了更改篡改类型后的定性结果.第一行为COLUMBIA数据集定性结果.第二行为COVER数据集定性结果.由于添加噪声分支使得拼接(Splicing)篡改更容易检测,我们认为主要因为拼接技术会产生不自然的边缘,对比度差异以及噪声差异.而对复制-移动(Copy-move)篡改检测则较难检测.我们认为主要因为复制区域来自相同的图像,这产生了类似的噪声分布以混淆我们的噪声分支.另一方面,这两个区域通常具有相同的对比度.但主分支加入CBAM模块学习RGB图像中丢失的图像信息,增强类间区分能力.两个分支在功能上形成互补.如表4及图10结果显示,我们的方法在两种篡改技术检测上都取得了较好的结果.
图10 拼接和复制-移动篡改类型检测的定性结果Fig.10 Qualitative results of spling and copy-mobile tampering type detection
6 总 结
在本文中,我们提出了一种具有注意力机制的双分支通用取证模型MRNC Net.实现了图像篡改检测,它可以同时执行分类、定位、分割.与以前的方法相比,我们的方法利用主分支捕获类间的区分特征,利用噪声分支捕获篡改区域和真实区域间的噪声不一致.在两个标准数据集上实验表明,我们的方法与未改进的Mask R-CNN相比取得了最优水平.在未来我们将探索更多的对于篡改技术的检测.