一种基于PCA网络的中值滤波检测方法与流程

文档序号:11262337阅读:356来源:国知局
一种基于PCA网络的中值滤波检测方法与流程

本发明涉及一种基于pca网络的中值滤波检测方法,属于信息安全以及数字图像信息处理技术领域。



背景技术:

随着通讯技术以及计算机技术的飞速发展,人们已经全面进入信息化时代。在信息时代,人们可以通过网络或其他数字媒体方便快捷得获取大量信息,但与此同时,一些有价值的数字信息容易被篡改或盗用。出于版权保护以及信息安全的考虑,对原始信息的保护便显得尤为重要。在数字图像领域,判断信息是否被人为修改过的检测方法,可以统称为取证分析,近些年来,由于版权及信息安全等方面需求的增加,取证分析成为了数字图像处理领域一个热点话题。与取证分析相对的,反取证技术也在不断发展。反取证技术的目的在于通过消除人为修改信息时所留下的一些特征,使得取证分析检测方法失效,从而使得修改操作不会被检测到。

中值滤波是一种非线性滤波操作,对于灰度图来说,中值滤波会将每一个点的灰度值用该点某领域所有像素点灰度值的中值替代。中值滤波方法对于消除椒盐噪声等非常有效,在图像处理中,中值滤波又可以保护图像的边缘信息,因此中值滤波成为了一种常用的预处理技术。近些年来,随着反取证技术的发展,人们发现利用中值滤波处理可以使得伪造的图片变得更加真实,同时由于其非线性滤波的特性,中值滤波操作会改变其他编辑操作所留下的痕迹,导致以往的取证分析变得更加困难,这使得中值滤波成为一种有力的反取证技术。因此,检测图片是否被中值滤波处理过也成为取证分析中重要的一环,这也使得近些年来越来越多的人开始关注中值滤波检测。

与本方法相关的专利共两篇,下文分别对其进行剖析:

文献1):kang,xiangui,etal."robustmedianfilteringforensicsusinganautoregressivemodel."ieeetransactionsoninformationforensicsandsecurity8.9(2013):1456-1468.

该文献提出了一种基于ar模型的中值滤波检测方法,使得其可以用于检测只有一部分是中值滤波处理过的图像。但该方法没有考虑到不同数据集之间的差异,因而其对于不同数据集的检测效果不同,这也影响了ar模型的泛用性能。

文献2):chenj,kangx,liuy,etal.medianfilteringforensicsbasedonconvolutionalneuralnetworks[j].ieeesignalprocessingletters,2015,22(11):1849-1853.

该文献提出了一种基于cnn的中值滤波检测方法,利用深度学习的cnn算法对图片进行检测。但cnn模型的参数较多,且参数选取更多的是基于实验者的经验,而cnn不同参数对模型的性能影响又较大,因此参数选取是该检测模型的困难点之一。另一方面,cnn模型训练的时间较长,且不易在硬件上实现,因此这也使得训练模型的效率较低。

以上文献在模型的泛用性以及训练难易程度上均有一定的缺陷,对此,本方法的目的是致力于解决模型训练时间过长以及增强中值滤波检测模型的泛用性。

主成分分析(principalcomponentanalysis,pca)网络是新提出的一种简化的深度学习网络,相比于卷积神经网络,pca网络结构更为简单,训练速度快,易于在现场可编程门阵列(fpga)上实现;pca网络需要预设的参数改变对网络性能的影响较为明确,因此参数更容易选取;相比传统模式识别方法,pca网络的识别准确率高,在一些较为简单的模式识别问题上,pca网络可以更快速的达到和cnn相近的识别效果。

pca网络主要由三部分组成:

1、主成分提取:选定一个大小确定的方形窗,将原图像的每一个和窗同大小的小块依次展开为列向量并进行零均值化处理,将这些列向量重构为一个新的矩阵x。计算xxt的特征值,取较大的特征值所对应的特征向量并将其重塑为与窗同大小的矩阵,把这些矩阵作为pca网络中的卷积核。用这些卷积核与前一层输入图像进行卷积。

2、量化处理:根据pca网络的卷积层数重复步骤1,将最终输出二值化并进行哈希处理并逐块计算矩阵直方图统计,最终将得到的向量作为从输入样本所提取出的特征。

3、训练支持向量机:支持向量机是机器学习中的一种分类算法,广泛应用于分类模型,本方法中利用前两步所提取的图像特征训练支持向量机,得到分类模型。

和cnn相似,pca网络在处理差别较小的数据集时会遇到困难,而一张图片及其中值滤波后得到的图片便是这种情况。因此为了取得更好的识别效果,应该先将原始图像及其中值滤波图像的差异扩大。为此,在模型中引入中值残差层,即计算输入图像与其中值滤波的差值,并将其作为网络的输入。



技术实现要素:

本发明的目的是为了克服现有图像中值滤波检测算法在压缩图像和小尺寸图像中值滤波检测时存在准确率低以及模型训练时间长的技术缺陷,提出了一种基于pca网络的中值滤波检测方法,下面简称“本方法”。

本方法的核心思想为:以pca网络作为基本工具,结合图像中值滤波残差训练网络,再利用训练好的网络对检测目标进行检测,输出中值滤波的检测结果。

一种基于pca网络的中值滤波检测方法,包括模型建立和目标检测两部分;

其中,模型建立,步骤如下:

步骤1:选取一些图片,并提取出每一图片中心位置的小块作为素材,并记素材的图像标签为0;

步骤2:对步骤1提取的素材进行中值滤波,得到经中值滤波处理后的素材,并记此中值滤波处理后素材的图形标签为1;

步骤3:将步骤1提取的素材及步骤2输出的经中值滤波处理后的素材作为训练集,计算训练集的中值滤波残差;

其中,训练集记为m表示训练集中图片的个数,ii表示集合中的一个图片;

训练集的中值滤波残差通过如下公式(1)计算:

mfr(ii)=med(ii)-ii(1)

其中,mfr(ii)为训练集中ii的中值滤波残差,med(ii)是ii的中值滤波结果;

步骤4:建立pca网络,得到对应的图像的特征;

步骤4,具体为:

步骤4a:选取一个大小确定的方形窗,按照从左至右,从上到下的顺序依次取出每一个中与方形窗大小相同的图像块,对所有图像块进行零均值处理,并将其按列展开得到一个列向量,将所有得到的n个列向量合并,得到一个列数n的矩阵,记为x;

其中,大小确定的方形窗为m行m列;其中,m的取值范围均为1到步骤1中素材的横向及纵向像素点的最小值;

步骤4b:计算xxt的特征值与特征向量,将较大的l个特征值所对应的特征向量,将l个特征值所对应的特征向量重塑为与方形窗大小相同的矩阵,并将此矩阵作为第一层卷积核,从而得到了l个卷积核;

其中,xxt的特征向量个数,记为u个,l的取值范围为大于等于1且小于m平方的整数;

步骤4c:将l个卷积核依次与mfr(i1)做卷积,每一个mfr(i1)经过卷积处理后都会得到l个图像,记为即得到的图像数量为l个;

步骤4d:以步骤4c所得到的l个图像为素材,对每个图像重复步骤4a-4c,这样,每一个图像又可以得到l个图像,记由mfr(i1)k所得到的l个图像为初始化k=1;

步骤4e:对进行二值化处理,具体为将所有正数用1代替,其余数用0代替,记此二值化处理后的图像为hl;

步骤4f:计算得出结果,此结果记为tk,对tk分块并进行直方图统计,并将直方图统计的结果按列展开得到一个列向量;

步骤4g:对k=2,3,…,l的情况重复步骤4e和步骤4f,可以得到l-1个列向量,再将步骤4f输出的列向量和此l-1个列向量按列合并为一个列向量,该向量是所提取的输入图像的特征;

步骤4h:步骤4g的输出即为图像mfr(i1)的特征,重复步骤4a-4g,将后续图像依次处理,得到对应的图像的特征;

至此,从步骤4a到步骤4h完成了pca网络的建立,并得到图像的特征;

步骤5:利用步骤4得到的图像特征及步骤1和步骤2中的图像标签训练支持向量机得到训练好的模型;

至此,从步骤1到步骤5,完成了本方法的模型建立;

目标检测,步骤如下:

步骤a:将待检测的图片切割为小尺寸图像,大小取决于检测的需求;

其中,小尺寸图像数量记为nmax;小尺度图像的编号记为ni且初始化为1;

步骤b:将经过步骤a切割后的编号为ni的小尺寸图像输入本方法建立的模型,根据模型输出判断是否有过中值滤波处理,决定是否跳至步骤c;

具体为:

步骤b.1若模型的输出为0,表明未经过中值滤波处理,判断ni是否等于nmax,若否,将ni增加1,跳至步骤b;若是,结束本方法的目标检测;

步骤b.2若模型的输出为1,表明已经过中值滤波处理,则跳至步骤c;

步骤c:对此编号为ni的经过中值滤波处理的图像块在步骤a的待检测图片中的对应位置标出,跳至步骤b;

至此,从步骤a到步骤c,完成了本方法的目标检测。

有益效果

本方法对比现有技术,具有如下有益效果:

1.本方法受益于深度学习泛化性的特点,模型可以适用于多种图片集;

2.本方法中的pca网络模型结构简单,训练用时短,可以方便地在fpga上实现,显著提高运算速度;

3.本方法所提的模型中需要人为设定参数较少,参数变化对网络性能的影响更为明确,这使得模型参数更易选取,可以避免由于参数选取不当导致的网络性能下降。

附图说明

图1为本方法的流程示意图;

图2为本方法的网络模型框架图示;

图3为利用本方法进行中值滤波检测的流程图;

图4为本方法在bossbase数据库下的检测准确率随图片质量的变化;

图5为本方法在ucid数据库下的检测准确率随图片质量的变化;

图6为本方法中的测试图像1以及识别结果。

具体实施方式

下面结合附图和实施例对本方法进行详细描述。

实施例1

本实施例阐述了本方法具体实施过程的流程,如图1所示。

从图1可以看出,本方法的流程为:

步骤①:选取一个图片数据库;

具体到本实施例选取的是bossbase数据库;

步骤②:对图片进行标记及切割得到训练集;

该步与步骤1与步骤2相同,具体到本实施例,图片被切割成大小为32×32的图像块;

步骤③:计算中值滤波残差;

该步与步骤3相同,具体到本例,

步骤④:令k=1;

步骤⑤:判断k是否大于m:

其中,m表示训练集中图像块的总个数;

若是,跳至步骤⑧;

若否,跳至步骤⑥;

步骤⑥:提取第k个图片的图片特征;

提取方法与步骤4-10相同,具体到本实施例,方形窗大小为3×3,卷积核个数l=6;

步骤⑦:k=k+1;

步骤⑧:训练支持向量机;

该步与步骤12相同,即利用图片标签及已提取的图片特征训练支持向量机;

步骤⑨:得到已训练好的本方法模型;

步骤⑩:将待检测图片切割成小的图像块并对图像块进行编号;

步骤令j=1;

步骤将第j个图像块输入已训练好的本方法模型;

其中,已训练好的本方法模型即步骤⑨中得到的本方法模型;

步骤判断是否经过中值滤波处理;

若是,将待检测图片对应位置边框涂色,跳至步骤

若否,跳至步骤

步骤判断是否还有未检测的图像块;

若是,令j=j+1,跳至步骤

若否,结束;

至此,从步骤①到步骤完成本实施例一种基于pca网络的中值滤波检测方法。

实施例2

图2为本方法的网络模型框架,图2是应用本模型进行中值滤波检测的具体流程图,下面将结合附图对算法进行详细说明,但本方法的具体实施形式并不局限于此。

模型的具体训练过程举例如下:

1)选取10000张图像,从每张图中取出中心位置32×32图像,并记其标签为0;

2)将得到的小尺寸图像进行中值滤波处理,并记其标签为1,得到的图像与原图像作为模型的训练集;

3)图2中“mfrfilter”表示计算输入的中值滤波残差并输出,具体为根据每一个输入图片ii,计算根据公式(1)计算其中值残差并输出;

4)以一张图片的中值残差为例,mfr(ii)的大小是32×32。选取一个3×3的窗,用该窗依次扫过mfr(ii)的像素,每次可以得到一个3×3的图像块,通过以上操作我们可以将图片分为900块,将每一块按列展开得到9维的列向量x1,x2,x3,…,x900,进行零均值化处理,即令xi的每一个的元素减去xi自身元素的均值得到将其组成矩阵记为将所有图像中值残差所得到的组成一个新的矩阵记为

5)计算的特征值以及特征向量,取最大的6个特征值所对应的特征向量λ1,λ2,…,λ6,将每一个特征向量重塑为3×3的矩阵,并将其作为pca网络第一层的卷积核,用每一个卷积核依次与输入数据做卷积,对每一个输入图像,卷积后会得到6个图像;

6)将由同一个输入图像卷积后得到的6个图像作为pca网络第二层的输入,重复第4-5步可以得到第二层的输出。对于第一层的一个输入图像,经过两层处理,我们可以得到36个图像;

7)在图2的“哈希及直方图统计”中,我们对第6步所得到的36个图像进行哈希及直方统计处理,具体为先对本层的输入图片进行二值化处理,即将正数所在的位置用1代替,其余位置用0代替,然后利用公式

计算tk,再将每个图像的6个tk依次进行b分块,分块方法同步骤4,假设b=625,对tk的每一块进行直方图统计一个列向量,这样对6个tk进行直方图统计可以得到6b个列向量,将这6b个列向量按列合并为一个向量,所得到的向量即可第一层输入图像的特征;

8)对其余图片重复步骤1-7,计算其对应的图像特征。

9)在图2中的“支持向量机”部分,我们利用第1-8步所得到的图像特征及标签训练支持向量机,得到相应的支持向量机的参数。

至此,1-9步完成了本方法模型的建立;

具体中值检测过程:

图3即为中值滤波检测过程,其中虚线部分表示计算图像数据库的中值滤波残差,并利用其训练得到已训练好的模型,即表示图2部分内容,其余部分表示利用已训练好的模型对待检测图片进行中值滤波检测的流程。

步骤a.对待检测的图片进行切割得到小的图像块;

步骤b.对得到的图像块按照从左至右,从上至下的顺序进行编号处理,同时令j=1,跳至步骤c;

步骤c.将第j个图像块作为已训练的本方法模型的输入,并由模型输出判断该图像块是否经过中值滤波处理;

步骤c.1若检测结果为该图像块已经过中值滤波处理,则将该图像块在待检测图像中的对应位置的边框变为红色,跳至步骤d;

步骤c.2若检测结果为该图像块未经过中值滤波处理,跳至步骤d;

步骤d.判断是否还有待检测的图像块

步骤d.1若有,令j=j+1,跳至步骤c;

步骤d.2若无,则终止程序。

下面结合仿真结果和附图来对本方法效果进行说明:

中值滤波检测的识别准确率是评价其性能的重要参考指标,在此之前还考虑待检测数据的变化(例如图片压缩水平、不同目标的数据集等)对模型识别准确度的影响。

首先,我们将本方法在bossbase以及ucid两个数据集上的性能表现作对比,结果分别见图4和图5,图中横坐标为图片质量,纵坐标为模型检测准确率,虚线表示测试集为经过窗大小为5×5的中值滤波处理后的图像,实线测试集为经过窗大小为3×3的中值滤波处理后的图像。这里我们可以看到本方法在不同数据集上及窗大小不同中值滤波处理的图像,都有良好的表现,这表明模型对不同的数据集都具有良好的适用性。

其次,表1展示了本方法以及10阶的ar模型在检测不同压缩率以及不同中值滤波窗大小的jpeg图片的性能变化。其中,j_q90_mf5,表示图片格式为jpeg格式,压缩率为90%,图像由原图像经过大小为5×5的中值滤波窗处理得来。从表1中我们可以看到,本模型的检测准确率随着压缩率下降,但是检测准确率均高于ar模型,针对不同的中值滤波参数以及jpeg压缩率,本方法的检测准确率高于ar模型0.9%到6%的准确率。

表1不同压缩率以及滤波窗大小下检测性能的变化

最后,我们利用本方法所提出的模型对两个测试图像进行检测,测试结果见图6。图6中的子图从(a)到(d)依次是裁剪图像,封底图像,合成图像以及检测结果,其中检测结果为中值滤波过的小块已被方框标出。

基于以上的分析,可知本方法所提出的基于主成分分析网络的中值滤波检测方法在处理压缩图像以及小尺寸图像的中值滤波检测上有着很好的效果。

以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附图所公开的内容。凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1