发明名称 一种GIS矢量数据图像水印的相似度计算方法
摘要 本发明公开了一种GIS矢量数据图像水印的相似度计算方法,属于地理信息版权保护领域。该方法先利用原始水印W对提取的水印W′进行位置校正,使得发生错乱的版权图像的像素回到正确的位置,然后将校正好的水印W″与原始水印W采用字符串近似匹配的动态规划算法进行相似度计算。本发明的方法能够正确地将提取的图像水印的像素较正到正确的位置,直观反映出数据被篡改的位置,并客观地度量原始水印与提取水印的相似度,在一定程度上提高了水印认证的质量,降低了水印认证的漏检率,完善了地理信息版权保护的理论与方法体系,可应用于GIS矢量数据的版权保护技术与安全传输方面。
申请公布号 CN102254296B 申请公布日期 2012.10.24
申请号 CN201110195671.4 申请日期 2011.07.13
申请人 南京师范大学 发明人 李莎莎;李安波;周卫;闾国年
分类号 G06T1/00(2006.01)I 主分类号 G06T1/00(2006.01)I
代理机构 南京知识律师事务所 32207 代理人 汪旭东
主权项 1.一种GIS矢量数据图像水印的相似度计算方法,包括以下过程:(1)水印位置校正的过程:步骤一:原始水印W长为L<sub>W</sub>,通过嵌入算法将水印W嵌入载体数据D中,对D进行攻击获得含水印的数据D′,从D′中提取出水印W′长为L<sub>W′</sub>,记Loc=0;步骤二:通过公式(1.1)计算两水印W和W′的长度差d;初始化要校正的水印序列W″,长度为L<sub>W</sub>,W″(i)=′*′,其中′*′表示的是被修改的位置,i=0,1,2,…,L<sub>W</sub>-1;d=|L<sub>W</sub>-L<sub>W′</sub>|(1.1)步骤三:(a)当原始水印长度大于或等于提取的水印长度时,即L<sub>W</sub>≥L<sub>W′</sub>时:i)从提取的水印W′中读取字符W′(i),i=0,1,2,…,L<sub>W</sub>-1;ii)从原始水印W中,从第Loc位开始取d+1个字符,若Loc+d+1&gt;L<sub>W</sub>时,取L<sub>W</sub>-Loc个字符,记为W(dis);iii)将W′(i)与W(dis)进行匹配,若匹配成功,则记录匹配起始位置Pos,进入步骤iv);若匹配不成功,则i=i+1,Loc=Loc+1,进入步骤v);iv)校正水印序列W″第Loc+Pos-1位为:W″(Loc+Pos-1)=W′(i),i=i+1,Loc=Loc+Pos;v)循环i)至iv)的过程,直至原始水印W或提取的水印W′读取完成,保存校正后的水印序列W″,此时序列W″是将提取的水印序列W′中的图像像素校正到正确位置后的水印,并且其长度与水印W的长度相等;(b)当原始水印长度小于提取水印的长度时,即L<sub>W</sub>&lt;L<sub>W′</sub>时:i)从原始的水印W中读取字符W(i),i=0,1,2,…,L<sub>W</sub>-1;ii)从提取的水印W′中从第Loc位开始取d+1个字符,若Loc+d+1&gt;L<sub>W′</sub>时,则取L<sub>W′</sub>-Loc个字符,记为W′(dis);iii)将W(i)与W′(dis)进行匹配,若匹配成功,则记录配起始位置Pos,进入步骤iv);若匹配不成功则i=i+1,Loc=Loc+1,进入步骤v);iv)校正的水印序列W″第i位为:W″(i)=W(i),i=i+1,Loc=Loc+Pos;v)循环步骤i)至iv)的过程,直至原始水印W或提取的水印W′读取完成,保存校正后的水印序列W″,此时序列W″是将提取的水印序列W′中的图像像素校正到正确位置后的水印,并且其长度与水印W的长度相等;(2)相似度计算过程:步骤一:令校正后的水印序列W″为模式串,原始水印W为匹配串,根据公式(2.1)生成距离矩阵M,其中,i=0,1,2,...,L<sub>W</sub>;j=0,1,2,...,L<sub>W</sub>;M<sub>i,0</sub>←i,M<sub>j,0</sub>←0<maths num="0001"><![CDATA[<math><mrow><msub><mi>M</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>&LeftArrow;</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>M</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub></mtd><mtd><mi>if</mi><mrow><mo>(</mo><msup><mi>W</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mi>W</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>1</mn><mo>+</mo><mi>min</mi><mrow><mo>(</mo><msub><mi>M</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>M</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow></msub><mo>,</mo><msub><mi>M</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mtd><mtd><mi>if</mi><mrow><mo>(</mo><msup><mi>W</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&NotEqual;</mo><mi>W</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2.1</mn><mo>)</mo></mrow></mrow></math>]]></maths>步骤二:设<img file="FDA00001674832900022.GIF" wi="223" he="57" />K表示从校正后的水印序列W″转换为原始水印W的最少编辑次数,当K=0时,表示序列W″与原始水印W完全相同;步骤三:读取<img file="FDA00001674832900023.GIF" wi="129" he="57" />判断K与<img file="FDA00001674832900024.GIF" wi="110" he="57" />的大小,当<img file="FDA00001674832900025.GIF" wi="181" he="57" />时,<img file="FDA00001674832900026.GIF" wi="205" he="57" />j=j+1;步骤四:当j≤L<sub>W</sub>时,循环步骤三,否则进入步骤五;步骤五:计算原始水印W与还原后的水印序列W″的相似度Sim=(1-α)*100%,其中,比值α=K/L<sub>W</sub>表示错误水平,通过它可以对模式串W″容忍错误的能力进行度量。
地址 210046 江苏省南京市栖霞区文苑路1号