基于圖像離散余弦變換的三維網(wǎng)格模型盲水印方法
【專利摘要】本發(fā)明涉及一種基于圖像離散余弦變換的三維網(wǎng)格模型盲水印方法。本發(fā)明的三維網(wǎng)格模型水印方法選取兩個穩(wěn)定的幾何特征幫助排序來獲得一個唯一的三維頂點序列,并將水印數(shù)據(jù)添加到頂點的紋理坐標(biāo)中,使得仿射變換后也可以正確得到嵌入水印的頂點序列,從而正確地提取出水印。本發(fā)明方法提取水印不需要原始網(wǎng)格,不需要預(yù)處理??梢缘挚购芏喙?,攻擊包括旋轉(zhuǎn)、縮放、平移、噪聲、頂點重排序。同時,算法還擁有較大的水印容量,這是因為將載體圖像作為水印添加到三維模型中時,不用考慮載體圖像的水印透明性,這極大地增加了水印的容量。
【專利說明】基于圖像離散余弦變換的三維網(wǎng)格模型盲水印方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明具體涉及一種基于圖像離散余弦變換的三維網(wǎng)格模型盲水印方法。
【背景技術(shù)】
[0002] 數(shù)字水印是利用數(shù)字產(chǎn)品中普遍存在的冗余來將水印信息藏入其中從而達到版 權(quán)保護目的的一種技術(shù)。隨著計算機圖形學(xué)、虛擬現(xiàn)實、計算機輔助設(shè)計等技術(shù)的發(fā)展,三 維模型也得到越來越多的應(yīng)用,它們同樣需要保護。而當(dāng)前數(shù)字水印技術(shù)大都是針對靜止 圖像、視頻流、音頻流這些媒體數(shù)據(jù)類型的,對三維幾何模型數(shù)據(jù)的水印技術(shù)的研究工作相 對較少。
[0003] 與圖像水印相比,三維模型不但包含幾何信息,還包括拓撲信息。而通常對三維模 型的攻擊有旋轉(zhuǎn)、平移、均勻或不均勻的縮放、裁剪、網(wǎng)格簡化等。這些攻擊有的改變了模型 的幾何信息,有的作用在模型的拓撲結(jié)構(gòu)上,亦或兩者都有之。正因為三維模型自身的這些 特點和對其攻擊方式的多樣性導(dǎo)致了其嵌入和提取水印比較復(fù)雜。這些都使得傳統(tǒng)的圖像 水印方法不能簡單照搬地應(yīng)用于三維幾何模型。三維模型數(shù)據(jù)由點、線、面等要素構(gòu)成,這 些要素可以組合成各種不同的數(shù)據(jù)表達方式,另外三維模型數(shù)據(jù)的各要素集合沒有一個固 定的排序標(biāo)準,而對靜止圖像來說卻可以按照像素點的平面位置排序,對音頻流和視頻流 數(shù)據(jù)可以按照時間軸來排序,對于這種不規(guī)則的數(shù)據(jù)類型,不能簡單地應(yīng)用已有的各種變 換域水印方法,需要尋找適當(dāng)?shù)哪軌蚍从橙S模型數(shù)據(jù)特征的參數(shù)用于各種變換域水印方 法。另外,水印檢測過程中,幾何模型簡化操作和其它的攻擊方法可能會改變幾何模型的連 接關(guān)系,或拓撲連接。
[0004] 與靜止圖像、音頻、視頻相比,三維模型的表示具有如下特點:
[0005] (1).沒有固有的數(shù)據(jù)順序。音頻、視頻的數(shù)據(jù)是按時間順序排列的,靜止圖像、視 頻的幀則以掃描線順序排列,而三維模型卻沒有一個固定的數(shù)據(jù)順序。
[0006] (2).沒有明確的采樣率的概念,三維表面模型中的數(shù)據(jù),不具有像圖像、音頻、視 頻那樣的方便的數(shù)學(xué)工具(如余弦變換、Fourier變換、小波變換等)可以使用。
[0007] (3).模型數(shù)據(jù)中不但包含幾何信息還有拓撲信息,使水印提取時候的同步問題更 加復(fù)雜。
[0008] (4).表示方法不唯一。同一個三維模型,可以用多種不同的模型表示,在不同模型 間進行轉(zhuǎn)換的過程中,容易引起屬性損失。沒有圖像、視頻中自然存在適合于嵌入水印的噪 聲存在。
[0009] (5).對模型進行幾何和拓撲操作的工具很多,使對模型的修改更加容易。一些圖 像水印、音頻水印、視頻水印中的問題,如有損壓縮、同步問題等。三維水印同樣存在。
[0010] 除了上述提高的問題,三維水印算法還必須兼顧魯棒性、水印容量和計算復(fù)雜度 這三種特性。對應(yīng)不同的應(yīng)用需求,及時調(diào)整水印系統(tǒng)的特性,三者之間并不矛盾,關(guān)鍵是 要使得各個特性在變化的過程中獲得一個平衡點。某個特性性能的提高,通常是通過犧牲 其它特性來獲得的。通常意義下,三維模型的水印容量、水印魯棒性和嵌入提取過程的計算 復(fù)雜度三者之間是相互依存和制約的,去設(shè)計一個水印系統(tǒng)想要使這三者都達到最優(yōu)是不 切實際的,只能在三者中進行仔細的周全考慮,為滿足某種特定的需求而放棄一部分特性 的性能。當(dāng)然,模型水印嵌入容量不宜過小,為了能夠滿足要求一般需要嵌入足夠的水印數(shù) 據(jù)。
【發(fā)明內(nèi)容】
[0011] 本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種基于圖像離散余弦變換的三維 網(wǎng)格模型盲水印方法。
[0012] 本發(fā)明的三維網(wǎng)格模型水印方法選取兩個穩(wěn)定的幾何特征幫助排序來獲得一個 唯一的三維頂點序列,并將水印數(shù)據(jù)添加到頂點的紋理坐標(biāo)中,使得仿射變換后也可以正 確得到嵌入水印的頂點序列,從而正確地提取出水印。
[0013] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案如下:
[0014] 步驟1.為三維模型的每個頂點選取如下兩個特征:
[0015]特征一:模型頂點Vi到模型中心點0的距離Si;
[0016]特征二:兩條連線的夾角0i,兩條連線分別為模型頂點Vi與它的一階鄰域中心點 Ti的連線,一階領(lǐng)域中心點Ti與模型中心點0的連線;
[0017] 通過特征一和特征二對三維模型的所有頂點確定一個唯一排序序列;
[0018] 步驟2.選取排序后頂點序列的前MXM個頂點,并獲得前MXM個頂點的紋理坐 標(biāo),組成一個MXM的紋理坐標(biāo)矩陣。
[0019] 步驟3.原始水印是一幅mXm的二值圖像,將一幅MXM的原始圖像I進行離散余 弦變換得到系數(shù)矩陣K(i,j),ie(l,M),je(1,M),將原始水印信息W通過加法模型嵌入 到K的中頻部分K(i,j),iG(Sl,S2),jG(S3,S4),得到嵌入原始水印信息W后的系數(shù)矩 陣K',再將系數(shù)矩陣K'反變換回來,得到嵌入水印圖像1';對嵌入水印圖像1'和原始 圖像I的差值進行調(diào)整,得到新水印信息W'。
[0020] 步驟4.將新水印信息W'添加到排序后的前MXM個頂點的紋理坐標(biāo),即將新水印 信息W'替換掉紋理坐標(biāo)值的5、6和7這三個有效位,保證嵌入水印的三維網(wǎng)格模型的透明 性。
[0021] 步驟5.MXM個頂點的紋理坐標(biāo)中,嵌入新水印信息W'的紋理坐標(biāo)對應(yīng)的頂點和 其余頂點共同構(gòu)成嵌入水印后的三維模型。
[0022] 步驟6.嵌入水印后的三維模型中提取原始水印W,具體采用如下步驟:
[0023] 步驟6-1.首先提取嵌入水印后的三維模型的中心點坐標(biāo)0',計算各頂點V到 模型中心點坐標(biāo)〇'的距離Si',然后計算各個頂點的一階鄰域中心點V,最后計算向量 兩和@的夾角9/ ;
[0024] 步驟6. 2.將嵌入水印后的三維模型的頂點先按Si'的大小升序排列;如果Si'相 同,則根據(jù)頂點對應(yīng)的夾角9/來進行升序排列,最終獲得一個唯一的頂點序列。
[0025] 步驟6. 3.選取唯一排序后頂點序列的前MXM個頂點,獲得前MXM個頂點的紋理 坐標(biāo),提取出得前MXM個頂點的紋理坐標(biāo)的5、6和7三個有效位,構(gòu)成藏有水印的MXM的 矩陣B。
[0026] 步驟6. 4.將矩陣B進行離散余旋變換得到頻域系數(shù)矩陣S,按照水印嵌入位置恢 復(fù)出最終的水印。
[0027] 所述的步驟1具體如下:
[0028] 設(shè)P= (V,T),為一個三角形網(wǎng)格模型,其中V=IViIiG(1,N)},表示模型三角 形網(wǎng)格模型P= (V,T)中的頂點,N為模型頂點的數(shù)目,T表示模型的拓撲關(guān)系;通過T得 到每個頂點的一階鄰域,對于頂點Vi,其一階鄰域定義為與之相鄰接的所有頂點的集合;
[0029] 通過特征一和特征二對三維模型的所有頂點確定一個唯一排序序列,具體如下:
[0030]將模型頂點先按Si的大小升序排列;如果Si相同,則按照頂點對應(yīng)的0i值進行 升序排列,最終獲得一個唯一的頂點序列。
[0031] 所述的步驟3具體如下:
[0032] 步驟3. 1.將一幅mXm的二值圖像作為原始水印W,將一幅原始圖像I進行離散余 旋得到系數(shù)矩陣K,通過公式(1)將原始水印W嵌入系數(shù)矩陣K的中頻部分得到嵌入后系 數(shù)矩陣K',再將K'進行離散余弦反變換得到嵌入水印圖像1',其中,a為水印嵌入的強 度;
[0033] K,= K+WX a (I)
[0034] 步驟3. 2.通過公式(2)對水印信息進行調(diào)整,并得到最終要嵌入三維網(wǎng)格模型 的新水印信息W',且調(diào)整后W' (i,j) >0;其中,S是一個大于〇的整數(shù),iG(1,M), je(1,M)
[0035]r(i,j)=r (i, j)+6 (2)。
[0036] 所述的步驟6. 4具體如下:
[0037] 對藏有水印的MXM的矩陣B,進行離散余弦變換得到頻域系數(shù)矩陣S;將頻 域系數(shù)矩陣S中含有水印信息的系數(shù)S(i,j)提取出來組成序列W,其中ie(SI,S2), jG(S3,S4);將序列W按照從小到大排序,且將排序后的序列W中的前k個最小值改為 〇,其他改為1,;然后將更改后的〇、1序列恢復(fù)到原來頻域系數(shù)矩陣S中的位置,即排列成 mXm的二值圖像,該二值圖像即為最終恢復(fù)的水印信息;k為原始水印二值圖像中0的個 數(shù)。
[0038] 本發(fā)明有益效果如下:
[0039] 本發(fā)明方法提取水印不需要原始網(wǎng)格,不需要預(yù)處理??梢缘挚购芏喙簦舭?括旋轉(zhuǎn)、縮放、平移、噪聲、頂點重排序。同時,本發(fā)明還擁有較大的水印容量,這是因為將載 體圖像作為水印添加到三維模型中時,不用考慮載體圖像的水印透明性,這極大的增加了 水印的容量。
【專利附圖】
【附圖說明】
[0040] 圖1為本發(fā)明三維模型結(jié)構(gòu)示意圖;
[0041] 圖2為本發(fā)明通對于頂點Vi的一階鄰域定義為與之相鄰接的所有頂點的集合;
[0042] 圖3為本發(fā)明流程中圖片示意過程圖。
【具體實施方式】
[0043] 下面結(jié)合附圖對本發(fā)明作進一步說明。
[0044]如圖1、圖2和圖3所示,基于圖像離散余弦變換的三維網(wǎng)格模型盲水印方法,具體 包括如下步驟:
[0045] 步驟1.為三維模型的每個頂點選取如下兩個特征:
[0046]特征一:模型頂點Vi到模型中心點0的距離Si;
[0047]特征二:兩條連線的夾角ei,兩條連線分別為模型頂點Vi與它的一階鄰域中心點 Ti的連線,一階領(lǐng)域中心點Ti與模型中心點0的連線;
[0048] 通過特征一和特征二對三維模型的所有頂點確定一個唯一排序序列;
[0049] 步驟2.選取排序后頂點序列的前MXM個頂點,并獲得前MXM個頂點的紋理坐 標(biāo),組成一個MXM的紋理坐標(biāo)矩陣。
[0050] 步驟3?原始水印是一幅mXm的二值圖像,將一幅MXM的原始圖像I進行離散余 弦變換得到系數(shù)矩陣K(i,j),ie(l,M),je(1,M),將原始水印信息W通過加法模型嵌入 到K的中頻部分K(i,j),iG(Sl,S2),jG(S3,S4),得到嵌入原始水印信息W后的系數(shù)矩 陣K',再將系數(shù)矩陣K'反變換回來,得到嵌入水印圖像1';對嵌入水印圖像1'和原始 圖像I的差值進行調(diào)整,得到新水印信息W'。
[0051] 步驟4.將新水印信息W'添加到排序后的前MXM個頂點的紋理坐標(biāo),即將新水印 信息W'替換掉紋理坐標(biāo)值的5、6和7這三個有效位,保證嵌入水印的三維網(wǎng)格模型的透明 性。
[0052] 步驟5.MXM個頂點的紋理坐標(biāo)中,嵌入新水印信息W'的紋理坐標(biāo)對應(yīng)的頂點和 其余頂點共同構(gòu)成嵌入水印后的三維模型。
[0053] 步驟6.嵌入水印后的三維模型中提取原始水印W,具體采用如下步驟:
[0054] 步驟6-1.首先提取嵌入水印后的三維模型的中心點坐標(biāo)0',計算各頂點V到 模型中心點坐標(biāo)〇'的距離Si',然后計算各個頂點的一階鄰域中心點V,最后計算向量 _和M的夾角0/;
[0055] 步驟6. 2.將嵌入水印后的三維模型的頂點先按Si'的大小升序排列;如果Si'相 同,則根據(jù)頂點對應(yīng)的夾角9/來進行升序排列,最終獲得一個唯一的頂點序列。
[0056] 步驟6. 3.選取唯一排序后頂點序列的前MXM個頂點,獲得前MXM個頂點的紋理 坐標(biāo),提取出得前MXM個頂點的紋理坐標(biāo)的5、6和7三個有效位,構(gòu)成藏有水印的MXM的 矩陣B。
[0057] 步驟6. 4.將矩陣B進行離散余旋變換得到頻域系數(shù)矩陣S,按照水印嵌入位置恢 復(fù)出最終的水印。
[0058] 所述步驟1具體如圖1、圖2所示,:
[0059] 設(shè)P= (V,T),為一個三角形網(wǎng)格模型,其中V=IViIiG(1,N)},表示模型三角 形網(wǎng)格模型P= (V,T)中的頂點,N為模型頂點的數(shù)目,T表示模型的拓撲關(guān)系;通過T得 到每個頂點的一階鄰域,對于頂點Vi,其一階鄰域定義為與之相鄰接的所有頂點的集合;
[0060] 通過特征一和特征二對三維模型的所有頂點確定一個唯一排序序列,具體如下:
[0061]將模型頂點先按Si的大小升序排列;如果Si相同,則按照頂點對應(yīng)的0i值進行 升序排列,最終獲得一個唯一的頂點序列。
[0062] 所述的步驟3具體如下:
[0063] 步驟3. 1.將一幅mXm的二值圖像作為原始水印W,將一幅原始圖像I進行離散余 旋得到系數(shù)矩陣K,通過公式(1)將原始水印W嵌入系數(shù)矩陣K的中頻部分得到嵌入后系 數(shù)矩陣K',再將K'進行離散余弦反變換得到嵌入水印圖像I',其中,a為水印嵌入的強 度;
[0064] K,= K+WX a (I)
[0065]步驟3. 2.通過公式(2)對水印信息進行調(diào)整,并得到最終要嵌入三維網(wǎng)格模型 的新水印信息W',且調(diào)整后W' (i,j) >0;其中,S是一個大于〇的整數(shù),iG(1,M), je(1,M)
[0066]ff' (i,j) =T(i,j)-I(i,j) + 8 (2)。
[0067] 所述的步驟6. 4具體如下:
[0068] 對藏有水印的MXM的矩陣B,進行離散余弦變換得到頻域系數(shù)矩陣S;將頻 域系數(shù)矩陣S中含有水印信息的系數(shù)S(i,j)提取出來組成序列W,其中ie(SI,S2), jG(S3,S4);將序列W按照從小到大排序,且將排序后的序列W中的前k個最小值改為 〇,其他改為1,;然后將更改后的〇、1序列恢復(fù)到原來頻域系數(shù)矩陣S中的位置,即排列成 mXm的二值圖像,該二值圖像即為最終恢復(fù)的水印信息;k為原始水印二值圖像中0的個 數(shù)。
【權(quán)利要求】
1. 基于圖像離散余弦變換的三維網(wǎng)格模型盲水印方法,其特征在于包括的具體步驟 是: 步驟1.為三維模型的每個頂點選取如下兩個特征: 特征一:模型頂點Vi到模型中心點O的距離Si ; 特征二:兩條連線的夾角Θi,兩條連線分別為模型頂點Vi與它的一階鄰域中心點Ti的 連線,一階領(lǐng)域中心點Ti與模型中心點O的連線; 通過特征一和特征二對三維模型的所有頂點確定一個唯一排序序列; 步驟2.選取排序后頂點序列的前MXM個頂點,并獲得前MXM個頂點的紋理坐標(biāo),組 成一個MXM的紋理坐標(biāo)矩陣; 步驟3.原始水印是一幅mXm的二值圖像,將一幅MXM的原始圖像I進行離散余弦變 換得到系數(shù)矩陣·,ie(l,M),je(l,M),將原始水印信息W通過加法模型嵌入到K的 中頻部分勸ie(Sl,S2),je(S3,S4),得到嵌入原始水印信息W后的系數(shù)矩陣Γ,再將 5 系數(shù)矩陣Γ反變換回來,得到嵌入水印圖像Γ;對嵌入水印圖像Γ和原始圖像I的差 值進行調(diào)整,得到新水印信息W'; 步驟4.將新水印信息W'添加到排序后的前MXM個頂點的紋理坐標(biāo),即將新水印信息W'替換掉紋理坐標(biāo)值的5、6和7這三個有效位,保證嵌入水印的三維網(wǎng)格模型的透明性; 步驟5.MXM個頂點的紋理坐標(biāo)中,嵌入新水印信息W'的紋理坐標(biāo)對應(yīng)的頂點和其余 頂點共同構(gòu)成嵌入水印后的三維模型; 步驟6.嵌入水印后的三維模型中提取原始水印W,具體采用如下步驟: 步驟6-1.首先提取嵌入水印后的三維模型的中心點坐標(biāo)0',計算各頂點V到模型 中心點坐標(biāo)(V的距離Si',然后計算各個頂點的一階鄰域中心點V,最后計算向量_ 和@的夾角Θ/; 步驟6. 2.將嵌入水印后的三維模型的頂點先按Si'的大小升序排列;如果Si'相同, 則根據(jù)頂點對應(yīng)的夾角Θ/來進行升序排列,最終獲得一個唯一的頂點序列; 步驟6. 3.選取唯一排序后頂點序列的前MXM個頂點,獲得前MXM個頂點的紋理坐 標(biāo),提取出得前MXM個頂點的紋理坐標(biāo)的5、6和7三個有效位,構(gòu)成藏有水印的MXM的矩 陣B; 步驟6. 4.將矩陣B進行離散余旋變換得到頻域系數(shù)矩陣S,按照水印嵌入位置恢復(fù)出 最終的水印。
2. 如權(quán)利要求1所述的基于圖像離散余弦變換的三維網(wǎng)格模型盲水印方法,其特征在 于步驟1具體如下: 設(shè)P= (V,T),為一個三角形網(wǎng)格模型,其中V=IViIie(1,N)},表示模型三角形網(wǎng) 格模型P= (V,T)中的頂點,N為模型頂點的數(shù)目,T表示模型的拓撲關(guān)系;通過T得到每 個頂點的一階鄰域,對于頂點Vi,其一階鄰域定義為與之相鄰接的所有頂點的集合; 通過特征一和特征二對三維模型的所有頂點確定一個唯一排序序列,具體如下: 將模型頂點先按Si的大小升序排列;如果Si相同,則按照頂點對應(yīng)的Θi值進行升序 排列,最終獲得一個唯一的頂點序列。
3. 如權(quán)利要求1所述的基于圖像離散余弦變換的三維網(wǎng)格模型盲水印方法,其特征在 于步驟3具體如下: 步驟3. 1.將一幅mXm的二值圖像作為原始水印W,將一幅原始圖像I進行離散余旋得 到系數(shù)矩陣K,通過公式(1)將原始水印W嵌入系數(shù)矩陣K的中頻部分得到嵌入后系數(shù)矩陣 Γ,再將Γ進行離散余弦反變換得到嵌入水印圖像Γ,其中,α為水印嵌入的強度; r = K+WX a (1) 步驟3. 2.通過公式(2)對水印信息進行調(diào)整,并得到最終要嵌入三維網(wǎng)格模型的新水 印信息W',且調(diào)整后W' (i,j)>0;其中,δ是一個大于〇的整數(shù),ie(l,M),je(l,M) Wi (i,j)=r(i, j)+5 (2)。
4. 如權(quán)利要求I所述的基于圖像離散余弦變換的三維網(wǎng)格模型盲水印方法,其特征在 于,步驟6. 4具體如下: 對藏有水印的MXM的矩陣B,進行離散余弦變換得到頻域系數(shù)矩陣S;將頻域系數(shù)矩陣S中含有水印信息的系數(shù)S(i,j)提取出來組成序列W,其中ie(SI,S2),je(S3,S4);將 序列W按照從小到大排序,且將排序后的序列W中的前k個最小值改為0,其他改為1,;然 后將更改后的〇、1序列恢復(fù)到原來頻域系數(shù)矩陣S中的位置,即排列成mXm的二值圖像, 該二值圖像即為最終恢復(fù)的水印信息;k為原始水印二值圖像中0的個數(shù)。
【文檔編號】G06T1/00GK104318505SQ201410520269
【公開日】2015年1月28日 申請日期:2014年9月30日 優(yōu)先權(quán)日:2014年9月30日
【發(fā)明者】李黎, 陸劍鋒 申請人:杭州電子科技大學(xué)