王玲玲, 胡社教
(合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院,安徽合肥 230009)
數(shù)字水印一般應(yīng)該具有透明性、魯棒性和安全性等特點(diǎn)。圖像的水印技術(shù)大致可以分為3類:空域技術(shù)、變換域技術(shù)和壓縮域技術(shù),其中變換域的自適應(yīng)嵌入方法在數(shù)字水印中占有重要地位。就DCT(Discrete Cosine Transform)域來(lái)說(shuō),自適應(yīng)嵌入方法可以分為基于系數(shù)的和基于塊的2類[1]。系數(shù)自適應(yīng)嵌入算法中嵌入因子隨系數(shù)的不同而改變,主要是基于JND(Just Noticeable Difference)模型的;塊自適應(yīng)嵌入算法中,不同特性塊的系數(shù)對(duì)應(yīng)的嵌入因子不同。塊特性一般根據(jù)均值、方差及紋理等來(lái)劃分。本文研究的是基于塊分類的自適應(yīng)水印算法。
文獻(xiàn)[2]研究了基于系數(shù)的自適應(yīng)算法,它主要利用JND模型來(lái)確定系數(shù)是否適合嵌入;而文獻(xiàn)[3]研究了基于塊的自適應(yīng)算法,通過(guò)計(jì)算每塊的熵值和方差對(duì)圖像塊進(jìn)行分類。這些算法都需要設(shè)定閾值,雖然它們?cè)谝欢ǔ潭壬陷^好地解決了水印透明性和魯棒性的矛盾,但還存在圖像分類閾值難以確定、效果不夠理想等問(wèn)題。針對(duì)以上不足,本文在充分考慮人眼視覺(jué)特性的基礎(chǔ)上,選用自組織映射(SOM)的方法對(duì)圖像塊進(jìn)行分類。實(shí)驗(yàn)結(jié)果表明,SOM網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單,其分類效果優(yōu)于傳統(tǒng)的閾值分類法,基于該塊分類方法的水印算法具有較好的透明性、魯棒性和安全性。
人類視覺(jué)系統(tǒng)(HVS)對(duì)圖像所具有的頻率、亮度和紋理等都具有掩蔽效應(yīng)[1]。人眼對(duì)于中頻范圍內(nèi)的亮度變化最敏感,在較低和較高的頻率處人眼的靈敏度會(huì)下降。人眼對(duì)圖像平滑區(qū)的噪聲敏感,對(duì)紋理復(fù)雜區(qū)的噪聲不敏感。根據(jù)上述原理,首先把原始圖像分成8×8大小的圖像塊,然后把這些圖像塊分成3類[4]:第1類(C1)背景亮度較低,紋理簡(jiǎn)單;第3類(C3)背景亮度較高,紋理復(fù)雜;其余的為第2類(C2)。本文采用自組織映射網(wǎng)絡(luò)的方法對(duì)圖像塊進(jìn)行分類。
自組織映射[5]學(xué)習(xí)算法屬于無(wú)監(jiān)督競(jìng)爭(zhēng)學(xué)習(xí)算法,包含競(jìng)爭(zhēng)、合作和更新3個(gè)過(guò)程。
在競(jìng)爭(zhēng)過(guò)程中,確定輸出最大的神經(jīng)元為獲勝神經(jīng)元。由于神經(jīng)元的激勵(lì)函數(shù)為線性函數(shù),神經(jīng)元的輸出取決于其輸入即輸入向量X=[x1,x2,…,xN]T和權(quán)值向量Wi=[wi1,wi2,…,wiN]T(i=1,2,…,M)的內(nèi)積。而該內(nèi)積在輸入向量和權(quán)值向量均為歸一化向量時(shí),等價(jià)于輸入向量和權(quán)值向量的歐氏距離,當(dāng)該歐氏距離最小時(shí)對(duì)應(yīng)的神經(jīng)元的輸出最大,所以當(dāng)輸入向量為X且第c個(gè)神經(jīng)元獲勝時(shí),滿足條件:
其中,‖?‖為輸入向量 X和權(quán)值向量Wi的歐氏距離。
在合作過(guò)程中,確定獲勝神經(jīng)元的加強(qiáng)中心。拓?fù)溧徲虻闹行木褪窃诟?jìng)爭(zhēng)過(guò)程中得到的獲勝神經(jīng)元,在鄰域范圍內(nèi)的神經(jīng)元稱為興奮神經(jīng)元,即加強(qiáng)中心。當(dāng)采用正方形的鄰域形狀時(shí),拓?fù)溧徲虻陌霃礁囊?guī)則可表示為:
其中,Nc(0)表示初始的拓?fù)溧徲虬霃?N為總的迭代次數(shù);INT(?)表示取整函數(shù)??梢钥闯?拓?fù)溧徲螂S著迭代次數(shù)的增加是不斷收縮的。
在更新過(guò)程中,采用Hebb學(xué)習(xí)規(guī)則的改變形式,對(duì)網(wǎng)格上獲勝神經(jīng)元拓?fù)溧徲騼?nèi)的神經(jīng)元進(jìn)行權(quán)值向量的更新,即
Wj(n+1)=Wj(n)+η(n)(X-Wj(n))(3)其中,n=0,1,2,…,N;0<η(n)<1。
塊分類的具體過(guò)程為:
(1)將原始圖像進(jìn)行8×8分塊,求出每一塊的均值和方差,定義一個(gè)2行的向量P,把每塊的均值依次放在向量P的第1行和第2行中,得到一個(gè)2行的輸入向量P。
(2)初始化自組織映射函數(shù)。每50步顯示1次,訓(xùn)練的最大迭代次數(shù)為1 000步,學(xué)習(xí)速率為0.25。權(quán)值向量W用較小的隨機(jī)值初始化。
(3)訓(xùn)練自組織映射函數(shù),確定加強(qiáng)中心。根據(jù)人類視覺(jué)系統(tǒng)原理把原圖像分為3類,訓(xùn)練后的自組織映射函數(shù)的權(quán)值向量W是3×2。
(4)求歐氏距離進(jìn)行分類。在向量W中有3行,定義每行為1類,共3類。然后用向量P的第1列(代表原始圖像第1塊的均值和方差)和W中的每行求歐氏距離,公式為:
其中,x、y分別為P中第 1列的2個(gè)元素;a、b為W中的元素。得到3個(gè)距離,比較這3個(gè)距離,如果與第1行的距離最小,可知第1塊屬于W第1行代表的類,依次類推。同樣方法,將向量P的其余各列分別與W的每行求歐氏距離,對(duì)原始圖像的每塊進(jìn)行分類。
(4)原始圖像塊被分為3類。Lena圖像Y分量(256×256)進(jìn)行塊分類的結(jié)果如圖1所示。
圖1 自組織映射網(wǎng)絡(luò)塊分類效果圖
水印嵌入具體算法步驟為:
(1)設(shè)水印圖像為w,大小為M×M,將其進(jìn)行n次Arnold置亂變換,置亂次數(shù)n可以作為密鑰的一部分。
(2)將原始圖像I(大小為N×N)從RGB顏色空間轉(zhuǎn)換到Y(jié)IQ顏色空間,提取其Y分量[6]并依據(jù)上述的圖像塊分類算法分成3類,即C1、C2和C3。
(3)將Y分量分成互不重疊的8×8的子塊fk(x,y),對(duì)每塊進(jìn)行DCT變換得Fk(u,v)。選擇每個(gè)Fk(u,v)中按Z字形掃描順序從Fk(1,4)開(kāi)始的前m個(gè)中頻系數(shù)(m=ceil(M×M/[(N×N)/(8×8)]),并進(jìn)行如下量化處理:
其中,k=1,2,…,(N×N)/(8×8),用量化因子q對(duì)選定的DCT系數(shù)量化并取整,然后根據(jù)置亂后的水印信息wj(j=1,2,…,M×M)對(duì)Qk(u,v)進(jìn)行調(diào)整。如果嵌入的水印信號(hào)為0,則偏移量是0;如果嵌入的水印信號(hào)是1,則Fk(u,v)上疊加其值為量化因子1/2的偏移量。對(duì)不同分類的子塊q可取不同的值。
(4)DCT逆變換得到含水印圖像的Y分量,將YIQ顏色空間轉(zhuǎn)換回RGB顏色空間,得到含水印圖像。
水印信息的提取是水印嵌入的逆過(guò)程,算法為:將待檢測(cè)圖像I′進(jìn)行8×8分塊,并利用SOM的方法進(jìn)行塊分類,每一塊進(jìn)行分塊DCT變換得到F′k(u,v),仍采用嵌入時(shí)相同的量化因子q,選取與嵌入過(guò)程相同的中頻系數(shù)進(jìn)行量化。當(dāng)量化余數(shù)為q/2時(shí),說(shuō)明該系數(shù)上嵌入的水印值為1,當(dāng)量化余數(shù)為0時(shí),說(shuō)明嵌入的水印值為0。因此可根據(jù)量化余數(shù)與0、q和q/2的接近程度來(lái)判斷所嵌入的水印值,從而不需要原始圖像就可提取出水印序列??刹捎?7)式確定所嵌入的水印值 ,即
將提取的水印序列進(jìn)行Arnold反置亂變換得到原水印圖像。
本文給出了以256×256×3大小的彩色Lena圖像為原始圖像,以32×32大小的二值圖像為水印信息的仿真結(jié)果。其中,C1類、C2類和C3類對(duì)應(yīng)的量化因子分別為18、24和30,圖像置亂次數(shù)n為12。算法透明性用峰值信噪比[7](PSNR)衡量,水印相似性用歸一化互相關(guān)系數(shù)(NC)[8]表示。
原始圖像和水印圖像如圖2所示,含水印信息的圖像和從中提取的水印如圖3所示。顯然,人眼無(wú)法感知含水印圖像與原始圖像之間的差別,其較高的PSNR值(46.061 1 dB)也說(shuō)明了算法具有良好的透明性。
圖2 原始圖像和水印圖像
圖3 含水印圖像和提取出的水印
含水印圖像中加入均值為0、方差為0.000 1的高斯噪聲和強(qiáng)度為0.002的椒鹽噪聲后,提取出的水印如圖4所示,其NC值分別為0.978 6和0.917 0。
圖4 含噪聲圖像中提取的水印
含水印圖像被剪去1/4和1/2時(shí)提取出來(lái)的水印如圖5所示,其 NC值分別為 0.948 7和0.907 5。
圖5 剪切攻擊測(cè)試
含水印圖像增強(qiáng)和拉普拉斯濾波之后提取出的水印如圖 6所示,其 NC值分別 0.835 9和0.708 5。
圖6 圖像增強(qiáng)和濾波攻擊測(cè)試
JPEG壓縮測(cè)試如圖7所示,其NC值分別為0.993 7和0.899 6。
圖7 JPEG壓縮測(cè)試
本文提出了一種基于DCT系數(shù)量化的自適應(yīng)水印算法,它根據(jù)HVS特性,利用自組織映射網(wǎng)絡(luò)的方法,實(shí)現(xiàn)了一個(gè)自適應(yīng)的盲檢測(cè)數(shù)字水印系統(tǒng)。該算法具有以下特點(diǎn)。
(1)采用SOM 的方法進(jìn)行圖像塊分類,分類效果優(yōu)于既繁瑣又難以保證準(zhǔn)確性的閾值分類法,從而在確保水印透明性的同時(shí)有效地增強(qiáng)了水印的魯棒性。
(2)通過(guò)對(duì)載體圖像DCT進(jìn)行量化嵌入水印,使得提取過(guò)程不需要原始圖像的參與。
(3)由實(shí)驗(yàn)結(jié)果可知,該算法對(duì)剪切攻擊和JPEG壓縮有很好的魯棒性。
[1] 孫圣和,陸哲明,牛夏牧.數(shù)字水印技術(shù)及應(yīng)用[M].北京:科學(xué)出版社,2004:451-454.
[2] Raymond B W,Christine I P.Perceptual watermarks for digital image and video[J].Proceedings of the IEEE,1999,87(7):1108-1126.
[3] 易開(kāi)祥,石教英.自適應(yīng)二維數(shù)字水印系統(tǒng)[J].中國(guó)圖象圖形學(xué)報(bào):A輯,2001,6(5):444-449.
[4] 黃繼武,Shi Y Q,姚若河.基于塊分類的自適應(yīng)圖象水印算法[J].中國(guó)圖象圖形學(xué)報(bào):A輯,1999,4(8):640-643.
[5] 高 雋.人工神經(jīng)網(wǎng)絡(luò)原理及仿真實(shí)例[M].北京:機(jī)械工業(yè)出版社,2003:146-151.
[6] Ahmidi N,Safabakhsh R.A novel DCT-based approach for secure color image watermarking[J].Coding and Computing,2004,2(4):709-713.
[7] 李紅蕾,凌 捷,徐少?gòu)?qiáng).關(guān)于圖像質(zhì)量評(píng)價(jià)指標(biāo)PSNR的注記[J].廣東工業(yè)大學(xué)學(xué)報(bào),2004,21(3):74-78.
[8] Miller M L,Bloom J A.Computing the probability of false watermark detection[C]//Proceedings of the third International Workshop on Information Hiding,Dresden,Germany,1999:658-663.