(杭州電子科技大學(xué)圖形圖像研究所,浙江 杭州310018)
隨著多媒體技術(shù)的發(fā)展,數(shù)字媒體的應(yīng)用也越來越廣泛,而伴隨著這些應(yīng)用的同時(shí),數(shù)字產(chǎn)品的盜用、篡改等侵權(quán)等問題也一并出現(xiàn)。數(shù)字水印作為一種技術(shù)手段,可以有效保護(hù)數(shù)字產(chǎn)品的版權(quán)[1]。目前,圖像數(shù)字水印和音頻視頻數(shù)字的研究比較多,三維網(wǎng)格模型自身的這些特點(diǎn)和對(duì)其攻擊方式的多樣性導(dǎo)致了其嵌入和提取水印比較復(fù)雜。按照水印的工作域來看,現(xiàn)在三維模型水印算法主要分為空域水印算法和頻域水印算法[2]。3D 網(wǎng)格模型算法[3,4]最早有兩種算法,其中包括修改模型幾何屬性的TSQ 水印算法和TVR算法,但它們都對(duì)網(wǎng)格簡化和噪聲等攻擊不具有魯棒性。在這之后又相繼出現(xiàn)了AIE算法[5,6]和三角形束算法[7]等。還有研究者提出了一些頻域水印算法[8,9],對(duì)網(wǎng)格簡化、噪聲、剪切以及它們的混合攻擊具有魯棒性。比如基于小波變換的三維網(wǎng)格模型水印嵌入算法[10],基于球面參數(shù)化和多分辨率技術(shù)的水印算法[11,12]。但是這些頻域算法大多數(shù)在檢測水印時(shí)需要對(duì)待測網(wǎng)格模型進(jìn)行重采樣、網(wǎng)格對(duì)齊等預(yù)處理來完成檢測,使得算法的實(shí)用性不強(qiáng)。文獻(xiàn)13 提出的三維網(wǎng)格盲水印算法在提取水印時(shí)不需要原始網(wǎng)格也不需要對(duì)網(wǎng)格進(jìn)行校準(zhǔn)等預(yù)處理,利用了傅里葉變換的加法和乘法性質(zhì),對(duì)平移及均勻縮放操作具有良好的魯棒性,但是它對(duì)旋轉(zhuǎn)操作及頂點(diǎn)重排序攻擊不具備抵抗性。本文提出的水印算法在文獻(xiàn)13算法的基礎(chǔ)上加以改進(jìn),使得算法對(duì)旋轉(zhuǎn)、平移和均勻縮放具有較好的魯棒性。
文獻(xiàn)13是將水印信息添加到幾何坐標(biāo)中,但是幾何坐標(biāo)中的水印信息魯棒性差,容易受到攻擊而被抹去。本文的算法是將模型頂點(diǎn)按照一些特征進(jìn)行排序,確保模型仿射變換前后頂點(diǎn)排序不變,然后將水印信息藏到其紋理坐標(biāo)中。對(duì)于沒有紋理坐標(biāo)的三維模型,可以自己手動(dòng)添加紋理坐標(biāo),這并不會(huì)對(duì)三維網(wǎng)格模型造成影響。
其中,模型頂點(diǎn)排序特征選取具體為模型中心到模型頂點(diǎn)的距離,模型頂點(diǎn)與它的一階鄰域中心點(diǎn)以及模型中心點(diǎn)3點(diǎn)連線的夾角這兩個(gè)全局幾何特征來決定頂點(diǎn)的唯一排序,如圖1所示(頂點(diǎn)與中心點(diǎn)連線和弧度)。這里選取的兩個(gè)幾何特征都是較穩(wěn)定的全局幾何特征,不會(huì)因?yàn)槟P偷姆律涔舳l(fā)生變化。其中假設(shè)P=(V,T)表示一個(gè)三角形網(wǎng)格模型,其中V ={Vi|i∈(1,N)}表示模型中的頂點(diǎn),N為模型頂點(diǎn)的數(shù)目。T表示模型的拓?fù)潢P(guān)系。從T 中可以得到每個(gè)頂點(diǎn)的1 階鄰域.對(duì)于頂點(diǎn)Vi,其一階鄰域定義為所有與之相連接的頂點(diǎn)集合,如圖2所示(黑色頂點(diǎn)(除Vi)的集合):
圖1 頂點(diǎn)Vi的距離Si和Vi 對(duì)應(yīng)的夾角θi
圖2 Vi的1 階鄰域
另外,為了得到一個(gè)唯一不變的的頂點(diǎn)序列,本文首先計(jì)算模型的中心點(diǎn)坐標(biāo)O,每個(gè)點(diǎn)Vi到模型中心的距離Si,然后再計(jì)算每個(gè)點(diǎn)的一階鄰域的中心Ti,再計(jì)算向量TiO和TiVi的夾角θi。將模型頂點(diǎn)先按Si的大小升序排列,如果Si相同,再按照對(duì)應(yīng)的θi來進(jìn)行排序,最終獲得一個(gè)唯一的頂點(diǎn)序列,最后,選取頂點(diǎn)序列的一部分,將水印數(shù)據(jù)添加到頂點(diǎn)的紋理坐標(biāo)中。其中水印信息來自于基于傅里葉變換的圖像水印算法,即首先將原始水印嵌入一個(gè)穩(wěn)定圖像中,然后將嵌入水印的圖像和原始圖像相減得到水印信息。
嵌入過程如圖3所示:
圖3 水印嵌入流程
步驟如下:
(1)計(jì)算網(wǎng)格模型每個(gè)頂點(diǎn)到模型中心的距離Si和其對(duì)應(yīng)的夾角θi。對(duì)原始三維網(wǎng)格模型的頂點(diǎn)序列按照上述方法進(jìn)行排序,得到一個(gè)唯一的三維網(wǎng)格頂點(diǎn)序列;
(2)利用圖像水印算法得到水印信息W'。和文獻(xiàn)13的方法是略有不同,這里將一幅m×m的二值圖像作為原始水印添加到經(jīng)過傅里葉變換后的M×M 大小的灰度載體圖像I的中頻部分,反變換回來后得到嵌入水印的圖像I'。通過加法公式得到最終要嵌入三維網(wǎng)格模型的水印信息W'。水印信息可能需要略作調(diào)整,調(diào)整后W(i,j)>0,以便添加到三維網(wǎng)格模型中;W'(i,j)=I'(i,j)-I(i,j)+δi∈(1,m),j∈(1,m),δ是一個(gè)大于0的整數(shù);
(3)選取排序后頂點(diǎn)序列前M×M個(gè)頂點(diǎn),將水印信息W'添加到排序后的頂點(diǎn)的紋理坐標(biāo)。這里是將水印信息替換掉紋理坐標(biāo)值的5-7 這3個(gè)有效位,這樣既保證了水印嵌入的完整性又具有很好的透明性。這樣就完成了水印嵌入的整個(gè)過程。
水印提取基本可以看作嵌入過程的逆過程,本文算法提取水印前不需要進(jìn)行網(wǎng)格矯正重采樣等預(yù)處理,也不需要原始網(wǎng)格:
(1)計(jì)算待檢測模型每個(gè)頂點(diǎn)到模型中心的距離T和其對(duì)應(yīng)的夾角θi;
(2)同樣的,按照上述方法對(duì)模型的頂點(diǎn)進(jìn)行排序,得到唯一的三維網(wǎng)格序列;
(3)選取排序后序列的前M×M個(gè)頂點(diǎn),提取紋理坐標(biāo)的5-7的3個(gè)有效位,即為水印信息;
(4)將得到的水印信息組成m×m的矩陣,進(jìn)行傅里葉變換,按照嵌入過程中的圖像水印算法提取出最終的水印。
為驗(yàn)證本文提出的算法的魯棒性和不可見性,本文做了仿真實(shí)驗(yàn),這里選取2個(gè)模型,如圖4(a)、(e)所示:含紋理坐標(biāo)的a模型和不含紋理坐標(biāo)的b模型,其中模型a 含有15 645個(gè)頂點(diǎn)、30 860個(gè)三角面,模型b 含有21 099個(gè)頂點(diǎn)、20 904個(gè)三角面。如圖4所示,原始模型a、b和它們分別嵌入水印后的模型以及受到旋轉(zhuǎn)和縮放攻擊后的模型如下。通過實(shí)驗(yàn)可以看出,算法的透明性比較好,嵌入了水印后的模型失真度很低,這是因?yàn)樗∈乔对诹四P偷募y理坐標(biāo)的低位有效位,對(duì)模型的影響很小。為了驗(yàn)證算法的魯棒性,對(duì)嵌入水印后的模型進(jìn)行仿射變換(旋轉(zhuǎn)、平移、均勻縮放)攻擊,測試結(jié)果如表1所示。表1的測試結(jié)果表明,算法能夠抵抗模型的仿射變換攻擊,這是因?yàn)槟P颓度胨r(shí),找到了兩個(gè)抗仿射變換的幾何特征用來幫助頂點(diǎn)排序,構(gòu)成了模型頂點(diǎn)的唯一序列。
圖4 模型a、b 嵌入水印前后
表1 模型a、b 仿射變換攻擊實(shí)驗(yàn)及實(shí)驗(yàn)結(jié)果
本文提出了一種改進(jìn)的三維網(wǎng)格模型水印算法,是將頂點(diǎn)排序然后選取一部分再將水印加到其紋理坐標(biāo)中。實(shí)驗(yàn)結(jié)果表面,此水印算法具有不可見性,由于選取了兩個(gè)穩(wěn)定且抗仿射變換的全局幾何特征用來作為頂點(diǎn)排序的基準(zhǔn),算法對(duì)仿射變換攻擊具有較好的魯棒性。
[1]馮小青.三維模型數(shù)字水印算法及關(guān)鍵技術(shù)研究[D].杭州:浙江大學(xué),2009.
[2]潘志庚,孫樹森,李黎.三維模型數(shù)字水印綜述[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2006,8(14):1 103-1 110.
[3]Ohbuchi R,Masuda H,Aono M.Watermarking three-dimensional polygonal models through geometric and topological modifications[J].IEEE Journal on Selected Areas in Communication,1998,16(4):551-560.
[4]Ohbuchi R,Masuda H.Watermarking three-dimensional polygonal models[C].Washington:Proceedings of the ACM International Conference on Multimedia,1997:261-272.
[5]Benedens O,Busch C.Towards blind detection of robust watermarks in polygonal models[C].Interlaken:Proceedings of Euro graphics,2000:199-208.
[6]Benedens O.Affine invariant watermarks for 3D polygonal and NURBS based models[C].Wollongong:Proceedings of the 3rd International Workshop Information Security,2000:15-29.
[7]Benedens O.Two high capacity methods for embedding public watermarks into 3D polygonal models[C].Orlando:Proceedings of the Multimedia and Security-Workshop at ACM Multimedia,1999:95-99.
[8]Harte T,Bors A G.Watermarking 3D models[C].Rochester:Proceedings of IEEE International Conference on Image Processing,2002:661-664.
[9]劉旺,孫圣和.基于DFT的魯棒三維網(wǎng)格模型數(shù)字水印算法[J].計(jì)算機(jī)工程與應(yīng)用,2005,14(5):192-197.
[10]Kanai S,Date H,Kishinami T.Digital watermarking for 3D polygons using multi-resolution wavelet decomposition[C].Tokyo:Proceedings of International Workshop on Geometric Modeling,1998:296-307.
[11]Yin K K,Pan Z G,Shi J Y,etal.Robust mesh watermarking based on multi resolution processing[J].Computers &Graphics,2001,25(3):409-420.
[12]Li L,Zhang D,Pan Z,etal.Watermarking 3D mesh by spherical parameterization[J].Computers & Graphics,2004,28(6):981-989.
[13]李黎.數(shù)字圖像和三維幾何模型水印技術(shù)研究[D].杭州:浙江大學(xué),2004.