摘 要: 提出一種新的抗旋轉(zhuǎn)攻擊的圖像水印算法" title="水印算法">水印算法,在圖像小波" title="小波">小波分解的低頻子圖中根據(jù)三個(gè)扇區(qū)塊均值關(guān)系嵌入水??;在其細(xì)節(jié)子圖中植入用于測量旋轉(zhuǎn)角度的基準(zhǔn)線。水印檢測時(shí)進(jìn)行霍夫變換,通過基準(zhǔn)線估計(jì)圖像旋轉(zhuǎn)" title="圖像旋轉(zhuǎn)">圖像旋轉(zhuǎn)角度,追蹤扇區(qū)塊新位置,提取水印。
關(guān)鍵詞: 霍夫變換 旋轉(zhuǎn) 水印扇區(qū)塊 小波變換
近年來,數(shù)字水印技術(shù)在抵抗壓縮、濾波等方面得到了快速發(fā)展,出現(xiàn)了許多基于DCT和DWT的頻域優(yōu)秀算法。
數(shù)字水印系統(tǒng)模型如圖1所示。水印信息W在密鑰K的控制下嵌入到載體圖像C中形成水印化圖像Cw。水印化圖像在發(fā)布過程中可能遭受到包括幾何變換攻擊在內(nèi)的各種處理,等效于經(jīng)過一個(gè)攻擊信道。幾何變換會使水印能量分散,位置改變。具體變化與幾何變化中采用的插值" title="插值">插值操作方式有關(guān),有時(shí)即使知道精確的幾何變換條件,也不易實(shí)現(xiàn)水印的完全提取[1][2]。因此,一般算法難以抵抗旋轉(zhuǎn)、縮放和平移等幾何處理所造成的去除同步攻擊,抗旋轉(zhuǎn)類幾何攻擊的水印技術(shù)開始成為第二代水印技術(shù)研究的重點(diǎn)。
為了解決幾何變換類攻擊問題,眾多學(xué)者進(jìn)行了大量研究并提出了一些算法[3][4],其中最具代表性的有:(1)基于Fourier-Mellin變換水印算法:在圖像幾何不變域中嵌入水印信號,對旋轉(zhuǎn)和縮放處理具有不變性,但其缺陷是插值操作極易惡化圖像質(zhì)量,同時(shí)造成水印信號的損失。(2)基于模板匹配的水印算法:除水印信號外,在圖像中還嵌入模板信號,通過幾何處理前后模板信號之間的匹配估計(jì)圖像幾何處理參數(shù)進(jìn)行恢復(fù)。不足之處在于模板信號具有的規(guī)則結(jié)構(gòu)和顯著取值,使攻擊者能夠成功地?cái)_亂或去除圖像中的模板信號;且需要采用窮舉搜索的策略進(jìn)行參數(shù)估計(jì),增加算法的復(fù)雜度。(3)基于圖像特征的水印算法:圖像的顯著特征對視覺系統(tǒng)有較好的不變性,利用圖像的底層特征可對水印信號的檢測進(jìn)行同步。然而如何自動、可靠地提取這些特征(尤其是圖像受到若干處理的情況下)始終是模式識別領(lǐng)域的一個(gè)難點(diǎn)。(4)校準(zhǔn)信號幾何同步方法:該方法可以實(shí)現(xiàn)常見幾何變換的估計(jì)與同步,但幾何逆變換操作是實(shí)現(xiàn)水印檢測的必須步驟,這樣二次處理中的插值運(yùn)算使用越多,水印信息丟失越多。
鑒于上述原因,考慮無需對遭受幾何攻擊圖像進(jìn)行恢復(fù)校正,而是根據(jù)其經(jīng)歷的幾何變換追蹤水印信息的新位置,因而提出了水印扇區(qū)塊的概念,即依據(jù)三元組[5]思想在水印扇區(qū)塊中嵌入和提取水印,通過霍夫變換估計(jì)圖像的旋轉(zhuǎn)角度。由于未對載體圖像作二次處理,因此最大可能地保存了剩余其中的水印信息。
1 算法設(shè)計(jì)
1.1 圖像小波變換" title="小波變換">小波變換細(xì)節(jié)子圖中植入基準(zhǔn)線
小波變換是近幾年興起的一種可以達(dá)到時(shí)域或頻域局部化的信號時(shí)頻分析方法,其多分辨率處理能力及頻帶的多尺度劃分與人類的思維方式和生理功能相吻合;基函數(shù)靈活多樣,是一種快速的線性運(yùn)算;圖像經(jīng)過小波多分辨率分解后,能量幾乎都集中在較低頻的子圖像上,在低頻逼近子圖上嵌入的水印穩(wěn)健性強(qiáng);人眼對高頻分量的改變不敏感,所以在圖像細(xì)節(jié)子圖上添加一個(gè)隱蔽的基準(zhǔn)線,被用來測試圖像旋轉(zhuǎn)角度β,不會引起圖像失真。
1.2 霍夫變換估計(jì)旋轉(zhuǎn)角度
水印提取時(shí),對待測圖像一級小波分解后的細(xì)節(jié)子圖進(jìn)行霍夫變換(坐標(biāo)原點(diǎn)選擇為圖像的中心點(diǎn),極角的范圍為θ∈[0,2π],角度間隔△θ=1°),檢測前先添加其中的基準(zhǔn)線;選取具有最強(qiáng)方向的一條直線P(即添加的基準(zhǔn)線),根據(jù)式(1)計(jì)算其角度的改變,即圖像的旋轉(zhuǎn)角度(負(fù)值表示順時(shí)針旋轉(zhuǎn),正值表示逆時(shí)針旋轉(zhuǎn)):
圖像實(shí)際應(yīng)用中通常只進(jìn)行小角度旋轉(zhuǎn),因此在使用上式計(jì)算旋轉(zhuǎn)角度時(shí)隱含一個(gè)假設(shè):即圖像旋轉(zhuǎn)的角度不超過45°,霍夫變換中極角取值間隔為1°,因而旋轉(zhuǎn)角度估計(jì)的精度為1°。
1.3 扇區(qū)塊水印嵌入
扇區(qū)塊的角度變化如圖2所示。為便于水印的定位和準(zhǔn)確計(jì)算,提出了水印扇區(qū)塊的概念:在圖像一級小波變換的低頻子圖LL中,以其中心為圓點(diǎn),低頻子圖被劃分為許多扇道,選擇同一扇形(10°)中標(biāo)記為1、2、3的三個(gè)扇區(qū)塊,并依據(jù)它們的線性關(guān)系嵌入水印。如果圖像遭到旋轉(zhuǎn)攻擊,標(biāo)號為1、2、3的扇區(qū)塊就從原位置旋轉(zhuǎn)到新位置。這樣只要知道旋轉(zhuǎn)角度就可以方便、準(zhǔn)確地定位三個(gè)扇區(qū)塊的新位置1′、2′、3′,然后進(jìn)行水印的檢測。
借鑒三元組思想:定義三個(gè)扇區(qū)塊的塊均值從小到大依次為f1、f2、f3,依據(jù)式(2)改變塊均值間的線性關(guān)系來隱藏一位信息:如果要嵌入1,將中間值f2與最大值f3取相同;如果要嵌入-1,則與最小值f1取值相同。該塊在未被改動的情況下,依據(jù)公式(2)計(jì)算所提取出的信息應(yīng)為1或-1。
當(dāng)圖像發(fā)生旋轉(zhuǎn)時(shí),三個(gè)扇區(qū)塊也發(fā)生同角度的旋轉(zhuǎn)。圖像旋轉(zhuǎn)后,不同位置扇區(qū)塊元素值會有所改變,但它們的改變方向是一致的,只要扇區(qū)塊中的元素足夠多,旋轉(zhuǎn)后各塊均值間就能夠保持這種線性關(guān)系??紤]到如果f2改變太大,會引起圖像失真,為了維持水印的不可見性,實(shí)驗(yàn)數(shù)據(jù)表明在保證水印不可見性基礎(chǔ)上為了滿足最大嵌入強(qiáng)度要求,f2的改變不應(yīng)超過其本身的 50%。
圖2所示圓形區(qū)域有4個(gè)象限,同一位信息存貯在4個(gè)象限的不同位置,這樣水印信息被重復(fù)嵌入,當(dāng)某處信息被破壞后,還可以通過其他處的“后備”來重構(gòu)。以每一處提取的隱藏信息為權(quán)值,在重構(gòu)時(shí)對各處的提取值進(jìn)行加權(quán)平均值計(jì)算,這樣得到的重構(gòu)水印更加準(zhǔn)確。
2 水印算法描述
2.1 水印生成
為保證水印保密性,采用了線性移位寄存器產(chǎn)生的m序列作為被嵌入的二值水印信號(-1,1),記為W,水印長度為K,W={w(k)|0≤k≤K,w(k)∈(-1,1)}:m序列發(fā)生器的種子作為密鑰保管。
2.2 水印嵌入
水印嵌入步驟如下:
(1)對圖像I進(jìn)行一級小波變換,記作Y=DWT(I)。
(2)在細(xì)節(jié)子圖HH中添加基準(zhǔn)線P。
(3)在逼近子圖中劃分扇區(qū)塊,從第一象限第一扇區(qū)開始,計(jì)算三個(gè)扇區(qū)塊的塊均值,自小至大為f1、f2、f3。
?、偃羟度?1,當(dāng)f2-f1<50%×f2時(shí),則將塊2中的每個(gè)值減(f2-f1),使得塊均值f2=f1;否則使f2=f2×(1-50%);
?、谌羟度?,當(dāng)f3-f2<50%×f2時(shí),則將塊2中的每個(gè)值加(f3-f2),使得塊均值f2=f3;否則使f2=f2×(1+50%)。
(4)對每一位水印信息W(k)在4個(gè)象限重復(fù)步驟3 進(jìn)行嵌入。
(5)將所有水印信息嵌入后,進(jìn)行逆DWT變換,還原回原圖位置,構(gòu)成了水印化加密圖像I′。
2.3 水印提取
水印提取是嵌入的逆過程,具體步驟如下。
(1)對水印化圖像I′進(jìn)行一級小波變換,在細(xì)節(jié)子圖HH中通過霍夫變換計(jì)算圖像旋轉(zhuǎn)角度β。
(2)根據(jù)旋轉(zhuǎn)角度β,追蹤三個(gè)扇區(qū)塊的新位置,計(jì)算三個(gè)扇區(qū)塊塊均值f1′、f2′、f3′。
(3)根據(jù)式(2)計(jì)算每塊中隱藏的信息。式(2)中,若f3′=f1′,則可令w=0。w的絕對值越接近1,說明提取信息的準(zhǔn)確性越高;w越接近0,說明圖像被改動越大。
(4)在4個(gè)象限重復(fù)進(jìn)行步驟(2)~(3),得到4個(gè)同樣表示第k位水印的信息w,計(jì)算這4個(gè)信息的帶符號算術(shù)平均值W(k)<sup>s</sup>,k=0,1,……K-1,W(k)<sup>s</sup>∈[-1,1];若W(k)<sup>s</sup>≥0,則第k位水印信息W(K)′=1;否則W(K)′=-1。這樣就構(gòu)成了檢測到的水印W′,W′={w(k)|0≤k≤K,w(k)∈(-1,1)}。
(5)用作為密鑰保管的種子,通過同一線性移位寄存器產(chǎn)生與水印嵌入時(shí)相同的m序列W,比較W與W′的相似程度,以確定圖像中是否含有水印。
3 實(shí)驗(yàn)結(jié)果及分析
仿真實(shí)驗(yàn)采用的載體圖像是512×512的256級灰度圖像Lena,水印長度 54b。在VC++6.0平臺對上述算法進(jìn)行了編程實(shí)現(xiàn)。公式(3)定義的峰值信噪比PSNR被用來衡量水印化圖像與原始載體圖像的質(zhì)量差別,其中I(i,j)和(i,j)分別表示原圖像和水印化圖像中對應(yīng)位置的像素。公式(4)定義的相關(guān)系數(shù)NC被用來衡量提取的二值水印圖像與原始水印圖像的相似程度,其中的w(i)和wx(i)分別表示第i位原始水印和第i位提取水印。
圖3為原始圖像,圖4為嵌入水印后未經(jīng)攻擊的圖像,PSNR值達(dá)到35.57,算法基本保證了水印的不可見性,從中提取的水印與原始水印完全相同。圖5為水印化圖像旋轉(zhuǎn)5°的情形,圖6為檢測到的基準(zhǔn)線,旋轉(zhuǎn)角度估計(jì)完全正確,提取水印與原始水印相似度為0.94。
文獻(xiàn)[6]是一種較理想的抗旋轉(zhuǎn)攻擊方法,表1對兩種方案進(jìn)行了實(shí)驗(yàn)比較。從中可以看出,本算法在遭到旋轉(zhuǎn)攻擊后能較準(zhǔn)確地提取出水印,小角度旋轉(zhuǎn)后的水印提取性能明顯較高。
幾種類型攻擊后提取的水印相似度NC如表2所示。從表中看出,本方法作為一種小波域水印算法,在載體圖像的逼近子圖中嵌入水印,使得算法具有較好魯棒性。引入三元組扇區(qū)塊概念后,水印重復(fù)嵌入,水印被散布處理,因此對于涂抹和剪切等幾何型攻擊具有很好的抗攻擊能力,提高了水印提取的準(zhǔn)確度;而用于檢測圖像旋轉(zhuǎn)角度的基準(zhǔn)線則在細(xì)節(jié)子圖中嵌入,其嵌入強(qiáng)度選取合適,既不容易被察覺,又具有穩(wěn)定性,經(jīng)過霍夫變換后能準(zhǔn)確檢測出圖像旋轉(zhuǎn)的角度。
水印扇區(qū)塊尺寸的選擇會影響水印的穩(wěn)健性,選擇的扇區(qū)塊面積越大,則包含的點(diǎn)越多,算法越穩(wěn)定。但同時(shí)由于被改變的點(diǎn)數(shù)量增大會引起圖像改動過大,相應(yīng)可嵌入水印的容量會減少;另外,塊均值f2改變越大,水印的穩(wěn)定性會越高,但若其改動過大,則易引起圖像失真,所以改動范圍應(yīng)根據(jù)圖像局部特點(diǎn)自適應(yīng)調(diào)節(jié);扇區(qū)塊尺寸的劃分和f2的改變要根據(jù)嵌入水印的穩(wěn)健性和數(shù)字圖像的具體應(yīng)用折衷考慮,要盡量保持水印的穩(wěn)健性和不可見性間的平衡。
本文提出了一種基于霍夫變換的小波域數(shù)字水印方案,實(shí)現(xiàn)了水印的盲提取。用霍夫變換檢測圖像旋轉(zhuǎn)角度,由于未對載體圖像進(jìn)行二次恢復(fù)處理,最大限度地保存了剩余水印信息;又用三元組和重復(fù)嵌入方法增強(qiáng)了水印的魯棒性;加入水印后的圖像在人眼觀察下也沒有較大的視覺失真,客觀評價(jià)指數(shù)很滿意。實(shí)驗(yàn)結(jié)果表明該算法計(jì)算簡單,能有效抵抗旋轉(zhuǎn)類型幾何攻擊,具有廣泛的應(yīng)用價(jià)值。
參考文獻(xiàn)
1 Cox I J,Killian J.Leighton F T et al.Secure spread spectrum watermarking for multimedia.IEEE Transaction Image Process-ing[J],1997;6(12):1673~1687
2 張 艷,劉 兵.抗旋轉(zhuǎn)的數(shù)字圖像水印算法.云南大學(xué)學(xué)報(bào)(自然科學(xué)版)[J],2005;27(1):22~25
3 俞龍江,牛夏牧,孫圣和.一種旋轉(zhuǎn)、尺度變換和平移魯棒水印算法.電子學(xué)報(bào)[J],2003;31(12A):2071~ 2073
4 姚 俊,郭 雷,任建峰.一種抗旋轉(zhuǎn)、尺度和平移處理的圖像水印算法[J].計(jì)算機(jī)應(yīng)用,2004;24(12):19~21
5 Zhao J,Koch E.Embedding robust labels into images for copyright protection[C].In:Proceeding of the international congress on intellectual property rights for specialized infor-mation,knowledge and new technologies,Vienna,Austria,1995
6 袁 源,李炳法,楊 杰.一種高效抗旋轉(zhuǎn)攻擊的盲數(shù)字水印技術(shù).信息技術(shù)[J],2003;27(12):28~30