摘要:提出了基于廣義Arnold變換和神經網絡模型的圖像空域水印算法。二值水印嵌入位置通過廣義貓映射隨機產生,訓練一個神經網絡記憶每個圖像塊中像素之間的關系,并采用水印嵌入增強處理技術,加強了水印的嵌入強度。實驗結果表明,該算法具有較強的魯棒性,能有效地抵抗剪切攻擊、LSB攻擊和椒鹽噪聲攻擊等。
關鍵詞:水印; 神經網絡; Arnold映射
中圖分類號:TP399文獻標志碼:A
文章編號:1001-3695(2008)04-1144-03
數字水印是現代信息隱藏技術的一個重要分支。到目前為止,已經提出了很多數字水印算法,大致分為空域水印和變換域水印兩大類。目前提出的新的水印算法基本上是基于變換域的,但是空域水印方案在水印容量大和算法易于實現方面優勢明顯,只是目前大多數空域水印方案是基于LSB的嵌入思想。這種水印算法魯棒性極差,極容易被攻擊者提取[1,2],缺乏安全性。雖然一些學者針對LSB算法提出了抗檢測分析的措施[2],但仍不能提高LSB算法的魯棒性。Hwang等人[3]采用單向hash函數提高了水印算法的安全性。宋琪等人[4]借鑒了文獻[3]的思想提出了用隨機數置亂水印嵌入位置來提高安全性的方法,并將水印嵌入到非LSB位平面;但隨機產生的水印嵌入位置存在沖突現象,需要用記錄表來解決此沖突問題,這樣無疑降低了算法的時間效率和可應用性。
人工神經網絡具有強大的學習和非線性逼近能力,這些特點與人眼視覺系統具有極大的相似性。因此基于神經網絡的智能處理理論可以精確地確定圖像中嵌入水印的特征、強度并建立它們之間的關系[5]。本文提出了一種利用神經網絡實現的空域圖像水印算法[6]。它首先采用二維廣義Arnold映射隨機生成水印嵌入位置;然后,建立一個從輸入至輸出的非線性函數關系的神經網絡模型,再在該模型的指導下嵌入和提取水印;最后,通過理論分析和實驗仿真,驗證了本算法良好的安全性、不可感知性和魯棒性,水印提取和檢測不需要原始圖像和水印。
1水印嵌入與提取策略
1.1廣義貓映射基本工作原理
若載體圖像坐標點的取值用{1,2,…,N}×{1,2,…,N}表示,映射方程表示形式為
xnyn=1Pqpq+1nx0y0 mod N+1(1)
式(1)表示用給定的獨立參數p、q和迭代次數n作為密鑰,由初值點(x0,y0)先經過n次迭代后取模運算,再將結果加1作為變換后的坐標(xn,yn)。這樣推廣的Arnold映射式(1)具有混沌映射特性,生成的迭代結果(xn,yn)作為水印圖像中的點(x,y)將嵌入載體圖像中的位置(x′,y′)。由于映射的混沌特性,當迭代次數足夠大時,任意兩個相鄰像素點的嵌入位置將會產生極大的分離。又由于該映射是一一映射,不同位置的水印像素置亂到載體圖像空間的位置不會發生沖突。這樣,水印圖像的全部像素將被隨機而均勻地置亂到載體圖像的整個像素空間,從而實現了水印嵌入位置的隨機選擇。
1.2BP神經網絡模型的建立
BP神經網絡是一種應用非常廣泛的前饋神經網絡,其典型結構如圖1所示,包含輸入層、隱層和輸出層。 其中,每一層的神經元與相鄰層的神經元完全連接,在每個連接上有一個權值wi, j,通過樣本集的訓練與學習,調整了它們之間連接的權值和每個神經元的閾值。 通常,所有初始權值wi, j為隨機值,每次迭代均根據delta學習規則調整相應的權值,直到滿足終止條件,從而建立一個從輸入至輸出間非線性關系的神經網絡模型。
二值水印采用空域嵌入技術。本文通過建立宿主圖像中被隨機選擇的像素及其3×3鄰域像素之間關系的BP神經網絡模型作為嵌入模型。由于神經網絡是本質的非線性系統,能充分逼近任意復雜的非線性關系,所建立的神經網絡模型能夠很好地表示像素點與其鄰域像素點之間的關系[7]。本文建立了一個輸入層為八個神經元、隱層為八個神經元、輸出層為一個神經元的三層BP神經網絡(881結構)。其中:隱層神經元的變換函數為sigmoid 型函數;輸出層為純線性函數。若選定圖像某點Xi, j,將其周圍的八個點作為輸入,Yi, j作為輸出,構成一個學習樣本,神經網絡模型如下:
隨機選取若干個互不相同的水印嵌入點及其鄰域就構成了神經網絡的全部樣本學習空間。
若載體圖像為512×512的Elaine圖像,按照廣義貓映射方法選取其中的128×128 個點及其鄰域形成樣本空間集,共涉及到384×384個像素點,這樣的隨機選取可覆蓋整個圖像。以此樣本集進行訓練,經過36代后得到的BP模型的輸出Yi , j與目標Xi , j之差絕對值的平均值為2.848。一般相差2~5,視覺感覺不出有區別。因此,該模型很好地表示了像素點與其鄰域點之間的映射關系。
1.3水印嵌入算法
設大小為M×M的二值水印數字圖像矩陣為W={W(i,j), 1≤i,j ≤M},大小為N×N的原始載體圖像矩陣為X={X(x,y), 1≤x,y≤N}。其中:(i,j)和(x,y)分別為二值水印圖像和原始載體圖像的像素坐標;W(i,j)和X(x,y)分別為相應坐標位置的像素值。為保證嵌入的水印避免非授權提取和增強對噪聲及攻擊等的魯棒性,將水印各像素隨機散布到整個載體圖像空間中;具體嵌入位置(x,y)按廣義貓映射式(1)計算而得,即以被嵌入水印像素的位置(i,j)為初值,通過式(1)迭代n次得到(x,y)。其中:式(1)中的獨立參數p、q、迭代次數n作為密鑰參數。由于式(1)是一一映射,對于確定的密鑰參數,不同位置(i,j)的水印比特將產生不同的嵌入位置(x,y)。得到嵌入位置后,通過調整BP網絡模型輸出值Yx,y 與Xx,y 值的大小關系,在宿主圖像空間中嵌入水印。如果二值序列編碼中的位值為1,則Xx,y=Xx,y+1,使Xx,y>Yx,y;否則Xx,y=Xx,y-1,使Xx,y<Yx,y,實現對水印嵌入位置像素值的增強處理。
1.4水印提取算法
水印的檢測提取是判斷載體圖像是否包含水印或可靠地提取水印。這里在已知大小為M×M的二值水印矩陣的前提下,首先由密鑰參數p、q、迭代次數n重新生成嵌入水印的位置,并根據BP網絡模型及其參數求出嵌入水印后宿主圖像的模型輸出Yx,y。如果Xx,y>Yx,y ,則恢復二值序列編碼相應位的值為1,否則為0,即
對此二值序列作信息回歸處理形成二值水印比特位流。水印提取過程如圖3所示。
2實驗仿真與分析
實驗采用有意義的“中南大學”四個字的128×128二值圖像作為水印,像素值為W(i,j)= {0,1}(1≤i≤128, 1≤j≤128),原始載體圖像為512×512×8位的Elaine灰度圖像X(x,y)(1≤x≤512, 1≤y≤512);水印容量按水印像素數與載體像素數之比為1/16。實驗中取廣義貓映射的兩個獨立參數p=2,q=3,迭代次數n=20,將載體圖像中間的510×510像素分成170×170個3×3的圖像子塊,故N=170。在MATLAB7平臺上進行算法仿真實驗。
仿真實驗選擇有意義二值圖像作為水印,目的在于增強水印的可證明性。證明提取水印的準確性和不可見性除了可憑主觀判別外,還可用提取水印和原水印的歸一化相似度NC和水印載體圖像的峰值信噪比PSNR進行客觀性度量。 NC=[∑Mx=1∑My=1w(x,y)×w(x,y)]/[∑Mx=1∑My=1w(x,y)×w(x,y)](4)
PSNR=10 log10{N×N×max(f 2(x,y))/∑Nx=1∑Ny=1[f(x,y)-f ′(x,y)]2}(5)
1)圖4(a)為原始載體圖像;(b)為原始水印圖像。圖5(a)為嵌入水印后的載體圖像(PSNR=42.46);(b)是用正確密鑰從水印載體圖像中提取的水印;(c)為用錯誤密鑰從水印載體圖像中提取的水印。由此可見,含水印載體圖像保持較高視覺質量;當使用正確密鑰時可以完全準確地提取水印,且提取水印速度快;不知道準確密鑰的非授權者無法提取正確水印。這正是廣義貓映射對初始條件敏感性的表現,初值的微小差別將導致提取的水印面目全非,所以水印具有密碼學意義上的安全性。
2)該算法能抵抗椒鹽噪聲的攻擊。圖6所示為當水印載體圖像被強度為0.04的椒鹽噪聲攻擊后(PSNR=28.56),提取的水印效果良好(NC=0.92)。
3)該算法能抵抗圖像剪切攻擊。圖7所示為載體圖像被剪切10%、15%、25%時,依次從中提取的水印。提取水印的相似度NC分別為0.87、0.79、0.64;此時被破壞圖像的PSNR值已分別降低到16.69、12.16、8.78。可見,由于采用了隨機嵌入水印策略,本算法嵌入的水印具有較強的抗剪切攻擊能力。
進一步的實驗仿真表明,對圖像進行一般性修改,如添加及改變畫面部分圖像等,提取的水印受到的影響并不顯著,依然清晰可辨。
3結束語
本文提出了一種基于神經網絡的自學習能夠以任意精度逼近任意非線性函數的特性和廣義Arnold變換的數字圖像魯棒性空域水印算法。引入了二維廣義Arnold映射來隨機置亂水印嵌入位置,使嵌入的水印具有密碼學意義的安全性;在空間域中嵌入水印,使得水印具有很好的不可感知性;采用水印嵌入增強技術,增強了水印算法的魯棒性;水印的提取僅依賴于一組密鑰參數和神經網絡模型的訓練輸出,而不需要其他附加條件,增強了水印的可應用性。因此,將人工神經網絡理論與混沌映射理論應用于數字水印新技術的研究具有十分重要的學術意義和實際應用價值。
參考文獻:
[1]張新鵬,王塑中,張開文. 抗統計分析的LSB密寫方案[J]. 中國圖象圖形學報, 2003, 8(9): 155-160.
[2]張濤,平西建.基于差分直方圖實現LSB信息偽裝的可靠檢測[J].軟件學報,2004,15(1):151-158.
[3]HWANG M S,CHANG C C, HWANG K F. A watermarking technique based on one-way hash function[J]. IEEE Trans on Consumer Electronics, 1999,45(2): 286-294.
[4]宋琪, 朱光喜, 容太平,等. 一種基于模運算的數字水印隱藏算法[J]. 電子學報, 2002,30(6):890-892.
[5]ZHANG Jun,WANG Neng-chao, XIONG Feng. Hiding a logo watermark into the multiwavelet domain using neural networks[C]//Proc of the 14th IEEE International Conference on Tools with Artificial Intelligence.Washington DC:IEEE Computer Society,2002: 477-482.
[6]劉建民,趙健,謝端.基于RBF 神經網絡的空域圖像水印改進算法[J]. 計算機工程與應用, 2005, 41(36):36-38.
[7]李旭,顧濤.基于神經網絡的多類水印嵌入技術[J].計算機工程, 2006,31(15):144-145.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”