基于可形变自相关网络的图像篡改检测方法

2021-11-18 02:19吴玉婷赵慧民李春英黎绍发
计算机工程 2021年11期
关键词:金字塔特征提取卷积

梁 鹏,吴玉婷,赵慧民,李春英,何 娃,黎绍发

(1.广东技术师范大学 计算机科学学院,广州 510665;2.广东技术师范大学 电子与信息学院,广州 510665;3.华南理工大学 计算机科学与工程学院,广州 510641)

0 概述

图像复制-粘贴篡改是图像篡改最常见且最易于操作的方法,通过复制图像的某块区域,并将复制区域副本粘贴在同幅图像的其他位置,可以达到隐藏某些目标或伪造虚假物体的目的。

目前多数图像复制-粘贴篡改检测方法主要依据人为设计特征,而这种基于人为设计的特征大多存在局限性,无法根据这些特征同时对多种篡改方式进行判定。近年来,由于深度学习具有强大的特征学习能力,其在各类计算机视觉任务中取得了较大的突破,为图像复制-粘贴篡改检测提供了另一种有效的解决方案[1]。基于深度学习的图像复制-粘贴篡改检测方法分为特征提取、自相关计算、逐点特征提取、掩码生成4 个阶段,其将整张图像输入到模型中,经由特征提取器提取图像高级特征,并计算特征图中每对像素之间的相关性。在此基础上,根据相关性大小选取相似区域,再进一步提取相似区域高级特征进行解码,输出图像篡改区域掩码。图像篡改深度特征提取方法是采用固定几何结构,即卷积单元在固定位置对输入特征图进行采样,池化层以一个固定的比例降低空间分辨率。因此,该方法不能进行大尺度的旋转仿射变换,深度特征提取过程对篡改图像进行了降维处理,且无法检测出小面积的图像篡改区域。

本文提出一种基于可形变自相关网络(Deformable Self-correlation Network,DSNet)的图像篡改检测方法。通过可形变卷积和可形变池化进行特征提取,根据目标自适应地改变感受野,同时学习目标部件的空间形变,从而提升检测性能。此外,通过多尺度特征金字塔保留特征空间分布信息,利用邻域比对策略以剔除虚假匹配。

1 相关工作

根据特征提取方式,图像复制-粘贴篡改检测方法主要分为基于手动提取特征的图像篡改检测方法和基于深度神经网络提取特征的图像篡改检测方法。基于手动提取特征的图像篡改检测方法包括基于关键点和基于块的方法。基于关键点的方法通常采用SIFT[2-4]和SURF[5-7]2 种特征描述子。文献[7]利用SURF 特征检测关键点,并通过最近邻距离比进行特征匹配,该方法能够有效检测出后处理攻击下的篡改图像,但其缺点是无法检测较小或同质的篡改区域。基于块的方法采用多种特征来描述重叠块,例如,离散余弦变换系数(Discrete Cosine Transform,DCT)、主成分分析(Principal Component Analysis,PCA)[8-9]、离散小波变换(Discrete Wavelet Transform,DWT)、奇异值分解(Singularly Valuable Decomposition,SVD)[10]、Zernike 矩[11]、傅里叶梅林变换(Fourier-Mellin Transform,FMT)[12]、局部二值模式(Local Binary Patterns,LBP)[13]等。其中,DCT、PCA、SVD 等特征对JPEG 压缩、加性噪声和图像模糊具有较强的鲁棒性,而FMT、LBP 等特征是旋转不变的,这些特征对缩放、压缩和旋转操作并不同时具有鲁棒性。文献[14]提出一种将关键点特征和块特征相结合的检测算法,该算法对几何变换、JPEG 压缩和下采样等后处理攻击的鲁棒性较好。该算法在CMFDA 数据库上的查准率和查全率分别为96.6%和100%,但当篡改图像遭受严重的后处理攻击时,该算法的查准率会显著下降。基于手动提取特征的图像篡改检测方法的缺点主要是当篡改区域的面积较小或纹理是同质均匀时,该算法无法确保提取到足够多的兴趣点来识别篡改区域。

近年来,随着深度学习方法在计算机视觉任务中的进步,一些研究人员提出使用深度神经网络代替传统基于手动提取特征的图像篡改检测方法以实现图像复制-粘贴篡改检测[15-21]。文献[15]提出一种基于深度学习技术的图像篡改检测方法,该方法利用卷积神经网络(Convolutional Neural Network,CNN)从输入的RGB 彩色图像中自动学习层次表示。文献[16]提出一种特征金字塔网络(Feature Pyramid Network,FPNet)的体系结构,用于在所有尺度上构建高级语义特征图。该结构通过从上而下的路径和横向连接来降低分辨率,但语义强的特征和高分辨率但语义弱的特征结合起来。文献[17]和文献[21]提出一种端到端的深度学习框架以解决图像复制-粘贴篡改区域定位问题,利用卷积和反卷积模块从待分析的输入图像中直接生成复制-粘贴篡改区域掩码。在相关数据集中与手动提取特征图像篡改检测方法相比,基于深度神经网络提取特征的图像篡改检测方法有更好的效果。然而,这些方法存在一些问题,例如文献[1]仅利用低分辨率的单尺度特征图进行篡改检测,忽略了图像构成的规律性和特征的空间排列,这对于中小区域的篡改检测是非常重要的。此外,基于深度学习的特征提取方法采用的卷积核尺寸和池化映射均是固定大小,限定了感受野的范围,而图像篡改后处理(如仿射变换)是非刚性变化。

本文引入可形变卷积和多尺度空间金字塔,自适应地学习篡改目标的空间形变,同时通过构造金字塔式特征层次结构,融合全局特征和局部特征以提升图像篡改检测性能。

2 基于可形变自相关网络的图像篡改检测

本文提出基于DSNet 的图像篡改检测方法,其结构如图1 所示,主要包括可形变特征提取网络、自相关金字塔网络、篡改区域掩码生成网络。为简化讨论,假定输入的图像大小为512×512×3,卷积核大小为3×3。

图1 本文方法的网络结构Fig.1 Network structure of the proposed method

2.1 可形变特征提取网络

可形变特征提取网络包括可形变卷积和可形变池化两部分,可形变卷积的规则网格采用固定大小的卷积核R={(-1,-1),(-1,0),…,(0,1),(1,1)}对输入特征图进行卷积,再对每个采样点进行位置偏移{Δpn|n=1,2,…,N]},N=|R|(偏移Δpn通过额外的卷积层学习得到),得到与输入特征图相同空间尺寸的偏移场,偏移场共有2N个通道,其中N对应偏移量(x方向和y方向各一个偏移量)。对于输入特征x中的每个位置p0,经过可形变卷积后的输出特征映射y(p0)如式(1)所示:

经过训练后,同时得到卷积核参数和偏移量Δpn,其中输出的偏移量Δpn不一定为整数,可能是小数,使用双线性插值表示x(p),如式(2)所示:

其中:p=p0+pn+Δpn为输入特征x任意位置(小数);q为输入特征x中所有的坐标位置;G()为双线性插值函数。G(q,p)如式(3)所示:

其中:g(a,b)=max(0,1-|a-b|)。用可形变池化将任意区域大小的特征映射输入x转换为固定大小k×k的特征映射输出y,如式(4)所示:

其中:偏移{Δpij|0 ≤i,j

2.2 自相关金字塔网络

与文献[1]中在低分辨率的高级特征图上进行特征相似度度量不同,本文认为单尺度的特征图会丢失特征的空间排列信息,影响深度学习模型在图像篡改检测上的性能,而且不利于小目标篡改区域检测。因此,本文引入多尺度空间构建自相关金字塔,金字塔层次从低阶到高阶分别对应维度从大到小的特征图,包含了不同的语义信息。

对于n层的自相关金字塔Pn,假设fk表示可形变特征提取网络第k(0,1,…,n-1)层生成的特征张量,其尺寸 为wk×hk×dk(wk,hk,dk∈N*),该特征 张量可以视为wk×hk个块状特征,即fk=其中每个fk[ir,ic]具有dk个维度。对于整个可形变特征提取网络,共产生了n个不同尺度的特征张量,即Fk={f1,f2,…,fn}。

对于第k层特征张量fk,给定两个块状特征fk[i](i=(ir,ic))和fk[j](j=(jr,jc)),通过余弦相似度来量化两个特征的相关性,如式(5)、式(6)所示:

最终,第k层特征张量fk经过特征计算形成一个大小为wk×hk×mk的相似度矩阵s′k。将相似度矩阵中所有元素分量按照降序排列,越靠前的分量表明像素点之间的相关性越高,被篡改的可能性越大。同时,为了提高模型的准确率,进一步对相似度矩阵进行邻域卷积操作,其核心思想是在初步匹配的基础上,对匹配特征邻域进行比对,以剔除虚假匹配。卷积操作增强了数据的可靠性,但不改变相似度矩阵的大小。

对于整个可形变特征提取网络,共产生了n个不同尺度的相似度矩阵,在自相关金字塔中,大尺度的特征张量包含了小尺度的特征张量信息。因此,为抑制大尺度特征张量的重复性,对较大尺度的特征张量赋予较小的权值。第k层自相关金字塔的权重设置为,则n层的自相关金字塔Pn如式(9)所示:

2.3 篡改区域掩码生成网络

在构建自相关金字塔过程中,特征的分辨率不断下降。为了生成与原始图像尺寸一致的篡改区域掩码,需要对特征进行解码以恢复到原始分辨率。所用解码模块采用卷积和上采样的方式实现图像尺寸复原。具体地,假设解码模块的输入特征图维度为30×30,该特征图通过3 个卷积分支(卷积核大小分别为1×1、3×3 和5×5)进行卷积操作,卷积结束后采用向量拼接的方式将3 个卷积分支产生的多个特征图进行合并。最后,将卷积操作合并得到的特征图进行上采样,利用双线性插值方式,最终得到大小为60 像素×60 像素的输出特征图,即实现将输入特征图扩大一倍的效果。在自相关金字塔计算过程中产生的特征图交替使用卷积和上采样的方式,最终生成512×512×1 的篡改区域掩码。

3 实验与分析

实验仿真环境:CPU 处理器为i7 8700;内存为16 GB;显卡为GTX 1080Ti X2;硬盘为2 TB;实验平台为Ubuntu 18.04。实验选用的开源架构为Tensorflow深度学习框架。

3.1 数据集

USCISI 数据集由105幅图像组成,其中所有图像均取自提供了源对象分割掩码的SUN2012 数据集和Microsoft COCO 数据集,并通过几何变换方式获取复制-粘贴篡改图像。

CASIA CMFD 数据集中CASIA TIDEv2.0 是目前公开数据量最大的图像篡改检测基准,该数据集包含7 491 张真实图像和5 123 张篡改图像,文献[1]从中选取1 313 张以复制-粘贴操作得到的篡改图像构成了CASIA CMFD 数据集。

CoMoFoD 数据集包含5 000 张图像,共25 个 类别,其中包含200 张基本篡改图像,以及24 种对基本篡改图像应用各种后处理攻击的图像。

3.2 网络训练

按照9∶1 的比例对不同规模训练样本划分为训练集和测试集,其中训练集用于网络训练,测试集用于评估网络性能。网络使用二分类的交叉熵作为损失函数,激活函数使用Relu 函数。网络中所有卷积运算均使用边界填充以保持输入和输出图像维度一致,卷积步长均为1。在网络训练过程中,使用Adam优化器更新误差,其中学习率设定为10-4,批处理大小设定为2,迭代次数设定为50。

3.3 评价指标

实验采用机器学习中的PRF 值,即精确率(P)、召回率(R)以及精确率和召回率的调和平均值(F1)3 个实验指标对模型的性能进行像素级评估,如式(10)~式(12)所示:

其中:TP为正确检测出篡改区域的像素数量;FP为被误认为篡改区域的像素数量;FN为漏检的篡改区域像素数量。

本文同时对模型性能进行图像级评估,假设测试图像中有任意像素被检测为伪造的,则将该测试图像标记为篡改图像。统计图像级TP、FP、FN数量并计算P、R、F值。因此,采用ROC 曲线下方所覆盖的区域面积(简称AU)作为模型性能的度量,其中ROC曲线是以待测样本假阳率和真阳率为轴的曲线,AU值越大,表明分类器效果越好。

3.4 实验结果及分析

3.4.1 自相关金字塔网络的实验结果分析

为验证多尺度空间对DSNet 性能的提升,使用CASIA CMFD 数据集对3 种不同自相关金字塔网络层数的DSNet 进行训练,然后在CoMoFoD 数据集上进行测试。在基础类别/无攻击图像(200 张)上,3 种不同自相关金字塔网络层数P、R、F1值的性能对比如表1 所示。采用文献[19]中定义的检测标准,在单样本像素级F1评分高于0.5 的图像子集上统计相应P、R、F1值。

表1 在CoMoFoD 数据集不同网络层数DSNet 的检测性能对比Table 1 Detection performance comparison of DSNet with different network layers on CoMoFoD data set%

从表1 可以看出,随着自相关金字塔网络层数增加,DSNet 的P、R、F1值得到了显著提高。其中,DSNet 层数从1层到2层P提高了36.13 个百分点,R提高了29.71 个百分点,F1提高了28.09 个百分点,检测到的单样本像素级F1评分高于0.5 的图像数量增加了74 张。通过增加不同尺度的特征相似度度量,DSNet 可以显著提升特征表示的鲁棒性。3.4.2 DSNet 与其他方法的实验结果对比

本文将DSNet 与Cozzolino2015[20]、Wu2017[21]、BusterNet2019 方法[1]的检测结果进行对比。所有方法均在USCISI 数据集上对网络进行训练,并使用CASIA CMFD 数据集进行评估,对比结果如表2 所示。在CASIA CMFD 数据集 上DSNet、Cozzolino2015、Wu2017、BusterNet2019 方法的AU性能对 比如图2所示。

表2 在CASIA CMFD 数据集不同方法的检测性能对比Table 2 Detection performance comparison among different methods on CASIA CMFD data set %

图2 在CASIA CMFD 数据集上不同方法的AU性能对比Fig.2 AU performance comparison among different methods on CASIA CMFD data set

从表2 可以看出,在CASIA CMFD 数据集上,DSNet 方法在像素级评估和图像级评估F1分别达到了50.67%和77.61%,性能均优于其他方法。从图2可以看出,DSNet 方法与性能较优的BusterNet2019方法相比,其AU性能在图像级评估和像素级评估条件下分别提升了4 和7 个百分点。

为验证可形变卷积网络对各种攻击类型的有效性,本文使用CASIA CMFD 数据集中不同攻击类型的图像,每种攻击类型包含200 张图像,当检测到的像素级F1评分高于0.5 时,认为该篡改图像被准确检测。本文方法与Wu2017[21]、BusterNet2019[1]方法的实验结果对比如表3 所示,在不同的攻击类型下本文方法均能较好地检测出被篡改的图像,其性能均优于其他2 种方法。

表3 不同攻击类型下各方法在CASIA CMFD 数据集上的实验结果对比Table 3 Experimental results comparison among different methods on CASIA CMFD dataset under various attacks

因此,根据图像中篡改区域在整幅图像中的占比,本文将CASIA CMFD 数据集划分为小区域集(占比0~0.04)、中区域集(占比0.04~0.13)和大区域集(占比0.13~0.8),DSNet 和BusterNet 在3 个子集上的检测性能对比如表4 所示。在小区域集和中区域集上DSNet 相比BusterNet2019 的P、R、F1值提升较大,尤其在小区域集上检测性能提升最明显,在大区域集上其P、R、F1值提升较小。说明DSNet 不仅能够有效检测大区域面积的篡改图像,在处理中小区域面积的图像篡改检测问题上表现突出,也从侧面验证了本文提出构建自相关金字塔以获取更多特征空间排列信息的有效性。

表4 3 个子集上DSNet 与BusterNet 2019 方法的检测性能对比Table 4 Detection performance comparison of DSNet and BusterNet 2019 methods on three sub-sets

4 结束语

本文提出一种基于可形变自相关网络的图像篡改检测方法,其中包含可形变特征提取网络、自相关金字塔网络和篡改区域掩码生成网络3 个部分。通过可形变特征提取网络和自相关金字塔网络,得到输入图像的自相关特征相似度矩阵,并使用邻域比对策略过滤虚假匹配,实现中小区域面积的图像篡改检测。实验结果表明,相比BusterNet2019 和Wu2017 方法,DSNet 方法的检测性能更优,同时能够有效抵抗多种后处理攻击。后续将研究如何降低DSNet 的计算复杂度,进一步提高检测效率。

猜你喜欢
金字塔特征提取卷积
“金字塔”
基于3D-Winograd的快速卷积算法设计及FPGA实现
Great Vacation Places
从滤波器理解卷积
海上有座“金字塔”
基于Daubechies(dbN)的飞行器音频特征提取
基于傅里叶域卷积表示的目标跟踪算法
神秘金字塔
Bagging RCSP脑电特征提取算法
基于MED和循环域解调的多故障特征提取