APP下载

基于小波系数相关性的图像篡改盲检测及定位

2013-01-31张娜王阿川

计算机工程与应用 2013年11期
关键词:极大值分块小波

张娜,王阿川

ZHANG Na,WANG Achuan

东北林业大学,哈尔滨150040

Northeast Forestry University,Harbin 150040,China

1 引言

随着计算机以及网络通信技术的快速崛起,通过互联网传输数据、文档、图像、声音等信息的频率在不断地增加。但同时,由于多媒体处理软件被广泛应用,这些传输在网络上的各种信息也遭到了各种有意无意的攻击和破坏,从而使得信息接收者对于接收到的信息的可靠性就会产生质疑,这样,传输信息的安全性也受到了威胁。所以,在这样一个信息技术迅猛发展的时代,能够保证信息的安全性、真实性以及可靠性显得尤为重要。在所有传输数据的媒介中,使用图像作为载体的概率占有很大的比重。而且,图像也是包含数据信息相当丰富的一种传输媒介。能够对图像数据进行监测和保护,是迫切需要建立的一种技术。

针对图像篡改的检测方法中,较成熟的技术属于主动检测方法,即事先在图像中嵌入了数字水印或者数字签名,但是这种方法存在着诸多的不足和缺陷,并且鲁棒性较弱。因此,根据图像自身的像素信息进行检测的被动检测(也称为盲检测)技术成为了研究的热点。目前基于被动检测研究的方法有:基于小波低频子带提取特征且利用迭代划分法结合相似性匹配搜索相似图像块的图像复制粘贴篡改检测技术[1],基于三角形抗平移、旋转、尺度缩放等特性[2]的图像复制粘贴篡改检测技术,采用SURF(Speed Up Robust Feature)提取图像的集合不变量特征且采用最近邻法进行特征匹配[3]的图像复制粘贴篡改检测技术。也有基于数学形态学[4]、二维相位一致性[5]以及马尔可夫特征[6]的篡改检测技术,还有基于质量评价量和方差分析、基于双JPEG压缩统计特性,然后采用支持向量机(SVM)进行训练与分类的检测方法[7-8]。

上述被动检测技术中,复制-粘贴篡改检测的研究方法较多,技术也相对成熟,但是该方法有一定的局限性。基于特征提取的支持向量机的检测方法能够对图像的篡改与否进行检测分类,但是没有对篡改区域进行准确定位,仍然找不到篡改区域。基于小波变换的篡改检测[9-10]对JPEG图像进行了检测,该方法有了很大的进步,不过其只找到部分篡改区域,还有相当一部分篡改区域未定位。本文在此基础上进行了改进,结合小波系数相关性的概念对图像进行检测并且对篡改区域进行再定位。

2 小波变换技术及突变点检测原理

2.1 小波变换技术

对上述问题进行研究的理论分析中,小波变换的应用起到了关键性的作用。它能够同时在时域及频域上均体现较好的局部化特性,所以,当利用小波变换解决实际问题时,可以根据不同的分析需求,调节时频域到适合解决问题的时频窗口,从而具体到信号的任何细微部分。

2.1.1 连续小波变换

假设存在某个能量有限信号f(t),即f(t)∈L2()R,函数的内积如下:

定义为函数f(t)的连续小波变换,简称CWT(Continuous Wavelet Transform)。式(1)的变换结果定义为小波变换系数。Ψa,τ(t)称为连续小波基函数,其中a为尺度因子或伸缩因子(表示与频率相关的伸缩),τ为位移因子,它们均为连续变化的量。

连续小波变换的基本定义与推导公式,通常只符合在理论上进行分析和应用。若想在实际中得到应用,非常有必要对连续小波变换采取离散化或者数字化,用以适应现在计算机的处理模式。而且,离散化最主要原因还在于:离散化处理后,可最大化地减弱甚至去除系数的冗余性。

2.1.2 离散小波变换

对式(1)中的自变量a和τ采用离散化处理之后,得到一种相对于连续小波变换(CWT)的变换方法,即离散小波变换(Discrete Wavelet Transform,DWT)。实际需要时,通常采用一种比较典型和被广泛接受的离散方式对自变量a和τ进行离散,如下:

(2)当尺度确定后,均匀地对位移因子进行离散化处理,即τ=。

在(1)(2)中,a0,τ0均为大于0的实常数,m和k均为整数。为了方便进一步运用,一般情况下取常数为:a0=2,τ0=1。则离散后的小波变换可以表示为:

2.1.3 多分辨率分析

由于单一的小波变换对本文图像篡改检测的作用不是很大,研究中,通常需要对图像进行更细微更精确的分析,这样就涉及到多分辨率分析。为了便于理解,可以从以下两种不同的角度来引入多分辨率分析的概念。

首先从滤波器组角度出发,若对连续信号x(t)进行数字化采样,数字频率在-π~+π之间。将该信号x[n]分别通过一个低通滤波器和一个高通滤波器,那么信号的频谱中0~+π的部分分解为0~低频部分和~π的高频部分。对于频率较低的部分,可以理解为信号的光滑部分;而频率较高的部分,理解为信号的细节。以上这些可认为是一级处理模块,还可以将多级处理模块进行级联。上面的分解还可以继续分解下去,将分解后的低频部分作为下一级的输入,再通过低通和高通滤波器,得到下一级的光滑和细节部分。从多尺度分析角度来看,每一级处理模块恰好对应一个尺度,每一级分解就是将信号在该尺度下进行了分解,这就是一种多分辨率分析。

再从函数空间角度说明,但是要特别提到的是,函数空间的逐级分解中,分解不是任意的,其中存在着特殊性,即分解后的子空间之间存在正交关系。假设第j级子空间为Vj,将Vj进行分解得到Vj+1和Wj+1,Vj+1又可以继续再分解,以此类推,可以无限地分解下去,不过分解中任意的Vj和Wj都必须为非空。以上的函数空间分解正好对应了多分辨率分析的空间分解,使得多分辨率分析更容易理解和研究。

2.2 突变点检测原理

前言已经提到,小波变换就如同一台“显微镜”。改变“显微镜”的不同焦距可以观测到信号放大或者缩小的任意细节或概貌。这样不仅能够观察被分析信号中的光滑部分,还可以检测到信号突变点,并判别出它们的性质。因此,对信号进行小波变换,可以直观准确地检测及识别出其中的突变点。而这些突变点通常表现为过零点、极值点、断点等具有一定特性的点,这些正是本文要研究分析的关键所在[11]。

而通过研究发现,小波分析应用于信号的突变点检测,不管是采用小波变换系数的模极大点,还是过零点、断点,都必须综合考虑其在不同尺度上的总体表现,进行全面地分析和判断,方可精确地判定突变点的位置。一般情况下,尺度稍小的小波变换可以减小频率混叠现象,识别出突变点位置的准确率较高。若是检测噪声信号干扰点的准确位置,在多个尺度下分析比较检测点的位置才能够抗击干扰[11]。

3 数字图像篡改检测

3.1 算法理论依据

3.1.1 小波变换模极大值

(1)Lipschitz指数定义

利用小波变换来检测信号突变点(或者奇异点),这个是广义上的定义,实际应用中通常需要一个具体的函数或者表达式来表征。事实上,可以根据小波变换模极大值在多尺度上的综合表现,来确定信号中突变点的特性。而小波变换模极大值与信号突变点之间的关系,需要一种度量的方法,来表征信号局部变化的程度,Lipschitz指数即可实现[11]。其定义为:

假设某一信号x(t)在点t0附近满足如下特征,即

式中,h是一个无穷小的正数,Pn(t)是经过x(t0)点的n次多项式,则称x(t)在t0处的Lipschitz指数为a。

事实上,Pn(t)就是信号x(t)在t0点处的Taylor级数展开的前n项,即

可以看出,a一定比n大,且比n+1小或者与n+1相等(不一定等于n+1,但肯定小于n+1)。

(2)Lipschitz指数与小波变换极大值在尺度上的表现之间的关系

当t属于区间[t0,t1]时,假设有:

也可以写为:

当a=2j时,上式可变为:

式中,ja把尺度特征j和Lipschitz指数a巧妙地联系在一起。并且可以得到一些规律,即:随着尺度a或者j的变化,小波变换的对数值也发生相应地变化。

3.1.2 最小二乘法的曲线拟合

在实验过程中,往往会得到一组数据点(xi,yi)(i=0,1,…,m),为了研究两个变量(x,y)之间存在的关系,自然而然地引入了最小二乘法这个数学概念。最小二乘法比较广泛的用法,是将其应用于曲线拟合。

用数学公式描述即,对于这组数据点(xi,yi)(i=0,1,…,m),需要在函数类Φ中求得一个函数Φ(n∈Z+),使得误差平方和达到最小。从几何角度出发,就是找到一条曲线y=p(x),使得其上的值与给定数据点(xi,yi)(i=0,1,…,m)的距离平方和的值为最小。称函数p(x)为拟合函数,求p(x)的方法称为曲线拟合的最小二乘法。

3.1.3 相关系数的定义

在数学理论中,相关系数或者相关性,经常用来表示任意两个随机变量之间存在的线性相关的程度。假设有两个随机变量(m×n的矩阵)X、Y,在离散的前提下,它们之间存在的相关性描述如下:

(1)计算平均值

(3)计算X、Y的协方差

(4)计算二者的相关性

可以得到,ρxy即为X、Y的相关系数。ρxy的大小描述了变量X与Y之间存在的联系:

①当相关系数为0时,X和Y没有任何相关性。

②当相关系数为0~1.0之间时,X和Y表现为正相关。即X增大(减小),则Y增大(减小)。

③当相关系数为-1.0~0之间时,X和Y表现为负相关。即X增大(减小),则Y减小(增大)。

3.2 图像篡改的盲检测算法

根据上述算法理论,对待测图像(即篡改图像)进行检测。算法实现步骤如下:

(1)读取图像。首先读取被检测的大小为256×256的灰度图像。

(2)图像非重叠分块。对上述实验要求的图像进行非重叠分块操作,分块大小为32×32,则将整个图像共分为8×8=64块。分别对每一块进行如下步骤的处理。

(3)边缘检测并记录边缘坐标。本实验采用canny算子对各分块进行边缘提取,并将检测后的二值图像中像素值为1的坐标进行记录,以便后续步骤中运用。

(4)对分块按行进行离散小波变换。由于分块仍是图像,即是二维的,故需将其转换为一维向量,本步骤是按行进行转换。然后对其进行小波变换,选取db1小波作为基本小波,对转换后的一维向量进行三层小波分解,得到三层小波系数,将其按照分块的大小转换为相应尺寸的矩阵。

(5)求局部模极大值。详细步骤为:以被检测到的边缘坐标处的小波系数为中心,选取该小波系数及其8-邻域为一个范围,即以这九个系数为目标,先求各个系数的模极大值,然后得到模极大值的对数。

(6)对每一分块进行多项式拟合。以上述的小波分解层数为自变量xi(i=1,2,3),步骤(5)中得到的小波系数模极大值为函数值yi(i=1,2,3),根据这组已知的自变量和函数值进行多项式拟合。

(7)对分块进行按列处理,实现步骤(4)~(6),将其中的按行操作均换为按列操作。

(8)求各分块按行和按列的平均拟合误差。对每一分块,将以上步骤中得到的按行(按列)拟合曲线的函数值与原始小波系数进行做差处理,求差值的绝对值,再求平均。

(9)求平均拟合误差。对每个分块的按行平均拟合误差和按列平均拟合误差再进行平均,即对每个分块都有平均拟合误差erro。

(10)设定阈值,篡改部分定位。根据步骤(9)得到的每一个erro,选取一个阈值区间。若某一个分块的erro属于该阈值区间,则该分块被初步确定为篡改区域。

(11)将步骤(10)中得到的图像(如图3)分为大小为16×16的分块,共16×16=256块。重复步骤(3)~(10)。

(12)求分块的相关系数。对步骤(11)中得到的篡改区域,计算每一块与其8-邻域的分块的相关性,得到8个相关系数值,求得这8个相关系数的平均值ave。其中对于图像的边缘块,由于不存在8-邻域,因此只对与其相邻的图像块进行计算,然后求平均值ave。若ave大于0.6,则相关性较强,可判断不是篡改区域;否则,相关性较弱,则该分块可能遭到篡改。

4 实验结果及分析

本实验在硬件配置为Pentium®4 CPU 3.00 GHz,内存为1.00 GB的微机上进行。实验平台为Matlab7.0。所选取的原始图像(如图1)均为256×256的灰度图像,在原始图像的基础上,利用Photoshop软件进行了篡改,则得到了篡改图像(如图2)。将图2中的图像作为待测图像,对其进行检测。

图1 原始图像

图2 篡改图像

4.1 实验结果

4.1.1 检测结果1

由图3中第一次检测结果是算法步骤(1)~(10)的检测结果,可以看到,虽然篡改的部分可以被检测出来并且定位,但是在未被篡改的部分出现了很多的错误检测(误检),而且在篡改部分也有漏检的地方,这使得结果不是非常理想。因此,用改进的算法进行再一次的检测和定位。

图3 第一次检测结果

4.1.2 检测结果2

为了减小误检和漏检率,准确定位篡改区域,将图3中图像利用步骤(11)~(12)进行再次处理,即进行相关性强弱的判断,对图像进一步检测和定位,得到的结果如图4所示。

图4 第二次检测结果

由图4可以看到,从视觉效果上,检测以及定位的效果比第一次检测结果精确度有所提高。在第一次检测结果中出现的大部分误检以及漏检情况,在第二次检测中得到很好的改善。为了能够使得视觉感受和定量分析达到一致,对两次检测结果平均误检率和漏检率进行定量的比较,如表1。从表1中可以看到,第二次检测结果误检率和漏检率,与第一次检测结果相比,均有一定比例的减少,效果比较理想。

表1 两次检测结果比较(%)

4.1.3 检测结果3

考虑到图像分块的大小及分块的形状可能会对检测结果产生影响,因此,这里仅以图像分块为8×8,8×16(如图5)为例进行实验研究。对实验结果进行统计发现8×8分块检测结果误检率较高,而8×16分块检测结果较好,但是仍有一定比例的漏检。因此,分块大小和形状对检测结果有一定的影响。同样可以对其他的分块大小和形状进行实验研究。

图5 不同分块不同形状检测结果

4.2 实验分析

从以上检测结果中分析,出现误检和漏检的原因可能是:

(1)求模极大值。由于有些图像自身能够提取的边缘信息比较丰富,而如果篡改部分的信息又与原始图像的周围信息非常相近时,这样在求模极大值的时候,很容易将原始图像信息作为篡改的部分检测出来,造成误检。对于上述情形,可根据后续步骤中的相关性判断进行处理,大部分误判可消除,对于处理后仍然存在的误判区域,则作为篡改区域进行研究分析,并且将其统计在误检率中。

(2)多项式曲线拟合。利用最小二乘法进行曲线拟合时,实验中运用了Matlab7.0中自带的函数polyfit(x,y,n)。一幅图像中每个图像分块的多项式参数不同、拟合数据不同,因此拟合参数并不唯一。非篡改分块和篡改分块拟合曲线(以图2(a)中某一分块的数据为例)如图6所示(横轴为分解层数,纵轴为小波系数模极大值的对数)。由图中曲线得知,非篡改分块拟合误差较大,而篡改分块的拟合误差较小,这为后续步骤的阈值设定奠定了基础。

图6 非篡改分块和篡改分块拟合曲线

(3)阈值的选择。阈值的判断是检测中非常关键的步骤。实验中,对于算法步骤(10)中的阈值的选择,依据得到的erro值确定的数值范围a~b,取,在小于k的值中选取数个阈值,步长为0.1,根据误检率和漏检率确定最终的阈值。以图2(a)为例,a=0.1,b=1.1,则选取阈值分别为0.5、0.4、0.3进行比较。由图7三个不同的阈值进行比较,得到图7(a)误检率较高,图7(c)漏检率较高,因此选取0.4作为最佳阈值。

图7 不同的阈值对检测结果的影响

5 结论

本文针对篡改图像可能会出现的突变点以及强边缘情况进行了分析研究,提出了基于小波变换模极大值以及图像信息相关性相结合的检测以及定位方法。利用小波变换多分辨率分析的概念,先将图像进行三级分解得到各层小波系数,在边缘信息及其邻域内求取小波系数的模极大值,然后对模极大值的对数进行曲线拟合。根据曲线拟合的误差来判断图像的篡改与否,很重要的一步是,判断分块与周围分块之间的相关性,根据相关性系数的大小进一步定位。大量的实验结果证明,该方法在检测图像的篡改方面效果比较理想,定位也比较准确。主要存在的优势体现在:(1)该方法为被动检测方法,即不用在待测图像中添加任何水印或者签名,而是直接对图像进行处理;(2)利用小波系数之间存在的相关性,对图像中检测到的篡改部分进一步定位,实验结果比较理想;(3)改进后的检测结果中误检率和漏检率均相应减小。待解决的问题:(1)对于篡改部分面积非常大的图像检测效果稍差一些,目前只能检测篡改区域不超过一定比例的图像;(2)由于实际应用中,彩色图像的传输占大部分的比重,灰度图像使用的概率次之,因此为了更好地应用于实际中,可进一步将研究重点放在彩色图像上。

[1] 张小祥,周治平.小波低频子带提取特征的图像复制篡改检测[J].计算机工程与应用,2011,47(10):161-163.

[2] 王浩明,李德龙,杨晓元,等.一种基于三角形区域生长的图像篡改检测方法[J].武汉大学学报,2011,57(5):455-460.

[3] 金媛媛.基于SURF的copy-move篡改检测方法研究[D].西安:西北大学,2011.

[4] Kihara M,Fujiyoshi M,Wan Q T,et al.Image tamper detectionusingmathematicalmorphology[C]//IEEEInternational Conference on Image Processing,2007.

[5] Chen W,Shi Y Q,Su W.Image splicing detection using 2_d phase congruency and statistical moments of characteristic function[C]//SPIE Electronic Imaging:Security,Steganography and Watermarking of Multimedia Contents,San Jose,CA,USA,2007.

[6] 李哲,张爱新,金波,等.基于统计特征和马尔可夫特征的图像拼接盲检测[J].计算机科学,2010,37(7):277-279.

[7] 周治平,张小祥.基于质量评价量和方差分析的图像篡改检测[J].计算机工程,2011,37(9):236-238.

[8] 岳红原,黄坚.基于双JPEG压缩统计特性的图像篡改检测方法[J].南京工程学院学报:自然科学版,2009,7(2):34-40.

[9] Sutcu Y,CoskunB,SencarHT,etal.Tamperdetection based on regularity of wavelet transformcoefficients[C]//IEEE International Conference on Image Processing,2007:397-400.

[10] 吉建华.基于小波系数规则性的JPEG2000图像篡改检测[D].天津:天津大学,2008.

[11] 刘涛,曾祥利,曾军,等.实用小波分析入门[M].北京:国防工业出版社,2006:132-137.

猜你喜欢

极大值分块小波
构造Daubechies小波的一些注记
分块矩阵在线性代数中的应用
基于MATLAB的小波降噪研究
基于改进的G-SVS LMS 与冗余提升小波的滚动轴承故障诊断
反三角分块矩阵Drazin逆新的表示
基于小波模极大值理论的励磁涌流新判据研究
基于经验模态分解的自适应模极大值去噪方法
基于自适应中值滤波的分块压缩感知人脸识别
行人检测中非极大值抑制算法的改进
基于多分辨率半边的分块LOD模型无缝表达