APP下载

基于高斯径向基函数的复制-移动篡改检测算法

2018-11-17袁桂霞周先春

计算机工程与设计 2018年11期
关键词:特征向量特征提取矩阵

袁桂霞,周先春

(1.江苏开放大学 信息与机电工程学院,江苏 南京 210017;2.南京信息工程大学 电子与信息工程学院,江苏 南京 210044)

0 引 言

当前图像伪造主要为复制-移动方式,其通过图像中某个目标复制并移动到图像的其它位置,达到掩盖其它区域[1-3]。对此,如何快速准确检测出图像的真伪成为当前研究热点。

焦丽鑫等[4]设计了均值漂移的复制移动篡改检测造检测方案。该方案采用近邻匹配法完成特征配准,对篡改区进行粗识别。然后通过均值漂移将相似特征划分为相同区域,通过匹配SURF特征与均值漂移划分区域的关系判别篡改区域。再利用边缘直方图与HSV颜色直方图来完成篡改检测。但是该方法在模糊、噪声、旋转等因素下难以有效获取均值,导致在这种情况下的篡改检测效果不佳。夏蕾等[5]提出了一种像素预测误差与似然映射的移动-复制图像篡改检测方案。该方案通过定义颜色滤波序列CFA插值方程,从而提取图像绿色成分。通过引入权重因子,设计伪造特征统计函数,判别出近似零的特征。最后利用特征统计性质,构建似然率模型,完成检测。但是当复制区存在多个情况下,此技术容易产生混淆检测,并且对复制区发生旋转等篡改检测效果不太理想。Mahdian等[6]定义了基于模糊不变矩的复制-粘贴篡改检测技术。该技术通过测量图像块的模糊不变矩,通过利用PCA对特征维度简化,计算图块之间的相似性,根据相似性来寻找篡改区。但是,该技术采用的模糊不变矩对复制区旋转情况下无法准确识别,容易导致误检和漏检。

为了提高对各种复杂情况下以及多复制区的篡改检测精度和鲁棒性,本文设计了基于DCT与Gaussian径向基函数的复制-移动篡改检测方案。将输入图像划分为一定大小的图像子块,为降低数据维度与提高图像特征提取能力,对每个子块进行DCT,利用DCT分量表征块特征,并引入了一个Gaussian RBF核函数的PCA,结合PCA的非线性与DCT的线性优势,能够更适合各种更复杂的特征提取,再利用DCT与PCA得到的分量来构建图像的系数矩阵,计算系数矩阵的特征值表示为块的特征,最后将计算得到的不同块之间的Euclidean距离与给定的阈值比较,从而完成伪造检测。对算法进行了篡改检测测试。

1 离散余弦变换

离散余弦变换(discrete cosine transform,DCT)为一种压缩变换,能够将密度均匀的信号转变为密度不均的信号[7,8]。其除了含有正交变换性质外,变换阵的基向量类似于Toeplitz矩阵的特征矢量,具有很强的“能量集中”,即大部分信号的能量都聚集在DCT的低频中。且当信号类似于Markov过程特性时,DCT的去相关性近似于K-L的最优去相关性。

已知一个离散傅里叶变换(discrete fourier transform,DFT),设x[n]为一个长度为M的信号,则x[n]的N点DFT表示为[9]

(1)

(2)

DCT可对实信号变换,并且获得的同样是实信号。相对于DFT,DCT可至少提高一倍的计算效率。DCT还具有能量聚集特性:大部分信号的能量聚集在DCT的低频中。因此,DCT在数据压缩中应用广泛。由于DCT是从DFT演化得到,在DCT中仍然是保持了DFT的良好性能。

对于长度为N的实信号,定义一个长度为2N的信号,其表示为

(3)

将长度为N的信号x[m]扩展为2N的信号,如图1所示。

图1 实信号扩展

对于这个2N的实信号,其DFT表示为

(4)

(5)

根据式(5)可看出,DCT相当于长度为2倍的DFT。变换后x[n]的周期为2N,即x[N+n]=x[N+n-2N],定义一个变换矩阵C[n,m]

(6)

(7)

为满足其正交性,嵌入一个因子a[n]

(8)

因此,正交DCT可定义如下

(9)

对于正交DCT矩阵,那么有

C-1=CT

(10)

2 本文图像伪造检测算法

在所提算法中,将图像划分为一定大小的子块,引入DCT对子块表示,由于伪造区域大多会经过压缩、模糊、缩放和噪声等后处理操作,DCT对这些后处理的具有良好的鲁棒性,利用DCT和Gaussian径向基核PCA进行复制-移动篡改检测。尽管DCT对篡改区变换具有良好效果,但是通过DCT的块表示仍会存在一些不足,例如,当旋转操作区域超过篡改区域时,DCT的表示准确性也受到影响。为了克服这一限制,在DCT系数计算中采用了Gaussian径向基核函数(RBF)PCA。使用核PCA与DCT的另一个优势是结合PCA的非线性特性与DCT的线性特性。因此,该技术可使特征表示更加多样化,提高检测准确性。整个检测算法过程如图2所示,主要步骤如下:

(1)将图像划分为固定尺寸的图像子块;

(2)对每个图像字块进行DCT处理;

(3)提取每个DCT块的Gaussian RBF核PCA特征;

(4)匹配相似块;

(5)删除孤立块并输出重复区域。

图2 本文篡改检测算法过程

2.1 预处理和块提取

为了实现所提出的方法,首先,将彩色图像变换为灰度图像。设一幅大小为H×W的彩色图像I,表示如下

I=0.229R+0.587G+0.114B

(11)

其中,R、G、B分别为图像I的红、绿、蓝成分。I被转换成灰度图像后,利用一个尺寸h×w滑动窗口,将图像沿左上角到右下角划分为若干个重叠块。每个块表示Brc,其中,r和c分别为块的行与列的起始点,定义为

Brc(x,y)=f(x+c,y+r)

(12)

其中,x,y∈{0,1,…,Brc-1},r∈{0,1,…,H-h+1},c∈{0,1,…,W-w+1}。

因此,I划分为N个重叠块可表示为

N=(H-h+1)×(W-w+1)

(13)

2.2 特征提取

(14)

其中,系数αp,αq分别表示如下

(15)

(16)

(17)

其中,p′、q′分别为经过一个旋转角度为θ后的块坐标,简化后可表示为

(18)

(19)

λ(φ(xk).V)=(φ(xk).CV) ∀k=1,2,…,l

(20)

设存在一个系数αi,符合以下条件

(21)

定义一个M×M的矩阵K,Kij=(φ(xi).φ(xj)),将C代入到式(20)与式(21)中,得到

Mλα=Kα

(22)

其中,α为列向量,K对称Gram矩阵,表示如下

K(xixj)=φ(xi)Tφ(xj)

(23)

如果λi>λi+1表示K的特征值,i=1,2,…,M。αi表示特征向量;Vi表示规范化的特征向量。设λk≥0,满足λk(αk.αk)=1,因此,对于任何测试点φ(xt),第K次非线性主成分表示如下

Vk,φ(xt)

(24)

为了准确提取块特征,引入了一个Gaussian RBF核函数,其可通过映射函数φ:[0,∞)→定义得到[11]

(25)

(26)

其中,σ为Gaussian核参数。通将式(26)代入到式(24)中,得到一个变换表示

(27)

矩阵MKPCA的维度Nc可通过以下计算

(28)

2.3 块的详细表示

(29)

矩阵MKPC通过字典排序使得相同特征接近对方,同时记录每个块的左角坐标。字典排序在特征向量匹配过程,有助于降低计算成本[12],因为一个向量fvi与邻近特征向量Nn来判断相似性。在本文中,为了有效处理各种后处理操作,如模糊、噪声、压缩,Nn的窗口大小为20。

2.4 伪造检测

伪造检测的目标是寻找复制区域之间的相似性指数(特征向量)小于某一阈值并且该区域不重叠,对于基于阈值的区域匹配的原因是由于伪造图像进行后处理操作,一幅图像中特征相似的概率可忽略不计。因此,在本文中,对复制块检测过程施加两个条件:①块与块不相交不重叠;②相似性指数不超过阈值。

为了满足第一个条件,在不重叠块匹配中,引入了移位距离准则,设(xi,yi),(xj,yj)分别为由特征向量fvi,fvj表示的两个块的前左角坐标,因此

(30)

如果两个特征向量满足式(30),这些特征向量进行相似性指数计算满足第二个条件。利用Euclidean距离计算可得到[13]

(31)

为了显示该算法的最终检测结果,使输出IO中不丢失任何兴趣细节,在一个尺度中的结构元素中进行形态学开、闭运算[14]。因此,通过一个3×3尺寸结构元素的开操用于去除IO中小的和不需要的块。利用一个8×8尺寸结构的闭操作填充IO中突出区域的孔。

2.5 复杂性分析

为对算法的复杂性分析,设每个块的大小为h×w,h=w=16,块的总数为N。首先,对一个块进行2D DCT,消耗O(nlogn)s时间,然后,通过Gaussian RBF核PCA对DCT处理后的块进行计算,消耗O(n2)s时间。因此,一个块所需的时间为O(n2+nlogn)s,在时间复杂性方面,一般只对最大的因素感兴趣。因此,计算单个块的特征所需的时间O(n2)s。由于总共存在N个块,所以,得到特征矩阵MKPC总共需要消耗的时间O(Nn2)s。然后,通过词典排序对MKPC运算需要的时间为O(NlogN)s。因此,总的时间为O(N(nlogn+n2)+NlogN)s。

3 实验与讨论

为验证算法性能,进行多次测试,借助PS软件进行各种情况下的复制-移动伪造处理,得到测试图像。同时,借助MATLAB7.0进行仿真分析。仿真环境为:Core I3四核CPU,3.50 GHz,8 GB运行RAM,Win8系统。为突显本文算法的优异性,选取具有代表性的检测算法:文献[4]、文献[5]和文献[6]进行对比,为便于记录,依次记为A算法、B算法、C算法。

3.1 参数设置

在本文实验中,通过多次实验,确定了最优的实验参数:块B的大小为h×w=16×16,行数Nn=20,块距离阈值Nt=40,主成分数Nc=10,向量的相似距离dt=0.002。

3.2 性能评价

为对算法的性能准确评估,借助图像伪造检测中最常用的评价指标:查准率(Precision)和召回率(Recall),算法精度(Accuracy),其中,Precision和Recall分别定义如下[15]

(32)

(33)

其中,Tp为正确识别伪造数量;Fp为误判为伪造数量;Fn为漏检的伪造数量。

算法精度Ac计算如下

(34)

其中,Tn为真实图像正确识别数量。

3.3 实验结果

为较全面测试算法的伪造检测性能,本文在不同条件下进行测试,测试得到的结果如图3~图6所示。图3为简单的复制-移动伪造检测。图3(a)、图3(b)为原图像和伪造图像;图3(c)、图3(d)、图3(e)和图3(f)分别为A、B、C、本文算法的检测结果。依据图3中看出,4种检测算法均能识别篡改区域,如图3中高亮的灰色区域为检测出的复制-移动区域。从图3得出,本文算法和对照组算法一样,能够在简单的复制-移动伪造准确识别篡改区域。

图3 简单复制-移动伪造检测结果

图4为多复制区的篡改检测的结果。图4(a)、图4(b)分别为原图像和伪造图像;图4(c)、图4(d)、图4(e)和图4(f)分别为A、B、C、本文算法的检测结果。从图4看出,本文算法能准确识别篡改区域;C算法基本上检测出伪造区域,但是篡改区出现了一些偏差;A算法,B算法出现了误检测和漏检测,如图中灰色区域所示。

图4 多复制区伪篡检测结果

图5为复制区发生缩放的篡改检测的结果。图5(a)、图5(b)分别为原图像和伪造图像;图5(c)、图5(d)、图5(e)和图5(f)分别为A、B、C、本文算法的检测结果。依据图5得出,本文方法能有效检测出篡改区域;A、B、C这3种算法得到的检测复制区域移动区域出现了偏差,无法准确识别篡改范围,如图中灰色区域所示。

图5 缩放篡改检测结果

在CASIA数据库中[16],选择200幅含有旋转、缩放、压缩、模糊和噪声等几何变换的复制-移动篡改图像集。将200幅图像平均分为4组,分别不同的JPEG压缩、模糊、旋转角度、缩放下进行精度测试,结果如图6所示。图6(a)~图6(d)分别为在不同的缩放、旋转、JPEG压缩、模糊篡改下得到的精度曲线图。依据图6看出,在不同的篡改手段下,本文算法得到的精度曲线相对比较平稳,算法精度较高,说明了提出的方案对缩放、旋转、JPEG压缩、模糊等不同条件下的均具有良好的效果,能有效检测出各种篡改区域。相对给出的3种对照组算法,本文算法具有突出的性能,使用范围更广。主要是本文采用了PCA的非线性与DCT的线性优势,能够更适合各种复杂形式的特征提取。

图6 不同形式的篡改检测精度

为了更全面衡量算法的检测性能,引入了P-R曲线[17]与AUC面积进行定量测量。P-R曲线为查准率-查全率曲线,其广泛应用于在分类、检索中。AUC(area under curve)为曲线下面积,AUC越大,算法性能越好。从组成的200幅数据集中,随机选择40幅图像进行测验,得到了图7中的结果。图7(a)为P-R曲线图,图7(b)为AUC面积图。从图7(a)看出,本文算法的P-R性能表现最好,曲线平滑,稳定性较好。从图7(b)的AUC看出,本文算法的AUC面积最大,在复杂的篡改形式下仍具有较好的鲁棒性。其主要是本文通过PCA的非线性与DCT的线性优势,能够更适合各种复杂形式的特征提取。

图7 P-R曲线与AUC面积测量结果

根据以上得到的实验结果与性能评价得知,本文算法具有优异的伪造检测性能,在各种复杂的篡改形式下拥有良好的效果,得到了较好的P-R曲线与AUC面积。说明了本文提出的伪造检测具有良好的定位精度与检测性能;具有较强的鲁棒性,抗几何变换篡改能力强。主要原因是为降低数据维度,提高图像块中特征提取能力,对每个子块进行DCT,利用DCT分量表征块特征。针对篡改区发生旋转时,DCT不具有旋转不变性,无法准确表示其特征。因此,为准确提取图像子块特征,降低特征维度,嵌入了一个Gaussian RBF核函数的PCA,结合PCA的非线性与DCT的线性优势,能够更适合各种更复杂的特征提取。通过DCT与PCA得到的分量构建图像的系数矩阵,计算系数矩阵的特征值表示为块的特征。计算不同块之间的Euclidean距离作为不同区域的相似性,并与给定的阈值比较,从而完成伪造检测。而A算法中在清晰图像中具有较优异的性能,能够有效检测出复制-移动篡改检测。但是该方法在模糊、噪声、旋转等因素下难以有效获取均值,导致在这种情况下的篡改检测效果不佳。B算法中当复制区存在多个情况下,容易产生混淆检测,并且对复制区发生旋转等篡改检测效果不太理想。C算法中采用的模糊不变矩对复制区旋转情况下无法准确识别,容易导致误检和漏检。

3.4 效率测试

计算效率是衡量算法的一个重要指标,在保证具有较高检测精度的同时需要提高计算效率,降低时间成本,因此,对算法的运算时间进行统计。表1为在200幅数据集中随机选择50进行测验得到的平均时间。依据表1得知,本文算法时间最低,计算效率最高。主要是DCT具有很强的“能量集中”特性,良好的去相关性,降低了信息冗余,提高了算法效率。

表1 算法运行时间

4 结束语

本文提出了基于DCT与Gaussian径向基函数的复制-移动篡改检测技术。为降低数据维度,提高图像块中特征提取能力,对每个子块进行DCT,利用DCT分量表征块特征。针对篡改区发生旋转时,以及DCT不具有旋转不变性,无法准确表示其特征,本文引入了一个Gaussian RBF核函数的PCA,结合PCA的非线性与DCT的线性优势,能够更适合各种更复杂的特征提取。通过DCT与PCA得到的分量构建图像的系数矩阵,计算系数矩阵的特征值表示为块的特征。计算不同块之间的Euclidean距离作为不同区域的相似性,并与给定的阈值比较,从而完成伪造检测。实验结果表明本文算法能够有效检测各种篡改形式(旋转、压缩、模糊)以及多篡改,算法具有优异的检测精度,得到的P-R曲线与AUC。

猜你喜欢

特征向量特征提取矩阵
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
克罗内克积的特征向量
基于Daubechies(dbN)的飞行器音频特征提取
一类特殊矩阵特征向量的求法
EXCEL表格计算判断矩阵近似特征向量在AHP法检验上的应用
Bagging RCSP脑电特征提取算法
初等行变换与初等列变换并用求逆矩阵
矩阵
矩阵
矩阵