王慧琴, 王嘉璐, , 王 可, 齊海平
(1. 西安建筑科技大學(xué)信息與控制工程學(xué)院,陜西 西安 710055;2. 鄂爾多斯市發(fā)展和改革委員會(huì),內(nèi)蒙古 鄂爾多斯 017000)
數(shù)字水印是指利用一定的算法,在多媒體數(shù)據(jù)中嵌入具有不可知覺(jué)性、魯棒性、抗檢測(cè)性,并含有認(rèn)證敏感信息的數(shù)字編碼技術(shù),主要用于解決數(shù)字媒體版權(quán)保護(hù)中設(shè)置識(shí)別標(biāo)記的問(wèn)題。大多數(shù)的數(shù)字水印算法都非常相似,主要包括水印信號(hào)的生成、水印嵌入和水印提取三個(gè)過(guò)程[1-2]。數(shù)字水印必須具備不可見(jiàn)性和魯棒性?xún)蓚€(gè)特征。不可見(jiàn)性指數(shù)字水印的嵌入不應(yīng)該引起圖像視覺(jué)質(zhì)量的下降。魯棒性是指水印信號(hào)在經(jīng)歷多種無(wú)意或有意的信號(hào)處理后,仍能保持完整性或仍能被準(zhǔn)確鑒別的特性。
奇異值分解(singular value decomposition,SVD)是一種特殊的矩陣變換,對(duì)圖像矩陣做奇異值分解,得到的奇異值具有以下顯著特性[3]:①圖像矩陣的奇異值體現(xiàn)的是圖像的內(nèi)蘊(yùn)特性(即能量特性),U和V體現(xiàn)的是圖像的視覺(jué)特性(幾何特性),因而圖像矩陣的奇異值具有穩(wěn)定性,當(dāng)圖像被施加小的擾動(dòng)時(shí),其奇異值不會(huì)有大的變化;② 奇異值對(duì)幾何失真(旋轉(zhuǎn)、鏡像、放大、平移) 不變性;③ 奇異值序列中,第一個(gè)奇異值比其它奇異值大得多;④ 容易得到矩陣的秩為k(k≤r)的最佳逼近矩陣。因此,奇異值分解(SVD)域水印算法具有良好的抵抗裁切、旋轉(zhuǎn)、縮放、像素值變化等幾何攻擊的能力。本文提出了一種基于奇異值分解的數(shù)字水印算法,采用二值條形碼作為水印,它的編碼遵循唯一性原則。由于在水印提取前,利用Radon變換對(duì)待檢測(cè)圖像進(jìn)行校正,并且對(duì)檢測(cè)到的二值條碼進(jìn)行了糾正,因此提取水印的準(zhǔn)確度高,算法抗幾何攻擊性好,可用于印刷品的防偽。
算法的框圖如圖1所示。首先根據(jù)二值條碼水印的大小將原始圖像分成L×K大小的塊,設(shè)原始圖像大小為M×N,二值條碼大小為m×n,則其中,int表示取整。然后計(jì)算每塊的塊均勻度,根據(jù)塊均勻度將塊進(jìn)行分類(lèi),以此決定嵌入水印的強(qiáng)度。
另一方面,將原始圖像每一塊進(jìn)行奇異值變換,計(jì)算其S分量的最大值,同時(shí),將二值條碼水印進(jìn)行奇異值分解,提取S分量,與原始圖像的S分量進(jìn)行加權(quán)疊加。在水印提取時(shí),對(duì)打印掃描后的圖像首先進(jìn)行Radon變換,修正其在打印掃描過(guò)程中發(fā)生的旋轉(zhuǎn)和扭曲。最后,對(duì)提取出的條碼信息進(jìn)行糾錯(cuò),提高提取準(zhǔn)確度。
圖1 算法框圖
在原始圖像中嵌入水印的過(guò)程可看做在強(qiáng)背景下疊加弱信號(hào)。為了保證不可見(jiàn)性,應(yīng)該將水印自適應(yīng)地嵌入到原始圖像中最不易被察覺(jué)的部分。人類(lèi)視覺(jué)系統(tǒng)(HVS)的照度掩蔽特性和紋理掩蔽特性表明[3],對(duì)于平均灰度較低,且灰度變化比較平滑的塊,HVS對(duì)其中像素值的改變比較敏感,疊加的水印分量的強(qiáng)度應(yīng)最弱。反之,平均灰度較高,且紋理復(fù)雜(或存在邊緣)的,HVS對(duì)其中像素值的改變敏感性最弱,疊加的水印信號(hào)應(yīng)該最強(qiáng)。
文獻(xiàn)[5]對(duì)圖像中大小為 n×n的塊 Bk,定義如下的衡量塊均勻度的參數(shù)σ2
其中 ek為 Bk的灰度均值,加權(quán)系數(shù) p(ek)作為修正因子,可由下式確定
其中 a為常數(shù),一般取值為(0.6~0.7)。
當(dāng) σ2較小時(shí),Bk被認(rèn)為比較均勻;反之,σ2較大時(shí),Bk被認(rèn)為包含紋理和邊緣。因此,σ2可以充分體現(xiàn)HVS的特性和圖像自身的特點(diǎn)。
根據(jù) σ2的大小將圖像塊分成三類(lèi),相應(yīng)地,嵌入水印的強(qiáng)度取不同的值
其中 b1,b2, b3為水印嵌入的強(qiáng)度,T1,T2為塊均勻度閾值。
首先將原始圖像進(jìn)行分塊,然后分別將每一塊進(jìn)行奇異值分解,設(shè)A(i,j)表示第(i, j)塊,將矩陣A(i,j)進(jìn)行奇異值分解,得到U(i,j)、S(i,j)和V(i,j)矩陣,它們滿(mǎn)足
求出S(i,j)分量中最大的一個(gè)設(shè)其為S(i,j)(max)。同樣的方法將二值條碼圖像W進(jìn)行奇異值分解,得到S分量記為 Sw(i,j),根據(jù)具體情況將其嵌入到原始圖像的某一塊或者某幾塊的S分量中,嵌入的具體位置可以作為算法的密鑰。
式中 N _ S(i,j)(max)為第(i, j )塊中嵌入水印后的奇異值的最大值,bi為水印嵌入強(qiáng)度因子,由公式(3)給出。然后用 N _ S(i,j)(max)代替S(i,j)中的 S(i,j)(max),得到 N _ S(i,j)為嵌有水印的S分量,該分量與 U(i,j)和V(i,j)一起,重構(gòu)三個(gè)通道信息矩陣,得到含有水印的圖像。
水印提取時(shí),首先利用Radon變換對(duì)待檢測(cè)圖像進(jìn)行校正,然后對(duì)其執(zhí)行與水印嵌入相反的操作。將待檢測(cè)圖像進(jìn)行分塊,然后進(jìn)行奇異值分解,計(jì)算其S分量的最大值,提取水印信息,最后對(duì)提取出的條碼信息進(jìn)行糾錯(cuò),得到提取出的水印。
Radon變換是計(jì)算機(jī)圖像在某一指定角度射線(xiàn)方向上的投影變換方法。二維函數(shù)f (x , y )的投影是其在確定方向上的線(xiàn)積分。通常f (x , y )的Radon 變換是一個(gè)平行于y軸的線(xiàn)積分[7-8]
校正后,對(duì)含有水印的圖像進(jìn)行分塊,計(jì)算塊均勻度,得到水印嵌入的強(qiáng)度bi,然后進(jìn)行奇異值分解,計(jì)算其S分量的最大值,利用下式提取出一位水印
最后將所有提取出的w′(i, j)組合成二值水印W′。由于誤差的存在,提取出的水印圖像W′可能與實(shí)際嵌入的水印圖像W有誤差,可以利用二值條碼的特點(diǎn)進(jìn)行糾錯(cuò)。具體方法是:當(dāng)二值條碼某一列的元素1的個(gè)數(shù)大于0的個(gè)數(shù)時(shí),將該列全部置為1,反之,全部置為0。
選取512×512的lena 圖像作為原始圖像,64×64的二值條碼為水印圖像,如圖2和圖3所示。將原始圖像分成8×8的塊,對(duì)每一塊進(jìn)行奇異值分解;將二值水印條碼奇異值分解后,得到S分量,將其嵌入到原始圖像分塊奇異值分解后的對(duì)角塊的S分量中,每塊嵌入一位。圖4為嵌入水印后的圖像,圖5是從圖4中提取出的水印。圖6和圖7為從剪切掉一部分的待檢測(cè)圖像中提取水印的實(shí)驗(yàn),圖8是將嵌有水印的圖像進(jìn)行了打印和掃描,實(shí)驗(yàn)中打印機(jī)采用EPSON STYLUS PHOTO R270,掃描儀采用EPSON PERFECTION V200 PHOTO。提取出的水印如圖9所示。圖10~圖12為待檢測(cè)圖像旋轉(zhuǎn)15°后的水印提取效果。另外還做了壓縮、加噪、濾波等實(shí)驗(yàn),魯棒性均良好。
圖2 待添加水印圖像
圖3 原始水印
圖4 加入水印圖像
圖5 未經(jīng)攻擊提取出的水印
圖6 剪切掉一部分圖像
圖7 提取出水印
圖8 打印掃描后圖像
圖9 提取出水印
圖10 打印后旋轉(zhuǎn)15°掃描圖像
圖11 Radon變換修正后圖像
圖12 提取出水印
本文提出了一種基于奇異值分解的數(shù)字水印算法,將二值條碼作為水印嵌入到原始圖像奇異值分解的S分量,利用宿主圖像和HVS的特點(diǎn),自適應(yīng)地選取水印嵌入的強(qiáng)度,增強(qiáng)了算法的不可見(jiàn)性和魯棒性??紤]到含有水印的圖像在使用過(guò)程中,尤其是在被印刷和掃描后可能發(fā)生移位和旋轉(zhuǎn),因此算法在水印提取前利用Radon變換對(duì)待檢測(cè)圖像進(jìn)行了校正。另外,還通過(guò)比較0和1的個(gè)數(shù)的方法對(duì)提取出的二值條碼水印進(jìn)行了糾正,從而進(jìn)一步保證了可以有效地提取水印。該算法對(duì)幾何攻擊魯棒性較強(qiáng),打印掃描操作后仍能檢測(cè)出水印,因此可用于印刷品的版權(quán)保護(hù)。
[1]Scharinger J. Devices to preserve watermark security in image printing and scanning [C]//Computer Aided Systems Theory-EUROCAST 2003, Berlin: Springer Verlag, 2003: 660-669.
[2]蔣慧鈞, 王 沛, 李 莉. 基于奇異值分解的圖像融合水印算法[J]. 上海師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2006, 35(3): 30-34.
[3]周季峰, 龐明勇, 李 黎, 等. 一種印刷品數(shù)字水印防偽方法[J]. 計(jì)算機(jī)工程與應(yīng)用, 2007, 43(5):189-192.
[4]Mizumoto T, Matsui K. Robustness investigation of DCT digital watermark for printing and scanning [J].Electronics and Communications in Japan, 2002,E85-A(4): 919-920.
[5]Watson A B. Efficiency of a model human image code [J].J. Opt. Soc. Am, 1987, 4(12): 2401-2415.
[6]王 玲, 王曉建, 彭啟琮. 半脆弱印刷數(shù)字有意義水印算法研究[J]. 電子科技大學(xué)學(xué)報(bào), 2008, 37(3):71-74.
[7]葛海江, 方江江, 張 翔. 車(chē)牌識(shí)別系統(tǒng)中車(chē)牌定位及傾斜矯正算法研究[J]. 杭州電子科技大學(xué)學(xué)報(bào),2007, 27(2): 49-52.