基于DWT和形态学滤波的图像伪造检测方法

2018-08-24 07:51·,·
计算机测量与控制 2018年8期
关键词:相似性尺度边缘

·,·

(新疆警察学院 信息安全工程系,乌鲁木齐 830013)

0 引言

随着数字技术的发展,出现了很多对数字图像进行处理的软件,以此可以形成各种类型的伪造图像。图像伪造检测在取证等领域具有重要意义。由于数字图像中功能强大的软件工具,通过肉眼很难确定图像是否为原始图像[1]。其中,复制-移动和拼接是两种常见的图像伪造手段[2]。复制-移动是通过剪切图像中的一个区域并将其粘贴到其他位置,而剪切是通过剪切其他图像区域并将其粘贴到该图像。基于这种分类,在复制-移动图像中搜索具有相似特征的区域,或者在拼接图像中搜索完全不同特征的区域是伪造检测的基本原理[3]。

对于复制-移动类图像伪造的检测,基本都是以搜索相似区域为主要手段,而特征不一致性的情况被认为是拼接图像[4]。文献[5]利用离散小波变换(DWT)和离散余弦变换(DCT)来变换图像,然后提取特征,并基于特征比较来确认复制区域。文献[6]提出了一种基于二进小波变换(UDWT)和Zernike矩的新方法来进行复制-移动图像的伪造检测。其首先采用UDWT方法来获得图像低频(LL)组件,然后计算Zernike矩以产生LL上重叠块的特征向量,并根据这些向量找到复制区域。文献[7]使用DWT将图像分解成4个子带,对从LL子带划分出的每个小重叠块使用尺度不变特征变换(SIFT)来提取特征向量。

对于拼接的检测,其比复制-移动的检测复杂。许多拼接检测方法的关键思想是寻找与图像特征不一致的区域。重采样的区域,双重压缩的区域,以及具有模糊差异或锐度差异的区域都可以被认为是拼接的痕迹。例如,文献[8]表明图像中JPEG压缩的差异可能由拼接引起,其基于8×8块的离散余弦变换(DCT)变换来检测DCT块的移位。文献[9]表明照明不一致性和固有重采样性质也是检测拼接的参数,其在提取对比度和平均灰度值特征之前,将图像块转换成HSV颜色空间。

然而,大部分现有方法都是单独检测复制-移动或拼接的问题,只有很少的文献能够同时对同一图像中的复制-移动和拼接问题进行检测。例如,文献[10]提出了一种结合DCT和加速稳健特征(SURF)的综合技术,以检测复制-移动或拼接图像的伪造。这意味着被检测的图像是可选的,而不需事先将其分类为复制-移动或拼接。文献[11]提出了一种二进小波变换和Zernike矩的检测方法,通过Zernike矩来表示块区域的特征。文献[12]使用多分辨率韦伯局部描述符(WLD)来检测图像中的复制-移动和拼接,其首先将RGB图像转换为YCbCr色彩图像,使得WLD可以从比亮度更不敏感的色度分量中提取特征。

本文开发了一种检测算法,可以对多个复制-移动和拼接形式的图像伪造进行检测。通过应用一级DWT获得LH、HL和HH子带,通过阈值判断来获得伪造图像区域边缘,通过形态学滤波来连接边缘使其清晰化,以此实现伪造行为的检测。为了确定伪造类型,提取伪造区域的尺度不变特征变换(SIFT)特征,并通过相似性检测来确定。实验结果表明,本文方法能够准确检测出伪造区域和伪造类型。

1 提出的伪造检测方法

1.1 提出方法的基本框架

本文提出了一种在没有任何原始图像先验信息情况下,不仅可以对伪造进行检测,同时能够给出伪造类型。伪造类型包括单独的复制-移动、拼接或同时有复制-移动和拼接。另外,该方法可以检测图像中的多个伪造区域。

提出方法分为两个部分:1)边缘检测和伪造确认;2)相似区域检测来确定伪造类型。其中,基于一级DWT的3个子带LH,HL和HH,通过高清晰边缘对可疑区域进行定位来检测伪造。通过搜索类与可疑区域相似的区域来确定图像伪造的类型。两部分的流程分别如图1和图2所示。

图1 边缘检测和伪造确认的流程图

在图1所示的第一阶段中,在应用一级DWT分解之前,首先使用I=0.299R+0.587G+0.114B将彩色图像转换成灰度图像。由于边缘由高频表示,所以考虑3个子带LH,HL和HH来检测边缘。实际上,真实图像中有许多边缘,因此需要对粘贴引起的边缘进行采集。为每个图像的纹理和布局进行阈值设置,范围从最大清晰度的50%~80%。

在所有3个高频子带中通过阈值进行锐化和滤波之后,通过形态学滤波操作来连接边缘间隙。为了检测粘贴部分,通过设置LL子带中的低频部分为零来忽略他们。因此,对这4个子带进行逆离散小波变换(IDWT)后,只显示包含边缘的图像。如果存在粘贴图像的边缘,即可以确认伪造行为。否则,图像是原始的。

图2 基于相似性检测的伪造类型确定流程图

图2所示的伪造类型确定过程中,对于每个伪造部分,通过特征相似性检测来确认复制-移动或拼接操作。应用斑点检测来定义伪造区域的大小m×n。通过将测试的M*N图像分割为多个重叠的m*n块。使用SIFT特征提取技术创建(M-m+1)(N-n+1)个特征向量,并搜索具有相似特征的区域。可存在如下几种伪造类型:1)复制-移动,如果图像中至少有一个其他区域有类似特征;2)拼接,如果图像中没有类似的区域;3)复制-移动和拼接,如果存在至少两个伪造区域,且复制-移动为类型1,拼接为类型2。

1.2 边缘检测和伪造确认

1.2.1 基于DWT的图像多尺度表示

DWT是对选定的图像进行多分辨率分解,将图像在不同方向和频带上分解为不同的子图。通过一级小波分解后,图像变为逼近子图(LL)、水平方向子图(HL)、垂直方向子图(LH)和对角方向子图(HH),如图3所示。其中,LL为低频分量,继承了图像的大部分能量;其他3个子图为高频细节分量,所包含的图像能量较少,主要用来表示图像的边缘信息。在进行下一级分解时,LL将以相同的方式再次分解为更小的4个子图。

图3 DWT分解子图

对于二维图像f(x,y),二维DWT将产生一个可分离的尺度函数φ(x,y)和3个可分离的方向敏感小波ψH(x,y),ψV(x,y),ψD(x,y),分别对应于沿水平边缘,垂直边缘和对角线的变化。表达式如下:

φ(x,y)=φ(x)φ(y)

(1)

ψH(x,y)=ψ(x)φ(y)

(2)

ψV(x,y)=φ(x)ψ(y)

(3)

ψD(x,y)=ψ(x)ψ(y)

(4)

式中,φ(x),φ(y)是一维的尺度函数。ψ(x),ψ(y)是一维的小波函数。

在DWT中,尺度函数用于创建一系列图像的近似值。尺度和变换的基本功能定义如下:

φj,m,n(x,y)=2j/2φ(2jx-m,2jy-m)

(5)

(6)

对于所有的j,k∈Z,m=n=0,1,2,…,2j-1。i={H,V,D}表示方向小波。然后,通过定义近似系数和方向系数来完成尺寸为MxN的图像f(x,y)的离散小波变换。

(7)

(8)

式中,j0为任意尺度,Wφ(j0,m,n)为尺度j0处图像f(x,y)的近似系数,Wψi(j0,m,n)为用于在尺度j≥j0中增添水平、垂直和对角细节的系数。

图4 对二维图像的一级DWT分解

1.2.2 边缘检测

边缘的清晰度可以作为复制粘贴区域的痕迹。因此,边缘检测是搜索可疑区域的第一步,对有高清晰度边缘的可疑区域进行采集,然后进行检测伪造。本文将拉普拉斯算子应用于DWT的LH,HL和HH3个子带,通过每个子带与一个3×3拉普拉斯核之间的卷积来选择用于进一步处理步骤的边缘部分。

1.2.3 基于形态学操作连接边缘间隙

一般来说,在粘贴的位置,会通过一些软件工具或Photoshop使边界变平滑,因此并不是所有的边缘在LH,HL和HH中都能被连续检测到。存在一些零散分布的像素值,因此采用了形态学操作来连接一些间隙,使边界平滑,有助于更好地检测伪造区域。

通过将每个LH,HL和HH应用于A,以及将连接间隙的结构元素应用于B,通过形态学操作来修复边界上的间隙。形态学操作定义为:

A∘B=(AΘB)⊕B

(9)

式中,A和B是二维空间Z2中的两个集合;Θ表示形态学操作中的腐蚀操作,⊕表示膨胀操作。另外,Z2中的两个集合A和B的连接定义如下:

(10)

1.3 基于相似性检测确定伪造类型

1.3.1 提取块区域的SIFT特征

用SIFT特征点检测算子提取可疑块区域图像的特征。

首先,需要找出在不同方向观察物体时都不会受影响的位置和尺度。通过一个连续尺度函数来寻找稳定的特征点,即将一个尺度可变的高斯函数与二维图像I(x,y)进行卷积,表达式[13]如下:

L(x,y,σ)=G(x,y,σ)*I(x,y)

(11)

式中,x,y表示空间坐标,σ为高斯标准差,用来表示尺度大小,G(x,y,σ)为高斯函数:

(12)

为了寻找L(x,y,σ)尺度空间的极大值点和极小值点,将每一个采样点与同尺度的相邻点进行比较,将极值点对应的采样点作为特征点[8]。

然后,依据极值点邻域像素的梯度方向分布特性,给每个极值点分配一个方向。每个取样点的梯度模值和方向的表达式如下:

m(x,y)=

(13)

(14)

为了正确感知在尺度空间中检测稳定关键点的位置,借助于高斯函数微分中的尺度空间峰值D(x,y,σ),两个邻近尺度中的不相似性通过稳定性k来表示。在任何情况下,都需要对尺度空间特征描述进行计算,因此D可以通过简单的图像相减来计算,表示如下:

D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)=

L(x,y,kσ)-L(x,y,σ)

(15)

1.3.2 基于特征矩阵的相似块检测

相似区域块检测是通过计算各块区域的特征向量之间的相似性,其中相似性以欧式距离来度量。设定Si和Sj表示两个SIFT特征向量,每个特征向量包含L个特征,那么两者的相似性计算如下[14]:

(16)

设定一个阈值Ts,如果D(i,j)小于Ts,那么判断第i个块区域的特征Si与第j块区域的特征Si相似,即两个块区域相似。

2 实验及分析

2.1 实验设置

所提出的算法在Matlab2013中由处理器Intel(R)Core i5-2400 CPU@3.10 GHz,内存 8 GB的PC机上运行。用于测试复制-移动、拼接的伪造测试图像是从文献[15]提供的基准数据中采集。这些图像都是自然图片,并由Photoshop进行伪造。

所提出的方法基于3个不同的数据进行评估,3个不同数据集分别包含复制-移动图像,拼接图像以及在相同图像同时包含复制-移动和拼接。每个数据集中包含50张图像。

2.2 性能验证

首先,利用本文方法对3种数据集中的一张伪造图像进行检测,检测结果如图5所示。可以看出,图5(a)中右边的小树为复制-移动区域,图5(c)中的修正胶带为拼接区域,图5(e)中右边大花苞为复制-移动区域,小花苞为拼接区域。通过本文方法都成功地检测出伪造区域和伪造类型,证明本文方法的有效性。

图5 本文方法的检测结果

2.3 性能比较

将本文方法与文献[10]提出的DCT+ SURF特征的检测方法,文献[11]提出的基于二进小波变换(UDWT)+Zernike矩的方法进行比较。

定义的3个性能参数,称为准确率(Precision),召回率(Recall)和F1度量。精确度用来度量精确检测伪造图像的可能性,召回率用来度量伪造图像被成功检测的可能性。F1度量综合考虑了准确率和召回率。

(17)

(18)

(19)

式中,TP、FP和FN分别表示正确检测伪造像素、错误检测伪造像素和遗漏伪造像素的数量。

在3个数据集上进行3次实验,并计算性能度量的平均值,实验结果如表1所示,另外,表2统计了所有数据集上的平均值。可以看出,本文方法获得了最佳的性能。这是因为,本文通过DWT和形态学滤波获得了连续清晰的边缘信息,这为定位伪造区域提供了良好的基础。另外,本文通过提取伪造区域的SIFT特征,并通过相似性计算来确定伪造类型,大大提高了准确性。

而文献[10]提出的DCT+ SURF特征的检测方法中,SURF特征是一种基于不同尺度空间的,采用小波变换来提取的特征。为了保证SURF特征的有效性,需要事先对特征确定方向。另外,其是通过特征匹配来检测伪造,所产生的特征维数较大,这在一定程度上影响了检测性能。文献[11]提出的基于二进小波变换(UDWT)+Zernike矩的方法中,Zernike矩特征是一种鲁棒特征,并能够缩小块匹配的搜索范围。但是,Zernike矩特征匹配中的阈值选取需要人工调试,很难得到一个最佳阈值,为此也影响了检测精度。

表1 3个数据集上的性能比较 %

表2 3个数据集上的性能平均值 %

3 结束语

本文提出了一种检测图像伪造检测方法,包括单独复制-移动、拼接伪造或同时具有两者的伪造。首先通过DWT分解得到图像的3个子带LH,HL和HH,获得粘贴的边缘痕迹。当伪造被确认后,提取可疑区域的SIFT特征。通过与图像中其他区域块的比较来确定伪造类型。实验结果证明了本文方法的有效性和可行性。

猜你喜欢
相似性尺度边缘
财产的五大尺度和五重应对
浅析当代中西方绘画的相似性
12个毫无违和感的奇妙动物组合
基于隐喻相似性研究[血]的惯用句
一张图看懂边缘计算
宇宙的尺度
9
V4国家经济的相似性与差异性
室外雕塑的尺度
在边缘寻找自我