一种数字图像篡改检测定位和自恢复的方法与流程

文档序号:18476592发布日期:2019-08-20 21:11阅读:479来源:国知局
一种数字图像篡改检测定位和自恢复的方法与流程

本发明涉及数字水印领域,特别涉及一种数字图像篡改检测定位和自恢复的方法。



背景技术:

在2018年,shehab等人提出了基于奇异值分解的方案,以实现图像篡改检测与自恢复能力。该方法大致可以分为两个过程:水印生成与嵌入和水印提取与数字图像验证恢复。该方法的水印生成与嵌入流程图如图1所示,水印提取与数字图像验证恢复流程图如图2所示。

水印生成与嵌入的过程:

(1)验证水印生成:

1)图像切割。将原始图像i切成4*4大小的块,记为b。

2)像素置位。将b中所有像素的2lsbs置0。lsb:最低有效位(leastsignificantbit)。

3)矩阵分解。将置位后的b实施奇异值分解(svd),得到一个对角矩阵m。

4)特征提取。由m计算并提取特征值,作为b对应的水印。该水印为12比特。

(2)恢复水印生成:

1)图像切割。将灰度图像i切成4*4大小的块,记为b。

2)块切割。将b进一步切割成4个2*2的块。

3)计算平均值。计算每个2*2块的像素平均值。

4)恢复水印生成。提取每个2*2块的平均值的5msb作为该块的恢复水印,每个b共4个块,因此共有20比特的恢复水印。msb:最高有效位(mostsignificantbit)。

(3)水印嵌入:

1)水印串接。对于每个4*4块b,将生成的12比特的验证水印和20比特的恢复水印串接起来,形成32比特的水印信息。

2)水印位置变换。以块为单位,利用arnold变换将水印置乱。例如,将块a提取的水印变换至b的位置,b的水印变换至c的位置,依次类推。(也就是说,b的水印是嵌入在c中,目的是为了:即使将来b原来的位置被破坏了,它也可以从c中的恢复回来,因为把b的恢复信息藏到了c中)。

3)水印嵌入。假设b的水印已置乱至c的位置。那么,c共有16个像素,每个像素的2lsbs用于水印嵌入,共有32比特。将b的32比特的水印信息按顺序嵌入到c中像素的2lsbs中。

4)完成水印嵌入,得到水印图像ii。

水印提取与数字图像验证恢复的过程:

(1)水印提取:

1)图像切割。将灰度图像i切成4*4大小的块,记为c。

2)水印提取。将c中每个像素的2lsbs按顺序提取出来,串接成32比特水印信息。其中,前12比特是验证水印,后20比特是恢复水印。

3)图像反置乱。根据反arnold变换,将c提取的水印变换至b的位置。即,实际上c中提取的水印信息是原始b产生水印信息。

(2)图像验证:

1)图像切割。将灰度图像i切成4*4大小的块,记为b。

2)像素置位。将b中所有像素的2lsbs置0。lsb:最低有效位(leastsignificantbit)。

3)矩阵分解。将置位后的b实施奇异值分解(svd),得到一个对角矩阵m。

4)特征提取。由m计算提取特征值,作为b对应的水印。该水印为12比特。

5)水印对比。将提取的块b的水印与再次计算出来的水印对比,若相等,则表示该块没有被篡改;反之,判定该块被篡改。

(3)图像恢复:

1)恢复水印复原图像。根据图像验证的结果,已确定被篡改的块。对于被篡改的块,利用其恢复信息,以2*2为单元恢复其像素值。例如b的破坏了,那么因为其恢复水印是藏在c中,因此很大概率c没有被破坏,因此b很容易被恢复。

2)利用邻域信息复原图像。无法用恢复水印的被篡改块,那么就利用其邻域信息恢复。例如b的破坏了,且其恢复信息所藏之处c也被破坏了,这个时候b是无法用恢复水印恢复,因此利用b的邻域信息恢复b。

但是上述方法仍存在以下缺点:

缺点1:lsb替换的水印嵌入方式尽管直截了当,但其导致的水印图像品质下降明显。

缺点2:图像验证的精度有待提高。尽管该方案提供了12比特验证码的验证能力,但是其基本验证单元是以4*4为大小的,且其篡改检测定位方法为2层检测,有待进一步改善。

缺点3:恢复篡改图像品质有待增强。即将每个2*2块的平均值的5msb作为恢复信息,其精度有待提高;否则对图像的恢复是不利的,将影响恢复图像的品质。



技术实现要素:

(一)要解决的技术问题

为了解决现有技术的上述问题,本发明提供一种数字图像篡改检测定位和自恢复的方法,能够实现高精度的图像篡改定位和高品质的恢复图像。

(二)技术方案

为了达到上述目的,本发明采用的主要技术方案包括:

一种数字图像篡改检测定位和自恢复的方法,包括步骤:

s1、根据待测图像获取验证水印和恢复水印;

s2、根据所述验证水印、恢复水印和预设的规则对所述待测图像进行篡改检测定位和自恢复。

(三)有益效果

本发明的有益效果在于:先通过原始图像产生并自嵌入恢复水印,形成第一水印图像,再通过第一水印图像产生并自嵌入验证水印,获得第二水印图像;在验证与自恢复阶段通过待测图像获取验证水印和恢复水印;根据所述验证水印、恢复水印和预设的规则对所述待测图像进行篡改检测定位和自恢复,实现了高精度的图像篡改定位和高品质的恢复图像。

附图说明

图1为现有水印生成与嵌入的过程示意图;

图2为现有水印提取与数字图像验证恢复流程图;

图3为本发明实施例的数字图像篡改检测定位和自恢复的方法流程图。

具体实施方式

为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。

请参照图3,一种数字图像篡改检测定位和自恢复的方法,包括步骤:

s1、根据待测图像获取验证水印和恢复水印;

s2、根据所述验证水印、恢复水印和预设的规则对所述待测图像进行篡改检测定位和自恢复。

从上述描述可知,本发明的有益效果在于:先通过原始图像产生并自嵌入恢复水印,形成第一水印图像,再通过第一水印图像产生并自嵌入验证水印,获得第二水印图像;在验证与自恢复阶段通过待测图像获取验证水印和恢复水印;根据所述验证水印、恢复水印和预设的规则对所述待测图像进行篡改检测定位和自恢复,实现了高精度的图像篡改定位和高品质的恢复图像。

进一步的,步骤s1之前还包括:

s01、根据原始图像生成包含恢复水印的第一水印图像;

s02、根据所述第一水印图像生成包含验证水印的第二水印图像。

由上述描述可知,通过原始图像生成包含恢复水印的第一水印图像;根据所述第一水印图像生成包含验证水印的第二水印图像,有利于提高水印图像的品质。

进一步的,步骤s01具体包括:

s011、对所述原始图像进行图像变换,得到相应的第一图像;

s012、对所述原始图像进行预处理,得到相应的恢复水印;

s013、将所述恢复水印嵌入所述第一图像中,得到第一水印图像。

由上述描述可知,通过对所述原始图像进行图像变换,得到相应的第一图像;对所述原始图像进行预处理,得到相应的恢复水印;将所述恢复水印嵌入所述第一图像中,得到第一水印图像,提高了图像自恢复的能力。

进一步的,s012具体包括:

对所述原始图像进行图像切割处理,将所述原始图像切割成多个非重叠块;

计算每个块的像素平均值,并生成与每个块相对应的恢复水印;

对所有块的恢复水印进行置乱处理,得到相应的恢复水印。

由上述描述可知,通过对所述原始图像进行图像切割处理,将所述原始图像切割成多个非重叠块;计算每个块的像素平均值,并生成与每个块相对应的恢复水印;对所有块的恢复水印进行置乱处理,得到相应的恢复水印,有利于提高恢复图像的品质。

进一步的,步骤s013具体为:

利用基于龟壳的信息隐藏机制将所述恢复水印嵌入所述第一图像中,得到第一水印图像。

由上述描述可知,利用基于龟壳的信息隐藏机制将所述恢复水印嵌入所述第一图像中,得到第一水印图像,降低了恢复水印嵌入的最大偏移量,从而防止水印图像品质明显下降。

进一步的,步骤s02具体包括:

s021、对所述第一水印图像进行逆图像变换,得到相应的第二图像;

s022、对所述第一水印图像进行预处理,得到相应的验证水印;

s023、将所述验证水印嵌入所述第二图像中,得到第二水印图像。

由上述描述可知,通过对所述第一水印图像进行逆图像变换,得到相应的第二图像;对所述第一水印图像进行预处理,得到相应的验证水印;将所述验证水印嵌入所述第二图像中,得到第二水印图像,可知在第一水印图像的基础上生成包含验证水印的第二水印图像,保证了篡改检测定位的精确性和自恢复图像的品质。

进一步的,步骤s022具体包括:

对所述第一水印图像进行图像切割处理,将所述第一水印图像切割成多个非重叠块;

采用主成分分析法提取每个块的主要成分作为特征值,并生成与每个块相对应的验证水印;

对所有块的验证水印进行置乱处理,得到相应的验证水印。

由上述描述可知,通过对所述第一水印图像进行图像切割处理,将所述第一水印图像切割成多个非重叠块;采用主成分分析法提取每个块的主要成分作为特征值,并生成与每个块相对应的验证水印;对所有块的验证水印进行置乱处理,得到相应的验证水印,可知通过主成分分析法提取每个块的主要成分作为特征值,并生成与每个块相对应的验证水印,确保了验证水印进行篡改检测定位的有效性。

进一步的,步骤s023具体为:

利用lsb替换法将所述验证水印嵌入所述第二图像中,得到第二水印图像。

由上述描述可知,通过利用利用lsb替换法将所述验证水印嵌入所述第二图像中,得到第二水印图像,确保了水印图像的品质。

进一步的,步骤s1具体包括:

s11、从所述待测图像中提取验证水印和恢复水印;

s12、根据所述待测图像生成新的验证水印和新的恢复水印。

由上述描述可知,通过从所述待测图像中提取验证水印和恢复水印;根据所述待测图像生成新的验证水印和新的恢复水印,便于提高后续篡改检测定位和自恢复的精度和准确性。

进一步的,步骤s2具体为:

分别根据所述验证水印和新的验证水印、所述恢复水印和新的恢复水印以及邻域消元法对所述待测图像进行篡改检测定位,得到验证结果;

根据所述验证结果,利用所述恢复水印以及图像修补技术对所述待测图像进行自恢复。

由上述描述可知,通过分别根据所述验证水印和新的验证水印、所述恢复水印和新的恢复水印以及邻域消元法对所述待测图像进行篡改检测定位,得到验证结果,实现了三层混合篡改检测定位,提高了篡改检测定位的准确性,根据所述验证结果,利用所述恢复水印以及图像修补技术对所述待测图像进行自恢复,保证了自恢复图像的品质。

实施例一

请参照图3,一种数字图像篡改检测定位和自恢复的方法,包括步骤:

s01、根据原始图像生成包含恢复水印的第一水印图像;

步骤s01具体包括:

s011、对所述原始图像进行图像变换,得到相应的第一图像;

s012、对所述原始图像进行预处理,得到相应的恢复水印;

s012具体包括:

对所述原始图像进行图像切割处理,将所述原始图像切割成多个非重叠块;

计算每个块的像素平均值,并生成与每个块相对应的恢复水印;

对所有块的恢复水印进行置乱处理,得到相应的恢复水印;

s013、将所述恢复水印嵌入所述第一图像中,得到第一水印图像;

步骤s013具体为:

利用基于龟壳的信息隐藏机制将所述恢复水印嵌入所述第一图像中,得到第一水印图像;

s02、根据所述第一水印图像生成包含验证水印的第二水印图像;

步骤s02具体包括:

s021、对所述第一水印图像进行逆图像变换,得到相应的第二图像;

s022、对所述第一水印图像进行预处理,得到相应的验证水印;

步骤s022具体包括:

对所述第一水印图像进行图像切割处理,将所述第一水印图像切割成多个非重叠块;

采用主成分分析法提取每个块的主要成分作为特征值,并生成与每个块相对应的验证水印;

对所有块的验证水印进行置乱处理,得到相应的验证水印;

s023、将所述验证水印嵌入所述第二图像中,得到第二水印图像;

步骤s023具体为:

利用lsb替换法将所述验证水印嵌入所述第二图像中,得到第二水印图像;

s1、根据待测图像获取验证水印和恢复水印;

步骤s1具体包括:

s11、从所述待测图像中提取验证水印和恢复水印;

s12、根据所述待测图像生成新的验证水印和新的恢复水印;

s2、根据所述验证水印、恢复水印和预设的规则对所述待测图像进行篡改检测定位和自恢复;

步骤s2具体为:

分别根据所述验证水印和新的验证水印、所述恢复水印和新的恢复水印以及邻域消元法对所述待测图像进行篡改检测定位,得到验证结果;

根据所述验证结果,利用所述恢复水印以及图像修补技术对所述待测图像进行自恢复。

实施例二

本实施例和实施例一的区别在于,本实施例将结合具体的应用场景进一步说明本发明上述数字图像篡改检测定位和自恢复的方法是如何实现的:

水印生成与嵌入的过程:

(1)恢复水印的生成与嵌入

s01、根据原始图像生成包含恢复水印的第一水印图像;

步骤s01具体包括:

s011、对所述原始图像进行图像变换,得到相应的第一图像;

具体的,将原始图像的像素作移位变换,即每两个像素一组,根据既定规则---嵌入表,将其中一个像素值右移1比特,目的是较少嵌入失真,并预留1比特lsb用于隐藏验证水印。嵌入表,即用于决定每组像素中哪一个像素用于移位,另一个保持不变。

s012、对所述原始图像进行预处理,得到相应的恢复水印;

s012具体包括:

对所述原始图像进行图像切割处理,将所述原始图像切割成多个非重叠块;

具体的,对所述原始图像进行图像切割处理,将所述原始图像切割成2*2的非重叠块,记为b;

计算每个块的像素平均值,并生成与每个块相对应的恢复水印;

具体的,提取每个2*2块的平均值的6msb作为该块的恢复水印,msb:最高有效位(mostsignificantbit);

对所有块的恢复水印进行置乱处理,得到相应的恢复水印;

具体的,以块为单位,利用arnold变换将恢复水印以一对一的方式映射到不同位置。目的:将块a的恢复水印变换至b位置,将b的恢复水印变换至c的位置,依次类推。(也就是说,b的恢复水印是嵌入在c中,目的是为了:即使将来b原来的位置被破坏了,它也可以利用藏在c中的恢复水印恢复回来,因为把b的恢复水印藏到了c中)。

s013、将所述恢复水印嵌入所述第一图像中,得到第一水印图像;

步骤s013具体为:

利用基于龟壳的信息隐藏机制将所述恢复水印嵌入所述第一图像中,得到第一水印图像;

(2)验证水印的生成与嵌入

s02、根据所述第一水印图像生成包含验证水印的第二水印图像;

步骤s02具体包括:

s021、对所述第一水印图像进行逆图像变换,得到相应的第二图像;

s022、对所述第一水印图像进行预处理,得到相应的验证水印;

步骤s022具体包括:

对所述第一水印图像进行图像切割处理,将所述第一水印图像切割成多个非重叠块;

具体的,对所述第一水印图像进行图像切割处理,将所述第一水印图像切割成4*4的非重叠块,记为x;

采用主成分分析法提取每个块的主要成分作为特征值,并生成与每个块相对应的验证水印,即产生8比特验证水印;

对所有块的验证水印进行置乱处理,得到相应的验证水印;

具体的,以块为单位,利用arnold变换将验证水印以一对一的方式映射到不同位置。例如将块x的验证水印变换至y的位置,y的验证水印变换至z的位置,依次类推。(也就是说,x的恢复水印是嵌入在y中,目的是为了:即使将来块x被破坏了,它也可以利用藏在y中的恢复水印恢复回来,因为把x的恢复水印藏到了y中);

s023、将所述验证水印嵌入所述第二图像中,得到第二水印图像;

步骤s023具体为:

利用lsb替换法将所述验证水印嵌入所述第二图像中,得到第二水印图像;

具体的,对于每个块y,根据嵌入表及预留的lsb位置,利用lsb替换法,将x的验证水印嵌入y中。最后,得到第二水印图像。

水印提取与数字图像验证恢复的过程:

s1、根据待测图像获取验证水印和恢复水印;

步骤s1具体包括:

s11、从所述待测图像中提取验证水印和恢复水印;

(1)水印提取

验证水印提取:

1)图像切割。将测试图像t切成4*4的非重叠块,记为x.

2)验证水印提取。对于每一个块x,与嵌入过程类似,根据嵌入表,从像素的lsb中提取验证水印,得到acextract;

3)验证水印反置乱。将提取的验证水印,映射至原始位置。

恢复水印提取。

1)图像变换。根据相同嵌入表,将图像中像素作移位变换。

1)图像切割。将测试图像t切成2*2的非重叠块,记为x.

3)验证水印提取。对于每一个块x,与嵌入过程类似,根据基于龟壳的信息隐藏,提取恢复水印,得到sriextract。

3)恢复水印反置乱。将提取的恢复水印,映射至原始位置。

(2)测试图像验证与定位

s12、根据所述待测图像生成新的验证水印和新的恢复水印;

具体的,1)再次计算验证水印。与验证水印生成步骤类似,将篡改图像切成4*4块,采用主成分分析法(pca)重新计算验证水印,得到acrecalcu。

2)再次计算恢复水印。与恢复水印生成步骤类似,将篡改图像切成2*2块,重新计算每块的像素平均值,并提取每块平均值的6msb作为恢复水印,得到srirecalcu;

s2、根据所述验证水印、恢复水印和预设的规则对所述待测图像进行篡改检测定位和自恢复;

步骤s2具体为:

分别根据所述验证水印和新的验证水印、所述恢复水印和新的恢复水印以及邻域消元法对所述待测图像进行篡改检测定位,得到验证结果;

具体的,3)第一层验证。对于每一个块,将重新计算的acrecalcu和提取的acextract进行比较,若相等,则表示该块没有被篡改;否则,该块被篡改。该层的验证是以4*4的块为基本验证单元。

4)第二层验证。对于每一个块,将重新计算的srirecalcu和提取的sriextract进行比较,如果它们之间的差距在预设阈值之内,则认定该块没有被篡改从篡改;否则,该块被篡改。该层的验证是以2*2块为基本验证单元。

5)第三层验证。在前两层检测定位结果的基础上,根据篡改理应具有连续性的特点,利用邻域消元法实施篡改检测定位优化。该层的验证是以像素为基本验证单元。

(3)恢复图像

根据所述验证结果对所述待测图像进行自恢复;

具体的,1)恢复水印复原图像。根据图像验证的结果,已确定被篡改的块。对于被篡改的块,利用其恢复信息,以2*2为单元恢复其像素值。例如b被破坏了,那么因为其恢复水印是藏在c中,而很大概率c没有被破坏,因此b很容易被恢复。

2)利用邻域信息复原图像。无法用恢复水印的被篡改区域,利用图像修补技术(inpainting技术)对其进行修补。

有益效果:

缺点1:lsb替换的水印嵌入方式尽管直截了当,但其导致的水印图像品质下降明显。

解决方案:2lsbs替换的水印嵌入机制使得像素值因水印的嵌入产生的最大偏移量为3。本发明采用了基于龟壳的水印嵌入机制,该机制使得像素值因水印嵌入产生的最大偏移量为2。可见,本发明因水印嵌入产生的偏移量小于lsb替换方案水印嵌入产生的偏移量,从而确保了本发明的生成的水印图像品质高于背景技术方法的水印图像品质。

缺点2:图像验证的精度有待提高。尽管背景技术方案提供了12比特验证水印的验证能力,但是其基本验证单元是以4*4为大小的,且其篡改检测定位方法为2层检测,有待进一步提高。

解决方案:背景技术方案提供了12比特验证水印的验证能力,但其验证精度仍局限于4*4的基本单元,且其并没有利用恢复水印进一步改进篡改检测定位的精度。本发明提供了8比特验证水印的验证能力。本发明采用了三层混合篡改检测定位机制:首先,利用验证水印进行第一层验证,该层的验证是以4*4的块为基本验证单元;其次,本文利用了2*2块区域的恢复水印实施了第二层验证(而背景技术方案没有此步骤),该层的验证是以2*2的块为基本验证单元,其验证精度已提高1倍;最后,根据篡改理应具有连续性的特点,利用邻域消元法实施篡改检测定位优化,该层的验证是以像素为基本验证单元,实现了优秀的验证性能。

缺点3:恢复篡改图像品质有待增强。即将每个2*2块的平均值的5msb作为恢复水印,其精度有待提高;否则对图像的恢复是不利的,将影响恢复图像的品质。

解决方案:针对该缺点,本发明提供了两处改进。第一,提高了恢复水印的精度,即有原有的2*2块的平均值的5msb提升为6msb,恢复精度提高。第二,与背景技术图像恢复第二步(使用邻域信息复原图像)不同,本发明采用了图像修补技术(inpainting技术)对无法利用恢复水印恢复的块进行修补,该策略能够有效提高图像修补的效果,即更高的图像品质。

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