APP下载

噪声水平不一致性的图像拼接区域检测方法①

2019-04-10张德鹏王晓峰胡姣姣

计算机系统应用 2019年2期
关键词:分块纹理噪声

张德鹏,王晓峰,胡姣姣,张 萌

(西安理工大学 应用数学系,西安 710048)

随着图像获取设备的快速发展,免费图像编辑软件的可用性越来越高,而图像编辑技术的滥用会生成虚假的图像内容,使得数字图像篡改变得越来越容易.篡改伪造图像不仅降低了图像可信度,而且会误导大众,有时甚至引发犯罪.因此,旨在揭示各种图像篡改的取证工具越来越受到关注.

在图像采集和传输过程中不可避免地会受到噪声的干扰,这将会导致不同采集设备获得的图像之间存在着噪声差异.这种类型的不一致性可以作为检测图像拼接操作的依据,为了检测这种不一致性,近年来许多有效的方法被相继提出.

Ajá-Fernandez等人[1]从局部统计模型来估计噪声,其基础是大多数图像区域均是平坦的,但这在实践中并不总是成立.Liu等人[2]针对图像强度定义了噪声水平函数(Noise Level Function,NLF),利用图像像素平均值和亮度变化作为样本集,并使用贝叶斯MAP(Maximum A Posteriori)估计来从单个图像推断噪声水平函数,该方法后来扩展到图像去噪领域[3].然而,在贝叶斯估计过程中,NLF曲线的形状并没有较好的限制.因此,均匀块不足的图像可能会影响NLF估计的准确性.Yang 等人[4]主要解决了噪声水平估计中均匀样本块不足的问题,他们使用稀疏表示技术通过字典恢复来估计NLF.然而不足之处是,为了使拟合NLF更接近真实噪声水平,在估计之前需要训练可靠的字典.Lyu等人[5]利用带通域中自然图像峰度的特定的性质以及噪声特性和峰度之间的关系,将噪声统计量的估计表示为封闭形式解的优化问题,并进一步推广到一种有效的局部噪声统计量估计方法.Pun等人[6]利用多尺度噪声差异作为图像拼接伪造检测依据,图像最初被分割成多个尺度的超像素,在每个单独的尺度中,计算噪声水平和亮度之间的噪声水平函数,实验结果表明,该方案对于多目标拼接具有较好性能.Zeng等人[7]提出基于主成分分析的图像块噪声水平估计算法,并通过k-means聚类区分原始区域和篡改区域.Chierchia 等人[8]提出了基于传感器模式噪声的图像篡改检测方法,在贝叶斯估计框架下使用马尔可夫随机场来探索图像来源的空间依赖关系,在整个图像上综合考虑,利用优化技术实现全局最优解,并通过非局部去噪来提高估计,该技术在很大程度上改善了当前的技术水平.Yao 等人[9]通过探索NLF与相机响应函数(Camera Response Function,CRF)之间的关系,拟合CRF约束下的NLF曲线,建立贝叶斯最大后验MAP框架来优化NLF估计.Cozzolino等人[10]从图像的噪声残差中提取局部特征,从而定位篡改区域.

本文主要解决当篡改图像中的拼接区域与原始区域的噪声差异较小时拼接检测的困难,提高了对不同后处理操作的鲁棒性,并且运用自适应的阈值确定方法,提升了拼接区域检测的性能.

1 噪声模型

大多数数字图像在成像过程中通过传感器或后处理操作引入固有的噪声分量.最广泛使用的噪声模型是与信号无关的加性高斯白噪声[11],噪声图像A(x,y)可以表示为:

其中,A(x,y)是 观察到的噪声图像,A0(x,y)为原始图像,N(x,y)表示与信号无关的噪声.噪声水平符合高斯分布:

其中,σ和 µ 分别表示高斯分布的标准差和均值.

2 图像分块

在很多图像处理过程中都涉及图像分块,针对不同的目的有不同的分块策略.本文采用非重叠分块的方法.具体方法为从左到右,从上到下移动遍历整幅图像(如图1所示).并且选择的块应该远小于图像块的大小.设检测的图像大小为m×n,分块大小为d×d,则总共能划分为bm/dc×bn/dc个子块.

图1 图像非重叠分块规则

实际处理中我们将除不尽余下的边缘像素值舍掉.对于子块大小选取要适中,子块过大则篡改区域无法精确地定位;子块过小则块内信息内容不充分,容易出现较多误检,并且运算时间过长.通过实验对比,本文选取大小为16×16的子块,此时检测精度较高(如图2).记每一块为Bi(x,y),i=1,2,···,bm/dc×bn/dc.

图2 不同分块定位结果

3 噪声估计算法

3.1 改进的拉普拉斯算子

拉普拉斯是一种二阶导数算子,与方向无关,对噪声有双倍加强作用.一个二维图像函数的拉普拉斯变换是各向同性的二阶导数,定义为:

为了更适合于数字图像处理,将该方程用离散形式表示:

另外,拉普拉斯算子还可以表示成掩模的形式,如L1所示,从掩模形式容易看出,如果在图像中一个较暗的区域中出现了一个亮点,那么用拉普拉斯运算就会使这个亮点变得更亮.因为在拼接图像中的边缘就是那些灰度发生跳变的区域,所以拉普拉斯锐化掩模在边缘检测中具有较好性能.同梯度算子一样,拉普拉斯算子也会增强图像中的噪声.如文献[12]使用两个掩模L1和L2之 间的差作为新的掩模.L1和L2分别为:

令表示在图像块处应用掩模C的值,如下式:

假设每一个像素的噪声标准差为 σi,通过和C卷积运算即可得到均值为0,方差为 36σ2i.其中噪声方差σ2i的估计值可以在图像块Bi或局部邻域通过求均值来得到.因此图像块Bi中噪声方差可以被定义为:

其中,W和H分别为图像非重叠块的宽和高.

由于均值为0方差为σ2i的高斯白噪声符合高斯分布,则可以得到其绝对偏差为:

得到:

因此对于块的噪声估计σi可以被定义为:

3.2 基于SVD的图像块噪声估计

假设图像A是m×n维的矩阵(假设r是A的秩),其SVD可以写成:

其中,U是正交矩阵,S为对角矩阵,V为另一个正交矩阵的转置.其中,UTU=Imm,VTV=Inn,(Imm和Inn表示单位矩阵),m和n表 示A的维数.S是包含AAT或ATA的特征值的平方根并以降序排列的对角矩阵.设S(i),(i=0,1,···,r)表 示奇异值,则有S(1)>S(2)>···>S(r).

通过使用参数M来表示选取奇异值的数量,计算M2[r/4,4r/5]个 奇异值的平均值PM,如下式:

PMσl与 的关系为:

其中,σl表 示图像块Bi(x,y)的噪声.

由文献[13]可知,噪声水平越高,奇异值越大.而图像内容决定了奇异值的前面部分,它会导致奇异值的前面部分包含在PM的计算中,因此M的值不能超过4r/5,另一方面,M也不应该太小,否则会导致噪声估计的数据量太小,从而影响估计的准确性和可靠性.故M的取值范围为M2[r/4,4r/5],本文取M=3r/4.

为了进一步利用SVD算法,我们需要求出a的值,详细步骤见文献[13],通过计算得到a(如表1所示).

表1 不同块大小的a 估计值

当根据式(12)估计噪声水平时,我们需要找出β 的值.由文献[13]可知 β与图像的复杂性(结构和其它视觉细节)有关,因此很难找出β 的精确值.为了解决这个问题,通过增加已知标准差的白高斯噪声到噪声图像,从而得到β 的值.

假设在噪声图像上添加一个方差为σ1(σ1=50)的独立高斯白噪声,原始图像的噪声方差为 σl,得到总噪声方差为σw,得到如下等式;

从式(12)即可得到两个等式:

通过求解上面的方程组,可以计算出σl的值.

3.3 基于SVD的局部图像梯度矩阵

由于拼接操作会破坏图像的纹理强度的一致性,因此它的改变可以作为拼接篡改的线索.文献[11]中所说,图像结构可以通过梯度协方差矩阵来表示.对于图像块Bi(x,y)可以得到梯度协方差矩阵,记为GBi:

其中,Dh和Dv分别表示垂直和水平滤波算子.

故对于图像块Bi(x,y)的 梯度协方差矩阵CBi的定义如下:

其中,T表示转置.然而通过梯度矩阵CBi和协方差矩阵GBi可以反映很多重要的图像块信息.因此我们利用奇异值分解(SVD)来得到反映图像信息的特征值和特征向量.

其中S(1)>S(2)>···>S(r).

因此我们用协方差矩阵所有特征值之和来反映图像块的纹理长度.其中和越大说明纹理越丰富.定义如下;

3.4 拼接区域检测

拼接图像由两个或多个不同来源的部分组成,可能包含不一致的噪声特征和纹理强度特征.原则上,我们可以将全局图像分成几个局部片段,并使用前一节中介绍的方法估计所有图像块噪声和纹理强度.但是,这种方式不仅计算复杂度相对较高,特别是对于一些尺寸较大的图像,而且由于块数较多还会造成误检升高.基于这两个原因,我们提出了一种基于可疑区域的拼接检测方法.

首先,利用基于纹理相似的原理定位出可疑区域;其次,利用上文方法对可疑区域进行噪声估计;最后,定位出篡改区域.

3.4 基于纹理强度的篡改定位

拼接篡改操作使得图像纹理强度的一致性受到破坏,但也存在拼接块与原始图像可能具有相似的纹理强度的可能,因此这种特征只能粗略定位出可疑篡改区域.如图3给出原始图和篡改图像纹理强度的示例.

如图4所示,篡改图像和未篡改图像的纹理强度具有明显差异,根据这个特征我们可以粗略定位出篡改区域.具体过程如下:

图3 图像纹理强度特征(其中,(b),(d)图中的横坐标是分割对应块,纵坐标是纹理强度值)

图4 拼接规则

首先,利用非重叠分块将图像分为大小为32×32的分割块.这里主要考虑分块要能足够表达图像中的信息,过大则是定位精度较低,过小则可能产生漏检.

接着,利用基于SVD的局部图像梯度矩阵的方法估计图像的纹理特征.分别表示为GBi(i=1,2,···,N)其中N是分割块数,接着将所得到的的特征值利用聚类方法聚为4类.每一类特征均值分别用SR1,SR2,SR3,SR4来表示,用平方偏差和CSR-v来定义不同类之间的一致性:

SRave表示CSR-v的均值.为了确定块是否是篡改块,我们计算CSR-v与SRave的比值,记为ηv,如下:

其中,ηv表示区域之间的偏差比率.当比率在预定义阈值T范围内时,用于检测的图像块被分组为原始图像区域,否则,分组为篡改区域.其中T的定义如下:

其中,F(η)表 示中η 距离1 最近的值.若T<ηv,则认为SRv区域为篡改区域,否则认为是原始区域.

3.5 篡改定位

首先,对待检测图像进行大小为16×16分块处理.接着利用本文所提出方法得到噪声值并用阈值进行二值化处理,阈值选择如下:

计算出噪声的平均值

由于拼接操作将图像分为了两部分或三部分,如图4所示三种情形:

将提取最终噪声值利用模糊聚类算法[14,15]将噪声均值和对应块聚为三类,计算出每一类噪声的均值,阈值定义为:

其中,Nmax为三类中的最大均值,利用制定的二分类法将得到的噪声值进行分类,定义如下:

4 实验结果及分析

在本节中,我们通过实验来评估和分析所提出方法的性能.并给出所提方法和对比文章的精度测试、视觉图,并对方案的鲁棒性进行了分析.本文在Matlab 2014a,Win7平台进行实验.

4.1 所提出的方法的有效性评估

由于所提出的方法是基于噪声来检测篡改区域的,因此验证该方法的有效性是很有必要的.下面的实验是为了验证该方法对于不同噪声的检测性能.

我们从BSDS300数据库中随机抽取180张图片.首先,通过对原始图像添加均值为零标准差σ 的白高斯噪声.其中 σ=1,3,5,7,9,通过这种方式,可以获得5×180幅不同的噪声图像.我们从每幅噪声图像中剪切出一个120×120的正方形区域,并将其拼接到原始图像上,生成5个不同的图像数据集.然后我们在每个数据集上来计算平均真阳性率TP和假阳性率FP[7],并与文献[7]和[9]进行比较.

从表2中可以看出对于较小σ 值,本文提出方法具有更好的检测拼接区域的性能,但是对于较大 σ 值时,文献[7]和[9]与本文的方法检测拼接区域性能差别不是很大.由于现实拼接篡改图像往往噪声差异较小,故本文所提出的方法具有较好的检测性能.

4.2 定量分析以及鲁棒性检测

衡量一个方法的好坏不仅仅是检测精度,还要考虑是否具有一般适用性.接下来的实验是为了验证该方法的一般适用性,我们利用Columbia IPDED数据集来定量分析检测率以及对于后处理操作的鲁棒性.

从表3中可以看出,本文所提出的方法具有更好的检测性能,且对于一些常见后处理操作具有鲁棒性,相比于最先进的图像拼接定位方法,所提出的方法具有较好的检测性能.从上表看到存在较高的误检率高,主要是因为本文采用非重叠分块,且块的大小为16×16,在定位时由于在拼接边缘有一部分原始图像被分割到拼接块,因此按像素来计算误检率使得误检率较大,另一方面是由于阈值选择造成的影响.

表2 不同噪声水平差异拼接定位性能比较

表3 Columbia IPDED数据集的检测精度对照表

表4是在BSDS300数据集中利用所提出的方法对处理前和后处理操作后的检测率比较.

表4 BSDS300数据集的检测精度对照表

4.3 拼接定位视觉结果对比

为了检验所提出方案的篡改定位能力,我们分别选用Columbia IPDED数据库与BSDS300数据中的图像进行测试.图5是拼接篡改图像的4个实例,以及使用文献[9]和文献[7]方法的检测结果.

图5 数据库中的拼接图像篡改定位结果

从图5可以看出,文献[7]虽然能大致定位出篡改区域,但是误检率较大,文献[9]也能大致定位出篡改区域,但是由于采用显著区域检测的方法,表现出较好性能,但是会出现检测失败的可能.相比之下我们所提出的方法具有一定优势.

4.3 鲁棒性拼接定位视觉结果对比

为了检验所提出方案的鲁棒性,我们选用Columbia IPDED数据库中的图像进行内容保持性操作处理,如图6,图7,图8是针对不同类型的内容保持性操作篡改定位实验结果,并与文献[9]和文献[7]中的方法进行了对比.

图6 不同JPEG质量因子的篡改定位结果,从左至右列依次为篡改图像、未压缩、JPEG95、JPEG85、JPEG75结果

4.4 实验总结

从实验结果和鲁棒性实验的结果可以看出,文献[7]对于JPEG压缩的定位能力相对较差,勉强可以看到篡改区域,特别对于JPEG质量因子较小时定位失败.对于文献[9]虽然表现出较好的性能,但是检测率不高且存在定位失败的情况.总之从上述图中和表中的结果显示,对于JPEG压缩、伽玛校正和高斯模糊的内容保持性的操作,我们所提出的方法的篡改定位能力总体上优于文献[7]和文献[9].

图7 伽玛矫正(Gamma=1.2)的篡改定位结果,从左至右列依次为篡改图像、未后处理、伽玛矫正结果

图8 高斯模糊(3×3,σ =1)的篡改定位结果,从左至右列依次为篡改图像、未后处理、高斯模糊结果

5 结论与展望

本文提出了一种基于噪声水平的图像拼接篡改定位算法.利用奇异值分解和改进的拉普拉斯算子计算噪声特征,在此基础上利用模糊聚类求出阈值,并定位出篡改区域.相比先前算法提高了定位精度,并对后处理操作具有较好鲁棒性,特别对于拼接区域和非拼接区域噪声差异较小时具有优越性.后续工作将致力于进一步改进噪声估计算法,从而提高定位精度、精确定位篡改区域.

猜你喜欢

分块纹理噪声
面向量化分块压缩感知的区域层次化预测编码
钢结构工程分块滑移安装施工方法探讨
基于声类比的仿生圆柱壳流噪声特性研究
一种面向不等尺寸分块海量数据集的并行体绘制算法
基于BM3D的复杂纹理区域图像去噪
分块矩阵初等变换的妙用
肺纹理增多是病吗?
汽车制造企业噪声综合治理实践
TEXTURE ON TEXTURE质地上的纹理
要减少暴露在噪声中吗?