本发明涉及数字水印,尤其涉及一种基于缩放系数检测网络的抗缩放裁剪数字图像水印算法。
背景技术:
1、随着所有权保护和身份验证需求的不断增长,数字水印越来越受到人们的关注和采用。与此同时,互联网和多媒体处理技术的飞速发展,为用户处理、复制、交换多媒体数据提供了极大的便利,这给数字水印技术带来了巨大的挑战。一个有效的水印方案应该对各种攻击具有很强的鲁棒性,包括常见的图像处理和几何攻击等,常见的图像处理包括jpeg压缩、噪声添加、滤波等;几何攻击包括缩放、裁剪和旋转。几何攻击破坏了水印信息的连续性,是一种破坏性很强的图像水印攻击,也是目前图像水印领域研究的重点和难点。目前现有水印技术存在的缺点在于:(1)随着科技的发展,日常生活中的图像常常达到几千甚至上万的像素,但是目前的抗几何攻击算法只针对若干张最大的图像进行,缺乏实际应用价值。(2)大部分算法只针对某些剪裁方式和缩放系数有效,缺乏通用性。(3)面向剪裁和缩放的混合攻击时经常失效,而在日常生活中混合攻击非常常见。
技术实现思路
1、本发明的目的在于,克服现有技术存在的技术缺陷,提出一种基于缩放系数检测网络的抗缩放裁剪数字图像水印算法,本算法对缩放剪裁几何攻击和常见的图像处理操作均有很高的鲁棒性。
2、一种基于缩放系数检测网络的抗缩放裁剪数字图像水印方法,所述方法支持彩色图像,包括网络训练过程、数字水印嵌入过程以及数字水印提取过程;
3、所述网络训练过程包括:训练用于检测图像所遭受缩放处理的缩放因子的卷积神经网络;
4、所述数字水印嵌入过程包括:
5、s1、将原始图像从rgb颜色空间转换到ycbcr颜色空间;
6、s2、基于修改1阶dwt-dct变换域系数组残差的抖动调制方法,在原始图像的y分量中嵌入模板t;
7、s3、基于修改2阶dwt-dct变换域系数组残差的抖动调制方法,在原始图像的cb分量中嵌入水印w;
8、s4、将新的y通道、新的cb通道和不变的cr通道合并成一个新的ycbcr图像,转换回rgb颜色空间,获得最终的含水印图像;
9、所述数字水印提取过程包括:
10、步骤1:首先进行基于训练好的卷积神经网络的缩放系数检测,以检测到的缩放系数的倒数将待测图像缩放回原始图像大小;
11、步骤2:对y分量进1阶dwt变换,基于低频子带的各dct块系数组残差提取出待测图像中的模板信息;
12、步骤3:利用滑动的拼接模板与提取模板之间mse最小准则穷尽搜索得到剪裁初始位置;基于该起始位置向右下方对待测图像cb分量进行剪裁;
13、步骤4:对裁剪出的cb分量进行2阶dwt变换,基于最低频子带的各dct块系数组残差提取出待测图像中的水印比特;
14、步骤5:基于少数服从多数的冗余判断,得到最终水印。
15、进一步地,所述水印w和模板t,其中水印w是一串长度为l的二进制序列,用于携带图像版权信息,经过平铺后嵌入到原始图像的cb分量中;模板t是一种预先定义好的由0,1比特组成的二进制序列,经过平铺后嵌入原始图像y分量中,用于提取时确定图像受到裁减攻击后的裁剪起始位置。
16、进一步地,所述数字水印嵌入过程的s2具体包括:提取原始图像的y分量,进行一阶二维dwt变换,取其低频子带,并将其进行8*8分块;对于每个分块进行二维dct变换,并使用针对两组固定位置的系数组残差的抖动调制方法嵌入2比特模板;完成后进行逆变换,得到新的y分量。
17、进一步地,所述数字水印嵌入过程中的s3具体包括:提取原始图像的cb分量,进行二阶二维dwt变换,取其最低频子带,并将其进行8*8分块;对于每个分块进行二维dct变换,并使用针对两组固定位置的系数组残差的抖动调制方法嵌入2比特水印;完成后应用逆变换得到新的cb信道。
18、进一步地,系数组残差的抖动调制方法具体为:
19、在每个8*8分块中嵌入2比特信息,对于每比特信息,通过修改一组系数实现嵌入,每组系数包括3个dct系数;因此,每个分块将更改6个dct系数的值;第1比特信息所修改的系数位置为嵌入第2比特信息所修改的系数位置为
20、具体方法是通过系数组残差的抖动调制来嵌入每比特信息,两组系数的残差公式如下所示:
21、
22、抖动调制的实现方式是:将数轴进行均匀分段,其中奇数段和偶数段交替;如果水印比特为0,则将残差值改为离其最近的奇数段的中间值;如果水印比特为1,则将残差值改为离其最近的偶数段的中间值;当水印位为0时,系数基础修改量δd计算公式如下所示:
23、
24、当水印位为1时,系数基础修改量δd计算公式如下所示:
25、
26、其中k和r定义如下,符号表示向下取整:
27、
28、r=d-k×δ
29、在获得基础修改量δd后,通过改变系数组中每个系数值的方法嵌入水印,如下所示:
30、
31、进一步地,所述数字水印提取过程的步骤1具体包括如下步骤:
32、将图像切割成块,并将它们输入预先训练完成的缩放系数检测网络中;使用投票的方式,将出现次数最多的系数作为图像的缩放系数;之后根据检测获得的系数,使用系数的倒数缩放图像,将其转换为原始大小。
33、进一步地,所述缩放系数检测网络包括约束层、骨干网络和分类层;
34、所述约束层用于对图像进行滤波,然后减去原始图像得到细节,所述骨干网络使用resnet50,用于提取深度特征;所述分类层包括一个完全连接层和一个softmax操作,输出是长度为类别数量的矢量,表示输入图像属于不同类的可能性。
35、进一步地,所述水印提取过程的步骤2具体为:从图像y分量中提取模板信息,首先应用一阶二维小波变换,然后对低频子带进行8*8分块;对每个分块进行dct变换,然后计算每个系数组的残差,判断其在奇数段还是偶数段;如果为偶数段,则提取的模板比特为1;否则,提取的模板比特为0;从而组合成提取的模板。
36、进一步地,所述数字水印提取过程中步骤3中具体为:
37、s3.1对已知的原始模板进行平铺,直到拼接成一个大于待测图像大小的模板,生成能在其上滑动的拼接模板;
38、s3.2对待测图像y分量进1阶dwt变换,基于低频子带的各dct块系数组残差提取出待测图像中的模板信息;
39、s3.3从左上角开始,从左到右、从上到下移动起始位置,并从起始位置开始将拼接模板切割成与所提取模板相同的大小,然后计算切割后的拼接模板和所提取模板信息之间的一系列mse;mse的计算公式如下所示:
40、
41、s3.4基于mse最小准则穷尽搜索得到剪裁初始位置,基于该起始位置向右下方对待测图像cb分量进行剪裁,至少裁剪出能完整嵌入一遍水印信息的图像大小。
42、进一步地,所述水印提取过程的步骤4具体为:从裁剪出的cb分量中提取水印信息;首先进行2阶2维dwt变换,然后对最低频子带进行8*8分块;对于每个分块,进行dct变换;然后计算每个系数组(每个分块有两个系数组)的残差(二阶差分),判断其在奇数段还是偶数段;如果为偶数段,则提取的水印比特为1;否则,提取的水印比特为0。
43、本发明的有益效果:众所周知,经典水印方案的一个主要缺点是对几何失真缺乏鲁棒性。因此,水印的检测通常需要同步步骤来定位内容中嵌入的水印。在实际应用中,如果网站上有水印图像,可能会被人下载。他或她可能会对图像进行重新采样,并从中剪切出一些有用的部分。在任何位置缩放和裁剪图像都会破坏水印的同步,因此如何抵制缩放和裁剪是鲁棒水印算法的主要任务。虽然旋转也是可能的,但缩放和切割更为常见。因此,本发明的嵌入过程设计了一种具有高不可见性的鲁棒图像水印方案,可以在实际场景中应对包含缩放、裁剪和许多正常图像操作混合在一起的攻击。我们的方案可以自动准确地获得带水印图像可能遭受的缩放因子。在通过检测到的缩放因子的倒数重新缩放图像之后,我们可以准确地提取水印。与其他添加模板水印以抵御缩放攻击的算法不同,我们的方案仅基于预先训练的检测网络来检测缩放因子。而且,我们基于dct-dwt的嵌入操作可以保证相应的提取操作具有从重新缩放回原始大小的含水印图像中正确提取水印的能力。只要正确地检测到缩放因子,在重新缩放操作之后,我们的提取算法就可以正确地提取水印。我们的方案对剪切操作具有相对更好和更稳定的鲁棒性。原因是我们的方案在y分量中嵌入模板水印,并使用最大mse搜索来找到位置,以获得准确的切割位置。也就是说,我们可以在提取水印之前找出准确的剪切偏移量。