朱利利,張建勛,汪 波
(重慶理工大學計算機科學與工程學院,重慶 400054)
近年來,隨著數字技術的普及,版權問題成為關注的焦點。數字水印一般是指向多媒體數據中嵌入不可察覺的信息從而達到嵌入水印的目的。向圖像、音頻、視頻加入水印的技術已經成熟,而在三維模型中嵌入水印信息的技術還有待研究,三維模型的版權保護仍然具有挑戰性。
Ohbuchi于1997年提出三維模型數字水印算法[1],隨后又提出三角形相似比、四面體體積比等嵌入算法,將三維數字水印推上了新的高度,開啟了三維數字水印研究的新思路和方法。
文獻[2]提出了基于高斯主曲率分割實現三維模型的分割,但是無法滿足對粗糙和平滑部分的劃分。Karni與Gotsman提出采用拉普拉斯矩陣度量粗糙度[3],利用拉普拉斯矩陣平滑模型,然后與原模型對照的方法,缺點是只針對點,沒有考慮一定范圍的粗糙度。Cheng通過計算三維網格模型相鄰面的角度來衡量粗糙度。喻志強等[4]利用法線隨頂點改變引起的改變量決定嵌入強度,算法魯棒性強,但是不能保證嵌入在粗糙區域,從而致使水印可見。
本文提出了一種基于粗糙度的三維網格模型數字水印算法。預處理階段利用一環鄰域質心的法向量和加權法向量的夾角來選擇候選頂點,從而剔除不符合條件的頂點。嵌入階段使用包圍盒策略得到中心,利用點到中心的距離分塊,根據粗糙度得到權值,從而選擇嵌入頂點。實驗結果表明,在保證魯棒性的條件下,三維模型數字水印的不可感知性得到了提高。
人類視覺系統HVS對高頻不太敏感,在保證人眼不能察覺的情況下,可以改變信號強度[5]。人眼對平滑區域的敏感度較強,對邊緣和紋理區域的敏感度要相對弱些。因此可以在人眼不敏感的區域嵌入水印,從而增強水印的魯棒性。
在機械制造中的粗糙度是指加工后零件表面的較小間距和微小峰谷凹凸不平程度,兩波峰和波谷之間的距離很小。它是微觀幾何形狀誤差,粗糙度越高,表面越粗糙,反之,則越平滑[6]。將粗糙度引入三維水印,粗糙度較大的區域,表面粗糙,人們對其敏感度降低,嵌入水印后的不可感知性增強。
三維網格模型中三角形數目越多,細節越豐富,粗糙度就越高。同一個面中若面積一定,三角形數目越多,每個三角形所占的面積就越小。因此利用三角形面積的平均值來衡量粗糙度具有實際意義。
假設屬性信息忽略不計,三維網格模型M能表示為:
M={VN,QN};
VN={0,1,…,N-1}(VN為N 個頂點的集合);
Vi=(xi,yi,zi)表示第i個頂點的坐標信息;
QN表示每個三角面片中與N個頂點拓撲連接關系的集合。
選擇候選頂點:
1)根據三維模型的拓撲結構,找出每個頂點的鄰接點,剔除頂點數目小于3的頂點。
2)對三維模型的x坐標進行升序排列。
3)計算局部幾何空間封閉一環鄰域的質心O,使用算法求出所有與該點鄰接的點個數之和然后求出與該點所有鄰接頂點個數n的比值[7]:

4)計算局部幾何空間封閉一環鄰域的質心的法向量:

計算局部幾何空間封閉一環鄰域的質心的加權法向量:

選取2個法向量的夾角小于閾值5的點作為候選頂點。
利用最小包圍盒[8]求出中心。將最小包圍盒的中心代替模型的中心,避免因修改頂點坐標造成重心偏移。模型各個方向上的的最大值、最小值分別為Xmax、Ymax、Zmax、Xmin、Ymin、Zmin。長方體的中 心 坐 標 是 TBBC
利用擴頻技術[9]將原始擴展到64位。
根據頂點到中心的距離,可以將頂點分為3N組。
計算所有頂點到中心的距離:

計算最大距離值Dmax和最小距離值Dmin,則分布范圍為:

其中N為水印長度。
計算頂點相鄰面法向量的夾角的均值作為權值w1。

嵌入策略如下:
1)當嵌入水印為+1時,將左右塊中粗糙度最大的即權值最大的前k個頂點調整到該塊中,從而使權值最大的都落在該塊中。調整左邊的塊,從中選擇權值最大的前k個頂點,加上變量,將其調整到該塊中。同理,右邊的塊減去變量,調整到該塊中。
2)當嵌入水印為-1時,將該塊平分成2塊,將2塊中粗糙度最大的前k個頂點分別調整到左右兩邊塊里。從該塊的左半塊內選擇權值最大的前k個頂點,減去變量,將其調整到左邊的塊中。同理,從該塊的右半塊內選擇權值最大的前k個頂點,加上變量,將其調整到右邊的塊中。
首先計算最小包圍盒,求出各個頂點到中心的距離,得到頂點到中心距離的最大值和最小值。
按距離分塊,計算每塊中頂點個數的總和。如果該塊中的個數之和大于左右兩塊的,水印提取為+1,否則提取為-1。
實驗嵌入水印前后的圖像如圖1~4所示。肉眼觀察到嵌入水印前后圖形無明顯變化,達到了水印不可見、不可感知的目的。

圖1 Dragon嵌入前圖像

圖2 Dragon嵌入后圖像

圖3 Bunny嵌入水印前

圖4 Bunny嵌入水印后
魯棒性根據三維模型受到攻擊后檢測出來的水印與原水印的相似度計算。一般使用的評價標準為相似系數corr[10],指示檢測出的水印與原始水印的相似程度。差距越大,corr值越小。
若Q表示原始水印序列,Q'表示提取的水印序列,K表示水印序列的長度,則

在未受到攻擊時,檢測到嵌入的水印信息值為1。利用QEM簡化算法對模型進行30%、50%、70%、90%的簡化攻擊。Dragon模型和Bunny模型簡化結果見表1~2。

表1 Dragon模型簡化

表2 Bunny模型簡化
相關系數越大,說明魯棒性越強。通過和其他文獻相比較發現,本算法的魯棒性得到了提高,具有更大的優勢。
分析70%、90%簡化時提取失敗的原因是簡化攻擊嚴重改變了原有模型的細節部分。

表3 0.1%噪聲攻擊
不可感知性是三維模型嵌入水印之后,與原三維模型在外觀上具有較高的相似性。使用最大均方根距離[12-13]對相似度評估,值越小,相似度越高、不可感知性越強。
若MRMS表示最大均方根距離,M表示原始模型,M'表示嵌入水印后的模型,則:

由表4可知,本文算法的最大均方根距離最小,說明模型失真度低,不可感知度強。

表4 最大均方根距離
本文利用一環鄰域質心的法向量和加權法向量的夾角來剔除不符合的頂點,選擇候選頂點。以最小包圍盒的中心作為三維模型的中心,利用點到中心的距離這一幾何特征分塊,根據粗糙度得到權值,使用頂點相鄰面法向量的夾角的均值、頂點鄰接三角形的面積均值與所有三角形面積均值的比值作為粗糙度衡量權值,從而選擇嵌入頂點。實驗結果表明:本文算法能在保證魯棒性的前提下,降低模型失真度,提高三維模型數字水印的不可感知性,更適合三維模型的版權保護。
[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]喻志強.自適應于局部幾何特征的三維模型水印算法[J].計算機工程與應用,2002(22):23-27.
[5]徐濤.三維網格模型水印自適應調節算法[J].計算機工程,2012,38(3):113-115.
[6]陳強.基于表面粗糙度的自適應三維模型盲水印算法[J].計算機應用,2009,29(4):952-955.
[7]馮小青.面向3D網格模型的多重數字水印算法[J].計算機輔助設計與圖形學學報,2010(1):17-23.
[8]鄧利平.一種使用幾何分布的三維網格模型盲水印算法[Z].電腦知識與技術,2010.
[9]全紅艷.一種基于區域分割的幾何模型簡化方法[J].計算機學報,2006,29(10):1834-1842.
[10]唐斌.基于三維網格模型的雙重數字盲水印算法[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]楊斌.基于表面粗糙度的三維模型質量評價研究[J].計算機科學,2011,38(1):276-278,285.
[13]姬華民.三維模型數字水印算法研究[D].濟南:山東大學,2011.