呂文清,張黎明
(1.蘭州交通大學(xué) 測(cè)繪與地理信息學(xué)院,甘肅 蘭州 730070;2.甘肅省地理國(guó)情監(jiān)測(cè)工程實(shí)驗(yàn)室,甘肅 蘭州 730070)
一種基于分布中心的矢量數(shù)據(jù)零水印算法
呂文清1,2,張黎明1,2
(1.蘭州交通大學(xué) 測(cè)繪與地理信息學(xué)院,甘肅 蘭州 730070;2.甘肅省地理國(guó)情監(jiān)測(cè)工程實(shí)驗(yàn)室,甘肅 蘭州 730070)
針對(duì)鮮有零水印算法能同時(shí)適用于點(diǎn)、線、面矢量數(shù)據(jù)版權(quán)保護(hù),提出一種基于分布中心的矢量地理空間數(shù)據(jù)零水印算法。首先,對(duì)矢量數(shù)據(jù)進(jìn)行格網(wǎng)劃分;其次,計(jì)算格網(wǎng)內(nèi)每個(gè)點(diǎn)到其算數(shù)平均值中心的距離,并將得到的距離序列與距離平均值進(jìn)行比較,大于等于距離平均值,則記為1,否則為0;然后,統(tǒng)計(jì)格網(wǎng)內(nèi)的0和1數(shù)量的多數(shù),記為0或1,以此生成空間數(shù)據(jù)特征值;最后,將該特征值與置亂后的二值水印進(jìn)行異或,構(gòu)造出零水印圖像。實(shí)驗(yàn)表明,文中算法能同時(shí)適用于點(diǎn)、線、面矢量數(shù)據(jù),并且對(duì)常見的平移、縮放、裁剪、格式轉(zhuǎn)換、隨機(jī)刪點(diǎn)等攻擊魯棒性好。
矢量地理空間數(shù)據(jù);算數(shù)平均值中心;零水印;魯棒性
隨著測(cè)繪地理信息行業(yè)的不斷發(fā)展,地理空間數(shù)據(jù)在地理信息、電子導(dǎo)航、數(shù)字城市、環(huán)境保護(hù)等領(lǐng)域得到廣泛應(yīng)用。然而,目前GIS矢量數(shù)字產(chǎn)品的市場(chǎng)狀況十分混亂[1],侵犯版權(quán)的事件時(shí)有發(fā)生,傳統(tǒng)的版權(quán)保護(hù)方式已經(jīng)很難適應(yīng)目前的需要。一方面,地理空間數(shù)據(jù)生產(chǎn)成本高昂,精度高,安全級(jí)別較高;但另一方面,當(dāng)前的地理空間數(shù)據(jù)主要以數(shù)字化形式保存,這在為數(shù)據(jù)拷貝和傳播提供便利的同時(shí)也使得數(shù)據(jù)的盜版使用變得極其容易[2]。數(shù)字水印技術(shù)作為近年來信息安全領(lǐng)域發(fā)展起來的前沿技術(shù),在矢量地理空間數(shù)據(jù)版權(quán)保護(hù)方面得到了廣泛的重視和研究[3-7]。
目前,矢量地理空間數(shù)據(jù)水印算法主要為空域算法和頻域算法,這兩種算法都需要改變載體數(shù)據(jù)來添加水印信息,這在一定程度上影響了數(shù)據(jù)的質(zhì)量,對(duì)于數(shù)據(jù)精度要求高的應(yīng)用領(lǐng)域,可能會(huì)造成數(shù)據(jù)無法正常使用。為了在實(shí)現(xiàn)版權(quán)保護(hù)的同時(shí)不損害數(shù)據(jù)質(zhì)量,滿足對(duì)數(shù)據(jù)高保真的要求,溫泉等人首次提出了零水印的概念,并將其應(yīng)用到數(shù)字圖像版權(quán)保護(hù)中[8]。零水印是指不修改原始作品的內(nèi)容,利用原始作品的重要特征構(gòu)造水印,能解決水印魯棒性和不可見性之間的矛盾[9]。張佐理[10]等首次將零水印技術(shù)引入矢量地圖版權(quán)保護(hù)領(lǐng)域,通過統(tǒng)計(jì)平均分塊后各個(gè)分塊的頂點(diǎn)數(shù),并利用變換和加密構(gòu)造出水印圖;之后一些學(xué)者如曹劉娟[11]、孫鴻睿[9,12]等紛紛對(duì)矢量地理數(shù)據(jù)零水印進(jìn)行了相應(yīng)的研究,并取得了一些成果。但目前對(duì)矢量數(shù)據(jù)零水印的研究多針對(duì)某一特定類型的矢量數(shù)據(jù),鮮有零水印算法能同時(shí)適用于點(diǎn)、線、面數(shù)據(jù)版權(quán)保護(hù),因此,本文在前人研究的基礎(chǔ)上提出了一種同時(shí)適用于點(diǎn)、線、面3種矢量數(shù)據(jù)的零水印算法。
算法的基本思路:首先對(duì)空間數(shù)據(jù)的最小外接矩形進(jìn)行平均分塊;其次計(jì)算每個(gè)格網(wǎng)中點(diǎn)到其算數(shù)平均值中心的距離和格網(wǎng)內(nèi)所有距離的平均值;然后,將距離平均值與每個(gè)距離進(jìn)行比較,若某點(diǎn)所對(duì)應(yīng)的距離大于等于距離平均值,則記為1,否則記為0;接著統(tǒng)計(jì)每個(gè)格網(wǎng)內(nèi)0和1的數(shù)量,若1的數(shù)量多于0的數(shù)量,則該格網(wǎng)用1表示,否則用0表示;最后將生成的二值特征序列與置亂后的水印圖像進(jìn)行邏輯異或運(yùn)算,從而構(gòu)造出零水印圖像。零水印構(gòu)造流程如圖1所示。
圖1 零水印構(gòu)造流程
1.1 格網(wǎng)劃分
為更好地提取矢量地理空間數(shù)據(jù)的特征信息,反應(yīng)矢量數(shù)據(jù)的局部特征,采用格網(wǎng)劃分的方法將頂點(diǎn)劃分成多個(gè)格網(wǎng)單元。讀取矢量數(shù)據(jù),得到所有坐標(biāo)點(diǎn)的最大值與最小值,即Xmin,Ymin,Xmax,Ymax,用得到的最大值點(diǎn)和最小值點(diǎn)的橫坐標(biāo)和縱坐標(biāo)構(gòu)成矢量數(shù)據(jù)的最小外接矩形(Minimum Bounding Rectangle, MBR),最小外接矩形具有一定的穩(wěn)定性,一般很少受到攻擊。以數(shù)據(jù)的MBR為劃分格網(wǎng)的基礎(chǔ),將MBR劃分成大小相同的格網(wǎng),格網(wǎng)劃分的大小與水印圖像的大小相同。劃分方法如圖2所示。
圖2 格網(wǎng)劃分示意圖
1.2 特征序列生成
本算法以格網(wǎng)為單元,每一個(gè)格網(wǎng)內(nèi)的點(diǎn)可表示為
vi=(xi,yi),i=1,2,…,n.
(1)
其中:vi表示每一個(gè)坐標(biāo)點(diǎn),(xi,yi)表示點(diǎn)的坐標(biāo)值,n表示頂點(diǎn)的個(gè)數(shù)。
1.2.1 算數(shù)平均值中心
空間分布是從總體的、全局的角度來描述空間變量和空間物體的特性[9]。其中矢量數(shù)據(jù)的分布中心是一個(gè)重要的參數(shù),算數(shù)平均值中心是分布中心的一種,可以概略地表示分布總體的位置,其沒有考慮數(shù)據(jù)之間的差異,所得的平均中心具有隨機(jī)性。由于矢量數(shù)據(jù)并不總是規(guī)則分布的,隨機(jī)分布的狀態(tài)更為常見,計(jì)算矢量數(shù)據(jù)平均中心時(shí)會(huì)出現(xiàn)某些格網(wǎng)內(nèi)沒有坐標(biāo)點(diǎn),需要跳過該網(wǎng)格,不計(jì)算該格網(wǎng)內(nèi)的算數(shù)平均值中心。
當(dāng)n≥1時(shí)計(jì)算該格網(wǎng)內(nèi)點(diǎn)的平均值中心[9],記為O,計(jì)算公式為
(2)
其中:Ox,Oy分別為單元格頂點(diǎn)平均中心的坐標(biāo),Xi,Yi表示第i個(gè)點(diǎn)的X,Y坐標(biāo),n表示格網(wǎng)內(nèi)的點(diǎn)數(shù)。
1.2.2 距離計(jì)算
計(jì)算每個(gè)格網(wǎng)內(nèi)的頂點(diǎn)到O點(diǎn)的距離di,計(jì)算出di的平均值D。其中di和D的計(jì)算公式為
(3)
(4)
其中,n表示每個(gè)格網(wǎng)內(nèi)的頂點(diǎn)個(gè)數(shù)。
1.2.3 特征矩陣生成
利用矢量數(shù)據(jù)中每個(gè)點(diǎn)到格網(wǎng)內(nèi)頂點(diǎn)的算數(shù)平均值中心的距離來構(gòu)造特征矩陣。通過比較di和D的大小生成二值序列,當(dāng)di≥D時(shí),M記為1;當(dāng)di (5) 其中,M表示二值序列。 然后將得到的二值序列壓縮為64×64的二值矩陣,其大小與水印圖像大小相同。壓縮策略為統(tǒng)計(jì)每個(gè)格網(wǎng)內(nèi)0和1的數(shù)量,若格網(wǎng)內(nèi)1的個(gè)數(shù)大于0的個(gè)數(shù),該格網(wǎng)的值為1,反之為0。 1.2.4 零水印圖像構(gòu)造 零水印圖像的詳細(xì)構(gòu)造過程描述如下: 首先將原始水印圖像進(jìn)行Logistic置亂,以提高水印的安全性和保密性。算法中采用的水印圖像大小為64×64像素,原始水印圖像及置亂后的水印圖像如圖3所示。 圖3 水印圖像 然后,將得到的二值矩陣M與置亂變換后的水印圖像二值序列W進(jìn)行邏輯異或運(yùn)算,得到零水印圖像矩陣W′,即 W′=M⊕W. (6) 其中:M表示最終的二值矩陣,⊕表示按位異或運(yùn)算,W′表示置亂后的水印圖像矩陣。 零水印的檢測(cè)是構(gòu)造過程的逆,具體過程描述如下: 1)對(duì)待測(cè)數(shù)據(jù)進(jìn)行格網(wǎng)劃分,格網(wǎng)大小與水印圖像大小相同。 2)計(jì)算每個(gè)格網(wǎng)內(nèi)坐標(biāo)點(diǎn)的算數(shù)平均值中心,并計(jì)算每個(gè)點(diǎn)到該平均中心的距離。 3)計(jì)算每個(gè)格網(wǎng)內(nèi)距離的平均值,并將每個(gè)點(diǎn)到其相應(yīng)的平均中心的距離與格網(wǎng)內(nèi)所有坐標(biāo)點(diǎn)對(duì)應(yīng)的距離平均值進(jìn)行比較,并統(tǒng)計(jì)大于等于距離平均值的坐標(biāo)點(diǎn)數(shù)量和小于平均值的點(diǎn)數(shù),若大于距離平均值的坐標(biāo)點(diǎn)數(shù)占優(yōu)勢(shì),則該格網(wǎng)用1表示,否則為0,從而生成一個(gè)64×64的二值矩陣。 4)將零水印圖像與由待檢測(cè)數(shù)據(jù)生成的二值矩陣進(jìn)行邏輯異或運(yùn)算,得到置亂的水印信息,然后將其進(jìn)行Logistic反置亂變換,得到最終的水印信息。 以MATLAB R2015a為平臺(tái)對(duì)零水印算法進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)分別采用雅礱江南部地區(qū)水文測(cè)站矢量點(diǎn)數(shù)據(jù)、河網(wǎng)支流矢量線數(shù)據(jù)和湖泊矢量面數(shù)據(jù),疊加顯示效果如圖4(a)所示,其中點(diǎn)、線、面要素分別為382 0個(gè)、963個(gè)和414個(gè),數(shù)據(jù)格式為ArcGIS的Shp格式,將其分別劃分成64×64固定大小的格網(wǎng)。實(shí)驗(yàn)中用的水印為64×64像素的二值水印圖像如圖4(b)所示。點(diǎn)、線、面數(shù)據(jù)構(gòu)造的零水印圖像如圖4(c)所示。 圖4 零水印構(gòu)造實(shí)驗(yàn)結(jié)果 3.1 魯棒性實(shí)驗(yàn) 一個(gè)好的水印算法應(yīng)當(dāng)在數(shù)據(jù)經(jīng)過一些改變后,水印仍具有較好的可檢測(cè)性。本文采用歸一化相關(guān)系數(shù)(Normalized Correlation Coefficient, NC)作為評(píng)價(jià)指標(biāo),對(duì)本算法進(jìn)行隨機(jī)刪點(diǎn)、格式轉(zhuǎn)換、縮放和平移等攻擊,以驗(yàn)證該算法的魯棒性。NC[12]計(jì)算公式為 (7) 測(cè)試結(jié)果如表1所示,對(duì)點(diǎn)、線、面數(shù)據(jù)進(jìn)行隨機(jī)刪點(diǎn)、平移、縮放、格式轉(zhuǎn)換攻擊后,本算法仍能較好地提取水印信息,檢測(cè)到的水印圖像與版權(quán)標(biāo)識(shí)圖像的相似度較高。但由于算法是基于格網(wǎng)劃分構(gòu)造水印的,因此無法抵抗旋轉(zhuǎn)攻擊。 3.2 抗裁剪攻擊實(shí)驗(yàn) 在研究和實(shí)際應(yīng)用操作中通常要對(duì)數(shù)據(jù)進(jìn)行裁剪,以獲得研究區(qū)的數(shù)據(jù),裁剪操作通常較為頻繁,但這卻會(huì)造成水印信息的提取異常。為此,水印算法須有能力抵抗一定的裁剪攻擊,從而滿足實(shí)際需要,增強(qiáng)算法的實(shí)用性。 圖5 裁剪攻擊實(shí)驗(yàn)結(jié)果 實(shí)驗(yàn)通過模擬研究中的裁剪操作,對(duì)研究區(qū)內(nèi)的某一島內(nèi)數(shù)據(jù)按要素進(jìn)行裁剪,以獲得符合要求的數(shù)據(jù)。研究區(qū)原始數(shù)據(jù)及島要素疊加顯示效果如圖5(a)所示,對(duì)原始矢量點(diǎn)、線、面數(shù)據(jù)用島要素進(jìn)行裁剪,裁剪后數(shù)據(jù)疊加效果如圖5(b)所示。然后利用裁剪后剩余數(shù)據(jù)檢測(cè)零水印,以測(cè)驗(yàn)算法對(duì)裁剪攻擊的魯棒性。裁剪攻擊后提取到的點(diǎn)、線、面數(shù)據(jù)的水印信息如圖5(c)所示,實(shí)驗(yàn)提取到的點(diǎn)、線、面數(shù)據(jù)的水印圖像與版權(quán)標(biāo)識(shí)圖像的相似度分別為:0.888 2,0.994 9,0.995 1。 由實(shí)驗(yàn)可知,本算法對(duì)裁剪攻擊具有魯棒性,但因?qū)嶒?yàn)中矢量點(diǎn)數(shù)據(jù)數(shù)據(jù)量較小,因此,抗裁剪攻擊實(shí)驗(yàn)時(shí)實(shí)驗(yàn)效果不如線、面矢量數(shù)據(jù),但檢測(cè)到的水印信息與版權(quán)標(biāo)識(shí)水印圖像相似度仍高于88%,所以算法對(duì)數(shù)據(jù)量較小的矢量地理數(shù)據(jù)版權(quán)保護(hù)同樣具有較好的適用性。 本文提出了一種針對(duì)矢量數(shù)據(jù)的零水印算法,通過格網(wǎng)劃分并計(jì)算每個(gè)點(diǎn)到相應(yīng)格網(wǎng)內(nèi)頂點(diǎn)的算數(shù)平均值中心的距離和格網(wǎng)內(nèi)的距離平均值進(jìn)行比較,將矢量數(shù)據(jù)映射為和水印大小相同的二值序列,再通過與置亂后的水印圖像進(jìn)行邏輯異或來構(gòu)造零水印圖像。將零水印圖像送交第三方版權(quán)認(rèn)證機(jī)構(gòu)進(jìn)行保管,當(dāng)發(fā)生版權(quán)爭(zhēng)議時(shí),通過算法恢復(fù)版權(quán)標(biāo)識(shí),達(dá)到版權(quán)保護(hù)的目的。實(shí)驗(yàn)驗(yàn)證算法對(duì)常見攻擊具有較好的魯棒性,能夠同時(shí)適用于矢量點(diǎn)、線、面數(shù)據(jù),當(dāng)數(shù)據(jù)量較小時(shí),水印檢測(cè)效果也比較理想。很少很少有水印算法能抵御所有攻擊,同樣由于本文算法是基于格網(wǎng)劃分的,所以不能抵抗旋轉(zhuǎn)攻擊,這是本文算法的不足之處,將在今后的研究中著力解決。 目前,同時(shí)適用于矢量點(diǎn)、線、面數(shù)據(jù)的水印算法鮮有見到,同時(shí)利用矢量點(diǎn)、線、面3種數(shù)據(jù)特征來共同構(gòu)造水印信息的相關(guān)算法還較少,這將是今后的研究重點(diǎn)。 [1] 李安波,閭國(guó)年,周衛(wèi).GIS矢量數(shù)字產(chǎn)品版權(quán)認(rèn)證技術(shù)[M].北京: 科學(xué)出版社,2012: 1-5. [2] YAN Haowen,LI Jonathan,WEN Hong.A key points-based blind watermarking approach for vector geo-spatial data[J].Computers,Environment and Urban Systems.2011,35(6): 485-492. [3] 朱長(zhǎng)青,許徳合,任娜,等.地理空間數(shù)據(jù)數(shù)字水印理論與方法[M].北京:科學(xué)出版社,2014 :1-10. [4] 許德合,朱長(zhǎng)青,王奇勝.利用QIM的DFT矢量空間數(shù)據(jù)盲水印模型[J].武漢大學(xué)學(xué)報(bào)(信息科學(xué)版),2010,35(9): 1100-1103. [5] 馬桃林,顧翀,張良培.基于二維矢量數(shù)字地圖的水印算法研究[J].武漢大學(xué)學(xué)報(bào)(信息科學(xué)版),2006,31(9): 792-794. [6] 閔連權(quán).一種穩(wěn)健的矢量地圖數(shù)據(jù)的數(shù)字水印[J].測(cè)繪學(xué)報(bào),2008,37(2): 262-267. [7] 王奇勝,朱長(zhǎng)青,許德合.利用DFT相位的矢量地理空間數(shù)據(jù)水印方法[J].武漢大學(xué)學(xué)報(bào)(信息科學(xué)版),2011,36(5): 523-526. [8] WEN Quan,SUN Tan Feng,WANG Shu Xun.Concept and application of zero-watermark[J].Acta Electronica Sinica,2003,31( 2) : 214-216. [9] 孫鴻睿,朱建軍,尹鵬程,等.一種基于矢量地圖特征點(diǎn)和分塊的零水印算法[J].地理與地理信息科學(xué),2012,28(4): 111-112. [10] 張佐理,孫樹森,汪亞明,等.二維矢量數(shù)字地圖的零水印算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(6): 1473-1475. [11] 曹劉娟,門朝光,孫建國(guó).二維矢量地圖雙重零水印算法[J].哈爾濱工程大學(xué)學(xué)報(bào),2011,32(3): 340-344. [12] 孫鴻睿,朱建軍,李光強(qiáng),等.一種基于矢量地圖要素編碼的零水印算法[J].工程勘察,2012,40(9): 54-57. [13] 郭仁忠.空間分析[M].2版.北京: 高等教育出版社,2001: 77-92. [責(zé)任編輯:劉文霞] A zero-watermark algorithm for vector data based on distribution center LYU Wenqing1,2, ZHANG Liming1,2 (1.School of Geomatics, Lanzhou Jiaotong University, Lanzhou 730070, China; 2. Gansu Provincial Engineering Laboratory for National Geographic State Monitoring, Lanzhou 730070, China) Few zero-watermark algorithm can be applied to all type vector data for copyright protection. This paper proposes a zero-watermark algorithm for vector data based on distribution center. Firstly, the vector data is divided into grid. Secondly, the distance of each point to the arithmetic mean center in the grid is calculated and distance sequence is compared with the average distance. If the distance is greater than or equal to the average, the record is 1, otherwise 0. Then, the majority of the 0 and 1 is counted in the grid and 0 or 1 is recorded to generate characteristic of data. Finally, the XOR operation is done between the shuffled watermark image and the characteristic value, then the zero-watermark image is obtained. Experiments show that the algorithm can be applied to all type vector data, and also has good robustness to common attacks including translation, scaling, cropping, format transformation, random delete point and so on. vector spatial data; arithmetic mean center; zero-watermark; robustness 2016-09-26 國(guó)家自然基金資助項(xiàng)目(71563025);甘肅省自然科學(xué)基金資助項(xiàng)目(148RJZA041,148RJZA028) 呂文清(1992-),男,碩士研究生. 著錄:呂文清,張黎明.一種基于分布中心的矢量數(shù)據(jù)零水印算法[J].測(cè)繪工程,2017,26(8):50-53,61. 10.19349/j.cnki.issn1006-7949.2017.08.011 P208 A 1006-7949(2017)08-0050-042 零水印的檢測(cè)
3 實(shí)驗(yàn)分析
4 結(jié)束語