发明内容
有鉴于此,本发明为影像数据提供一种基于小波和傅立叶变换,并结合图像特征的影像地图盲水印方法。本方法对数据的正常使用没有影像,可以抵御常见的图像信号处理、平移、裁剪、旋转和缩放等多种单一或复合攻击。
一种影像数据的版权保护方法,其包括水印嵌入步骤:
S1、将总长度不超过第一字符串长度的水印字符序列中的每个字符,编码成像素大小为第一长度乘以第一宽度的2值图像,该图像是在预定义的第一预设个数的第二长度乘以第二宽度模版图像集合中根据编码算法选取的第二预设个数的模版图像拼接而成,得到一组2值图像集合W,将该集合中的每张2值图像采用Arnold算法进行置乱处理,该集合就是待嵌入的水印信息。可选地,第一字符串长度为16。第一长度为40、第二宽度为20。第一长度、第二宽度及以下长度、宽度的单位均为像素。第一预设个数为26。第二预设个数为8。
S2、将影像地图分块成像素大小为第三长度乘以第三宽度的块图像,得到块图像集合Block;可选地,第三长度为480,第三宽度为160。
S3、将Block中图像块作以下处理:在块图像右上角第四长度乘以第四宽度的区域中检测harris角点,选择强度最大的一个点,得到其像素坐标p(x,y),以点p1(x+第四长度,y)为左上角,选取大小为第四长度乘以第四宽度的矩形图像块区域I,该区域即为每个图像块中水印图像的载体区域;可选地,第四长度为160、第四宽度为80。
S4、将集合W中水印2值图像wi,采用抖动量化算法,取量化步长为nStep,将wi量化到区域I的2级小波变换的逼近子图中,然后逆变换恢复区域I,放回影像原来的位置中;水印的嵌入采用冗余嵌入策略,重复嵌入;
S5、将影像地图进行分块SIFT特征点检测,并筛选得到特征点坐标集合pSift;集合中的点要满足以下两个条件:(1).任意两点间的像素距离大于预设距离值;(2).点个数量尽可能多;可选地,预设距离值为360,单位为像素。
S6、在极坐标系中,生成两条直线模版点集,记作Line1,Line2;生成Line1的参数为:角度θ1,半径r∈[r11,r12],其中半径步长为len1,则Line1中的点个数为n1=(r12-r11)/len1+1;生成Line2的参数为:角度θ2,半径r∈[r21,r22],其中半径步长为len2,则Line2中的点个数为n2=(r22-r21)/len2+1;其中,直线点的半径要小于预设半径值;将每条直线中的每个点关于原点对称的对称点加入到相应的直线集合中;可选地,预设半径值为180,单位为像素。
S7、取出集合pSift中的还未处理的点为圆心,预设半径值为半径,取得影像地图中的一块区域,将RGB色彩空间转换成YUV,对Y分量进行傅立叶变换,并计算出图像幅值矩阵并进行中心化变换得到Fabs;
S8、根据模版直线Line1,Line2中的点坐标对应到Fabs中,在以对应点为中心的第五长度乘以第五宽度区域中,构造峰值,修改对应点的幅值为峰值;可选地,第五长度为11、第五宽度为11。
S9、将修改后的Fabs还原为实部和虚部,然后再进行傅立叶反变换得到修改后的Y分量;将修改后的Y分量与原来的U、V分量反变换到RGB色彩空间中,最后放回原影像地图中;
S10、重复执行S8至S10,直到集合pSift中所有的点处理完成。
在本发明所述的影像数据的版权保护方法中,
S01、将待提取水印的影像地图分块检测SIFT特征点,得到点集合pSift;
S02、取出集合pSift中的还未处理的点为圆心,预设半径值为半径,取得影像地图中的一块区域,将RGB色彩空间转换成YUV,对Y分量进行傅立叶变换,并计算出图像幅值矩阵并进行平移变换得到Fabs;
S03、在Fabs中以第六长度乘以第六宽度的窗口大小搜索峰值点,得到点的坐标,并以Fabs的几何中心为原点,建立极坐标系,将峰值点的坐标换算成极坐标,组成集合Peak;可选地,第六长度为5、第六宽度为5。
S04、将Fabs极坐标区域按照4度为一带,分成90个扇形区域带,将Peak中的点极坐标按照角度划分到不同的扇形区域中;并在每个扇形区域中根据模版直线Line1,Line2分别尝试拟合出一条直线,根据直线Line1拟合出的加入到集合L1中,根据直线Line2拟合出的加入到集合L2中;
S05、依次循环取出集合L1中一条直线,直线含有至少5个点的坐标,在L2中寻找与该直线夹角为θ2-θ1的另一条直线,若找到,则根据两条直线的点坐标和模版直线的坐标,用最小二乘法计算出旋转角度α,和缩放系数κ,若没找到,则取出L1中的下一条直线,重复本步骤计算过程;
S06、重复执行步骤S02至步骤S05,直到所有的SIFT特征点处理完成,这样就得到一系列的旋转角度和缩放系数集合;
S07、根据步骤S05中得到的一系列旋转和缩放系数,对待提取水印的影像地图进行反旋转和反缩放变换,得到新影像ImgTrans
S08、将ImgTrans分块成像素大小为第三长度、第三宽度的块图像,得到块图像集合Block;
S09、将Block中图像块作以下处理:在块图像右上角第四长度乘以第四宽度的区域中检测harris角点,选择强度最大的一个点,得到其像素坐标p(x,y),以点p1(x+第四长度,y)为右上角,选取大小为第四长度乘以第四宽度的矩形图像块区域I,该区域即为待提取水印信息的区域;
S010、对步骤S09中的矩形块进行2级小波变换,根据嵌入时选择的量化步长值反量化,反置乱得到像素大小为第一长度乘以第一宽度的水印图像,将其拆分为第二预设个数个第二长度乘以第二宽度的图像,并分别和第一预设个数个模版图像计算相关系数,相关系数最大的作为水印子图像;
S011、根据水印信息编码规则解析出该图像块的信息。
S012、重复执行步骤S08至步骤S011,直到成功解析出嵌入的水印信息,或者所有的矩形块处理完。
S013、步骤重复执行步骤S07至步骤S012反复执行,直到成功解析出嵌入的水印信息,或者有所的旋转缩放系数都经过验证。
在本发明所述的影像数据的版权保护方法中,
所述步骤S1中水印字符信息转换成模版图像包括:
根据影像地图数据实际使用流程,将水印字符信息分为3段:
第1段为:数据发布方不超过7个字符;
第2段为:数据授权使用方不超过6个字符;
第3段为:数据的发布日期;如:2012-12-10
在编码的过程中增加信息头,用于在水印信息流中区分第1段和第2段。数据发布方和数据授权使用方信息中每个字符为一个编码单元,对应一张40x20大小的2值图像,数据发布日期中年信息和日期信息部分分别对应一张40x20大小的2值图像,如“2012-12-10”,则2012编码成一张图像,12-10编码成另一张图像。
表1
表1为40x20的水印图像的示意图,由8张10x10的模版图像组成,26个模版图像见附图1。为了便于说明问题,8个方位子块用字符B11,B12,B13,B14,B21,B22,B23,B24,表示。
表2表示各方位子块的含义和计算公式:(公式中ch1,ch2的含义根据编码单元的类型不同而不同,后面将具体说明)
表2
表2计算公式中子块数值表示26个模版图像中的序号,例如:若B11为1,则表示B11应该为1.bmp,也即字母“B”的图像。
ch1,ch2的具体含义如下表3:
表3
例如:2012-12-10,则年份中ch1=20,ch2=12,日期中ch1=12,ch2=10
在本发明所述的影像数据的版权保护方法中,
所述步骤S5中筛选SIFT特征点包括:
(1)、根据特征点坐标集pSift计算出点与点之间的距离矩阵Distance:
其中dij表示第i个点与第j个点之间的距离,矩阵第i行表示点集中第i个特征点与集合中所有点之间的距离;
(2)、按行统计Distance中dij>256的元素,并组成集合:
vi={k|dik>256,k=1,2,3,…n}
vi表示第i个点与pSift中所有其它点距离大于256的点的序号集合;计算每个集合vi中元素的个数,组成集合
Count={numi|numi=count(vi),i=1,2,3,…n}
上式中count(vi)表示集合vi中的元素个数,也即与点i距离大于256的点的个数,以下简称点的count值;并且pSift中第i个点与点i等价;
(3)、令初始点集为P={i|i=1,2,3,…n}
(4)、根据点集P中每个点的count值,找到最大的count值对应的点j,加入到最终集合Res中,并令P=P∩vj
(5)、循环执行步骤(4),直到集合集合Res即为所求。
在本发明所述的影像数据的版权保护方法中,
所述步骤S05包括:
(1)、在给定的扇形区域带中取出一个还未验证的点pi(ri,θi)的极半径ri,与模版直线中每个点的极半径作比值,得到比值集合K={k1,k2,…,kn},剔除掉不在[0.5,2]范围内的值;模版直线点中角度小于π的点参与本次计算;
(2)、对于集合K中的每个值,如果扇形区域中至少有5个点满足公式:|rIi-k*rTj|<0.05,式中rIi为扇形区域中点的极半径,rTj为模版直线中点的极半径;则说明成功找到一条直线;
(3)、重复执行步骤(1)、(2),直到扇形区域中的每个点都验证过。
本发明还提供一种影像数据的版权保护系统,其包括水印嵌入模块:
水印信息转换单元,用于将总长度不超过第一字符串长度的水印字符序列中的每个字符,编码成像素大小为第一长度乘以第一宽度的2值图像,该图像是在预定义的第一预设个数的第二长度乘以第二宽度模版图像集合中根据编码算法选取的第二预设个数的模版图像拼接而成,得到一组2值图像集合W,将该集合中的每张2值图像采用Arnold算法进行置乱处理,该集合就是待嵌入的水印信息;
第一块图像集合获取单元,用于将影像地图分块成像素大小为第三长度乘以第三宽度的块图像,得到块图像集合Block;
载体区域获取单元,用于将Block中图像块作以下处理:在块图像右上角第四长度乘以第四宽度的区域中检测harris角点,选择强度最大的一个点,得到其像素坐标p(x,y),以点p1(x+第四长度,y)为左上角,选取大小为第四长度乘以第四宽度的矩形图像块区域I,该区域即为每个图像块中水印图像的载体区域;
水印嵌入单元,用于将集合W中水印2值图像wi,采用抖动量化算法,取量化步长为nStep,将wi量化到区域I的2级小波变换的逼近子图中,然后逆变换恢复区域I,放回影像原来的位置中;水印的嵌入采用冗余嵌入策略,重复嵌入;
特征点检测单元,用于将影像地图进行分块SIFT特征点检测,并筛选得到特征点坐标集合pSift;集合中的点要满足以下两个条件:(1).任意两点间的像素距离大于预设距离值;(2).点个数量尽可能多;
直线集合获取单元,用于在极坐标系中,生成两条直线模版点集,记作Line1,Line2;生成Line1的参数为:角度θ1,半径r∈[r11,r12],其中半径步长为len1,则Line1中的点个数为n1=(r12-r11)/len1+1;生成Line2的参数为:角度θ2,半径r∈[r21,r22],其中半径步长为len2,则Line2中的点个数为n2=(r22-r21)/len2+1;其中,直线点的半径要小于预设半径值;将每条直线中的每个点关于原点对称的对称点加入到相应的直线集合中;
第一傅立叶变换单元,用于取出集合pSift中的还未处理的点为圆心,预设半径值为半径,取得影像地图中的一块区域,将RGB色彩空间转换成YUV,对Y分量进行傅立叶变换,并计算出图像幅值矩阵并进行中心化变换得到Fabs;
对应点的幅值修改单元,用于根据模版直线Line1,Line2中的点坐标对应到Fabs中,在以对应点为中心的第五长度乘以第五宽度区域中,构造峰值,修改对应点的幅值为峰值;
反变换单元,用于将修改后的Fabs还原为实部和虚部,然后再进行傅立叶反变换得到修改后的Y分量;将修改后的Y分量与原来的U、V分量反变换到RGB色彩空间中,最后放回原影像地图中;
第一重复单元,用于重复执行对应点的幅值修改单元、反变换单元、第一重复单元,直到集合pSift中所有的点处理完成。
在本发明所述的影像数据的版权保护系统中,
点集合获取单元,用于将待提取水印的影像地图分块检测SIFT特征点,得到点集合pSift;
第二傅立叶变换单元,用于取出集合pSift中的还未处理的点为圆心,预设半径值为半径,取得影像地图中的一块区域,将RGB色彩空间转换成YUV,对Y分量进行傅立叶变换,并计算出图像幅值矩阵并进行平移变换得到Fabs;
坐标换算单元,用于在Fabs中以第六长度乘以第六宽度的窗口大小搜索峰值点,得到点的坐标,并以Fabs的几何中心为原点,建立极坐标系,将峰值点的坐标换算成极坐标,组成集合Peak;
直线拟合单元,用于将Fabs极坐标区域按照4度为一带,分成90个扇形区域带,将Peak中的点极坐标按照角度划分到不同的扇形区域中;并在每个扇形区域中根据模版直线Line1,Line2分别尝试拟合出一条直线,根据直线Line1拟合出的加入到集合L1中,根据直线Line2拟合出的加入到集合L2中;
直线查询单元,用于依次循环取出集合L1中一条直线,直线含有至少5个点的坐标,在L2中寻找与该直线夹角为θ2-θ1的另一条直线,若找到,则根据两条直线的点坐标和模版直线的坐标,用最小二乘法计算出旋转角度α,和缩放系数κ,若没找到,则取出L1中的下一条直线,重复本单元计算过程;
第二重复单元,用于重复执行第二傅立叶变换单元至直线查询单元,直到所有的SIFT特征点处理完成,这样就得到一系列的旋转角度和缩放系数集合;
反旋转缩放单元,用于根据直线查询单元中得到的一系列旋转和缩放系数,对待提取水印的影像地图进行反旋转和反缩放变换,得到新影像ImgTrans
第二块图像集合获取单元,用于将ImgTrans分块成像素大小为第三长度、第三宽度的块图像,得到块图像集合Block;
待提取区域确定单元,用于将Block中图像块作以下处理:在块图像右上角第四长度乘以第四宽度的区域中检测harris角点,选择强度最大的一个点,得到其像素坐标p(x,y),以点p1(x+第四长度,y)为右上角,选取大小为第四长度乘以第四宽度的矩形图像块区域I,该区域即为待提取水印信息的区域;
水印子图像确定单元,用于对待提取区域确定单元中的矩形块进行2级小波变换,根据嵌入时选择的量化步长值反量化,反置乱得到像素大小为第一长度乘以第一宽度的水印图像,将其拆分为第二预设个数个第二长度乘以第二宽度的图像,并分别和第一预设个数个模版图像计算相关系数,相关系数最大的作为水印子图像;
解析单元,用于根据水印信息编码规则解析出该图像块的信息。
第三重复单元,用于重复执行第二块图像集合获取单元至解析单元,直到成功解析出嵌入的水印信息,或者所有的矩形块处理完。
第四重复单元,用于步骤重复执行反旋转缩放单元至第三重复单元反复执行,直到成功解析出嵌入的水印信息,或者有所的旋转缩放系数都经过验证。
在本发明所述的影像数据的版权保护系统中,
所述水印信息转换单元中水印字符信息转换成模版图像包括:
根据影像地图数据实际使用流程,将水印字符信息分为3段:
第1段为:数据发布方不超过7个字符;
第2段为:数据授权使用方不超过6个字符;
第3段为:数据的发布日期;
在编码的过程中增加信息头,用于在水印信息流中区分第1段和第2段。
在本发明所述的影像数据的版权保护系统中,
所述特征点检测单元中筛选SIFT特征点包括:
(1)、根据特征点坐标集pSift计算出点与点之间的距离矩阵Distance:
其中dij表示第i个点与第j个点之间的距离,矩阵第i行表示点集中第i个特征点与集合中所有点之间的距离;
(2)、按行统计Distance中dij>256的元素,并组成集合:
vi={k|dik>256,k=1,2,3,…n}
vi表示第i个点与pSift中所有其它点距离大于256的点的序号集合;计算每个集合vi中元素的个数,组成集合
Count={numi|numi=count(vi),i=1,2,3,…n}
上式中count(vi)表示集合vi中的元素个数,也即与点i距离大于256的点的个数,以下简称点的count值;并且pSift中第i个点与点i等价;
(3)、令初始点集为P={i|i=1,2,3,…n}
(4)、根据点集P中每个点的count值,找到最大的count值对应的点j,加入到最终集合Res中,并令P=P∩vj
(5)、循环执行步骤(4),直到集合集合Res即为所求。
在本发明所述的影像数据的版权保护系统中,
所述直线查询单元包括:
(1)、在给定的扇形区域带中取出一个还未验证的点pi(ri,θi)的极半径ri,与模版直线中每个点的极半径作比值,得到比值集合K={k1,k2,…,kn},剔除掉不在[0.5,2]范围内的值;模版直线点中角度小于π的点参与本次计算;
(2)、对于集合K中的每个值,如果扇形区域中至少有5个点满足公式:|rIi-k*rTj|<0.05,式中rIi为扇形区域中点的极半径,rTj为模版直线中点的极半径;则说明成功找到一条直线;
(3)、重复执行步骤(1)、(2),直到扇形区域中的每个点都验证过。
本发明本发明是基于图像特征与小波变换的影像地图水印,同时通过傅立叶变换域直线模版估计图像形变的方法具有以下优点:
(1)、水印信息与具体的影像数据格式无关,也即格式转换水印不会丢失
(2)、该发明嵌入水印方法结合了图像特征点技术,属于第二代数字水印技术,影像的局部块携带水印信息,使得具有很好的抗裁剪,平移能力
(3)、本方案通过选择SIFT特征点,以SIFT特征点为中心的圆环区域的DFT幅值域中嵌入预设的模版直线点,能够估计图像的任意角度的旋转和缩放程度在[0.5,2]区间中形变,使得本方案能有效抵抗图像的几何形变攻击。
(4)、较强的鲁棒性。将文字水印信息编码成图像,然后将2值图像作为水印嵌入,这种编码方式改变了传统的直接将字符的2进制01序列量化到宿主图像中的方法。提取时进行图像相关系数匹配,保证了即使图像遭受较大的破坏,也能提取出水印信息。选择小波逼近子图的系数来量化水印更进一步加强了水印的抗攻击性。经过测试,本方案嵌入的水印能够抵抗jpg压缩,旋转,格式转换,平移,裁剪,剪切,及常见的图像信号处理攻击
(5)、较好的视觉不可见性,本方案中嵌入水印前后影像视觉上无明显变化,遥感影像一般纹理丰富,本方案用于遥感影像的水印添加具有很好的视觉效果。
实施方式主要包括3个方面:1.影像地图文件的读取和存储2.水印的嵌入3.水印的提取。
1、影像地图文件的读取和存储:
读取影像时,使用gdal库函数按照3840x3840的大小进行分块读取,如果读取是jpg,png等压缩数据格式,则先转换成tiff格式的中间影像,然后再分块读取。将读取的影像转换成OpenCv的IplImage数据结构格式,然后再进行水印的添加或者提取操作。
存储影像时,将OpenCv的IplImage数据块按照读取时的块坐标和大小使用gdal库函数存储到原地图影像中。若用户给定的是jpg,png格式的影像,则存储影像的整个过程完成后,需要将中间转换的tiff格式影像转换回原格式。
通过上述方式的读取和存储操作,就可以实现对大数据量的各种影像地图格式的数据进行处理。
2、水印信息的嵌入过程:
(1)、由用户选择预先存储在硬件狗中的数据发布方名称,输入数据授权使用方的信息,并选择数据发布日期。输入界面见附图2。
(2)、根据用户输入的水印信息编码成待嵌入的水印2值图像序列,并进行Anrold置乱处理,记为集合
例如:若用户选择的发布方名称为:圆周率,授权使用者名称为:wH武汉,选择的发布日期为:2012-12-12。则生成的相应水印2值图像见下附图7。实际过程中,生成的水印图像对用户是不可见的,这里为了理解方法原理,在此展现出来。
(3)、将读入的3840x3840的块图像进一步分块成1920x1920的子图像,采用多线程技术给每个子块图像进行水印的添加。每个线程的工作流程为:
①、将子图像按照480x160的大小进行分块,依次在每个块的右上角160x80的区域内进行harris特征点检测,选出强度最大的一个特征点p(x,y),以点p1(x+160,y)为右上角,选取大小为160x80的矩形图像块区域,该区域即待嵌入水印图像的载体区域。记该区域集合为embed_Block。
②、从集合W中选取一个还未处理的水印2值图像Wi,并从集合embed_Block中取出一个还未处理的块图像embed_Blockj,采用抖动量化取步长为20,将Wi量化到区域embed_Blockj的2级小波变换的逼近子图中,然后逆变换恢复区域embed_Blockj,放回原块中。重复以上过程,直到集合embed_Block中的每个块图像都被处理,这样,同一个水印图像都被嵌入多次,以增强水印的鲁棒性。
③、在1920x1920的子图像中进行SIFT特征点检测,得到特征点集合pSift,并采用前面发明说明书的筛选方法筛选出点间间距大于256的点集P={pi,i=1,…,n}
④、在极坐标系中,生成两条直线模版点集,记作Line1,Line2。生成Line1的参数为:角度75°,半径r∈[10,118],其中半径步长为18;生成Line2的参数为:角度105°,半径r∈[20,104],中半径步长为14。将每条直线中的7个点关于原点对称的另7个点加入到集合中,这样每条直线集合由14个点组成。
⑤、取出集合P={pi,i=1,…,n}中的还未处理的点为圆心,180为半径,取得影像地图中的一块区域,将RGB色彩空间转换成YUV,对Y分量进行傅立叶变换,并计算出图像幅值矩阵并进行中心平移变换得到Fabs。
⑥、根据模版直线line1,line2中的点坐标对应到Fabs中,在以对应点为中心的11x11区域中,构造峰值,修改对应点的幅值为峰值。
⑦、将修改后的Fabs还原为实部和虚部,然后再进行反中心平移,傅立叶反变换得到修改后的Y分量。将修改后的Y分量与原来的U、V分量反变换到RGB色彩空间中,最后放回原影像地图中。
⑧、步骤④~⑦反复执行,直到所有的特征点都被处理。
(4)、给块图像添加完水印后调用存储过程将块图像写回原地图影像中
3、水印信息的提取过程:
由于本方法抗旋转和缩放的技术原理是首先估计图像旋转和缩放的参数,然后将图像进行反变换恢复。因此在提取水印之前,需要提取和识别模版直线点,进行计算得到旋转和缩放参数。由于嵌入时并不是所有的SIFT特征点的圆环区域都嵌入了模版点直线,因此提取过程采用多线程技术并行处理。线程分为两类:一类是提取水印线程,一类是估计图像旋转和缩放参数线程。估计旋转和缩放参数线程将估计出的变换参数传递给提取水印线程,提取水印线程先对图像进行恢复变换,然后再提取水印。以下分别说明两类线程的工作原理:
(1)、图像旋转和缩放参数估计线程:
①、在极坐标系中,生成两条直线模版点集,记作Line1,Line2。生成Line1的参数为:角度75°,半径r∈[10,118],,其中半径步长为18;生成Line2的参数为:角度105°,半径r∈[20,104],其中半径步长为14。
②、对图像块进行SIFT特征点检测,得到特征点集合P={pi,i=1,…,n}
③、从集合中选出一个还未处理的点,以该点为圆心,180为半径,将该圆形区域从RGB色彩空间转换成YUV,对Y分量进行傅立叶变换。并计算出图像的幅值矩阵并进行中心平移变换得到
④、在Fabs中以5x5的窗口大小搜索峰值点,得到点的坐标,并以Fabs的几何中心为原点,建立极坐标系,将峰值点的坐标换算成极坐标,组成集合Peak。
⑤、将Fabs极坐标区域按照4度为一带,分成90个扇形区域带,将Peak中的点极坐标按照角度划分到不同的扇形区域中。并在每个扇形区域中根据模版直线line1,line2分别尝试拟合出一条直线,根据直线line1拟合出的加入到集合L1中,根据直线line2拟合出的加入到集合L2中。
⑤、依次循环取出集合L1中一条直线(含有至少5个点的坐标),在L2中寻找与该直线夹角为30°的另一条直线,若找到,则根据两条直线的点坐标和模版直线的坐标,用最小二乘法计算出旋转角度α,和缩放系数κ,并将参数传递给水印提取线程的参数队列中,若没找到,则取出L1中的下一条直线,重复上述计算过程。
(2)、水印提取线程:
图像块Img_trans
②、对图像块Img_trans按照480x160的大小分块,得到块集合Block
③、取出Block中还未处理的一个图像块Blocki在块图像右上角160x80的区域中检测harris角点,为了增强鲁棒性和提取水印的成功率,选取出强度最大的4个harris点,将特征点的向右偏移160像素,以偏移后的点为左上角点,选取出160x80的矩形图像块I1、I2、I3、I4
④、分别对区域I1、I2、I3、I4进行2级小波变换,采用步长为20,从2级小波逼近子图中反量化,反Anrold置乱得到40x20的水印图像,并将水印图像拆分为8个10x10的水印子图像,然后将8个水印子图像分别和26个模版图像进行相关系数匹配识别,相关系数最大的模版图像为水印子图像。最后通过编码规则进行校验。
⑤、步骤③,④反复执行,直到水印正确的被全部提取出或所有的图像块处理完
⑥、若通过本次的旋转和缩放参数没有提取到水印,则回到步骤①,循环处理
4、测试与分析
(1)、格式转换攻击
将包含水印的bmp图像另存为.GIF或.img或.png格式的数据,数据的容量大小、数据的存储格式都发生了改变。由于本发明的水印方案是针对地图影像像素的。因而各种格式的转换对水印的提取没有影响。实验结果,该方法可以有效抵抗格式转换攻击。
(2)、抗jpg压缩能力
本项测试选用的影像为附图3,该影像的格为tiff,尺寸为3888x2592,文件大小为29525KB。发布的水印版权信息为:发布者:圆周率,授权使用单位为:wu武汉,发布时间为:2012-12-12。将水印添加完成后在PhostShop中打开,另存为jpg格式的图像,压缩的品质参数依次为:8,7,6,5,4,得到5张jpg影像,分别进行水印提取,结果如下表4:
表4
上表中提取结果“~”表示该位信息未被正确解析出。从上表4可知,压缩品质在6以上的,水印信息可以被完整的提取出,压缩品质为5时,“武”没有被解析出来,但是通过其他的信息,足以证明影像的版权信息。可见,本发明对图像的JPG压缩有较强的鲁棒性。
(3)、裁剪抗击
本项测试选用的影像为附图3,该影像的格为tiff,尺寸为3888x2592,文件大小为29525KB。根据本发明的技术原理,裁剪的影像片尺寸越大,提取成功的概率就越高,测试将随机裁剪出2000x2000大小的影像,此大小为本发明支持的影像尺寸的最低限制。附图4为裁剪出的4张影像,进行水印提取,实验结果表明,均能提取出完整的水印信息,可见,本发明对影像的裁剪具备抗攻击性。
(4)、平移攻击
平移和裁剪都是破坏了水印信息与嵌入位置的同步关系,从这个意义上来将,这两种攻击方式是一样的。所以本方法可以有效的抵抗平移攻击。对含水印的影像进行了不同方向,不同强度的平移操作,实验结果表明,本方法能够有效抵抗平移攻击。
(5)、旋转和缩放攻击
为了抗旋转和缩放攻击,本发明在影像中嵌入了预设的模版直线点,提取时检测模版直线点,然后估计出图像遭受的旋转和缩放的参数,然后根据计算的参数恢复嵌入水印时的影像,再进行提取。实验结果表明,对含有水印的图像进行任意角度的旋转,无论角度和缩放参数是整数还是含有小数,提取时都能准确的估计出。附图6是顺时针旋转32.6度,缩放1.2倍后的含水印影像。进行模版估计时估计出的角度为32.649度,缩放系数为1.199。提取水印时完全提取水印信息。
(6)、其他测试
对含水印的影像进行对比度,亮度,滤波,加噪声等处理操作,水印能全部或部分提取成功。可见本发明对图像信号处理方法也有很强的鲁棒性。
可以理解的是,对于本领域的普通技术人员来说,可以根据本发明的技术构思做出其它各种相应的改变与变形,而所有这些改变与变形都应属于本发明权利要求的保护范围。