馮祥斌,陳永紅
(華僑大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,福建 廈門 361021)
隨著數(shù)字技術(shù)[1]逐步滲透到社會生活中,多媒體數(shù)據(jù)的版權(quán)保護(hù)成為一個關(guān)鍵性問題。數(shù)字水印技術(shù)作為傳統(tǒng)加密方法的有效補充手段,是目前信息安全技術(shù)領(lǐng)域的一個新方向。其中,數(shù)字圖像水印技術(shù)通過在原始圖像中隱藏相應(yīng)的信息以保護(hù)合法的所有權(quán)。一個完整的圖像水印方案主要包括水印生成、水印嵌入、水印檢測和水印攻擊[2]。在保護(hù)圖像多媒體信息版權(quán)時,數(shù)字水印的魯棒性是至關(guān)重要的。由于很多時候原始圖像獲取不便,所以研究的趨勢是在不需要提供原始圖像的情況下進(jìn)行水印的盲檢測。當(dāng)前研究人員已經(jīng)研究出了眾多的盲檢測水印算法,這些算法能夠較好地抵御諸如JEPG壓縮、高斯濾波等常見的信號處理攻擊?;诜饷嬷邢袼氐?-D色彩直方圖特性的盲水印方案[3],它解決了水印的嵌入和檢測的同步問題。為了進(jìn)一步加強被隱藏在宿主信號中的敏感信息的安全性,學(xué)者們一直在嘗試加密和數(shù)字水印技術(shù)的結(jié)合研究。與此同時,目前神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法、糾錯編碼等技術(shù)也被廣泛應(yīng)用于數(shù)字水印技術(shù)中。其中,Tsai等人提出了一種基于人類聽覺系統(tǒng)和神經(jīng)網(wǎng)絡(luò)的自適應(yīng)信號依賴的音頻數(shù)字水印技術(shù)[4],通過神經(jīng)網(wǎng)絡(luò)訓(xùn)練使該算法能夠記住原始音頻和嵌有水印音頻的直接映射關(guān)系,并基于此實現(xiàn)盲檢測。而糾錯編碼技術(shù)也被大量運用于水印算法當(dāng)中[5],糾錯編碼的使用主要是為了在提取水印信號時糾正可能發(fā)生的錯誤。本文提出了一種基于RBF神經(jīng)網(wǎng)絡(luò)和糾錯編碼的混沌盲檢測水印新算法。該方案旨在處理好不可見性和魯棒性平衡關(guān)系的基礎(chǔ)上,提高在諸如JPEG、高斯噪聲、椒鹽噪聲等信號處理攻擊下的魯棒性。
數(shù)字水印的研究表明,將神經(jīng)網(wǎng)絡(luò)技術(shù)應(yīng)用其中可以增加水印系統(tǒng)的自適應(yīng)性和魯棒性。徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)具有良好的通用逼近能力,該神經(jīng)網(wǎng)絡(luò)已經(jīng)被成功用于解決許多信號和圖像問題。徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)是一個完全連接的網(wǎng)絡(luò),通常作為一種分類工具使用。在一個RBF模型中包含三層:輸入層、隱含層、輸出層。隱含層提供了一組函數(shù),該組函數(shù)稱為徑向基函數(shù)。圖1給出的是RBF神經(jīng)網(wǎng)絡(luò)模型,其對應(yīng)的數(shù)學(xué)表達(dá)式如下:
其中hj(x)通常是一個高斯函數(shù),wk0指偏移或者閾值。高斯基函數(shù)作為神經(jīng)元激活函數(shù)。該激活函數(shù)表達(dá)式如下:
圖1 RBF神經(jīng)網(wǎng)絡(luò)模型
在這個神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,輸入層由d個神經(jīng)元組成,輸出層有c個節(jié)點。這相當(dāng)于一個Rd→Rc的映射。用 X表示d維輸入向量xi,μj和 σj分別表示高斯基函數(shù)的中心偏移和標(biāo)準(zhǔn)差。由于RBF神經(jīng)網(wǎng)絡(luò)的輸入層到隱含層是無監(jiān)督的,而隱含層到輸出層是有監(jiān)督的,那么在訓(xùn)練過程中要分兩個階段進(jìn)行。在第一階段中,輸入數(shù)據(jù)集用來獲取諸如 μj和 σj這樣的激活函數(shù)的參數(shù);在第二階段中,隱含層到輸出層之間神經(jīng)元的最優(yōu)權(quán)重值可以用最小化均方誤差函數(shù)得到。下述步驟描述了獲得最優(yōu)權(quán)重的方法。對等式(1)進(jìn)行優(yōu)化,把偏移參數(shù)整合到權(quán)值中,得到優(yōu)化后的等式(3):
進(jìn)一步把等式(3)用矩陣表示法可以改為:
其中 W=wkj,Φ=hj(x)。 均方誤差函數(shù) E可以用下式表示:
其中 Xn表示輸入數(shù)據(jù)集,是輸出單元 k的目標(biāo)值。等式E對wkj進(jìn)行微分,并令導(dǎo)數(shù)為零即可得到最優(yōu)權(quán)重值。這些權(quán)重值可以用如下矩陣表示法表示為:
其中 Φ+=(ΦTΦ)-1是 Φ 的偽逆。在計算得到最優(yōu)權(quán)重值后,RBF可以作為一個分類器,把測試數(shù)據(jù)歸類到所對應(yīng)的類別。
在本文中,由于數(shù)據(jù)近似成線性關(guān)系,將采用RBF神經(jīng)網(wǎng)絡(luò)模型對其進(jìn)行訓(xùn)練。RBF網(wǎng)絡(luò)模型包含基函數(shù)層和線性判別層。RBF神經(jīng)網(wǎng)絡(luò)把高斯基函數(shù)的權(quán)重總和及對角協(xié)方差矩陣作為訓(xùn)練數(shù)據(jù)的后驗概率。信息被存儲在基函數(shù)的中心和寬度參數(shù)中,通常中心設(shè)置為0而寬度設(shè)置為1。RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程如圖2所示。
圖2 RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程
圖2中的C(i)是對原始圖像DWT分解后的各頻帶系數(shù),Q是量化值,p是RBF的輸入值,t是 RBF所期望的輸出值。
本文選擇了(3,1,2)卷積碼進(jìn)行糾錯編碼,以下簡稱糾錯編碼為ECC。它具有較好的糾正隨機錯誤和突發(fā)錯誤的能力,如1比特水印經(jīng)編碼后變成3比特碼字。通過糾錯編碼實際上增加了信息的冗余,冗余的增加使得水印信息的鄰域擴(kuò)大,進(jìn)而提高了水印信息的魯棒性。該卷積糾錯編碼器設(shè)計如下:
用 M=[m0,m1,m2,…,mi,…]表示無窮的輸入信息序列。(3,1,2)卷積編碼器的生產(chǎn)矩陣 G∞是一個半無窮矩陣,它的行列數(shù)是無窮的。輸入信息序列被分成k長度的信息塊,同時,為了提高編碼效率,整個信息序列被逐幀地輸入編碼器,其每幀的信息塊數(shù)量為L。令k=1,L=8,那么用于編碼的原始序列有2kL=256。
卷積碼的性能取決于碼距及其解碼方法。本文使用的解碼方法原理如下:
(1)c1和 c2分別表示從 G∞的相同部分隨機輸出的不同二進(jìn)制塊。
(2)碼距是c1和c2中的相應(yīng)碼字序列的漢明距離權(quán)重二進(jìn)制相加。由于該碼同線性卷積碼很相似,假設(shè)c1+c2=C,那么C也是輸出塊之一,該原理描述如下式:
D(c1,c2)=W(c1+c2)=W(C)=W(C+0)=d(C,0)(10)
(3)解碼器的糾錯性能依賴于輸出序列間的最短距離。通常使用最大似然解碼來找出這個最短距離。其中,最大似然解碼原理是:計算接收幀和對應(yīng)原始序列之間的漢明距離。每接收一個幀,解碼器將其與原始序列塊進(jìn)行比較選出似然概率最大的一個,以此類推最終得到譯碼后的序列。
本文結(jié)合RBF神經(jīng)網(wǎng)絡(luò)模型和糾錯編碼技術(shù)提出了一種新型的水印算法,具體的嵌入算法步驟描述如下:
(1)對原始圖像進(jìn)行DWT分解。得到小波分解后的子帶系數(shù) C(i);再根據(jù)密鑰選擇在系數(shù) C(i)中嵌入水印的起始位置;
(2)通過量化值 Q對小波系數(shù) C(i+key)進(jìn)行量化處理,量化后的結(jié)果作為RBF神經(jīng)網(wǎng)絡(luò)模型的輸入值,最終得到 RBF 的輸出值 RBF(round(C(i+key)/Q));
(3)使用Logistic混沌映射對水印信息進(jìn)行混沌加密置亂處理,把置亂后的水印信息再進(jìn)行糾錯編碼處理;
(4)利用等式(11)把水印嵌入小波系數(shù)中:
該算法能夠?qū)崿F(xiàn)水印的盲提取,具體的水印提取步驟如下:
(1)把接收端收到的嵌有水印的圖像進(jìn)行DWT分解得到小波分解后的各子帶系數(shù) C″(i);
(4)利用等式(13)計算提取的水印信號 x′i和原始水印信號的相似度;
(5)利用相似度、閾值和密鑰(key)判斷是否嵌有水印。如果相似度大于該閾值,那么就確定該處嵌有水印。其中閾值由標(biāo)準(zhǔn)差和虛警率決定(一般為10-6),基于此本文的閾值設(shè)為20.8;
(6)把步驟(5)中提取到的水印信號進(jìn)行糾錯編碼解調(diào)和逆置亂處理,得到最終的水印信息。
仿真實驗的載體是 512×512的man圖像,水印采用32×32的二值圖像,卷積碼一幀長度為L=8。水印嵌入后的載體圖像和原載體圖像的PSNR為40.966 9 dB,根據(jù)人類的視覺系統(tǒng)特性,很難分辨出區(qū)別,說明本算法具有較好的不可感知性,如圖3所示。
為了探討該方案的性能,用峰值信噪比(PSNR)、相似度(NC)和比特錯誤率(BER)這三個量來衡量該算法的不可感知性能、魯棒性能和糾錯能力,這三個衡量值分別列在表1、表2和表3中,表中的Without ECC表示不使用糾錯編碼(ECC),僅使用RBF神經(jīng)網(wǎng)絡(luò)的水印算法,With BP表示使用BP神經(jīng)網(wǎng)絡(luò)代替RBF神經(jīng)網(wǎng)絡(luò)的水印算法,Proposed表示本文提出的算法。
從表1的對比中可以看出,在使用常用的數(shù)字信號處理方案對水印圖像攻擊后,本算法的不可感知性較好。另外,本方案在JEPG壓縮、高斯噪聲、椒鹽、線性濾波(線性濾波 1表示線性濾波_1.7_0.01_0.21_1.2,線性濾波2表示線性濾波_0.97_0.21_0.31_1)等攻擊下比Without ECC方案和With BP方案有更好的隱蔽性。
從表2得到的NC值對照表可以看出,本文所提出算法對JPEG壓縮攻擊的抵抗能力特別強,且對于諸如高斯低通濾波、椒鹽噪聲、中值濾波、線性濾波等攻擊魯棒性很高。不僅如此,通過對比NC表,說明了Proposed方案的魯棒性比Without ECC方案和With BP方案提高很多。而從表3可以看出使用糾錯編碼的水印算法在水印提取時比特錯誤率(BER)比未使用糾錯編碼的水印算法更低,這說明本文算法的失真率更低,在抵抗表中所列攻擊的抵抗能力非常強。
表1 PSNR的對比
表2 NC的對比
本文提出了一種基于RBF神經(jīng)網(wǎng)絡(luò)和糾錯編碼的新型盲檢測水印算法。利用糾錯編碼技術(shù)和混沌加密技術(shù)對水印進(jìn)行處理,增強了水印的魯棒性和安全性,而RBF神經(jīng)網(wǎng)絡(luò)模型的自適應(yīng)性使算法實現(xiàn)了水印的盲檢測,同時該模型的使用也進(jìn)一步增加了本文所提出算法的魯棒性。實驗結(jié)果表明,與傳統(tǒng)的使用BP神經(jīng)網(wǎng)絡(luò)的水印算法和未使用糾錯編碼的水印算法相比,本文所提出的算法具有更好的隱蔽性、魯棒性和更低的失真率,使魯棒性和隱蔽性達(dá)到了一個較為理想的平衡,同時算法在諸如JEPG壓縮、椒鹽噪聲、濾波等常見圖像處理攻擊下?lián)碛辛己玫聂敯粜浴?/p>
表3 BER的對比
[1]王炳錫,陳琦,鄧峰森.數(shù)字水印技術(shù)[M].西安:西安電子科技大學(xué)出版社,2003.
[2]Chen Yongqiang, Zhang Yanqing, Peng Lihua.A DWT domain image watermarking scheme using genetic algorithm and synergetic neural network [J].Second International Eymposium on Information Processing (ISIP2009),2009:298-301.
[3]LIN C H,CHAN D Y,SU H,et al.Histogram-oriented watermarking algorithm:colour image watermarking scheme robust against geometric attacks and signal processing[C].IEEE Proc.-Vis.Image Signal Process, August2006,483-492.
[4]TSAI H H,CHENG J S.Adaptive signal-dependent audio watermarking based on human auditory system and neural networks[J].Applied Intelligence, 2005,23(2):191-206.
[5]BERGER T,TODOROV T.Improving the watermarking process with usage of block error-correcting codes[J].Serdica J, Computing 2008(2): 163-180.