三维模型完整性保护方法

文档序号:6461102阅读:448来源:国知局
专利名称:三维模型完整性保护方法
技术领域
本发明涉及一种三维模型完整性保护方法,特别是一种三维网格模型的完整性保护方法。

背景技术
随着3D设计模型的广泛应用,人们越来越关注3D模型的版权保护。诸如CAD,CAM,CAE和CG领域存在着诸如版权保护、侵权检测等问题。随着对网络环境下的协同设计和虚拟产品的研究,我们可以预见,将来用户所购买的可能不再是一个实物的产品或零件,而是一个造型的思想或一堆数据——由点、线、面等构成的3D数字模型,只有那些被授权的用户才可以对该模型进行复制、修改和再创造。这就涉及到如何对3D模型和其他CAD产品进行保护,其中最基本的就是完整性保护。脆弱性数字水印技术为我们提供了一种有效的途径,使得可以在3D多边形网格数据中嵌入数字水印,对3D模型和其他CAD产品进行有效的保护。当模型被改动时通过嵌入模型中的脆弱水印我们就可以有效地检测出篡改。现在,这一研究领域已逐渐成为数字水印研究的新热点。


发明内容
本发明的目的在于提供一种三维模型完整性保护的方法,它能定位出三维模型被篡改的区域,能够有效地验证被平移和均匀缩放操作后水印模型的完整性,完整性检验时不需要额外的原始三维模型就可以检测模型是否完整。
为达到上述目的,本发明的技术方案是 1.嵌入水印 1)选择嵌入水印的顶点,使水印顶点及其相邻顶点尽可能分布整个模型 2)对每一个顶点调整坐标x1,标识该顶点是否是水印顶点 3)对每一个水印顶点,将wi嵌入到x2,将h(wi)嵌入到x3 2.水印验证 1)对每一个顶点,检查x1坐标,判断其是否是水印顶点 2)对每一个水印顶点从x2中提取w′,从x3中提取h′, 3)对于顶点v,如果h(w′)=h′,不成立,那么将v及其相邻的顶点作为可疑顶点。
本发明使得可以在3D多边形网格数据中嵌入数字水印,对3D模型和其他CAD产品可进行有效地保护。当模型被改动时通过嵌入模型中的脆弱水印技术我们就可以有效地检测出篡改。从而有利于3D模型的版权保护。



图1是本方法的流程图。

具体实施例方式 下面将结合附图,详细叙述本发明的具体结构和实施例。
1.水印的嵌入 对于给定的网格M(V,C),其中V是顶点集,C是网格顶点的连接关系,水印设为W=(w1,w2,…,wn)。我们拟通过小范围修改顶点集合V中的某些顶点的坐标来嵌入水印,嵌入水印前后的顶点分别记为v(x1,x2,x3),v(x′1,x′2,x′3)。方法结构如图1所示。
水印嵌入步骤如下 1)某一个顶点及其1-环邻域顶点只能有一个顶点被选为水印顶点,根据这个原则借助随机函数random来选取将要嵌入水印的顶点。将顶点v(x1,x2,x3)的3个坐标定义为3种不同功能x1被用来标识该顶点是否是水印顶点用来嵌入h(wi),h(wi)是对wi用Hash函数进行加密后得到的值,h是Hash函数,h(wi)是用来验证wi是否被篡改。
对于水印顶点vi(x1,x2,x3),将其所有的1-环邻域顶点按照点的坐标的大小排序(先按x1大小排序,如果x1坐标相同,按x2坐标排序,依次类推),得到一个按照点的坐标大小的顶点序列vi(i=1,2,3……),我们将排在最前面的顶点记为vm(x1,x2,x3)称之为顶点vi的邻域最小点。
我们定义xi1c,xi2c,xi3c为1-环邻域顶点与邻域最小点vm(x1,x2,x3)的坐标之差的均值 j=1,2,3, 其中N(v)是顶点vi(x1,x2,x3)1-环邻域顶点集。|N(v)|为集合N(v)的基数。
2)对于给定的参数N,记对于顶点vi记di1=|xi1-xm1|,那么,有如下关系式

Ri1=di1%Si1 其中Qi1是除法的商,Ri1是余数。如果vi(x1,x2,x3)有嵌入水印,那么Qi1须为奇数,所以,当Qi1不是奇数时,必须将di1调整为di1+Si1,方可使

是奇数。如果vi(x1,x2,x3)没有嵌入水印,那么Qi1须是偶数,所以,当Qi1不是偶数时,必须将di1调整为di1+Si1方可使

是偶数。

令M=Qij%2,因为di1=|xi1-xm1|,所以我们通过调整vi(x1,x2,x3)的x1坐标来改变di1即
3)对于步骤(2)中给定的参数N,对于顶点vi记dij=|xij-xmj|,j=2,3,那

j=2,3,Rij=dij%Sij,j=2,3,其中Qij是除法的商,Rij是余数。分别对于j=2,3,有以下关系成立wi,h(wi)是要嵌入x2,x3的水印,如果wi,h(wi)是1,那么Qij须为奇数使得Qij%2=1,所以,当Qij不是奇数时,必须将dij调整为dij+Sij/2(如果Rij>Sij/2)或dij-Sij/2(如果Rij≤Sij/2)方可使

是奇数。如果wi,h(wi)是0,那么Qij须为偶数使得Qij%2=0,所以,当Qij不是偶数时必须将dij调整为dij+Sij/2(如果Rij>Sij/2)或dij-Sij/2(如果Rij≤Sij/2)方可使

是偶数。

因为dij=|xij-xmj|,所以我们通过调整vi(x1,x2,x3)的xj坐标来改变dij。
以上嵌入过程的参数N为关键参数,在提取水印时要用到。假设对模型实施平移和统一缩放操作,设x′ij=kxij+xj,j=1,2,3.其中k是统一缩放的系数大于零、xj是平移的单位.根据公式得



因此,嵌入方法对平移和统一缩放具有不变性. 2.水印的提取验证方法 如图1所示,水印的提取与验证步骤如下 1)根据顶点的xi1坐标来判断其是否是水印顶点。对水印顶点v′i(x1,x2,x3),令xi1c′,xi2c′,xi3c′是1-环邻域顶点与邻域最小点v′m(x′1,x′2,x′3)坐标之差的均值(顶点的排序方法与嵌入水印时一样,嵌入水印时只修改水印顶点的坐标,因而其1-环邻域顶点的排序不会被改变,水印前后的1-环邻域最小点相同) j=1,2,3 对于嵌入水印时给定的参数N,记,对于顶点v′i记d′i1=|x′i1-x′m1|,那么

R′i1=d′i1%S′i1。其中Q′i1是除法的商,R′i1是余数。如果Qi1是奇数,那么该顶点有嵌入水印,否则,该顶点没有嵌入水印。
2)对于每一个有嵌入水印的顶点,从x2中提取w′,从x3中提取h′,对于嵌入水印时给定的参数N,记,j=2,3。对于顶点v′i记d′ij=|x′j|,j=2,3。那么

,j=2,3,R′ij=d′ij%S′ij,j=2,3。其中Q′ij是除法的商,R′ij是余数。w′=Q′i2%2,h′=Q′i3%2 3)如果h(w′)!=h′那么该顶点或其相邻的顶点被篡改。将该顶点及其相邻的顶点作为可疑的顶点。
实施例 本发明方法的实施例,选取一个原始3D网格模型,该模型由501个三角形面组成,嵌入了160bit二值水印。我们对加入水印信息后的3D网格模型进行了如下处理1)将水印模型放大到4/3倍并按x轴平移13个单位,采用本发明方法进行水印检测得到检测结果,结果显示模型完整未被篡改;2)将水印模型缩小到4/5倍并按z轴平移4个单位,采用本发明方法进行水印检测得到检测结果,结果显示模型完整未被篡改;3)将飞机尾部最上方那个三角形的右边的点(-1.22329,23.9950,-114.634)改为(-1.22329,23.9960,-114.637),采用本发明方法进行水印检测得到检测结果,结果显示尾部有两个区域被篡改,因为这两个区域嵌入水印时都与该点相关。
权利要求
1.一种三维模型完整性保护方法,其特征在于该方法分为水印的嵌入和水印验证两个步骤
(1)水印的嵌入过程为
1)通过在三维模型中随机选取一些顶点;
2)选择嵌入水印的顶点,使水印顶点及其相邻顶点尽可能分布整个模型;
3)对每一个顶点调整x轴坐标x1,标识该顶点是否是水印顶点;
4)将原水印信息嵌入到水印顶点的y轴坐标,对每一个水印顶点,将wi嵌入到x2;
5)将水印信息的Hash值嵌入到z轴坐标,将h(wi)嵌入到x3;
(2)水印验证的过程为
1)检验x轴坐标判断其是否是水印顶点,对每一个顶点,检查x1坐标,判断其是否是水印顶点;
2)对于水印顶点,从y轴坐标中提取原水印信息进行Hash处理得到新的Hash值,对每一个水印顶点从x2中提取w′;
3)从z轴坐标中提取原Hash值,从x3中提取h′;
4)通过对比新旧的Hash值来判断三维模型是否完整对于顶点v,如果h(w′)=h′,不成立,那么将v及其相邻的顶点作为可疑顶点。
全文摘要
本发明涉及一种三维模型完整性保护的方法,其特征在于该方法分为水印的嵌入和水印验证两个步骤1.嵌入水印1)选择嵌入水印的顶点,使水印顶点及其相邻顶点尽可能分布整个模型;2)对每一个顶点调整坐标x1,标识该顶点是否是水印顶点;3)对每一个水印顶点,将wi嵌入到x2,将h(wi)嵌入到x3;2.水印验证1)对每一个顶点,检查x1坐标,判断其是否是水印顶点2)对每一个水印顶点从x2中提取w′,从x3中提取h′,3)对于顶点v,如果h(w′)=h′,不成立,那么将v及其相邻的顶点作为可疑顶点。本发明能定位出三维模型被篡改的区域,能够有效地验证被平移和均匀缩放操作后水印模型的完整性。
文档编号G06T1/00GK101334890SQ20081007154
公开日2008年12月31日 申请日期2008年8月7日 优先权日2008年8月7日
发明者孔祥增, 姚志强 申请人:福建师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1