APP下载

一种剪枝压缩CNN移动设备端图像篡改检测方法

2021-11-17李小红王晓霞

计算机仿真 2021年3期
关键词:剪枝过滤器准确性

李小红,王晓霞

(1.天津天狮学院信息科学与工程学院,天津 301700;2.渤海大学信息科学与技术学院,辽宁 锦州 121013)

1 引言

所谓图像篡改,就是通过拼接、粘贴、变换等方式改变原始图像[1]。在云计算网络及其移动设备不断丰富的环境下,大量网络图像面临着被应用软件伪造的可能,产生未知图像篡改。这种经过篡改的图像会令其表达信息失真,严重的会导致安全威胁。例如利用篡改图像欺骗司法调查,灾害鉴定等。图像篡改检测就是根据图像的特征,通过各类算法完成篡改范围的检测确定。图像篡改技术多样发展,使一些伪造图像很难辨别,这也推动了图像篡改检测研究的不断进步。

在当前研究成果中,文献[2]根据拼接取证,基于QDCT域提取得到Markov特征。此方法主要针对拼接篡改进行分析,但是没有充分考虑复制粘贴和尺度变换等篡改情况的适用性。文献[3]基于Y通道DCT系数,创建对应的哈希表,通过哈希表对比确定伪造痕迹。该方法能够达到像素级性能,但是其针对的是剪切篡改场景,且哈希创建时需要依赖原始图像。文献[4]提出了CBAM-RPN卷积网络,用以改善篡改图像的特征提取。该方法能够根据主分支较好的捕获到伪造信息,同时根据次分支捕获到噪音信息。现有研究中,很大一部分是针对某种特定篡改场景进行检测,同时利用图像属性和哈希实现伪造识别。这类方法普遍存在适应性较差,图像格式较为单一,检测精度易受影响等缺点。

由于卷积神经网络(CNN)表现出良好的学习与参数整定优势,使得CNN在图像处理领域被高度重视。CNN能够摆脱属性依赖,且具有更好的普适性。另外,CNN中的卷积结构能够降低深度学习时对资源的消耗,更适合部署于资源宝贵的移动设备端。文献[5]引入CNN,并将其输入设定为非重叠图像区域;文献[6]采取元数据来比较图像在学习网络里的相似性,文献[7]设计了多通道CNN,并在其中提取多梯度特征;文献[8]设计了级联CNN,通过低层的补充学习,改善对复杂特征的处理效果。关于CNN在图像篡改方面的应用研究,当前主要存在以下问题:篡改部分和非篡改部分特征提取;梯度处理对网络学习的影响。这些问题的存在也导致现有检测方法的性能突破。此外,考虑到现有方法CNN网络层过多,产生大量中间参数和结果,使其对部署环境资源有着严格的约束。于是,本文设计了一种剪枝压缩CNN,通过剪枝策略实现网络压缩。经过压缩后的网络具有能够获得更好的训练效果,并且参数与存储消耗都将明显减少。基于剪枝压缩CNN,优化相应的网络层,增强篡改图像特征提取,改善对各类篡改图像的检测效果。

2 剪枝压缩CNN

在CNN网络中,将其学习集标记为D={X={x0,x1,…,xn},Y={y0,y1,…,yn}},X为学习网络IN参数,Y为学习网络OUT结果;加权集标记为W,假定CNN中一共包含L层,则其对应的加权集可以表示如下

(1)

这里的Ni表示第i层内包含的加权数量。在进行CNN学习时,需要根据集合W的调整,令集合D达到最低损失。学习过程中,会在各层产生大量的中间数据,对应形成大量的加权,参数的增加引发的复杂度和资源消耗是非线性的,因此,为使其能够适应移动设备端部署要求,本文对其采取剪枝操作。即在保证CNN学习性能的基础上,尽可能的裁剪掉W中冗余加权,使剩余加权具有更高的利用密度。采取网络学习精度作为性能衡量,于是加权裁剪可看做是一个组合优化过程。根据加权集W确定解搜索空间是2W,裁剪加权时最优解约束为

(2)

其中,W′表示剪枝更新后的加权集;K表示W′内的加权数量;Loss(D|W)表示学习集D对应的损失。为了从大量加权中搜索得到最佳组合,根据重要程度对W内元素进行评价,并依次裁掉其中较低评价值。在设计重要程度指标时,考虑到关联程度大的样本在预测下层网络过程中具有更大的优势。于是,先求解网络中神经元关联程度,再对其进行由大到小排序,选择部分较大值作为激活值。该筛选过程可以描述为图1。其中,i层包含的神经元数量是ni,向j层传递的结果是Yi。当第j层和第i层内的神经元存在依赖关系时,将两层间的加权表示为Wj,i,它的元素wk,l表示第j层内的神经元k和第i层内的神经元l间的加权关系。

图1 网络层间的传播模型

传播模型中的f(·)表示激活函数,它的具体描述如下

(3)

(4)

根据激活值对学习集内的若干样本采取分割得到I段,激活值落在第m段的概率记做pfi,m,此时,利用(4)求解出激活值对应的熵为

(5)

Ri=abs(E(wk,lyk,l)·H(f)i)

(6)

利用式(6)配合迭代操作来衡量加权,并进行剪枝,能够确保剪枝精度和压缩性能。在迭代过程中,将各层剪枝效果采取横向对比,根据精度和剪枝效果对其进行反馈调整。虽然每次迭代裁掉的加权数量不大,但是有效保证了每次迭代的精度和合理性。假定层i内的加权总数是ni,层i剪枝率时,迭代总数是di。于是,可以计算出每次被裁剪出去的加权个数,公式为

Numi=pini/di

(7)

剪枝压缩CNN的步骤可以描述如下:

1)输入初始CNN模型M0,确定M0的加权矩阵。

2)通过激活值与熵的融合,对学习集内的加权重要程度进行求解,并采取反向排序。

3)开始迭代处理,通过剪枝率控制加权裁剪,同时令其加权归零。

4)利用前一轮结果,在新一轮迭代时采取调整,保证M0的精度损失最小。

5)迭代达到上限或者剪枝压缩结束,输出新的CNN模型Mr。

3 图像篡改检测

在对篡改图像处理的初期,为了尽可能发现图像内的像素区别,本文设计了如下三个原始过滤器

(8)

过滤器设计时要尽可能相似,这样有利于篡改痕迹的识别。基于(8)中的三个过滤器,对其中的每一个经过对称和变换处理,扩展出18个新过滤器。在对称处理时,包含水平对称、垂直对称、对角对称。在旋转处理时,包含90°、180°、270°变换。利用18个过滤器可以得到18个特征图。由于三通道原因,这里累计将会产生54个加权矩阵。其具体描述如下

Wi=[W((3*i-3)mod 18)+1W((3*i-2)mod 18)+1W((3*i-1)mod 18)]

(9)

Wi的i取值为[1,18]。CNN模型加权服从标准差为0.01高斯规则。在CNN模型的卷积层上部署过滤器。当该层采取若干数量的过滤器处理输入时,将会得到相应数量特征索引。此时得到对应的输出如下

(10)

(11)

pooling(·)为池函数。随后进入调节层,在该层限制饱和性。为防止提取特征的恶化,这里通过a和b参数对数据进行线性转化,公式如下

(12)

(13)

式中,T1与T2均代表限定值。当发现两幅图像的相似性符合(13)条件,意味着存在复制粘贴伪造。对pooling池化层采样的图像做傅氏变换,公式如下

(14)

其中,N和K依次代表行、列向量。此时求解出它们的偏差,根据偏差对比,能够判断出是否存在尺度变换篡改。

为了实现篡改定位,这里引入相关度处理。其思想是选择一个图像块Ik(i,j),对其周围的邻近图像块做相关度分析,利用汉明距离得到相关度公式如下

(15)

当图像块没有发生篡改时,求解出的相关度会明显小于发生篡改时的值,这样,通过相关度比较便可以确定实际的篡改位置。

4 仿真结果分析

仿真数据集采用VOC2007,其中包含3000幅可用于网络学习的图像。基于VOC2007训练CNN模型,考虑到图像篡改检测的需求,通过程序对数据集样本进行任意形式的篡改,用于实际测试。

首先,对本文提出的CNN剪枝压缩性能进行验证。在不同压缩率的情况下,对比了三种(文献[9]、文献[10]和本文)剪枝压缩的效果,结果如图2所示。可以看出,三种方法的曲线趋势一致,压缩率越大,剪枝的准确性就越低。由于压缩率与裁掉的加权呈正相关,所以裁掉的加权与剪枝准确性呈负相关。经过对比,本文方法在同样压缩率的情况下,具有更好的剪枝准确性;分析可以得到,在同样的剪枝准确性时,具有更高的压缩比。在综合衡量压缩率与剪枝准确性后,本文方法能够获得更好的剪枝压缩性能。

图2 剪枝压缩性能对比

然后,对提出的剪枝压缩CNN图像篡改检测性能进行主观验证。图3列举了两种篡改图像场景,(a)~(e)依次描述了用于测试的原始图像、篡改图像,以及三种方法(文献[6]、文献[8]和本文)的检测结果。其中第一幅测试图像中包含了拼接、粘贴、尺度变换篡改,第二幅测试图像中包含了尺度变换篡改。根据篡改检测结果对比,本文方法能够准确判断出图像中的篡改区域,并且能够对篡改区域的边缘进行准确描述,进而判断出篡改区域所属类型,相比其它对比方法,具有更好的主观效果。

图3 图像篡改检测结果主观对比

最后,对提出的剪枝压缩CNN图像篡改检测性能进行客观验证。采取准确度(precision)与F-measure作为评价指标。precision代表检测范围内被正确识别出的伪造像素占比。F-measure代表检测方法准确性与全面性的综合性能,其计算公式为:

(16)

其中,recall表示召回率。F-measure越大,意味着检测的综合性能越出色。

通过对100次检测结果取平均,得到三种方法(文献[6]、文献[8]和本文)的precision、F-measure,以及检测时间结果,如表1所示。

表1 客观结果对比

根据篡改检测的客观实验结果,本文方法的precision指标分别比文献[6]和[8]提高了3.8%和0.7%,F-measure指标分别比文献[6]和[8]提高了15.13%和1.76%。表明本文方法具有更高的检测准确度和更好的检测全面性。另外,由于测试图像包含多种篡改手段,说明本文方法对于不同篡改方式的图像,均具有稳定的检测效果。经过检测时间的对比可以发现,本文方法的检测时间仅为文献[6]的52.67%,文献[8]的16.82%,显著降低了CNN图像篡改检测的时间复杂度。

5 结束语

本文基于CNN模型提出一种图像篡改检测方法,首先针对现有CNN模型层数和参数过多问题,设计了剪枝压缩策略。通过激活值与熵的融合,以及逐层裁剪,合理的裁剪冗余加权。然后针对剪枝压缩CNN,设计了相应的网络层,并对不同的篡改方式和篡改位置进行了分析。最后通过数据集的仿真,验证了本文提出的剪枝策略具有良好的准确度和压缩率;所提的篡改检测方法显著提升了篡改检测的准确性和全面性,能够准确判断出图像中的篡改区域,并且能够对篡改区域的边缘进行准确描述;显著降低了篡改检测时间和复杂度,更适合于移动设备端的部署应用。

猜你喜欢

剪枝过滤器准确性
基于梯度追踪的结构化剪枝算法
CT及超声在剖宫产瘢痕部位妊娠中的诊治价值及准确性
工业场景下基于秩信息对YOLOv4的剪枝
CT诊断中心型肺癌的准确性及MRI补充诊断的意义
产前超声检查和磁共振成像对胎盘植入诊断的准确性评估
利用KL散度度量通道冗余度的深度神经网络剪枝方法
针对石化行业过滤器流阻的探讨及研究
花粉过滤器
新型纳米材料过滤器
基于混淆布鲁姆过滤器的云外包隐私集合比较协议