发明名称 基于球面参数化的三维网格模型数字水印方法
摘要 本发明涉及一种基于球面参数化的三维网格模型数字水印方法。当前数字水印技术大都是针对静止图像、视频流和音频流这些媒体数据类型的,而对三维几何模型数据的水印技术的研究工作相对较少。本发明的三维网格模型水印方法利用网格全局球面参数化的方法得到网格的球面调和分析系数,将水印嵌入调和分析系数中,然后进行相应的逆变换得到嵌入水印的网格。本方法还解决了由于采样和嵌入水印而造成的网格变形问题,而且在提取水印过程中将网格水印信息进行放大和对水印的特殊编码策略以利于水印的提取。本发明方法提取水印不需要原始网格,不需要预处理,可以抵抗很多攻击,攻击包括加噪、光滑、增强、旋转、平移、缩放、重采样、裁剪和一些组合攻击。
申请公布号 CN101833742A 申请公布日期 2010.09.15
申请号 CN201010135889.6 申请日期 2010.03.30
申请人 杭州电子科技大学 发明人 李黎
分类号 G06T1/00(2006.01)I;G06T17/20(2006.01)I 主分类号 G06T1/00(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 1.基于球面参数化的三维网格模型数字水印方法,其特征在于该方法的具体步骤是:方法的具体步骤是:步骤(1)对原始网格X-坐标进行重新排序,使其成为由小到大上升排列方式得到一个新X-坐标的网格;步骤(2)采用球面参数化方法将原始网格M上的几何位置信号F<sub>t</sub>转换成球面参数网格上的信号F<sub>t</sub><sup>s</sup>(θ,φ),t=1,2,3,t表示三个坐标方向;θ(π≤θ≤0)表示球面上的经度角、φ(2π≥φ≥0)表示球面上的纬度角;步骤(3)将F<sub>t</sub><sup>s</sup>(θ,φ)在经纬θ和φ方向做均匀采样得到规则采样信号F<sub>t</sub>′,采样率为64×64;其中采样点θ<sub>j</sub>=π(2j+1)/4B,φ<sub>k</sub>=2πk/2B,B=32,j、k为采样点序列号;步骤(4)对F<sub>t</sub>′做球面调和分析,得到F<sub>t</sub>′的调和系数I<sub>t</sub>,设单位球面上任意点的位置p用经度角θ和纬度角φ确定,即p=(cosφsinθ,sinφsinθ,cosθ),任意一球面信号表示为二维连续函数f(θ,φ);球面调和分析的基函数Y<sub>l</sub><sup>m</sup>(θ,φ)表示为:Y<sub>l</sub><sup>m</sup>(θ,φ)=K<sub>l,m</sub>P<sub>l</sub><sup>m</sup>(cosθ)e<sup>imφ</sup>    (1)m=-l,-l+1,...,l-1,l;l=0,1,2,...,其中<img file="FSA00000067779400011.GIF" wi="442" he="137" />是规一化常数,P<sub>l</sub><sup>m</sup>(x)是度为l、次为m的联合Legendre多项式,e为指数、i为复数,球面调和函数来自球面上的Laplacian方程,它们构成了球面连续函数空间中的一组完备的单位正交基,即:<maths num="0001"><![CDATA[<math><mrow><mo>&lt;</mo><msubsup><mi>Y</mi><mi>l</mi><mi>m</mi></msubsup><mo>,</mo><msubsup><mi>Y</mi><mi>k</mi><mi>n</mi></msubsup><mo>></mo><mo>=</mo><msub><mi>&delta;</mi><mrow><mi>l</mi><mo>,</mo><mi>k</mi></mrow></msub><msub><mi>&delta;</mi><mrow><mi>m</mi><mo>,</mo><mi>n</mi></mrow></msub></mrow></math>]]></maths>其中,<maths num="0002"><![CDATA[<math><mrow><msub><mi>&delta;</mi><mrow><mi>l</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mi>l</mi><mo>=</mo><mi>k</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>l</mi><mo>&NotEqual;</mo><mi>k</mi></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msub><mi>&delta;</mi><mrow><mi>m</mi><mo>,</mo><mi>n</mi></mrow></msub><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mi>m</mi><mo>=</mo><mi>n</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>m</mi><mo>&NotEqual;</mo><mi>n</mi></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>δ为脉冲函数任意定义在球面上的连续函数f(θ,φ)用球面调和函数展开:<maths num="0004"><![CDATA[<math><mrow><mi>f</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>,</mo><mi>&phi;</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mo>&infin;</mo></munderover><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mo>-</mo><mi>l</mi></mrow><mi>l</mi></munderover><mover><mi>f</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>l</mi><mo>,</mo><mi>m</mi><mo>)</mo></mrow><msubsup><mi>Y</mi><mi>l</mi><mi>m</mi></msubsup><mrow><mo>(</mo><mi>&theta;</mi><mo>,</mo><mi>&phi;</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中<img file="FSA00000067779400016.GIF" wi="139" he="62" />为f(θ,φ)和Y<sub>l</sub><sup>m</sup>(θ,φ)的内积,称为(l,m)-Fourier系数:<maths num="0005"><![CDATA[<math><mrow><mover><mi>f</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>l</mi><mo>,</mo><mi>m</mi><mo>)</mo></mrow><mo>=</mo><mo>&lt;</mo><mi>f</mi><mo>,</mo><msubsup><mi>Y</mi><mi>l</mi><mi>m</mi></msubsup><mo>></mo><mo>=</mo><msub><mi>K</mi><mrow><mi>l</mi><mo>,</mo><mi>m</mi></mrow></msub><msubsup><mo>&Integral;</mo><mn>0</mn><mi>&pi;</mi></msubsup><mo>[</mo><msubsup><mo>&Integral;</mo><mn>0</mn><mrow><mn>2</mn><mi>&pi;</mi></mrow></msubsup><msup><mi>e</mi><mi>im&phi;</mi></msup><mi>f</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>,</mo><mi>&phi;</mi><mo>)</mo></mrow><mi>d&phi;</mi><mo>]</mo><mo>&times;</mo><msubsup><mi>P</mi><mi>l</mi><mi>m</mi></msubsup><mrow><mo>(</mo><mi>cos</mi><mi>&theta;</mi><mo>)</mo></mrow><mi>sin</mi><mi>&theta;d&theta;</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths>公式(3)就是球面调和分析公式,所得的<img file="FSA00000067779400021.GIF" wi="143" he="62" />即为球面调和系数;设f(θ,φ)的带宽为B,公式(3)中的积分运算简化为2B×2B的采样数据的加权和:<maths num="0006"><![CDATA[<math><mrow><mover><mi>f</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>l</mi><mo>,</mo><mi>m</mi><mo>)</mo></mrow><mo>=</mo><mfrac><msqrt><mn>2</mn><mi>&pi;</mi></msqrt><mrow><mn>2</mn><mi>B</mi></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mn>2</mn><mi>B</mi><mo>-</mo><mn>1</mn></mrow></munderover><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mrow><mn>2</mn><mi>B</mi><mo>-</mo><mn>1</mn></mrow></munderover><msubsup><mi>a</mi><mi>j</mi><mrow><mo>(</mo><mi>B</mi><mo>)</mo></mrow></msubsup><mi>f</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mi>j</mi></msub><mo>,</mo><msub><mi>&phi;</mi><mi>k</mi></msub><mo>)</mo></mrow><msup><mi>e</mi><mrow><mo>-</mo><mi>im</mi><msub><mi>&phi;</mi><mi>k</mi></msub></mrow></msup><msubsup><mi>P</mi><mi>l</mi><mi>m</mi></msubsup><mrow><mo>(</mo><mi>cos</mi><msub><mi>&theta;</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中采样点θ<sub>j</sub>=π(2j+1)/4B,φ<sub>k</sub>=2πk/2B,a<sub>j</sub><sup>(2B)</sup>为权值;步骤(5)将水印进行编码,就是将字符串w作为水印信息,字符串包括四种字符,每种字符是由5个0和1个1组成的一个序列,字符串w的比特流表示为w=(w<sub>1</sub>,w<sub>2</sub>,...,w<sub>24</sub>),w<sub>i</sub>∈{0.1},i=1,2,...,24;步骤(6)取球面调和系数I<sub>1</sub>中某些固定位置进行嵌入水印,按照以下水印嵌入公式加入水印信息,得到加入水印序列W的调和系数I′<sub>1</sub>,I′<sub>1</sub>(k,l)=I<sub>1</sub>(k,l)+θ(5)其中k和l是在I<sub>1</sub>中水印嵌入位置的行数和列数,k=22,23,24,l=34,35,…,42,w<sub>i</sub>=0时θ=0,w<sub>i</sub>=1时θ=1;步骤(7)对I′<sub>1</sub>,I<sub>2</sub>和I<sub>3</sub>进行逆调和分析,利用变换公式(2)得到嵌入水印的采样信号F<sub>t</sub><sup>*</sup>;步骤(8)对F<sub>t</sub><sup>*</sup>做反采样和反球面参数化得到加入了水印的模型M′;反采样和反球面参数化方法利用步骤(2)和(3)相应的反变换方法;步骤(9)调整嵌入水印后的网格通过将嵌入水印的网格进行调整来减少变形,设原始网格为M,嵌入水印后的网格为M<sup>#</sup>,将原始网格进行球面参数化、采样、反采样和反球面参数化而不嵌入水印得到的网格为M<sup>*</sup>,调整后的嵌入水印的网格为M^;修正公式如下:M^=M+α×[M<sup>#</sup>+(M<sup>*</sup>-M)-M],α<1(6)α为缩小系数;步骤(10)提取嵌入的水印采用如下方法:步骤a.对待检测网格M<sup>*</sup>的X-坐标进行重新排序,使其成为由小到大上升排列方式得到一个新X-坐标的网格;步骤b.将待检测网格M<sup>*</sup>的X-坐标按照下式进行处理,得到网格M′:<img file="FSA00000067779400023.GIF" wi="1177" he="173" />其中,f(x)为待检测网格M<sup>*</sup>的原始X-坐标,g(x)为处理后的待检测网格M′的原始X-坐标,T为设定的阈值,f(m)为f(x)以及前后各三个点的和f(m)=f(x-3)+f(x-2)+f(x-1)+f(x)+f(x+1)+f(x+2)+f(x+3)将g(x)进行放大处理得到放大坐标f′(x),放大函数定义如下:f′(x)=g(x)+(f(x)-g(x))×β    (8)其中β为放大系数;步骤c.利用原始网格的球面参数化的信息将网格M′的几何位置(即顶点坐标)信号F<sub>t</sub>进行均匀采样得到采样信号F<sub>t</sub>′,采样率为64×64,t=1,2,3,t表示三个坐标方向;步骤d.对F<sub>t</sub>′做球面调和分析,得到F<sub>t</sub>′的调和系数I<sub>t</sub>,球面调和分析方法与嵌入水印的球面调和分析方法相同;步骤e.将I<sub>1</sub>中频那些嵌入水印的数值取出组成水印信息,就把水印恢复出来,即将球面调和系数中嵌入水印位置上的值取出组成序列W,将W分成四组,每组长度为6,将每组中5个最小值改为0,1个最小值改为1,则得到的编码根据水印的编码将水印信息恢复出来。
地址 310018 浙江省杭州市下沙高教园区2号大街