一种多嵌入率含密图像的隐写检测方法与流程

文档序号:15933939发布日期:2018-11-14 02:05阅读:277来源:国知局

本发明涉及一种多嵌入率含密图像的隐写检测方法,针对训练时可得到多个嵌入率的隐写图像的特点,通过高嵌入率图像提升低嵌入率图像的识别准确率。

背景技术

隐写分析是多媒体信息安全中的重要组成部分,其主要任务是在数字载体中检测是否有秘密信息。在众多的数字载体中最常使用的数字图像,因为一幅512×512大小的数字图像就可以携带足够多的秘密信息。数字图像由于其格式的不同可以分为很多类,jpeg(jointpictureexpertgroup联合图像专家小组)图像因为其压缩和图像重建的效果而在生活中大量使用。很多隐写方法是以jpeg图像为基础进行设计的,将含有秘密信息的隐写图像夹杂在互联网大量正常jpeg图像中进行信息传输,这样就有很高的隐蔽性。目前优秀的jpeg图像隐写方法的特点是:统计特性不变和充足的信息嵌入量。如果嵌入信息时的嵌入率在0.05bpac(bitspernonzeroacdctcoefficient比特每非零离散余弦变换交流系数),0.1bpac等低嵌入率时,隐写分析对这些优秀的jpeg图像隐写方法的识别准确率不高。隐写分析的一项研究内容是通过抓住隐写图像和正常数字图像之间的差别和隐写算法的原理,提取出能更好区别隐写图像和正常数字图像的隐写分析特征,另一个研究内容是设计符合应用场景的分类器。



技术实现要素:

本发明的目的是针对已有技术存在的不足,提供一种多嵌入率含密图像的隐写检测方法,针对隐写分析能够在训练分类器时获得多个不同嵌入率的隐写图像特征集,设计新的集成fld(费舍线性判别)分类器,利用高嵌入率隐写图像来提升低嵌入率图像的识别准确率。

为达到上述目的,本发明采用如下技术方案:

1.一种多嵌入率含密图像的隐写检测方法,其特征在于操作步骤如下:

(1)低嵌入率图像和载体图像训练得到efld1(集成费舍线性判别分类器1):由载体图像和低嵌入率图像训练得到一个集成fld分类器efld1,并通过efld1选择出得票数高的训练图像;

(2)低嵌入率图像,高嵌入率图像和载体图像训练得到efld2(集成费舍线性判别分类器2):通过上一步选择出的训练图像及其高嵌入率版本训练得到第二个集成fld分类器efld2;

(3)交叉验证确定参数值:通过交叉验证确定最终对未分类图像进行分类时使用的参数大小,即确定得票数范围;

(4)对未分类图像进行分类:首先使用efld1对得票数范围内的测试图像进行分类,剩下的测试图像使用efld2对得票数范围内的图像进行分类,还未分类的测试图像由efld1分类

所述步骤(1)低嵌入率图像和载体图像训练得到efld1:

首先有3个n×p的隐写分析数据集,n是样本数,p是样本的维度,n是集成分类器子分类器数量。第一个数据集是载体图像隐写分析特征集,第二个数据集是低嵌入率含密图像特征集,第三个数据集是高嵌入率含密图像特征集。生成一组长度等于0.5n,最大值等于n的随机正整数集合,数字之间互相不重复,以这些数字为序号对这三个数据集提取出训练样本,剩下的留作测试样本;经过这样处理后共有0.5n幅载体图像,0.5n幅低嵌入率图像,和0.5n幅高嵌入率图像参与训练;在训练第一个集成fld分类器之前还需要留下部分训练图像作为交叉验证集,余下训练集会训练得到第一个集成fld分类器;

在训练第一个集成fld分类器时,要先对样本特征抽取随机子空间,即从样本的原始p维特征中随机选取一定维度;抽取载体图像和低嵌入率图像样本的随机子空间后,可计算得到该fld子分类器的最佳投影方向;可根据公式(1)优化计算得到最佳投影方向,也可使用下述替代方法:[1]计算类内散度矩阵:对这两类样本分别计算每一个特征值的均值,并得到这两类特征的均值差;每一类特征减去自身特征值的均值并和该计算结果的转置矩阵相乘,再将两类特征计算结果相加得到类内散度矩阵。[2]计算两类均值差矩阵:该矩阵实际上就是[1]中计算得到的两类均值差矩阵。[3]增加l2优化项:将类内散度矩阵加上一个和其矩阵大小相同并乘上10-10的单位矩阵。[4]计算得到最佳投影方向:增加l2优化项的类内散度矩阵除以两类均值差矩阵就得到近似的最佳投影方向

(1)

(2)

(3)

其中是类内散度矩阵,是类间散度矩阵,表示第类的均值,表示第类中第个图像特征向量,表示所有训练数据的均值。得到最佳投影方向后,计算判决门限b;具体计算方法为,将训练样本乘以得到投影结果,取b为投影结果的最小值,然后不断的增加b的大小,当分类准确率最大时,此时的b就是判决门限。

重复n次后得到一个共有n个子分类器的集成fld分类器efld1;使用efld1对训练样本进行分类,可得到所有训练图像的投票结果;从中取出得票数在一定范围内的训练图像和这些训练图像对应的高嵌入率图像;这些取出的图像由于得到的票数较高,说明有较多的子分类器的判断是相同的,那么这些图像能够更好的体现出隐写图像或者载体图像的特点。

所述步骤(2)低嵌入率图像,高嵌入率图像和载体图像训练得到efld2:

有了得票数高的载体图像和低嵌入隐写图像及其高嵌入率的版本后,训练一个新的集成fld分类器efld2,但是训练过程和第一步中的略有不同;因为选出图像的数量一般来说是比第一步中的训练图像数量要少的,所以每次训练子分类器时首先采用bootstrap(重复抽样)方法对这些少量的样本进行重采样生成新的训练集;通常来说每次bootstrap后有一定数量的样本没有被抽取到,这些样本被用于oob(outofbag袋外错误率)测试来确定参数的值;在训练时,会缓慢的不断加入或去除一定数量的高嵌入率图像,并在这个过程中选择出一个oob效果最好的子分类器;同样循环n次后得到一个共有n个子分类器的集成fld分类器efld2。

所述步骤(3)交叉验证确定参数值:

训练得到两个集成fld分类器efld1和efld2后,还需要额外计算一个测试时使用的参数,这个参数的作用是确定测试时集成分类器的判别阈值;具体方法是利用步骤(1)中未参与训练分类器的训练样本进行交叉验证,取使得交叉验证结果最好的参数值。

所述步骤(4)对未分类图像进行分类:

首先使用efld1对测试样本进行判断,efld1仅分类投票数在一定范围内的测试样本;然后使用有高嵌入率样本参与训练的efld2对余下的测试样本进行分类,同样仅分类投票数在一定范围内的测试样本,对已经被分类的测试样本直接跳过;经过这两步之后会有一些测试样本还未分类,这些测试样本由efld1进行分类;这是由于低嵌入率图像和载体图像的最佳判决平面和判决门限是在efld1的子分类器中得到的,因而余下的未分类测试样本在efld1下有最高的识别准确率;

最终的样本预测结果由三部分组成,efld1对高票数样本的判别,efld2对高票数样本的判别和efld1对所有剩下样本的判别,如果第三部分中存在投票结果为0的样本,那么efld1将随机对样本分类,通常需要随机判断的样本的数量是非常少的;样本被分类后,无论对错,之后的分类器不会再对这个样本进行分类,因而这三部分不会出现对同一个样本重复分类情况;

这样针对隐写图像有多个嵌入率的特点而设计的新集成fld分类器,能够提升隐写分析准确率。

本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著的技术进步:现有隐写分析技术对于低嵌入率图像的识别准确率有待提升而且并没有考虑到进行隐写分析时可以获取到高嵌入率图像,本方法将高嵌入率图像考虑在内,利用高嵌入率图像提升对低嵌入率图像的识别准确率。

附图说明

图1是本发明方法的操作程序框图。

图2是本发明方法的训练第一个集成fld分类器的流程图。

图3是本发明方法的第二个集成fld分类器中一个子分类器训练的流程图。

图4是本发明方法的分类流程图。

具体实施方式

下面结合附图,对本发明具体实施例作详细说明。

实施例一:

参见图1,本多嵌入率含密图像的隐写检测方法,其特征在于操作步骤如下:

(1)低嵌入率图像和载体图像训练得到efld1:由载体图像和低嵌入率图像训练得到一个集成fld分类器efld1,并通过efld1选择出得票数高的训练图像;

(2)低嵌入率图像,高嵌入率图像和载体图像训练得到efld2:通过上一步选择出的训练图像及其高嵌入率版本训练得到第二个集成fld分类器efld2;

(3)交叉验证确定参数值:通过交叉验证确定最终对未分类图像进行分类时使用的参数大小,即确定得票数范围;

(4)对未分类图像进行分类:首先使用efld1对得票数范围内的测试图像进行分类,剩下的测试图像使用efld2对得票数范围内的图像进行分类,还未分类的测试图像由efld1分类。

实施例二:本实施例与实施例一基本相同,特别之处是:

参见图2,所述步骤(1)低嵌入率图像和载体图像训练得到efld1:

首先使用90%训练样本训练一个共有50个子分类器的集成fld分类器,子分类器是带有l2优化的fld分类器。

训练efld1的具体步骤如图2所示。有3个10000×8000的隐写分析数据集,10000是样本数,8000是样本的维度,50是集成分类器子分类器数量。第一个数据集是载体图像隐写分析特征集,第二个数据集是低嵌入率含密图像特征集,第三个数据集是高嵌入率含密图像特征集。生成一组长度等于5000,最大值等于10000的随机正整数集合,数字之间互相不重复,以这些数字为序号对这三个数据集提取出训练样本,剩下的留作测试样本,经过这样处理后共有5000幅载体图像,5000幅低嵌入率图像,和5000幅高嵌入率图像参与训练;在训练第一个集成fld分类器之前还需要留下10%训练集作为交叉验证集,余下90%训练集会训练得到第一个集成fld分类器;

在训练第一个集成fld分类器时,要先对样本特征抽取随机2000维子空间,即从样本的原始8000维特征中随机选取2000维特征;抽取载体图像和低嵌入率图像样本的随机子空间后,可计算得到该fld子分类器的最佳投影方向;重复50次后得到一个共有50个子分类器的集成fld分类器efld1;使用efld1对训练样本进行分类,可得到所有训练图像的投票结果;从中取出得票数大于10或者小于-10的训练图像和这些训练图像对应的高嵌入率图像。

实施例三:本实施例与实施例一基本相同,特别之处是:

参见图3,所述步骤(2)低嵌入率图像,高嵌入率图像和载体图像训练得到efld2:

得到得票数高的载体图像和低嵌入隐写图像及其高嵌入率的版本后,训练一个新的集成fld分类器,但是训练过程和前一个略有不同;先采用bootstrap方法对这些少量的样本进行重采样生成新的训练集,在训练每个子分类器时,会在高得票训练图像的基础上加入其高嵌入率版本来训练得到一个分类效果更好的子分类器;具体步骤如图3所示,对挑选出的训练样本及其高嵌入率版本选取随机子空间,使用90%挑选出训练样本再加上额外随机100幅高嵌入率图像进行fld子分类器的训练,记录下这个子分类器对剩下10%样本的oob效果;随后再加入随机100幅高嵌入率图像同样进行fld子分类器训练,将其与目前oob效果最好的fld子分类器进行比较,如果oob效果比当前最优子分类器好则继续添加高嵌入率图像,否则去除当前添加的100幅高嵌入率图像并重新选取100幅高嵌入率图像进行下次训练;当达到预先设定的总训练次数后停止训练,取出oob效果最好的子分类器;同样循环50次后得到一个共有50个子分类器的集成fld分类器efld2。

实施例四:本实施例与实施例一基本相同,特别之处是:

所述步骤(3)交叉验证确定参数值:

训练得到两个集成fld分类器efld1和efld2后,还需要额外计算一个测试时使用的参数,这个参数的作用是确定测试时集成分类器的判别阈值;具体方法是利用步骤(1)中未参与训练分类器的10%训练样本进行交叉验证,取使得交叉验证结果最好的得票数范围,范围在[0.5,1]之间。

实施例五:本实施例与实施例一基本相同,特别之处是:

参见图4,所述步骤(4)对未分类图像进行分类:

对未知图像的分类步骤如图4所示。首先使用efld1对测试样本进行判断,efld1仅分类投票数在一定范围内的测试样本;然后使用有高嵌入率样本参与训练的efld2对余下的测试样本进行分类,同样仅分类投票数在一定范围内的测试样本,对已经被分类的测试样本直接跳过;经过这两步之后会有一些测试样本还未分类,这些测试样本由efld1进行分类;

最终的样本预测结果由三部分组成,efld1对高票数样本的判别,efld2对高票数样本的判别和efld1对所有剩下样本的判别,如果第三部分中存在投票结果为0的样本,那么efld1将随机对样本分类,通常需要随机判断的样本的数量是非常少的;样本被分类后,无论对错,之后的分类器不会再对这个样本进行分类,因而这三部分不会出现对同一个样本重复分类情况;

这样针对隐写图像有多个嵌入率的特点而设计的新集成fld分类器,能够提升隐写分析准确率。

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