朱利利,張建勛,汪 波
(重慶理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,重慶 400054)
近年來(lái),隨著數(shù)字技術(shù)的普及,版權(quán)問(wèn)題成為關(guān)注的焦點(diǎn)。數(shù)字水印一般是指向多媒體數(shù)據(jù)中嵌入不可察覺(jué)的信息從而達(dá)到嵌入水印的目的。向圖像、音頻、視頻加入水印的技術(shù)已經(jīng)成熟,而在三維模型中嵌入水印信息的技術(shù)還有待研究,三維模型的版權(quán)保護(hù)仍然具有挑戰(zhàn)性。
Ohbuchi于1997年提出三維模型數(shù)字水印算法[1],隨后又提出三角形相似比、四面體體積比等嵌入算法,將三維數(shù)字水印推上了新的高度,開(kāi)啟了三維數(shù)字水印研究的新思路和方法。
文獻(xiàn)[2]提出了基于高斯主曲率分割實(shí)現(xiàn)三維模型的分割,但是無(wú)法滿足對(duì)粗糙和平滑部分的劃分。Karni與Gotsman提出采用拉普拉斯矩陣度量粗糙度[3],利用拉普拉斯矩陣平滑模型,然后與原模型對(duì)照的方法,缺點(diǎn)是只針對(duì)點(diǎn),沒(méi)有考慮一定范圍的粗糙度。Cheng通過(guò)計(jì)算三維網(wǎng)格模型相鄰面的角度來(lái)衡量粗糙度。喻志強(qiáng)等[4]利用法線隨頂點(diǎn)改變引起的改變量決定嵌入強(qiáng)度,算法魯棒性強(qiáng),但是不能保證嵌入在粗糙區(qū)域,從而致使水印可見(jiàn)。
本文提出了一種基于粗糙度的三維網(wǎng)格模型數(shù)字水印算法。預(yù)處理階段利用一環(huán)鄰域質(zhì)心的法向量和加權(quán)法向量的夾角來(lái)選擇候選頂點(diǎn),從而剔除不符合條件的頂點(diǎn)。嵌入階段使用包圍盒策略得到中心,利用點(diǎn)到中心的距離分塊,根據(jù)粗糙度得到權(quán)值,從而選擇嵌入頂點(diǎn)。實(shí)驗(yàn)結(jié)果表明,在保證魯棒性的條件下,三維模型數(shù)字水印的不可感知性得到了提高。
人類視覺(jué)系統(tǒng)HVS對(duì)高頻不太敏感,在保證人眼不能察覺(jué)的情況下,可以改變信號(hào)強(qiáng)度[5]。人眼對(duì)平滑區(qū)域的敏感度較強(qiáng),對(duì)邊緣和紋理區(qū)域的敏感度要相對(duì)弱些。因此可以在人眼不敏感的區(qū)域嵌入水印,從而增強(qiáng)水印的魯棒性。
在機(jī)械制造中的粗糙度是指加工后零件表面的較小間距和微小峰谷凹凸不平程度,兩波峰和波谷之間的距離很小。它是微觀幾何形狀誤差,粗糙度越高,表面越粗糙,反之,則越平滑[6]。將粗糙度引入三維水印,粗糙度較大的區(qū)域,表面粗糙,人們對(duì)其敏感度降低,嵌入水印后的不可感知性增強(qiáng)。
三維網(wǎng)格模型中三角形數(shù)目越多,細(xì)節(jié)越豐富,粗糙度就越高。同一個(gè)面中若面積一定,三角形數(shù)目越多,每個(gè)三角形所占的面積就越小。因此利用三角形面積的平均值來(lái)衡量粗糙度具有實(shí)際意義。
假設(shè)屬性信息忽略不計(jì),三維網(wǎng)格模型M能表示為:
M={VN,QN};
VN={0,1,…,N-1}(VN為N 個(gè)頂點(diǎn)的集合);
Vi=(xi,yi,zi)表示第i個(gè)頂點(diǎn)的坐標(biāo)信息;
QN表示每個(gè)三角面片中與N個(gè)頂點(diǎn)拓?fù)溥B接關(guān)系的集合。
選擇候選頂點(diǎn):
1)根據(jù)三維模型的拓?fù)浣Y(jié)構(gòu),找出每個(gè)頂點(diǎn)的鄰接點(diǎn),剔除頂點(diǎn)數(shù)目小于3的頂點(diǎn)。
2)對(duì)三維模型的x坐標(biāo)進(jìn)行升序排列。
3)計(jì)算局部幾何空間封閉一環(huán)鄰域的質(zhì)心O,使用算法求出所有與該點(diǎn)鄰接的點(diǎn)個(gè)數(shù)之和然后求出與該點(diǎn)所有鄰接頂點(diǎn)個(gè)數(shù)n的比值[7]:
4)計(jì)算局部幾何空間封閉一環(huán)鄰域的質(zhì)心的法向量:
計(jì)算局部幾何空間封閉一環(huán)鄰域的質(zhì)心的加權(quán)法向量:
選取2個(gè)法向量的夾角小于閾值5的點(diǎn)作為候選頂點(diǎn)。
利用最小包圍盒[8]求出中心。將最小包圍盒的中心代替模型的中心,避免因修改頂點(diǎn)坐標(biāo)造成重心偏移。模型各個(gè)方向上的的最大值、最小值分別為Xmax、Ymax、Zmax、Xmin、Ymin、Zmin。長(zhǎng)方體的中 心 坐 標(biāo) 是 TBBC
利用擴(kuò)頻技術(shù)[9]將原始擴(kuò)展到64位。
根據(jù)頂點(diǎn)到中心的距離,可以將頂點(diǎn)分為3N組。
計(jì)算所有頂點(diǎn)到中心的距離:
計(jì)算最大距離值Dmax和最小距離值Dmin,則分布范圍為:
其中N為水印長(zhǎng)度。
計(jì)算頂點(diǎn)相鄰面法向量的夾角的均值作為權(quán)值w1。
嵌入策略如下:
1)當(dāng)嵌入水印為+1時(shí),將左右塊中粗糙度最大的即權(quán)值最大的前k個(gè)頂點(diǎn)調(diào)整到該塊中,從而使權(quán)值最大的都落在該塊中。調(diào)整左邊的塊,從中選擇權(quán)值最大的前k個(gè)頂點(diǎn),加上變量,將其調(diào)整到該塊中。同理,右邊的塊減去變量,調(diào)整到該塊中。
2)當(dāng)嵌入水印為-1時(shí),將該塊平分成2塊,將2塊中粗糙度最大的前k個(gè)頂點(diǎn)分別調(diào)整到左右兩邊塊里。從該塊的左半塊內(nèi)選擇權(quán)值最大的前k個(gè)頂點(diǎn),減去變量,將其調(diào)整到左邊的塊中。同理,從該塊的右半塊內(nèi)選擇權(quán)值最大的前k個(gè)頂點(diǎn),加上變量,將其調(diào)整到右邊的塊中。
首先計(jì)算最小包圍盒,求出各個(gè)頂點(diǎn)到中心的距離,得到頂點(diǎn)到中心距離的最大值和最小值。
按距離分塊,計(jì)算每塊中頂點(diǎn)個(gè)數(shù)的總和。如果該塊中的個(gè)數(shù)之和大于左右兩塊的,水印提取為+1,否則提取為-1。
實(shí)驗(yàn)嵌入水印前后的圖像如圖1~4所示。肉眼觀察到嵌入水印前后圖形無(wú)明顯變化,達(dá)到了水印不可見(jiàn)、不可感知的目的。
圖1 Dragon嵌入前圖像
圖2 Dragon嵌入后圖像
圖3 Bunny嵌入水印前
圖4 Bunny嵌入水印后
魯棒性根據(jù)三維模型受到攻擊后檢測(cè)出來(lái)的水印與原水印的相似度計(jì)算。一般使用的評(píng)價(jià)標(biāo)準(zhǔn)為相似系數(shù)corr[10],指示檢測(cè)出的水印與原始水印的相似程度。差距越大,corr值越小。
若Q表示原始水印序列,Q'表示提取的水印序列,K表示水印序列的長(zhǎng)度,則
在未受到攻擊時(shí),檢測(cè)到嵌入的水印信息值為1。利用QEM簡(jiǎn)化算法對(duì)模型進(jìn)行30%、50%、70%、90%的簡(jiǎn)化攻擊。Dragon模型和Bunny模型簡(jiǎn)化結(jié)果見(jiàn)表1~2。
表1 Dragon模型簡(jiǎn)化
表2 Bunny模型簡(jiǎn)化
相關(guān)系數(shù)越大,說(shuō)明魯棒性越強(qiáng)。通過(guò)和其他文獻(xiàn)相比較發(fā)現(xiàn),本算法的魯棒性得到了提高,具有更大的優(yōu)勢(shì)。
分析70%、90%簡(jiǎn)化時(shí)提取失敗的原因是簡(jiǎn)化攻擊嚴(yán)重改變了原有模型的細(xì)節(jié)部分。
表3 0.1%噪聲攻擊
不可感知性是三維模型嵌入水印之后,與原三維模型在外觀上具有較高的相似性。使用最大均方根距離[12-13]對(duì)相似度評(píng)估,值越小,相似度越高、不可感知性越強(qiáng)。
若MRMS表示最大均方根距離,M表示原始模型,M'表示嵌入水印后的模型,則:
由表4可知,本文算法的最大均方根距離最小,說(shuō)明模型失真度低,不可感知度強(qiáng)。
表4 最大均方根距離
本文利用一環(huán)鄰域質(zhì)心的法向量和加權(quán)法向量的夾角來(lái)剔除不符合的頂點(diǎn),選擇候選頂點(diǎn)。以最小包圍盒的中心作為三維模型的中心,利用點(diǎn)到中心的距離這一幾何特征分塊,根據(jù)粗糙度得到權(quán)值,使用頂點(diǎn)相鄰面法向量的夾角的均值、頂點(diǎn)鄰接三角形的面積均值與所有三角形面積均值的比值作為粗糙度衡量權(quán)值,從而選擇嵌入頂點(diǎn)。實(shí)驗(yàn)結(jié)果表明:本文算法能在保證魯棒性的前提下,降低模型失真度,提高三維模型數(shù)字水印的不可感知性,更適合三維模型的版權(quán)保護(hù)。
[1]Ohbuehi R,Masuda H,Aono M.Watermarking three-dimensional polygonal models[C]//Proceedings of the ACM International Conference on Multimedia’97.Seattle:[s.n.],1997:261-272.
[2]Guillaume L.A roughness measure for 3D mesh visual masking[C]//Proceedings of the 4th symposium on Applied perception in graphics and visualization.Tubingen,Germany:ACM Press,2007:57-60.
[3]Kami Z,Gotsman C.Spectral compression of mesh geometry[C]//ACM Siggraph 2000.New Orleans,USA:ACM Press,2000:279-286.
[4]喻志強(qiáng).自適應(yīng)于局部幾何特征的三維模型水印算法[J].計(jì)算機(jī)工程與應(yīng)用,2002(22):23-27.
[5]徐濤.三維網(wǎng)格模型水印自適應(yīng)調(diào)節(jié)算法[J].計(jì)算機(jī)工程,2012,38(3):113-115.
[6]陳強(qiáng).基于表面粗糙度的自適應(yīng)三維模型盲水印算法[J].計(jì)算機(jī)應(yīng)用,2009,29(4):952-955.
[7]馮小青.面向3D網(wǎng)格模型的多重?cái)?shù)字水印算法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2010(1):17-23.
[8]鄧?yán)?一種使用幾何分布的三維網(wǎng)格模型盲水印算法[Z].電腦知識(shí)與技術(shù),2010.
[9]全紅艷.一種基于區(qū)域分割的幾何模型簡(jiǎn)化方法[J].計(jì)算機(jī)學(xué)報(bào),2006,29(10):1834-1842.
[10]唐斌.基于三維網(wǎng)格模型的雙重?cái)?shù)字盲水印算法[J].計(jì)算機(jī)工程,2012,38(6):119-122.
[11]Cho J W,Prost R,Jung H Y.An Oblivious Watermarking for 3D Polygonal Meshes Using Distribution of Vertex Norms[J].IEEE Transactions on Signal Processing,2007,55(1):142-155.
[12]楊斌.基于表面粗糙度的三維模型質(zhì)量評(píng)價(jià)研究[J].計(jì)算機(jī)科學(xué),2011,38(1):276-278,285.
[13]姬華民.三維模型數(shù)字水印算法研究[D].濟(jì)南:山東大學(xué),2011.