一种基于双图可逆脆弱水印的图像篡改检测方法与流程

文档序号:12916336阅读:551来源:国知局
一种基于双图可逆脆弱水印的图像篡改检测方法与流程

本发明涉及一种图像信息技术,具体涉及一种基于双图可逆脆弱水印的图像篡改检测方法。



背景技术:

随着数字多媒体与计算机网络不断地发展,以数字媒介为载体的文本、音频、图像和视频等数据的复制、存储与传播得到了广泛的应用,给人们的日常生活、工作和学习带来了极大的便利。在图像加工软件发展飞快的今天,数字图像能被轻易修改并且很难察觉,直接使用未经验证图像具有巨大的风险,单纯的信息加密不存在任何完整性的保护,对任何信息的改变都被认为是合法的,这就导致攻击者截获加密信息,将其篡改、破坏后再发送,造成加密信息无法安全传递。比如医学图像的篡改会影响到医生的判断,法庭上作为举证的图像是审理案件的关键,确认了图像的合法才能为正确判案提供有力的证据,这些特殊的信息在遭到恶意篡改后,必会造成严重的社会影响,甚至威胁人的生命安全等恶劣后果,图像篡改认证的重要性可见一斑。

然而,当前大多数图像篡改认证方法使用的是不可逆信息隐藏算法,而一些基于可逆信息隐藏的脆弱水印认证算法,例如:2014年,lo等人用直方图漂移可逆信息隐藏算法将生成的认证信息嵌入宿主图像,认证结果并不令人满意。

然而这些现有的或多或少具有以下缺陷:基于脆弱水印的篡改认证方法多为不可逆的,篡改检测后无法无误恢复原始图像;或者能够恢复但会导致对被修改区域检测的不准确。最终还是会影响图像安全性能。



技术实现要素:

发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种基于双图可逆脆弱水印的图像篡改检测方法。

技术方案:本发明的一种基于双图可逆脆弱水印的图像篡改检测方法,依次包括以下步骤:依次包括以下步骤:

(1)可逆脆弱水印的嵌入和提取

(1.1)脆弱水印的嵌入;

使用两张相同宿主图像,第一张宿主图像i1嵌入b进制水印信息,b≥3,第二张图像i2嵌入b进制失真信息,每对像素嵌入两个b进制水印信息,又因第二张宿主图像嵌入的为失真信息,此时载荷为log2b/2比特每像素(bpp),现给定大小为h×w的宿主图像和长度为l的二进制水印信息,将水印信息转化为b进制数字,转化后的水印信息进制b应满足公式(1):

根据sos(second-ordersteganographicmethod)算法构建b进制对应的矩阵mb,依次将b进制水印信息嵌入宿主图像i1生成水印图像i1′,b进制失真信息嵌入宿主图像i2生成水印图像i2′,其中,两张相同宿主图像i1,i2对应的两个相同像素对分别为(pi,pi+1)和(qi,qi+1),b进制水印信息(di,di+1)b,i∈[1,h×w];矩阵mb的小为b×b,且包含不重复的所有可能的两个b进制数的组合;

(1.2)提取水印信息以及恢复图像

在没有溢出的情况下,水印信息的提取需要i1的水印图像i1′和嵌入时使用的矩阵mb,提取时按照嵌入顺序每次对一对像素进行操作,从i1′的一对像素(pi′,pi+1′)中提取信息时,计算mb(pi′%b,pi+1′%b)提取di,计算mb(pi′%b,(pi+1′+1)%b)提取di+1;

图像恢复时需要i1′、i2的水印图像i2′和矩阵mb,其中i1′,i2′的一对像素分别为(pi′,pi+1′)和(qi′,qi+1′);

(1.3)边界点处理

嵌入数据过程中会出现溢出,即像素值修改后小于0或大于255;若(pi′,pi+1′)溢出,解决方案可以为:(pi,pi+1)被跳过不被修改,跳过后,在不溢出的情况下把qi修改为qi′,使其满足|qi′-pi|=b,防止(pi,pi+1)被误当成含有水印的像素对;若提取水印信息时有|qi′-pi|=b,则跳过对应的像素对(pi′,pi+1′);恢复图像时(pi′,pi+1′)就是原像素;

若(qi′,qi+1′)溢出,则直接将溢出的像素+b,或-b,使其不溢出即可;

(2)基于可逆脆弱水印的图像篡改认证

(2.1)认证信息嵌入:

若要对两张图像进行完整性认证以确保认证后可以无误恢复宿主图像,必须使i1′i2′中都含有认证信息,将认证信息交替嵌入两张图像,然后将失真信息交替嵌入两张图像,最终使认证信息均匀分布在两张图像,提高认证的精确度;

(2.2)完整性检测:将认证信息交替从两张水印图像中提取,同时将失真信息交替从两张水印图像提取,完成图像完整性的初步检测并恢复未被篡改的宿主像素对;

(2.3)确定修改区域:以一个像素对为单位,对步骤(2.2)的检测结果进行后续处理;处理整幅图像,对于一个被认为未被修改的像素对,若与它紧邻的正右方和正左方的两个像素对被认为修改了,那么这对像素也被认为是已经修改的;同理,若与它紧邻的正上方和正下方、右下方和左上方、右上方和左下方的两个像素对被修改,那么这个对像素也被认为是被修改的;多次循环上述过程,直到一次循环后没有原认为未被修改的像素对被当作被修改的像素对,结束处理过程。

进一步的,所述步骤(1.1)中具体的嵌入过程为:两张相同宿主图像分别为i1,i2,两个相同像素对分别为(pi,pi+1)(qi,qi+1),b进制水印信息为(di,di+1)b;

(1.1.1)修改(pi,pi+1)为(pi′,pi+1′),使(pi′,pi+1′)满足公式(2),将(di,di+1)b嵌入i1

b为奇数时

b为偶数时

(1.1.2)根据公式(3)计算pi′pi+1′与宿主像素pipi+1的差值,差值用dvidvi+1表示

(1.1.3)根据公式(4)将差值dvidvi+1转化为b进制失真信息di′,di+1′

(1.1.4)修改(qi,qi+1)为(qi′,qi+1′),使(qi′,qi+1′)满足公式(5),将(di′,di+1′)b嵌入i2

b为奇数时

b为偶数时

进一步的,所述步骤(1.2)中图像恢复的步骤具体如下:

(1.2.1)根据公式(6)提取(qi′,qi+1′)中的失真信息(di′,di+1′)b

(1.2.2)根据公式(7)计算含水印像素对与宿主像素的差值dvi,dvi+1

(1.2.3)根据公式(8)计算原始宿主像素(pi,pi+1)

进一步的,所述步骤(2.1)中具体的嵌入步骤如下:

(2.1.1)将宿主图像i1和i2中的像素两两分为一组,分别用(pi,pi+1)和(qi,qi+1)表示,初始化i=1,flag=1;

(2.1.2)若flag=1,则在(pi,pi+1)中嵌入认证信息、在(qi,qi+1)中嵌入失真信息并设flag=0;否则,在(qi,qi+1)中嵌入认证信息、在(pi,pi+1)中嵌入失真信息,并设flag=1;

(2.1.3)若所有像素都被处理完成,则结束嵌入;否则设i=i+2,跳至步骤(2.1.2)。

进一步的,所述步骤(2.2)完整性检测中具体的提取步骤如下:

(2.2.1)将水印图像i1′,i2′中的像素两两分为一组,分别表示为(pi′,pi+1′)(qi′,qi+1′),初始化i=1,flag=1;

(2.2.2)若flag=1,则在(pi′,pi+1′)中提取认证信息、在(qi′,qi+1′)提取失真信息并设flag=0;否则,在(qi′,qi+1′)中提取认证信息、在(pi′,pi+1′)中提取失真信息,并设flag=1;

(2.2.3)比较步骤(2.2.2)中提取的认证信息与第i和i+1个像素本来对应的认证信息,若相同,则认为未被篡改并根据失真信息恢复像素对,否则该像素对已被篡改;

(2.2.4)若所有像素都被处理完成,则结束嵌入;否则设i=i+2,跳至步骤步骤(2.2.2)。

有益效果:与现有技术相比,本发明具有以下优点:

(1)现有技术中在编码冗余上,数字图像的数据量较大、冗余度高,而本发明的信息嵌入过程使用sos算法中的引导矩阵mb,mb因水印信息进制b的不同而不同,能够充分挖掘载体编码冗余,使算法达到极高的隐藏容量;

(2)本发明利用视觉冗余,根据附加信息的进制b,在0到的范围内修改像素值,在保证极高隐藏容量同时仍能保持较高的图像质量和安全性;

(3)本发明不但信息隐藏容量大,并且在相同信息隐藏容量下,本发明的图像质量更好,无论是在隐藏质量还是隐藏容量方面本发明均是最优;

(4)本发明产生的水印图像rs检测值分布和原图接近且优于lsb-mr的结果,在对抗rs检测方面,本发明比经典的lsb-mr算法更安全;

(5)本发明能够准确地定位篡改区域,认证准确率可达95%以上。

综上所述,本发明能够精确检测到图片是否被修改以及被修改的位置,并可在完整性认证后将未被篡改的图像恢复为原始的图像,可以避免接收方被伪造的信息误导,可用于保护普通用户的通信安全和信息的真实性,也可用于公司、政府、军事等更高层次的私密通信,应用范围广,具有广阔的市场前景。

附图说明

图1为实施例1中九张宿主图片;

图2为实施例1中本发明与其他双图可逆信息隐藏算法的psnr-er比较示意图;

图3为实施例1中安全性能比较示意图;

图4为实施例2中可嵌入认证信息区域分布示意图;

图5为实施例2中被篡改图和相应篡改区域;

图6为实施例2中图像完整性认证示意图;

图7为本发明的整体流程图。

其中,图1(a)至图1(i)分别是指图片lena、peppers、sailboat、tiffany、plane、boat、baboon、splash和man;图2(a)至图2(d)分别是指采用宿主图片lena、pepper、plane和baboon的比较结果示意图;图4(a)为水印图像i,图4(b)为水印图像ii;图5(a)为被篡改的lena图,图5(b)为对应于图5(a)的被篡改区域示意图;图6(a)和图6(b)分别水印图像i和水印图像ii的初步认证结果示意图;图6(c)和图6(d)分别是水印图像i和水印图像ii的进一步认证结果示意图;图6(e)和图6(f)分别是水印图像i和水印图像i的检测误差结果示意图。

具体实施方式

下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。

本发明的一种基于双图可逆脆弱水印的图像篡改检测方法,依次包括以下步骤:依次包括以下步骤:

(1)可逆脆弱水印的嵌入和提取可逆数据

(1.1)脆弱水印的嵌入;

使用两张相同宿主图像,第一张宿主图像i1嵌入b进制水印信息,b≥3,第二张图像i2嵌入b进制失真信息,每对像素嵌入两个b进制水印信息,又因第二张宿主图像嵌入的为失真信息,此时载荷为log2b/2比特每像素(bpp),现给定大小为h×w的宿主图像和长度为l的二进制水印信息,将水印信息转化为b进制数字,转化后的水印信息进制b应满足公式(1):

根据sos(second-ordersteganographicmethod)算法构建b进制对应的矩阵mb,依次将b进制水印信息嵌入宿主图像i1生成水印图像i1′,b进制失真信息嵌入宿主图像i2生成水印图像i2′,其中,两张相同宿主图像i1,i2对应的两个相同像素对分别为(pi,pi+1)和(qi,qi+1),b进制水印信息(di,di+1)b,i∈[1,h×w];矩阵mb的小为b×b,且包含不重复的所有可能的两个b进制数的组合;

(1.2)脆弱水印的提取以及图像恢复

在没有溢出的情况下,水印信息的提取需要i1的水印图像i1′和嵌入时使用的矩阵mb,提取时按照嵌入顺序每次对一对像素进行操作,从i1′的一对像素(pi′,pi+1′)中提取信息时,计算mb(pi′%b,pi+1′%b)提取di,计算mb(pi′%b,(pi+1′+1)%b)提取di+1;

图像恢复时需要i1′、i2的水印图像i2′和矩阵mb,其中i1′,i2′的一对像素分别为(pi′,pi+1′)和(qi′,qi+1′);

(1.3)边界点处理

嵌入数据过程中会出现溢出,即像素值修改后小于0或大于255;若(pi′,pi+1′)溢出,解决方案可以为:(pi,pi+1)被跳过不被修改,跳过后,在不溢出的情况下把qi修改为qi′,使其满足|qi′-pi|=b,防止(pi,pi+1)被误当成含有水印的像素对;若提取水印信息时有|qi′-pi|=b,则跳过对应的像素对(pi′,pi+1′);恢复图像时(pi′,pi+1′)就是原像素;

若(qi′,qi+1′)溢出,则直接将溢出的像素+b,或-b,使其不溢出即可;

(2)基于可逆脆弱水印的图像篡改认证

(2.1)认证信息嵌入:

若要对两张图像进行完整性认证以确保认证后可以无误恢复宿主图像,必须使i1′i2′中都含有认证信息,将认证信息交替嵌入两张图像,然后将失真信息交替嵌入两张图像,最终使认证信息均匀分布在两张图像,提高认证的精确度;

(2.2)完整性检测:将认证信息交替从两张水印图像中提取,同时将失真信息交替从两张水印图像提取,完成图像完整性的初步检测并恢复未被篡改的宿主像素对;

(2.3)确定修改区域:以一个像素对为单位,对步骤(2.2)的检测结果进行后续处理;处理整幅图像,对于一个被认为未被修改的像素对,若与它紧邻的正右方和正左方的两个像素对被认为修改了,那么这对像素也被认为是已经修改的;同理,若与它紧邻的正上方和正下方、右下方和左上方、右上方和左下方的两个像素对被修改,那么这个对像素也被认为是被修改的;多次循环上述过程,直到一次循环后没有原认为未被修改的像素对被当作被修改的像素对,结束处理过程。实验表明,用这种处理方法能够较准确地确定被修改的区域。

其中,步骤(1.1)中具体的嵌入过程为:两张相同宿主图像分别为i1,i2,两个相同像素对分别为(pi,pi+1)(qi,qi+1),b进制水印信息(di,di+1)b;

(1.1.1)修改(pi,pi+1)为(pi′,pi+1′),使(pi′,pi+1′)满足公式(2),将(di,di+1)b嵌入i1

b为奇数时

b为偶数时

(1.1.2)根据公式(3)计算pi′pi+1′与宿主像素pipi+1的差值,差值用dvidvi+1表示

(1.1.3)根据公式(4)将差值dvidvi+1转化为b进制失真信息di′,di+1′

(1.1.4)修改(qi,qi+1)为(qi′,qi+1′),使(qi′,qi+1′)满足公式(5),将(di′,di+1′)b嵌入i2

b为奇数时

b为偶数时

所述步骤(1.2)中图像恢复的步骤具体如下:

(1.2.1)根据公式(6)提取(qi′,qi+1′)中的失真信息(di′,di+1′)b

(1.2.2)根据公式(7)计算含有水印的像素对与宿主像素的差值dvi,dvi+1

(1.2.3)根据公式(8)计算原始宿主像素(pi,pi+1)

所述步骤(2.1)中具体的嵌入步骤如下:

(2.1.1)将宿主图像i1和i2中的像素两两分为一组,分别用(pi,pi+1)和(qi,qi+1)表示,初始化i=1,flag=1;

(2.1.2)若flag=1,则在(pi,pi+1)中嵌入认证信息、在(qi,qi+1)中嵌入失真信息并设flag=0;否则,在(qi,qi+1)中嵌入认证信息、在(pi,pi+1)中嵌入失真信息,并设flag=1;

(2.1.3)若所有像素都被处理完成,则结束嵌入;否则设i=i+2,跳至步骤(2.1.2)。

所述步骤(2.2)完整性检测中具体的提取步骤如下:

(2.2.1)将水印图像i1′,i2′中的像素两两分为一组,分别表示为(pi′,pi+1′)(qi′,qi+1′),初始化i=1,flag=1;

(2.2.2)若flag=1,则在(pi′,pi+1′)中提取认证信息、在(qi′,qi+1′)提取失真信息并设flag=0;否则,在(qi′,qi+1′)中提取认证信息、在(pi′,pi+1′)中提取失真信息,并设flag=1;

(2.2.3)比较步骤(2.2.2)中提取的认证信息与第i和i+1个像素本来对应的认证信息,若相同,则认为未被篡改并根据失真信息恢复像素对,否则该像素对已被篡改;

(2.2.4)若所有像素都被处理完成,则结束嵌入;否则设i=i+2,跳至步骤步骤(2.2.2)。

实施例1:进行图像隐藏容量、质量及安全性测试。

本实施例采用matlab软件,水印信息为密钥生成的二进制伪随机数,以9个512×512的灰度图像:lena、peppers、sailboat、tiffany、plane、boat、baboon、splash、man作为宿主图片,如图1所示。

通常从两方面评价信息隐藏的好坏:信息隐藏质量、信息隐藏容量。峰值信噪比psnr(peaksignaltonoiseratio)是评价信息隐藏质量好坏的常用指标,计算公式如下:

mse是i1′和i1的均方差。i1′和i1的相似度越高,均方差越小,psnr值越高。一般情况下,当psnr值大于30db时人很难直接观察到两张图像的差别。载荷er是评价信息隐藏容量的指标,它表示平均每像素嵌入的比特数,单位是比特每像素bpp(bitperpixel)。载荷越大,信息隐藏容量越大。一个好的信息隐藏算法应该具有高信息隐藏容量和高信息隐藏质量。但是高信息隐藏容量和高信息隐藏质量不能两全,信息隐藏容量的提高往往意味着信息隐藏质量的降低。

本发明是自适应可逆信息隐藏算法,而chang(ieeetencon2007)和lyu(nationalcomputersymposium2013)等人的算法的最大信息隐藏容量是固定的,所以本发明在允许的载荷范围内与其进行psnr-er的比较。如图2所示,以lena、pepper、plane、baboon图为例:纵坐标为双水印图像psnr的平均值,横坐标为载荷er。从图2中可以看出,在双水印图像的可逆信息隐藏中,相同信息隐藏容量下,本发明的图像质量更好,因此无论是在隐藏质量还是隐藏容量方面,本发明都最优。

表1为使用本发明产生的载荷er=0.5,1.5,2.52bpp水印图像的psnr值。从表1中可以看出,在高容量的情况下,各图都能保持很好的质量。现有技术中当er为2.17bpp时,psnr已下降到20.71db,而发明er为2.52bpp时,psnr仍能保持在28.5db左右。

表1.使用本发明产生水印图像时各图不同载荷下对应的psnr

使用rs信息隐藏分析检测本发明的安全性并与lsb-mr算法进行对比,rs检测值越接近0,说明测试图像嵌入水印信息的可能性越小,测试图像是ucid图像库中没有嵌入任何信息的500张图片;如图3所示,本发明产生的水印图像其rs检测值分布和原图接近且优于lsb-mr的结果。此结果表明在对抗rs检测方面,本发明比经典的lsb-mr算法更安全。

实施例2:图像完整性认证测试。

图4实施例2中使用本发明后图像中可嵌入认证信息区域的分布。此处,本发明将两个像素分为一组。图4中黑色与白色交替分布,其中黑色部分为盲区,白色部分可嵌入认证信息区域。图4(a)中的第一对像素嵌入认证信息,图4(b)中的第一对像素嵌入失真信息,两图中的第二对像素则相反,即嵌入认证信息的区域和嵌入失真信息的区域被两张图均分。相比于其他的可逆认证方法,本发明中的认证方法的可嵌入区域不受图像纹理限制。

为测试完整性检测的实际效果,lena图像的帽子加上了一朵花,如图5(a)所示,其对应的修改区域如图5(b)所示,图中黑色部分是花所在的区域。

运用本发明对图像进行完整性认证的初步结果分别如图6(a)和图6(b)所示,其中图6(a)为水印图像i的初步认证结果,图6(b)为水印图像ii的初步认证结果。图中黑色区域表示被修改的区域,即提取的信息与原认证信息不符的区域,白色区域表示未被修改的区域,即提取信息与原认证信息相符或者未提取出认证信息的区域。可以看出,初步认证结果已基本接近实际篡改区域。

初步认证结果虽能反映被修改区域的大致区域,但不够精确,需要进一步处理初步认证结果,结果如图6(c)和图6(d)所示,仍然用黑色区域表示被修改的区域,白色区域表示未被修改的区域。很明显,图6(c)和图6(d)中的结果图比6(a)和图6(b)中的结果更精确。这是结合初步认证结果对真正被修改区域的一个估计,与真正被修改的区域仍然存在一定的偏差。

图6(e)和图6(f)给出了本发明的最终认证结果与真正被修改区域的偏差,黑色区域表示认证出错的区域。可以看出,本发明能够准确地定位到篡改区域,只有边缘部分存在少量误差。

为了量化比较本发明与现存可逆篡改认证方法的认证结果。对于lo等人研究的用直方图漂移可逆信息隐藏算法,本实施例将获取图像的峰值点和零值点,用一对峰值点和零值点嵌入信息,平均psnr值为48.75db;对于yin等人研究的可逆篡改认证方法,本实施例将阈值设为t1=60,t2=100,平均psnr值为52.09db;本发明水印信息进制b为4,平均psnr为48.37db。以像素数为单位统计本发明、lo和yin篡改认证结果的tp(truepositive)、tn(truenegative)、fp(falsepositive)、fn(falsenegative)值,并计算了tpr(truepositiverate)、fpr(falsepositiverate)。可以从表2可以看出本发明的篡改认证方法准确率相比于前人的工作有所提高。

表2本发明与现有技术的tp,tn,fp,fn(单位:像素)和tpr,fpr比较

通过上述两个实施例看出,本发明能够实现水印信息的正确提取和宿主图像的无损恢复。同时,本发明还可将认证信息作为水印信息嵌入宿主图像生成水印图像,以实现对图像完整性的认证。若水印图像完整,则认证信息可以无误提取,否则,认证信息则不能被无误提取,进而可确定图像已被修改。

除此之外,本发明使用可逆信息隐藏算法,在图像完整性认证成功后,可以恢复原宿主图像,基于图像空间域可逆信息隐藏对修改非常敏感的特性,本发明适合应用于需精确保护图像以及对图像完整性要求高的情况。

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