一种基于小波与dct双重域的主动式数字图像内容鉴别方法

文档序号:6572180阅读:254来源:国知局
专利名称:一种基于小波与dct双重域的主动式数字图像内容鉴别方法
技术领域
本发明涉及一种主动式数字图像内容鉴别方法,是一种基于小波与DCT双重域的主动式数字图像内容鉴别方法。
背景技术
数字图像的便利性和不安全性是并存的。图像的数字化为其传输和编辑提供了极大的高效性,但同时也带来了一系列的安全隐患数字图像的非法篡改及传播变得容易,并且不留痕迹,而这些数据涉及到金融、电子商务和军事信息通信等诸多方面,因此在网络环境中对数字图像实施有效的内容保护成为了一个迫在眉睫的现实问题。为了解决这一问题,基于内容的数字图像鉴别技术应运而生,而它不仅仅是个法律问题,也是一个很重要的技术课题。
图像信息易于被修改,在其内容受到怀疑的时候,一个能够可靠验证篡改发生与否的数字图像真伪鉴别系统就显得非常重要。数字图像鉴别的目的是验证图像内容的真实性,内容来源的可靠性和数据的完整性。由于图像信息有着不同于传统文本信息的特点数据量大图像数据可以容忍一定程度的修改。这是由于人类感知系统对视觉上的微弱变化不敏感,甚至不可觉察。
因此可以把数字图像鉴别的目标定为拒绝剪切和替换等非法操作,而接受保持图像内容的合法操作,如高质量的压缩、格式转换等。
近年来,基于数字水印的鉴别技术研究出现了一些典型的算法最早的空域方法是基于最低有效位的方法,即在图像最低有效位平面嵌入水印,这样做可以保证嵌入的水印不可见,但是该算法的鲁棒性差,容易被破坏掉,不能容忍图像的任何修改。Wolf对LSB方法进行了改进,在空域中加入M序列作为水印,水印的检测是通过相关检测器实现的。在嵌入和检测过程中使用了块结构从而实现了对篡改图像的定位功能。
Celik提出了一种脆弱性水印,对图像在多层等级上进行分块和计算相应的块签名,并将签名嵌入到图像的LSB位。在鉴别端利用“滑窗”搜索各层,从而做到对图像篡改区域进行较准确地定位,同时该方法也具有空域方法的共同缺点,就是鲁棒性差,水印信息容易被滤波、图像量化、几何变换等操作破坏。
Wolfgang和Delp开发了一种把双极M序列藏入图像数据块中的鉴别方法。这种方法能对恶意操作定位,具有中等鲁棒性。但是,它的水印是由除最低有效位之外的像素的校验和产生的。因为可接受的压缩操作会导致图像最低有效位的变化,从而导致系统的误报率增加。
Wu模拟JPEG压缩过程,对量化后的DCT系数通过查询表嵌入两类数据视觉上有意义的图案和在图像变换域提取的图像内容特征。该方法能适用于JPEG压缩和其他一些压缩方法,如小波变换,且水印图像能存储成压缩格式。该方法能容忍一定失真,同时能够检测出图像内容发生篡改并且对篡改区域进行定位。缺点是对于大面积图像篡改或全部替换,无法正确将篡改区域定位出来。
Lin进一步运用半脆弱水印技术,在图像中嵌入前面提到的鉴别数字签名。该方法能接受对水印图像进行满足一定图像质量要求的JPEG有损压缩,和一定范围内的图像亮度调整,而拒绝剪裁和替换等恶意攻击。在图像发生篡改的情况下,能够进一步定位图像被修改的区域和进行近似地恢复。但对高压缩比的图像压缩和除JPEG以外的其他压缩,鉴别结果误报率高。
Zhao提出一种双重域半脆弱水印,即将图像变换到DCT域提取图像特征,然后在图像的DWT域嵌入图像特征信息,双重域的使用能很好地控制鲁棒性和脆弱性的程度,并且能很好地对偶然失真和有意篡改进行区分、分类。但是该方法不能准确定位较复杂的图像修改位置。
易提出了一种基于图像内容的半脆弱鉴别水印,对原始图像进行小波变换后的近似系数,用混沌序列进行调制从而生成基于图像内容的水印信号;利用原始图像的HVS特性将水印信号嵌入到原始图像的小波域中;检测器能够从接收到的水印图像中提取出原始水印信号,并依据接收到的水印图像生成新的水印信号,然后通过比较二者之间的差别,从而定位出受到攻击的图像位置,并能区分受到攻击的类型。该算法具有良好的鲁棒性和识别被篡改区域的能力。
上述的数字水印鉴别方法存在以下两个问题(1)提出的数字水印鉴别方法大多属于完全鉴别,要求数据不能有任何改变,而大部分多媒体数据为了满足广播、存储和传输等需要,常以压缩格式表示,数字图像也因为需求进行转换编码。这些操作会改变数据的比特流,但不改变数据的内容,这些在数字图像鉴别系统中都应该被认为是可接受的,即数字图像鉴别系统要兼具脆弱性和鲁棒性(也叫半脆弱性),完全鉴别方法达不到这一要求。
(2)有的一些数字水印鉴别方法仅能达到辨别出图像已被恶意篡改的要求,但这在多媒体安全传输中是远远不够的,还需要能够进一步定位图像被破坏的像素的位置,并能近似地恢复出被多种操作破坏了的图像数据,从而达到对数字图像的完整性和真实性进行更高层次地鉴别。

发明内容
本发明针对现有技术的上述缺点,提供一种基于小波与DCT双重域的主动式数字图像内容鉴别方法,能够对数字图象进行修改辨别、真伪判定、篡改定位和篡改恢复。
为实现上述目的,本发明提供基于小波与DCT双重域的主动式数字图像内容鉴别方法,包括在发送端进行的水印生成、水印嵌入和水印图像生成和在鉴别端进行的图像鉴别和篡改初定位(1)水印生成上述图像首先进行象素值空间变换和小波变换图像象素值减去128,将图像象素值的范围变换到[-128,127]的对称区间,然后进行两级小波变换;再通过伪随机数产生器PRNG(Pseudo-Random Number Generator)生成由{0,1}组成的二值序列集合,即定位水印w;(2)定位水印嵌入将w用基于均值量化或基于均值四等分量化的水印嵌入方法嵌入到图像小波变换后的HL2和LH2中,选择嵌入的HL2和LH2两个小波子带分别包含图像的水平频率信息和垂直频率信息;(3)生成水印图像进行小波逆变换,将得到的象素值加上128,得到了水印图像;(4)图像鉴别首先进行象素值空间转换和小波变换,将待测图像的象素值减去128,然后进行两级小波变换;再提取定位水印,从HL2和LH2中提取出嵌入的水印信息 ,然后与上述得出的水印信息w进行鉴别比较,如果鉴别结果判定图像未被修改或仅发生偶然失真,则认为目标图像是真实可信的,鉴别结束;否则则认为至少图像发生了篡改,或同时发生篡改和失真,进入步骤(5);(5)篡改初定位根据HL2和LH2可以得到两个图像篡改定位结果,它们分别侧重标示出图像在水平方向上发生水印错误的位置和在垂直方向上发生水印错误的位置,然后将上述两个定位结果合并,形成初定位结果。
进一步,可通过下述步骤进行图象恢复,首先在上述定位步骤中生成水印图像前,在发送端进行下述步骤(1)恢复特征提取在发送端对原图像进行恢复特征提取,将图像小波变换的LL2子带作为原始图像的近似分量,用来提取恢复特征,恢复特征的产生过程是首先将LL2按8×8做分块DCT变换,并且以下的操作都是针对块操作的;将DCT系数进行Z扫描后,取其中前11个系数进行量化,量化矩阵是JPEG标准亮度量化矩阵;量化系数用固定的编码位数矩阵L进行二值编码,所得数据作为恢复水印r;(2)嵌入恢复水印在发送端将恢复水印r用基于均值量化或基于均值四等分量化的水印嵌入方法嵌入到HL1中,其中选择的求平均值的系数个数可与定位水印w′时有所不同;完成上述步骤,并生成水印图像后,在鉴别端进行下述步骤(3)篡改区域恢复在上述定位步骤中第5)步篡改区域定位之后,进行篡改区域恢复,从HL1中提取出嵌入的恢复水印r,然后利用恢复水印r对篡改定位区域的图像进行恢复,得到恢复图像。
在篡改区域恢复前进行对角扩展,找到初定位结果中图像对角方向上的水印错误,对其8个邻域位置进行水印错误的扩展操作,并进一步补充完整;在上述步骤对角扩展后,对图象进行去除孤立点操作,当一个水印错误点周围的8领域像素点都不是水印错误点,就将该水印错误点从定位结果中删除;所述对角扩展操作可循环执行多次,如果图像鉴别结果为图像仅遭受篡改,那么对初定位结果进行两次或三次对角扩展,如果图像鉴别结果为图像同时有篡改和偶然失真发生,那么对初定位结果进行两次对角扩展,一次去除孤立点操作;所述对恢复信息进行编码时,采用最低位用作符号位,输入数据是Z扫描后的量化系数,通过两个循环操作产生量化系数的二值码流第一循环操作是,首先遍历所有的量化系数块,对每个量化系数块进行相应的二值编码操作,第二循环操作是,每个量化系数块中只对前有效个系数进行编码,其余的系数舍弃,对所保留的每个量化系数首先判定它的符号,并根据符号对量化系数的最低位进行修改,保证正数的编码最低位为0,负数的编码最低位为1,即如果量化系数为正数且为偶数,则保持不变,量化系数为正数且为奇数,则将系数减1;如果量化系数为负数,先取其绝对值,然后判断奇偶,如果该量化系数绝对值为偶数,则绝对值减1,量化系数绝对值为奇数,保持不变,在鉴别端,将提取出二进制码流转换成十进制的量化系数参考值,对提取出来的二进制码流,首先转换成十进制的量化系数值,然后根据量化系数值的奇偶性,还原出相应的符号,即如果量化系数值为偶数,这表示此量化系数为正数,否则量化系数符号为负,将量化系数值取反。
所述步骤(4)图象鉴别中的判别准则可包括以下步骤(1)首先,根据下式判断小波系数是否发生水印错误, 其中Q(z,q)代表量化函数,w代表原图象的水印信息;
检测HL2得到水印错误记录T1,检测LH2得到水印错误记录T2;(2)将T1和T2合并,形成综合的水印错误记录T;(3)对T进一步分类,分成孤立的水印错误系数Tisolated和密集的水印错误系数Tdense,孤立的水印错误系数表示该错误系数的相邻8个位置没有其他的水印错误系数存在,密集的水印错误系数则正好相反,错误系数的相邻8个位置还有其他的水印错误系数,这样分类的目的是计算水印错误的密度,从而用于判断是发生篡改还是偶然失真。
(4)计算篡改程度TRTR=Ntamper/Ntotal,Ntamper=Nisolated+Ndense,其中Ntamper指发生水印错误系数的数目,Ttotal指系数总和,Nisolated指发生孤立水印错误系数的数目,Ndense发生密集水印错误系数的数目;根据TR,判断是否发生篡改(I)TR=0,那么目标图像既没发生篡改,也没有偶然失真;(II)TR>0,且Ndense<α×Ntamper,0<α≤0.5,那么目标图像仅遭受偶然失真;(III)TR>0,且Ndense<α×Ntamper,0.5<α≤0.8,那么目标图像同时有篡改和偶然失真发生;(IV)以上情况都不满足,那么目标图像仅遭受篡改。
结合附图,本发明的详细描述如下水印生成和嵌入过程如图1所示,大致可分为以下几个步骤(1)象素值空间变换和小波变换。首先把图像象素值减去128,然后进行两级小波变换。将图像象素值的范围变换到[-128,127]的对称区间,在下面步骤中有两个优点一是对称图像象素空间做DWT变换,更有利于低频分量的集中,二是可以节约编码的位数,以便于在有限的水印容量中保留更多的图像信息;(2)生成定位水印w。定位水印的产生方法可以通过伪随机数产生器PRNG(Pseudo-Random Number Generator)来生成,定位水印是由{0,1}组成的二值序列集合;(3)定位水印嵌入。将w用基于均值四等分量化的水印嵌入方法嵌入到图像小波变换后的HL2和LH2中,选择嵌入的这两个小波子带分别主要包含图像的水平频率信息和垂直频率信息,保证了图像篡改检测过程中兼顾水平方向和垂直方向上的改动,同时又保证了水印图像的不可见性。
(4)恢复特征提取。将图像小波变换的LL2子带作为原始图像的近似分量,用来提取恢复特征,恢复特征的产生过程分成以下四步将LL2按8×8做分块DCT变换,并且以下的操作都是针对块操作的;将DCT系数进行Z扫描后,取其中前11个系数进行量化,量化矩阵是JPEG标准亮度量化矩阵,相当于50%质量的JPEG压缩;量化系数用固定的编码位数矩阵L进行二值编码,用L矩阵编码保证了每个块的前11个量化系数刚好用64bits表示。
将编码得到的二值序列作为恢复水印r;(5)将恢复水印r用均值四等分量化的水印嵌入方法嵌入到HL1中。
(6)生成水印图像。小波逆变换,将得到的象素值加上128,就得到了水印图像。
图像鉴别及篡改定位和恢复过程如图2所示。
(1)象素值空间转换和小波变换。首先将受到怀疑的目标图像象素值减去128,然后进行两级DWT变换;
(2)定位水印提取。从HL2和LH2中提取出嵌入的水印信息 ,然后与已知的水印信息w进行鉴别比较,如果鉴别结果判定图像未被修改或仅发生偶然失真,则认为目标图像是真实可信的,鉴别结束;否则则认为至少图像发生了篡改,或同时发生篡改和失真,进入步骤(3);(3)篡改初定位。根据HL2和LH2可以得到两个图像篡改定位结果,它们分别侧重标示出图像在水平方向上发生水印错误的位置和在垂直方向上发生水印错误的位置,然后将这两个定位结果合并,形成初定位结果;(4)对角扩展。该操作的目的是找到初定位结果中一些可能遗漏的图像对角方向上的水印错误,将它们进一步补充完整,并且对角扩展操作可循环执行多次;(5)去除孤立点。通常图像的非恶意操作带来的失真,其定位结果呈均匀零散分布或随机分布,因此通过去除掉水印错误中的孤立点操作,可以达到尽量除去偶然失真的干扰,只定位恶意修改位置的目的,这样就得到最终的定位结果;(6)篡改区域恢复。在对篡改区域定位之后,从HL1中提取出嵌入的恢复水印,然后利用恢复水印对篡改定位区域的图像进行恢复,得到恢复图像。
在一般的计算机操作中,整数都是用最高位作为符号位,来区分正数和负数。但是本发明中的算法进行二值编码时,用来编码的位数很有限,如果还占去最高位作符号位,那么能表示的数值范围就大大缩小,例如上述L矩阵中对DC系数用7位来编码,数值最大可达到127,但是无法区分正负。如果将最高位用作符号位,则数值范围为[-63,63],虽然这样可以区分数值的正负,但是能表示的数值范围就大大减少。
本发明对恢复信息进行编码时,用最低位用作符号位来解决上述问题。这样既可以区分正负数,同时数值范围的变动也不大。图3(a)是二值编码生成流程,输入数据是Z扫描后的量化系数,通过两个循环操作产生量化系数的二值码流。
Loop 1遍历所有的量化系数块,对每个量化系数块进行相应的二值编码操作,N表示量化系数块的个数。
Loop 2其中valid表示保留的系数的数目,每个量化系数块中只对前valid个系数进行编码,其余的系数舍弃,Ec表示编码位数矩阵。
在Loop 2中,对保留的每个量化系数首先判定它的符号,并根据符号对量化系数的最低位进行修改,保证正数的编码最低位为0,负数的编码最低位为1。即如果量化系数为正数且为偶数,则保持不变,量化系数为正数且为奇数,则将系数减1;如果量化系数为负数,先取其绝对值,然后判断奇偶,如果该量化系数绝对值为偶数,则绝对值减1,量化系数绝对值为奇数,保持不变。
对于修改后的量化系数,用Ec中规定的编码位数将其转换成二进制码流,对少数溢出编码范围的量化系数,用其编码范围内的最大值代替,同时保证符号的正确。
在鉴别端,将提取出二进制码流转换成十进制的量化系数参考值,实现流程如图3(b)所示。对提取出来的二进制码流,首先转换成十进制的量化系数值,然后根据量化系数值的奇偶性,还原出相应的符号,即如果量化系数值为偶数,这表示此量化系数为正数,否则量化系数符号为负,将量化系数值取反。
本发明中的基于均值四等分量化的水印嵌入方法是对Yu提出的基于均值量化的水印嵌入方法(Yu,G.J.,Mean Quantization Blind Watermarking forImage Authentication,ICIP00(Vol III706-709))进行了改进,基于均值量化的水印嵌入就是根据要嵌入的水印信息,对若干嵌入位置的系数的平均值通过量化和更新,将该平均值修改到它所属的量化区间的中间位置。由于若干系数平均值的变化程度更难以溢出一个量化步长的范围,从而提高了嵌入水印的鲁棒性。
Yu提出的基于均值量化的水印嵌入方法为假设水印嵌入到图像的小波域内,水印信息的嵌入过程就是小波系数的均值量化过程,具体步骤如下设q是量化步长,xi,i=1,…n表示n个小波系数,w代表要嵌入的水印,Q(x,q)表示量化函数。
(1)求n个小波系数的平均值x‾=1nΣi=1nxi;]]>(2)求量化函数Q(x‾,q)=0,if tp≤x‾<(t+1)q,for t=0,±2,±4,...1,if tp≤x‾<(t+1)q,for t=±1,±3,±5,...;]]>(3)求量化噪声r (4)系数更新大小uu‾=-r‾+0.5×q,if Q(x‾,q)=w-r‾+0.5×q,if Q(x‾,q)≠w and|r‾|>0.5×q-r‾-0.5×q,if Q(x‾,q)≠w and|r‾|≤0.5×q;]]>(5)新的均值系数x*x*=x+u;
(6)所有n个小波系数的更新xi*xi*=xi+u‾,for1≤i≤n.]]>通过实验可知利用原基于均值量化的水印嵌入方法向图像小波域中嵌入大量数据时,水印图像的质量比较差,而水印的不可见性在图像鉴别算法中是必须保证的性质。因此,在本发明中,嵌入水印时对基于均值量化的水印嵌入算法做了改进,即在嵌入水印时减小小波系数的平均值的修改程度,从而提高了水印信息的不可见性。
基于均值量化的水印嵌入算法的改进主要体现在对系数更新大小u的改进上,改进后的u如下列公式。
ifQ(x‾,q)=w,u‾=-r‾+0.25×q,if|r‾|<0.25×q-r‾+0.5×q,if0.25×q≤|r‾|≤0.75×q-r‾+0.75×q,if|r‾|>0.75×qifQ(x‾,q)≠wand|r‾|>0.5×q,u‾=-r‾+1.5×q,if|r‾|≥0.75×q-r‾+1.25×q,elseifQ(x‾,q)≠and|r‾|≤0.5×q,u‾=-r‾-0.5×q,if|r‾|≤0.25×q-r‾-0.25×q,else]]>本发明中判断目标图像是否发生篡改可分为以下几步(1)首先,根据下式判断小波系数是否发生水印错误, 检测HL2得到水印错误记录T1,检测LH2得到水印错误记录T2;(2)将T1和T2合并,形成综合的水印错误记录T;(3)对T进一步分类,分成孤立的水印错误系数Tisolated和密集的水印错误系数Tdense,孤立的水印错误系数表示该错误系数的相邻8个位置没有其他的水印错误系数存在,密集的水印错误系数则正好相反,错误系数的相邻8个位置还有其他的水印错误系数,这样分类的目的是计算水印错误的密度,从而用于判断是发生篡改还是偶然失真。
(4)计算篡改程度TRTR=Ntamper/Ntotal,Ntamper=Nisolated+Ndense,其中Ntamper指发生水印错误系数的数目,Ttotal指系数总和,Nisolated指发生孤立水印错误系数的数目,Ndense发生密集水印错误系数的数目。
根据TR,就可以判断是否发生篡改,规则如下(I)TR=0,那么目标图像既没发生篡改,也没有偶然失真;(II)TR>0,且Ndense<α×Ntamper,0<α≤0.5,那么目标图像仅遭受偶然失真;(III)TR>0,且Ndense<α×Ntamper,0.5<α≤0.8,那么目标图像同时有篡改和偶然失真发生;(IV)以上情况都不满足,那么目标图像仅遭受篡改。
当图像鉴别判断结果落在规则(I)、(II)范围内,则表示图像无篡改,当判断结果落在规则(III)、(IV)范围内,则表示图像被篡改,需要进一步定位。由于选择嵌入定位水印的位置是图像小波变换后的HL2子带和LH2子带,篡改定位时只侧重标示出图像在水平方向上发生水印错误的位置和在垂直方向上发生水印错误的位置,再采用对角扩展方法,将定位中一些可能遗漏的对角方向上的水印错误进一步补充完整。对角扩展操作可循环执行多次。而去除孤立点操作则可以很好地去除偶然失真的干扰,例如JPEG带来的失真,从而达到只定位出图像恶意修改位置的目的。
对角扩展方法的演示见图5,假设位置0发生水印错误,记T(0)=1,在以下四种情况下出现时,对其8个邻域位置进行水印错误的扩展操作
(1)if T(1)=1,then T(2)=1 and T(4)=1;(2)if T(3)=1,then T(2)=1 and T(5)=1;(3)if T(6)=1,then T(4)=1 and T(7)=1;(4)if T(8)=1,then T(5)=1 and T(7)=1;在上述对角扩展操作中,对于仅遭受篡改的目标图像,对角扩展操作可循环执行多次,以求达到比较准确的定位效果;对于同时有篡改和偶然失真发生的目标图像,对角操作循环次数不能过多,否则偶然失真导致的水印错误也被扩大化,扩展后的水印错误就很难通过去除孤立点操作除去。如果图像鉴别结果为图像仅遭受篡改,那么对初定位结果进行两次或三次对角扩展。如果图像鉴别结果为图像同时有篡改和偶然失真发生,那么对初定位结果进行两次对角扩展,一次去除孤立点操作。通过实验证明上述规定的对角扩展次数基本上可以补全对角方向上遗漏的水印错误,从而达到较好的定位效果。
在本发明中,恢复水印是通过将图像小波分解的近似分量做8×8分块DCT变换、量化、取Z扫描后的前面若干个量化系数并进行二值编码后得到的。二值编码是对选取的量化系数用固定的编码位数矩阵L进行编码。使用编码位数矩阵对选取的量化系数进行编码有两个好处(1)在恢复水印的生成及嵌入端和提取端采用同样的编码位数矩阵,可以保证嵌入水印和提取水印的一致性;(2)可以控制编码的位数,有效地避免了恢复水印数据量溢出的情况。
本发明提供基于小波与DCT双重域的主动式数字图像内容鉴别方法,同时利用DWT变换域和DCT变换域的特性,水印的嵌入选择图像的DWT域,在基于均值量化的水印嵌入过程中,量化步长的大小选择充分考虑了人类视觉系统的特性,从而保证了水印图像的不可见性。恢复信息的提取在图像的DCT域完成,模拟JPEG压缩的过程,有效地减少了恢复水印的数据量;并且定位精确度比较高,通过引入对角扩展的方法,将图像在对角方向上可能遗漏的篡改位置补充完整,定位精度达到8*8像素级;能够容忍一定程度的图像处理操作带来的图像失真,并通过去除孤立点可很好地排除偶然失真的干扰。


图1 ALR的水印生成和嵌入过程图2 ALR的图像鉴别过程图3二值编解码流程图4对角扩展演示5测试图像图6 ALR鉴别系统对JPEG的测试结果图7“lena”图像的JPEG压缩鉴别检测8恶意篡改的测试图像图9恶意篡改lena图像的定位结果10恶意篡改lena图像的恢复结果11恶意篡改且进行JPEG压缩的sailboat图像的定位结果12恶意篡改且压缩的sailboat图像的恢复结果图具体实施方式
以下通过实施例对图像偶然失真、恶意篡改和两种修改同时发生三种情况分别进行鉴别测试实施例1如图5所示实验中使用的小波变换是双正交9/7小波。嵌入定位水印时,求均值的小波系数个数选择n=2×2的大小。定位块和恢复结果都精确到8×8量级。二值编码中valid=11,即对DCT量化系数保留其Z扫描后的前11个系数,这样每个8×8数据块刚好用64bits来表示,其中对量化系数进行编码所采用的L矩阵为L=7775432176554210655431005543100044310000321000002100000010000000]]>对篡改图像定位时,进行两次对角扩展。对既被篡改又有偶然失真的图像,进行两次对角扩展,一次去除孤立点操作。
从实验结果可以看出,对这些非篡改操作的图像进行定位,其定位区域呈均匀分布或随机分布,经过去除孤立点,这些区域大部分都将被删除。
将各种质量因子下的JPEG压缩图像的鉴别结果统计如表1所示,表中“√”表示鉴别通过,“×”鉴别失败,即图像发生了恶意篡改。
表1非恶意篡改的鉴别结果统计表


为了更直观地阐述误报率,将本发明鉴别系统对JPEG压缩图像的测试结果用图7表示,从图中可以看出,对于图5中的12幅测试图像,质量因子为50%以上的JPEG压缩图像能全部通过鉴别,即误报率为零。随着质量因子的减小,误报率也迅速增大。质量因子为40%的JPEG图像鉴别误报率为0.1,质量因子为30%的JPEG图像鉴别误报率为0.3,而质量因子为20%以下的JPEG图像鉴别误报率为1,即质量因子太低的情况下的JPEG图像视觉效果已经非常糟糕,导致它们全部无法通过鉴别,从而被当作篡改图像处理。
针对其中图I01即Lena图像,对于质量因子下的JPEG压缩(从0-100),它与鉴别端检测出的水印错误的关系如图7所示。图中圆点线表示由LH2和HL2共同得到的水印错误个数,方块线表示去除孤立水印错误点之后的水印错误个数,从图中可以看出,经过去除孤立点,水印错误点数目大大减少,从而使JPEG压缩图像能通过鉴别或判定仅发生偶然失真。这也说明JPEG压缩篡改的区域基本上呈均匀分布或随机分布。
实施例2本发明中所述的恶意篡改主要指图像经过了剪切和替换操作。如图8所示,其中(a)是256*256*8的lena原始图像;(b)是水印图像,PSNR=36.18db;(c)是将lena脸部恶意篡改后的水印图像,以下将利用此幅篡改图像来测试本发明的图像鉴别方法。
对8(c)图像进行鉴别,鉴别结果如图9所示,其中(a)是利用嵌入在HL2中的定位水印进行定位的结果;(b)是利用嵌入在LH2中的定位水印进行定位的结果;(c)是将(a)、(b)的定位结果合并后形成的对篡改图像的初定位结果,从(c)可以看出,此时定位结果效果还是不好,因此进行对角扩展操作是很有必要的;(d)是对(c)进行一次对角扩展定位的结果;(e)是对(c)进行两次对角扩展定位的结果,两次对角扩展后,已达到很好的篡改定位效果;(f)是对(e)进行篡改恢复的结果。
得到图像篡改定位结果后,进一步从图像小波变换后HL2中提取恢复信息,对定位区域进行近似地恢复,恢复结果如图10所示,其中(a)是从HL2中提取出来的Lena恢复图像,(b)是对恶意篡改Lena图像的恢复结果。
实施例3以下对水印图像同时施加恶意篡改和偶然失真,目的是测试本发明的鉴别方法是否能容忍偶然失真,同时能检测出恶意篡改。图11(a)是sailboat原始图像;(b)是sailboat水印图像,PSNR为36.02db;(c)是将sailboat水印图像中的小船进行了复制,并将篡改小船周围的场景用周围的水替代,然后进行了图像品质为60的JPEG压缩,鉴别结果为图像同时遭受恶意篡改和偶然失真,然后进行定位操作;(d)是通过嵌入中HL2的定位水印进行定位的结果;(e)是通过嵌入在LH2中的定位水印进行定位的结果;(f)是将(d)、(e)的定位结果合并后形成的对篡改图像的初定位结果;(g)是对(f)进行一次对角扩展定位的结果;(h)是对(f)进行两次对角扩展定位的结果;(i)是对(h)进行去除孤立点操作的结果,这一操作可以很好地除去JPEG压缩带来的偶然失真。
本实施例还对篡改的sailboat水印图像测试了进行其他图像品质的JPEG压缩,实验证明,本发明的图像鉴别方法可以很好地除去JPEG压缩带来的干扰,只定位出恶意篡改的位置。
最后对图11(c)进行恢复,恢复结果如图12所示,其中(a)是从HL2中提取出来的sailboat恢复图像,(b)是对恶意篡改且JPEG压缩(质量因子为60)的sailboat图像的恢复结果,恢复图像的精度达到8×8量级。
权利要求
1.一种基于小波与DCT双重域的主动式数字图像内容鉴别方法,其特征在于,包括在发送端进行的水印生成、水印嵌入和水印图像生成和在鉴别端进行的图像鉴别和篡改初定位(1)水印生成图像首先进行象素值空间变换和小波变换先将图像象素值减去128,将图像象素值的范围变换到[-128,127]的对称区间,然后进行两级小波变换;再通过伪随机数产生器生成由{0,1}组成的二值序列集合,即定位水印w;(2)定位水印嵌入将w用基于均值量化或基于均值四等分量化的水印嵌入方法嵌入到图像小波变换后的HL2和LH2中,选择嵌入的HL2和LH2两个小波子带分别包含图像的水平频率信息和垂直频率信息;(3)生成水印图像进行小波逆变换,将得到的象素值加上128,就得到了水印图像;(4)图像鉴别首先进行象素值空间转换和小波变换,将待测图像的象素值减去128,然后进行两级小波变换;再提取定位水印,从HL2和LH2中提取出嵌入的水印信息 然后与上述得出的水印信息w进行鉴别比较,如果鉴别结果判定图像未被修改或仅发生偶然失真,则认为目标图像是真实可信的,鉴别结束;否则则认为至少图像发生了篡改,或同时发生篡改和失真,进入步骤(5);(5)篡改初定位根据HL2和LH2可以得到两个图像篡改定位结果,它们分别侧重标示出图像在水平方向上发生水印错误的位置和在垂直方向上发生水印错误的位置,然后将上述两个定位结果合并,形成初定位结果。
2.根据权利要求1所述基于小波与DCT双重域的主动式数字图像内容鉴别方法,其特征在于,可通过下述步骤进行图象恢复,首先在上述定位步骤中生成水印图像前,在发送端进行下述步骤(1)恢复特征提取在发送端对原图像进行恢复特征提取,将图像小波变换的LL2子带作为原始图像的近似分量,用来提取恢复特征,恢复特征的产生过程是首先将LL2按8×8做分块DCT变换,并且以下的操作都是针对块操作的;将DCT系数进行Z扫描后,取其中前11个系数进行量化,量化矩阵是JPEG标准亮度量化矩阵;量化系数用固定的编码位数矩阵L进行二值编码,所得数据作为恢复水印r;(2)嵌入恢复水印在发送端将恢复水印r用基于均值量化或基于均值四等分量化的水印嵌入方法嵌入到HL1中,其中选择的求平均值的系数个数与定位水印w′时相同或不同;完成上述步骤并生成水印图像后,在鉴别端进行下述步骤(3)篡改区域恢复在上述定位步骤中第5)步篡改区域定位之后,进行篡改区域恢复,从HL1中提取出嵌入的恢复水印r,然后利用恢复水印r对篡改定位区域的图像进行恢复,得到恢复图像。
3.根据权利要求2所述的一种基于小波与DCT双重域的主动式数字图像内容鉴别方法,其特征在于,在篡改区域恢复前进行对角扩展,找到初定位结果中图像对角方向上的水印错误,对其8个邻域位置进行水印错误的扩展操作,并进一步补充完整;
4.根据权利要求3所述基于小波与DCT双重域的主动式数字图像内容鉴别方法,其特征在于,在上述步骤对角扩展后,对图象进行去除孤立点操作,当一个水印错误点周围的8领域像素点都不是水印错误点,就将该水印错误点从定位结果中删除;
5.根据权利要求3或4所述基于小波与DCT双重域的主动式数字图像内容鉴别方法,其特征在于,所述对角扩展操作循环执行多次,如果图像鉴别结果为图像仅遭受篡改,那么对初定位结果进行两次或三次对角扩展,如果图像鉴别结果为图像同时有篡改和偶然失真发生,那么对初定位结果进行两次对角扩展,一次去除孤立点操作;
6.根据权利要求1至5之一所述基于小波与DCT双重域的主动式数字图像内容鉴别方法,其特征在于,所述对恢复信息进行编码时,采用最低位用作符号位,输入数据是Z扫描后的量化系数,通过两个循环操作产生量化系数的二值码流第一循环操作是,首先遍历所有的量化系数块,对每个量化系数块进行相应的二值编码操作,第二循环操作是,每个量化系数块中只对前有效个系数进行编码,其余的系数舍弃,对所保留的每个量化系数首先判定它的符号,并根据符号对量化系数的最低位进行修改,保证正数的编码最低位为0,负数的编码最低位为1,即如果量化系数为正数且为偶数,则保持不变,量化系数为正数且为奇数,则将系数减1;如果量化系数为负数,先取其绝对值,然后判断奇偶,如果该量化系数绝对值为偶数,则绝对值减1,量化系数绝对值为奇数,保持不变,在鉴别端,将提取出二进制码流转换成十进制的量化系数参考值,对提取出来的二进制码流,首先转换成十进制的量化系数值,然后根据量化系数值的奇偶性,还原出相应的符号,即如果量化系数值为偶数,这表示此量化系数为正数,否则量化系数符号为负,将量化系数值取反。
7.根据权利要求1至6之一所述基于小波与DCT双重域的主动式数字图像内容鉴别方法,其特征在于,所述步骤(4)图象鉴别中的判别准则可包括以下步骤(1)首先,根据下式判断小波系数是否发生水印错误, 其中Q(z,q)代表量化函数,w代表原图象的水印信息;检测HL2得到水印错误记录T1,检测LH2得到水印错误记录T2;(2)将T1和T2合并,形成综合的水印错误记录T;(3)对T进一步分类,分成孤立的水印错误系数Tisolated和密集的水印错误系数Tdense,孤立的水印错误系数表示该错误系数的相邻8个位置没有其他的水印错误系数存在,密集的水印错误系数则正好相反,错误系数的相邻8个位置还有其他的水印错误系数,以计算水印错误的密度,从而用于判断是发生篡改还是偶然失真;(4)计算篡改程度TRTR=Ntamper/Ntotal,Ntamper=Nisolated+Ndense,其中Ntamper指发生水印错误系数的数目,Ttotal指系数总和,Nisolated指发生孤立水印错误系数的数目,Ndense发生密集水印错误系数的数目;根据TR,判断是否发生篡改(I)TR=0,那么目标图像既没发生篡改,也没有偶然失真;(II)TR>0,且Ndense<α×Ntamper,0<α≤0.5,那么目标图像仅遭受偶然失真;(III)TR>0,且Ndense<α×Ntamper,0.5<α≤0.8,那么目标图像同时有篡改和偶然失真发生;(IV)以上情况都不满足,那么目标图像仅遭受篡改。
全文摘要
本发明公开了一种基于小波与DCT双重域的主动式数字图像内容鉴别方法,包括在发送端进行的水印生成、水印嵌入和水印图像生成和在鉴别端进行的图像鉴别和篡改初定位;并可通过在上述定位步骤中生成水印图像前,在发送端进行恢复特征提取、嵌入恢复水印、在鉴别端进行篡改区域恢复等步骤实现图象恢复。本发明能够对数字图象进行修改辨别、真伪判定、篡改定位和篡改恢复。
文档编号G06T9/00GK101042769SQ20071003425
公开日2007年9月26日 申请日期2007年1月12日 优先权日2007年1月12日
发明者李国辉, 涂丹, 吴琼, 姚作樑, 张军, 甘亚莉, 朱为 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1