曲長(zhǎng)波,于智龍,李棟棟
(遼寧工程技術(shù)大學(xué)軟件學(xué)院,遼寧 葫蘆島 125105)
傳統(tǒng)的數(shù)字水印算法多是將有意義的二值圖像嵌入到載體圖像中,通過(guò)不斷提高嵌入算法的魯棒性來(lái)獲得認(rèn)證水印較好的嵌入質(zhì)量。可是,將有意義的二值圖像嵌入到載體圖像的水印算法改變了原始圖像,這對(duì)具有較高數(shù)據(jù)完整性要求的領(lǐng)域是不合適的,且有意義的二值圖像與載體圖像并無(wú)意義上的關(guān)聯(lián),二者實(shí)質(zhì)上是相分離的。為克服以上缺點(diǎn),溫泉等人[1]提出了零水印算法思想。零水印算法是基于圖像特征的水印算法,零水印和載體圖像在意義上是統(tǒng)一的,不同的圖像特征提取出的零水印也不同,零水印不但實(shí)現(xiàn)了載體圖像和水印信息意義上的統(tǒng)一,也保護(hù)了原始數(shù)據(jù)不受篡改,引起了許多學(xué)者的關(guān)注。
零水印算法需要考慮構(gòu)造出既包含圖像有效特征,又比原圖像數(shù)據(jù)量盡量少的水印數(shù)據(jù),為了提高零水印算法的魯棒性與安全性,文獻(xiàn)[2]提出了一種基于整數(shù)小波變換的魯棒零水印算法,算法在小波域內(nèi)進(jìn)行,根據(jù)每一分塊的均值與低頻子帶均值的大小關(guān)系得到特征矩陣,最后將此特征矩陣與預(yù)處理后的版權(quán)信息結(jié)合構(gòu)造零水印信息,但是,該算法在水印安全性能方面并未有全面的考慮。文獻(xiàn)[3]提出了一種基于細(xì)胞自動(dòng)機(jī)與奇異值分解SVD(Singular Value Decomposition)的零水印算法,對(duì)進(jìn)行了二維細(xì)胞自動(dòng)機(jī)變換后的低頻圖像分塊,并在每個(gè)子塊上進(jìn)行奇異值分解,通過(guò)細(xì)胞自動(dòng)機(jī)變換規(guī)則在每個(gè)子塊的奇異值矩陣上構(gòu)造零水印。文獻(xiàn)[4]結(jié)合位平面理論BP (Bit Plane)和SVD,提出了一種基于位平面理論和奇異值分解的魯棒零水印算法,該算法安全性能考慮周到,且對(duì)諸如椒鹽噪聲攻擊、中值濾波、旋轉(zhuǎn)攻擊效果出色。但是,該算法在水印認(rèn)證時(shí),根據(jù)人類視覺(jué)系統(tǒng)主觀評(píng)價(jià)所提取的水印效果不夠直觀,進(jìn)行水印認(rèn)證的步驟復(fù)雜,不易操作。
在眾多的變換域水印算法中,脊波變換(Ridgelet Transform)較小波變換有著較高的逼近精度和很好的稀疏表達(dá)性能,在數(shù)字水印領(lǐng)域有諸多應(yīng)用。Campisi等人[5]提出一種在Ridgelet域內(nèi)的魯棒數(shù)字水印算法,通過(guò)圓斜濾波變換提取圖像邊緣,對(duì)分塊后的子塊進(jìn)行脊波變換后選擇嵌入系數(shù)進(jìn)行嵌入;文獻(xiàn)[6]提出一種基于改進(jìn)脊波變換的抗攻擊數(shù)字水印算法,結(jié)合人類視覺(jué)系統(tǒng)特性HVS(Human Visual System)和奇偶量化算法改進(jìn)脊波變換算法;文獻(xiàn)[7]提出了一種Ridgelet變換域盲數(shù)字水印算法,利用脊波變換對(duì)線狀奇異性的稀疏表示特性,找出圖像中視覺(jué)重要信息,并將水印嵌入其中??傊陨匣赗idgelet變換水印算法的研究,在水印的透明性、魯棒性與安全性上均有待提升。
基于以上幾個(gè)原因,本文結(jié)合各算法的優(yōu)勢(shì),提出一種基于分塊FRIT-SVD(Finite RIdgelet Transform-SVD)的魯棒零水印算法。對(duì)有限脊波變換FRIT使用分塊策略,獲得良好的逼近精度和稀疏性能,提高魯棒性;利用SVD等一系列操作提取圖像固有特征生成特征矩陣,通過(guò)二維混沌系統(tǒng)加密,提高水印安全性能;為了進(jìn)一步提高算法的魯棒性,再將特征矩陣進(jìn)行位平面分解得到重要位平面,將重要位平面與加密后的有意義水印結(jié)合后,作為原始圖像的零水印信息保存到版權(quán)認(rèn)證中心。這樣,就可以在保證原始數(shù)據(jù)不受篡改的同時(shí),充分利用零水印進(jìn)行版權(quán)認(rèn)證保護(hù)。
脊波變換作為一種新的多尺度分析方法,比小波變換更加適合分析具有直線或超平面奇異性的信號(hào)[5],而且具有較高的逼近精度和更好的稀疏表達(dá)性能。
2.1.1 連續(xù)Ridgelet變換
Ridgelet變換可以更加有效地處理二維或更高維度的奇異性[6]。
引入函數(shù)集:
Γ={γ=(a,u,b);a,b∈R,a>0,u∈Sd-1}
Sd-1是d維空間的單位球面。
則Ridgelet函數(shù)為:
ψa,b,θ(x)=a-1/2ψ((x1cosθ+x2sinθ-b)/a)
RFTf(a,b,θ)為f(x)在R2上的連續(xù)Ridgelet變換,其中a為尺度因子,b為位移因子。
可以看出,脊波在小波的基礎(chǔ)上引入了方向參數(shù)θ,本來(lái)在小波變換中表示一個(gè)點(diǎn)的特征,在脊波變換中就成了表示沿θ角度的一條線,脊波函數(shù)的橫截面是一條小波曲線。
2.1.2 有限Ridgelet變換
有限脊波變換是二維離散圖像實(shí)現(xiàn)脊波變換的一種離散實(shí)現(xiàn)手段[6 - 8],我們知道Radon變換(Radon Transform)可以將直線、平面或超平面映射為一個(gè)點(diǎn),而小波變換可以高精度稀疏地描述信號(hào)的點(diǎn)奇異性,令二者相結(jié)合,得到的有限Ridgelet變換是在有限Radon變換FRAT (Finite RAdon Transform)的基礎(chǔ)上再進(jìn)行一維小波變換得到的[9]。
如圖1所示,N×N維的圖像,經(jīng)過(guò)FRAT后能得到N+1個(gè)投影,沿每一個(gè)投影方向進(jìn)行一維小波變換就能夠得到有限脊波變換FRIT。
(1)這組基包含一個(gè)常數(shù)函數(shù)。
(2)所有其他的基函數(shù)有零平均值。
因?yàn)镽idgelet變換善于對(duì)圖像進(jìn)行線性描述,但是在具體處理中往往會(huì)出現(xiàn)許多類似于曲線的非線性情況,這樣就會(huì)喪失Ridgelet變換的優(yōu)勢(shì)。本文對(duì)載體圖像使用分塊策略,類似于數(shù)學(xué)中的積分,使得每個(gè)分塊個(gè)體的邊界可以用直線近似替代,之后再對(duì)各個(gè)分塊進(jìn)行Ridgelet變換,保證每個(gè)分塊都能獲得最好的稀疏性能。
Figure 1 Schematic diagram of ridgelet transform圖1 脊波變換示意圖
圖像位平面理論[10]是根據(jù)數(shù)字圖像及其計(jì)算機(jī)存儲(chǔ)機(jī)制產(chǎn)生的,就是將圖像的每個(gè)像素值進(jìn)行二進(jìn)制化,生成八位二進(jìn)制數(shù),將每個(gè)像素產(chǎn)生的八位二進(jìn)制數(shù)的最高位取出按原有像素位置組成的位平面就稱為重要位平面;而將每個(gè)像素產(chǎn)生的八位二進(jìn)制數(shù)的最低位取出按原有像素位置組成的位平面就稱為不重要位平面。
最重要位MSB(Most Significant Bit)又稱最高有效位[10]。針對(duì)圖像而言,將所有像素的MSB按原有像素進(jìn)行組合生成的位平面就稱為重要位平面。本文算法提取特征矩陣的MSB來(lái)構(gòu)成零水印信息,因?yàn)橹匾黄矫娣从沉藞D像灰度值的最基本信息,同時(shí)也保留了圖像最主要的內(nèi)容。由數(shù)字圖像相關(guān)理論知識(shí)可知,數(shù)字圖像遭受噪聲等攻擊時(shí),其低位平面信息變化較大,而重要位平面的信息幾乎沒(méi)有任何變化,也就是說(shuō),噪聲主要集中在較低位平面。因此,使用MSB進(jìn)行零水印的合成,不僅可以較好地保留原始圖像信息,而且能夠避免噪聲干擾,去除圖像冗余,有效地提高零水印的魯棒性。
奇異值分解是一種矩陣的分解方法[11],可以將指定矩陣分解為三個(gè)矩陣的乘積,即:
?A∈Rm×n,?U∈Rm×m,V∈Rn×n
A=UΣVT,
Σr=diag(λ1,λ2,λ3,λ4,…,λr),
λ1≥λ2≥λ3≥λ4≥…≥λr≥0,
S=[Σr,0;0,0]=UAVT
之所以在本文算法中使用奇異值分解,原因有二:
(1)奇異值表現(xiàn)的是圖像的內(nèi)蘊(yùn)特性,反映的是圖像矩陣元素之間的統(tǒng)計(jì)關(guān)系;
(2)奇異值具有相當(dāng)好的穩(wěn)定性,當(dāng)圖像受到修改或者攻擊時(shí),它的奇異值不會(huì)發(fā)生很大的變化。
奇異值分解后得到的奇異值矩陣S集中了指定矩陣A中的大部分信息。根據(jù)奇異值分解的這種特性,可以將其應(yīng)用到本文算法的圖像分解中,用少量數(shù)據(jù)描述圖像主要特征并生成零水印,從而獲得魯棒性較好的零水印算法。
本文零水印算法分成兩個(gè)實(shí)現(xiàn)階段:
(1)零水印注冊(cè)階段:通過(guò)本文算法,提取載體圖像的特征信息來(lái)構(gòu)造特征矩陣,經(jīng)加密處理,并與有意義水印信息相結(jié)合后存儲(chǔ)到認(rèn)證中心。
(2)零水印認(rèn)證階段:利用待識(shí)別圖像,經(jīng)過(guò)本文算法構(gòu)造零水印,與認(rèn)證中心存儲(chǔ)數(shù)據(jù)相比對(duì),檢驗(yàn)是否存在侵犯版權(quán)的行為。
特征矩陣提取算法包括小波變換預(yù)處理、分塊操作、FRIT和SVD等過(guò)程,具體步驟如下:
步驟1設(shè)載體圖像I大小為m×m,因?yàn)閳D像的高頻部分容易受到攻擊而丟失,所以在進(jìn)行后續(xù)步驟前,先將載體圖像I進(jìn)行二維一級(jí)Haar小波變換預(yù)處理,得到其低頻域CAL,大小為m/2×m/2。
步驟2對(duì)所提取的低頻域CAL應(yīng)用分塊策略,根據(jù)FRIT所能得到最優(yōu)的逼近精度和稀疏性能制定分塊策略。圖像的紋理特征、亮度特征都是提取特征矩陣的先導(dǎo)條件,越平滑的區(qū)域?qū)υ肼曉矫舾?,越?fù)雜的區(qū)域?qū)υ肼曉讲幻舾?,?duì)特征矩陣提取的優(yōu)劣有著直接的關(guān)系。
分塊策略如下:
將大小為m/2×m/2的低頻域部分CAL分成大小為b×b的N個(gè)小塊CALn。每個(gè)小塊用B表示,塊大小為size(CAL)/N,其中n= 1,2,…,N。
分割完成后,使得劃分子塊內(nèi)的曲線邊緣或紋理可近似看做直線處理,每個(gè)子塊內(nèi)含有b×b個(gè)像素,有利于增加Ridgelet變換的逼近精度,為了方便后續(xù)步驟,對(duì)CALn進(jìn)行統(tǒng)一編號(hào),如圖2所示。
Figure 2 Schematic diagram of CAL block number圖2 CAL分塊編號(hào)示意圖
接下來(lái)對(duì)劃分的每一子塊CALn進(jìn)行亮度劃分和紋理劃分:
按照公式(1)計(jì)算并設(shè)置整個(gè)CAL子帶的小波系數(shù)均值為L(zhǎng),如果劃分的CALn子塊系數(shù)均值大于或等于L,則該子塊為亮子塊,否則為暗子塊。
按照公式(2)計(jì)算每一子塊CALn的紋理復(fù)雜程度,V越小則子塊紋理越少,區(qū)域越平滑,V越大則子塊紋理越多,區(qū)域越復(fù)雜。
具體公式如下:
計(jì)算圖像子塊亮度:
(1)
計(jì)算圖像子塊紋理:
(2)
其中,Bij表示B中點(diǎn)(i,j)處的灰度值。
根據(jù)圖2,將通過(guò)計(jì)算的CALn編號(hào)分成三類:
第一類定義為:亮度高,紋理復(fù)雜,因?yàn)橛邢轗idgelet變換更加善于進(jìn)行線性操作,此類子塊應(yīng)再對(duì)其進(jìn)行擴(kuò)展分割,使其分塊邊界盡量能使用直線近似表示;
第二類定義為:亮度低,紋理簡(jiǎn)單平滑,此類子塊可以很好地適應(yīng)有限Ridgelet變換;
其余的均為第三類。
塊類別劃分如圖3所示,其中“( )”內(nèi)為塊編號(hào)。其中的類一子塊因?yàn)榧y理復(fù)雜,非線性程度高,對(duì)其進(jìn)行一次4×4的擴(kuò)展分割,重新編號(hào)后,根據(jù)分塊策略,再次進(jìn)行類別劃分,重復(fù)這一過(guò)程,直到類一子塊全部被擴(kuò)展更新為類二和類三子塊。
Figure 3 Schematic diagram of block category partition圖3 塊類別劃分示意圖
Figure 4 Schematic diagram of block category expansion圖4 塊類別擴(kuò)展示意圖
類一子塊的擴(kuò)展分割如圖4a所示,擴(kuò)展更新后的子塊分類如圖4b所示。圖4b表示子塊劃分的最終情況,每一子塊都獨(dú)立存在,進(jìn)行算法的下一步驟。對(duì)Lena進(jìn)行此分塊策略,所得到的圖像分類統(tǒng)計(jì)圖如圖5a所示,擴(kuò)展更新后如圖5b所示。
Figure 5 Block classification chart圖5 塊分類統(tǒng)計(jì)圖
步驟3對(duì)通過(guò)分塊策略后低頻區(qū)域CAL的所有類二、類三子塊,進(jìn)行FRAT,獲取每一子塊Radon變換后投影的方向系數(shù)后,對(duì)所有方向系數(shù)做二維一級(jí)Haar小波變換,得到矩陣Q,由此可以實(shí)現(xiàn)對(duì)所有劃分子塊的FRIT,得到更好的逼近精度和稀疏性能。
步驟4對(duì)Q4×4分塊并進(jìn)行SVD,提取每個(gè)子塊奇異值分解后的最大奇異值λimax,經(jīng)過(guò)四舍五入得到特征矩陣X。
具體方法如下:
fori=1:m
forj=1:m
[U,S,V]=svd(Q{i,j});
X(i,j)=max(max(S));
end
end
X=round(X);
其中,“=”為賦值運(yùn)算符,max(max(S))是取對(duì)角陣S的最大奇異值。
3.2.1 二維混沌加密系統(tǒng)
本文選用二維混沌系統(tǒng)對(duì)特征矩陣進(jìn)行置亂加密,有以下幾個(gè)原因:
(1)對(duì)特征矩陣進(jìn)行置亂加密后,可以使像素均勻地分散在圖像的各個(gè)區(qū)域,能保證如果圖像受到針對(duì)于某個(gè)特殊區(qū)域的攻擊時(shí),水印信息不至于過(guò)分損失。
(2)相對(duì)文獻(xiàn)[12]使用的Arnold置亂算法,和諸如Hilbert算法、Fibonacci算法和一維混沌序列等置亂加密方法,本文使用的二維混沌系統(tǒng)性能更佳,對(duì)圖像置亂更為充分,且對(duì)外界擾動(dòng)不敏感,加密安全性能更好。
混沌(Chaos)是一種復(fù)雜的非線性過(guò)程,其所得序列具有很好的隨機(jī)性,二維Logistic混沌系統(tǒng)的動(dòng)力學(xué)行為由參數(shù)μ、γ、λ1和λ2決定,當(dāng)μ=4,γ=0.1,λ1=λ2=0.89時(shí),系統(tǒng)中出現(xiàn)混沌現(xiàn)象[13]。
設(shè)特征矩陣X大小為n×n,具體步驟如下:
步驟1根據(jù)公式(3)對(duì)特征矩陣進(jìn)行預(yù)處理,得到近似的二維混沌加密矩陣T:
T(i,j)=mod(I(i,j)*y0(i,j)+
y1(i,j)*i+y2(i,j)*j,n/2)
(3)
其中,(i,j)表示矩陣中的某點(diǎn)坐標(biāo),y0、y1、y2分別為使用一維Logistic模型[14]生成的三個(gè)混沌序列,在生成混沌序列時(shí),一維Logistic模型的初值參數(shù)分別設(shè)置為p0=0.01,p1=0.02,p2=0.03,在生成混沌序列后,將y0、y1、y2分別掃描成與矩陣X大小相同的矩陣,大小為n×n,使y0、y1、y2與X中的元素對(duì)應(yīng)。
步驟2選取參數(shù)μ=4,γ=0.1,λ1=λ2=0.89和初始值(x0,y0)代入二維Logistic混沌公式(4)中:
(4)
生成兩個(gè)長(zhǎng)度為m×m的混沌序列{xj},{yj},j∈{1,2,…,m×m},將{xj},{yj}相乘,得到新的序列G={xi}*{yj},并將G掃描成n×n矩陣,與T一一對(duì)應(yīng)。
步驟3將預(yù)處理后的近似二維混沌加密矩陣T與步驟2中生成的序列G相乘,得到置亂加密后的特征矩陣XL,大小為n×n,將置亂參數(shù)(p0,p1,p2,γ,μ,λ1,λ2,n,L)存入零水印注冊(cè)信息庫(kù)。
3.2.2 混沌加密系統(tǒng)安全性測(cè)試
對(duì)二維混沌加密系統(tǒng)進(jìn)行安全性測(cè)試,采取參數(shù)控制法,設(shè)置密鑰Key1(p0,p1,p2,γ,μ,λ1,λ2,n,L) = (0.14,0.15,0.16,0.1,4,0.89,0.89,512,1000)(其中γ、μ、λ1、λ2為二維Logistic動(dòng)力學(xué)行為參數(shù),不對(duì)其進(jìn)行更改),選取載體圖像Lena,如圖6a所示,進(jìn)行二維混沌加密,得到加密后的圖像如圖6b所示,對(duì)圖6b進(jìn)行逆加密過(guò)程得到如圖6c所示的結(jié)果;如果在逆加密過(guò)程中,將Key1中的參數(shù)p1改為0.15±e-10,將p2改為0.16±e-10,將L改為1000±24,所得圖像分別如圖6d、圖6e、圖6f所示。從圖6中可以明顯看出,只要密鑰中的一個(gè)參數(shù)出現(xiàn)了輕微的誤差,對(duì)于整個(gè)加密系統(tǒng)都會(huì)產(chǎn)生很嚴(yán)重的影響,所得到的圖像與原始載體圖像相差甚大,由此可見(jiàn),此加密系統(tǒng)具有良好的安全性,在發(fā)生惡意攻擊時(shí)不會(huì)被輕易破解。
Figure 6 Security experiments of the chaotic encryption system圖6 混沌加密系統(tǒng)安全性測(cè)試
特征矩陣X標(biāo)志載體圖像固有特征,該特征與原始圖像在意義上是統(tǒng)一的,不同的圖像擁有不同的固有特征,本文把加密后的特征矩陣XL處理后生成零水印圖像,用來(lái)作為認(rèn)證檢測(cè)的水印,步驟主要如下:
步驟1對(duì)特征矩陣XL進(jìn)行位平面分解,提取特征矩陣XL的重要位平面MSB。
步驟2將有意義水印圖像O進(jìn)行Arnold置亂加密,進(jìn)一步提高零水印信息的安全性,保留加密次數(shù)n和密鑰參數(shù)a、b,得到Key2,并與所提取的過(guò)渡矩陣X的重要位平面MSB相異或,得到注冊(cè)零水印信息w,并存儲(chǔ)到認(rèn)證中心。
具體過(guò)程如圖7所示。
Figure 7 Zero-watermarking generation process圖7 零水印生成過(guò)程
設(shè)待檢測(cè)圖像為I′,與原載體圖像大小相同,均為m×m,檢測(cè)步驟如下:
步驟1根據(jù)3.1節(jié)、3.2節(jié),提取待檢測(cè)圖像的特征矩陣,并進(jìn)行二維混沌置亂加密,得到待檢測(cè)特征矩陣XL′。
步驟2根據(jù)零水印生成算法步驟1,得到待檢測(cè)特征矩陣XL′的重要位平面MSB′。
步驟3從認(rèn)證中心提取零水印信息w與MSB′相異或,并從注冊(cè)信息庫(kù)中提取密鑰n、a、b,對(duì)其進(jìn)行反Arnold置亂解密,得到有意義水印信息O′。
步驟4本文采用歸一化相關(guān)系數(shù)NC來(lái)衡量水印質(zhì)量,根據(jù)公式(5)求出有意義水印圖像O′與O的NC系數(shù),在經(jīng)驗(yàn)閾值Sn的范圍內(nèi),如果NC>Sn,則驗(yàn)證圖像為正版,否則,為盜版。
具體過(guò)程如圖8所示。
Figure 8 Zero-watermarking extraction process圖8 零水印檢測(cè)過(guò)程
本文仿真實(shí)驗(yàn)采用的實(shí)驗(yàn)環(huán)境是Matlab R2014a,實(shí)驗(yàn)中選取的載體圖像Lena、Plane均為512×512的標(biāo)準(zhǔn)灰度圖像,選取的水印圖像是32×32的二值圖像“版權(quán)保護(hù)”;在對(duì)特征矩陣進(jìn)行二維混沌加密時(shí),對(duì)應(yīng)于x方向和y方向的初值設(shè)置為(x0,y0)=(0.15,0.16),Key1密鑰參數(shù):p0=0.01,p1=0.02,p2=0.03,μ=4,γ=0.1,λ1=λ2=0.89;對(duì)有意義水印圖像的置亂加密方法選擇了Arnold置亂算法,Key2密鑰參數(shù)選取n=10,a=3,b=5。載體圖像及有意義水印圖像如圖9a~圖9c所示。
Figure 9 Carrier images and meaningful watermarking圖9 載體及有意義水印圖像
本文采用歸一化相關(guān)系數(shù)NC來(lái)確定版權(quán)的歸屬[15]。
(5)
其中,x1、x2分別表示兩幅待檢測(cè)水印圖像,x1(i,j)、x2(i,j)分別是在(i,j)處的灰度值。原始水印和在無(wú)干擾情況下提取的水印如圖10所示。
Figure 10 Comparison between the original watermarking and the extracted watermarking圖10 無(wú)干擾提取水印對(duì)比
零水印信息是從原始載體中提取的內(nèi)容,它與原始載體的內(nèi)容具有高度相關(guān)性,從不同載體中提取的零水印信息應(yīng)該盡量做到相互獨(dú)立,構(gòu)造出的水印相似度盡可能地低。為了驗(yàn)證本文算法的水印虛警率,如圖11所示選取了8幅標(biāo)準(zhǔn)灰度圖像,分別按照本文算法構(gòu)造零水印信息,通過(guò)以下步驟進(jìn)行檢測(cè):
步驟1從圖11a開始,分別對(duì)每幅標(biāo)準(zhǔn)灰度圖像執(zhí)行3.1小節(jié)的特征矩陣提取算法及3.2小節(jié)的特征矩陣二維混沌加密算法,構(gòu)造出加密的特征矩陣XL,令XL與加密后的水印信息進(jìn)行異或得到矩陣w,將得到的8份水印信息提交到版權(quán)認(rèn)證中心進(jìn)行注冊(cè)。
步驟2對(duì)需要進(jìn)行檢測(cè)的原始圖像依次執(zhí)行上文算法得到特征矩陣XL1,將其與版權(quán)認(rèn)證中心注冊(cè)的w進(jìn)行異或運(yùn)算,得到加密水印信息W1。
步驟3對(duì)W1進(jìn)行逆加密運(yùn)算,得到水印信息O1,計(jì)算O1和原始水印信息O的相似度,則可以實(shí)現(xiàn)對(duì)本算法水印虛警率的檢測(cè)。
Figure 11 Original images for watermarking false alarm rate detection圖11 水印虛警率檢測(cè)原始圖像
表1是對(duì)圖11中的8幅標(biāo)準(zhǔn)灰度圖像進(jìn)行虛警率檢測(cè)后所得到的相似度對(duì)照表。從表1中可以看出,檢測(cè)相同原始圖像最后恢復(fù)水印信息相似度均為1.000 0,不同原始圖像恢復(fù)出的水印信息相似度最高為0.553 6,最低為0.486 5,平均值為0.514 1,相似度數(shù)據(jù)基本在0.500 0上下波動(dòng),波動(dòng)幅度輕微,本文算法的測(cè)試結(jié)果滿足了構(gòu)造零水印信息對(duì)于水印虛警率的要求。
在圖片的傳播和使用過(guò)程中,不可避免地會(huì)受到許多干擾和攻擊。依據(jù)本文算法和文獻(xiàn)[6,9]的算法,對(duì)他們進(jìn)行兩種類型的攻擊:非幾何攻擊和幾何攻擊,并進(jìn)行了多組實(shí)驗(yàn),其中由于噪聲攻擊具有隨機(jī)性,得到的實(shí)驗(yàn)結(jié)果往往是動(dòng)態(tài)的,本文對(duì)于噪聲攻擊分別進(jìn)行10次實(shí)驗(yàn),得到結(jié)果后取平均值,記錄實(shí)驗(yàn)數(shù)據(jù)。
兩類攻擊方式的魯棒性能實(shí)驗(yàn)結(jié)果如表2、表3所示,混合攻擊的魯棒性能實(shí)驗(yàn)結(jié)果如表4所示,
Table 1 Similarity of different carrier images for constructing zero-watermarking (NC)表1 不同載體圖像構(gòu)造零水印相似度 (NC)
Table 2 Robustness comparison of non-geometric attacks (NC)表2 非幾何攻擊魯棒性實(shí)驗(yàn)對(duì)照表 (NC)
Table 3 Robustness comparison of geometry attacks (NC)表3 幾何攻擊魯棒性實(shí)驗(yàn)對(duì)照表 (NC)
Table 4 Robustness comparison of blended attacks(NC)表4 混合攻擊魯棒性實(shí)驗(yàn)對(duì)照表(NC)
椒鹽噪聲(噪聲密度為0.01~0.1)、JPEG壓縮(質(zhì)量因子為100~10)和剪切攻擊(中心1/32~中心1/2)的對(duì)比效果如圖12~圖14所示。
Figure 12 Comparison of the effect of salt and pepper noise圖12 椒鹽噪聲效果對(duì)比圖
Figure 13 Comparison of the effect of JPEG compression圖13 JPEG壓縮效果對(duì)比圖
Figure 14 Comparison of the effect of center cut圖14 中心剪裁效果對(duì)比圖
對(duì)本文構(gòu)造零水印信息的全過(guò)程進(jìn)行算法復(fù)雜度分析,3.1節(jié)中提取特征矩陣X是構(gòu)造零水印信息的核心過(guò)程:由于小波變換具有集中信號(hào)能量的作用,這使得小波變換預(yù)處理后的載體圖像信息僅僅集中在少數(shù)幾個(gè)變換系數(shù)上,有助于降低預(yù)處理過(guò)程的時(shí)間復(fù)雜度,可分析出載體圖像預(yù)處理階段的時(shí)間復(fù)雜度為O(nlog(n));在之后的過(guò)程中,設(shè)原載體圖像大小為m×m,分塊總數(shù)為N,分塊大小為B×B(B?m),經(jīng)過(guò)預(yù)處理后的低頻域圖像為原圖像大小的1/4,設(shè)類別劃分時(shí)外層循環(huán)執(zhí)行K次,內(nèi)層循環(huán)執(zhí)行擴(kuò)展更新P次,F(xiàn)RAT和二維一級(jí)Haar小波變換時(shí)間復(fù)雜度均為O(nlog(2n)),SVD提取特征矩陣的時(shí)間復(fù)雜度為O(n2log (n)),則本階段時(shí)間復(fù)雜度為O((m/4)2B2+KP+2nlog(2n)+n2log(n))。后續(xù)二維混沌加密階段和零水印構(gòu)成階段的時(shí)間復(fù)雜度分別為O(nlg(n))和O(n)。
相對(duì)于文獻(xiàn)[9]將M×M大小的彩色圖像由RGB色彩空間轉(zhuǎn)換到Y(jié)IQ色彩空間后,又進(jìn)行Haar小波分解并選取特征提取位置,隨著色彩空間的轉(zhuǎn)換,圖像尺寸的增大,完成這些計(jì)算所需要的時(shí)間也越長(zhǎng)。本文算法構(gòu)造核心特征矩陣時(shí),除了對(duì)載體圖像進(jìn)行小波變換預(yù)處理、分塊FRIT和SVD,不需要其他多余的運(yùn)算,即本文算法的時(shí)間復(fù)雜度是相對(duì)較低的。相對(duì)于文獻(xiàn)[6]使用的嵌入式水印算法,需要對(duì)載體圖像在水印嵌入前進(jìn)行子塊脊波變換,在嵌入后進(jìn)行子塊脊波反變換,而本文算法只需要構(gòu)造出特征矩陣信息即可,不需要多次執(zhí)行核心算法,相對(duì)而言所花費(fèi)的時(shí)間也就更少。
在上述算法運(yùn)行過(guò)程中,均只針對(duì)于單幅載體圖像構(gòu)造水印信息,所有算法均使用相同變量存儲(chǔ)固定或動(dòng)態(tài)變化的值,分析算法本身所占用的存儲(chǔ)空間信息、輸入輸出數(shù)據(jù)所占用的存儲(chǔ)空間信息和算法在運(yùn)行過(guò)程中臨時(shí)占用的存儲(chǔ)空間信息,在構(gòu)成水印信息時(shí),各算法的空間復(fù)雜度均為O(n)。
對(duì)以上算法的運(yùn)行時(shí)間進(jìn)行測(cè)試,各算法實(shí)驗(yàn)的軟件環(huán)境均為Windows 10(家庭版)64位操作系統(tǒng)、Matlab R2014a;硬件環(huán)境為CPU為Intel(R)Core(TM)i5-4210U 1.7 GHz,硬盤容量100 GB,內(nèi)存容量8 GB。相同條件下運(yùn)行本文算法、文獻(xiàn)[6]算法和文獻(xiàn)[9]算法所得到的算法時(shí)間如表5所示。
綜合表5的實(shí)驗(yàn)結(jié)果和算法復(fù)雜度分析可知,本文算法在執(zhí)行過(guò)程中,相對(duì)于文獻(xiàn)[6,9]的算法,時(shí)間花費(fèi)明顯更低,效率更高,性能更佳,驗(yàn)證了對(duì)本文算法復(fù)雜度的分析。
有意義水印圖像經(jīng)過(guò)Arnold置亂加密后,與特征矩陣XL的重要位平面MSB相異或得到本文中的注冊(cè)零水印信息,大小為載體圖像的1/16;因?yàn)樽罱K檢測(cè)的零水印會(huì)還原到有意義水印圖像,所以得到的觀測(cè)圖像信息清晰、直觀,便于對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析與統(tǒng)計(jì)。
Table 5 Running time of different watermarking algorithms表5 不同水印算法運(yùn)行時(shí)間表 s
(1)魯棒性分析。
通過(guò)表2、表3可以看出,本文算法可以有效地抵抗常見(jiàn)的非幾何與幾何攻擊,對(duì)于椒鹽噪聲、中值濾波與JPEG壓縮攻擊都有很好的魯棒性。因?yàn)樵谒惴ㄖ校瑢⒃驾d體圖像通過(guò)二維一級(jí)Haar小波變換,得到了能量集中的低頻子帶,分塊策略的使用,使得分塊類別由小波系數(shù)均值和紋理均值的大小所決定,從而得到最適合于Ridgelet變換的子塊表示,獲得最好的Ridgelet變換效果;而且SVD的加入使得本文算法對(duì)外界“擾動(dòng)”有很好的抵御能力,算法中使用了二維Logistic混沌系統(tǒng)對(duì)特征矩陣進(jìn)行置亂加密處理,置亂加密效果優(yōu)異,對(duì)外界的噪聲干擾十分不敏感。有意義水印圖像在充分置亂后與特征矩陣的重要位平面MSB相結(jié)合,因?yàn)橹匾黄矫娣从吵隽藞D像灰度值的最基本信息,也保留了圖像最主要的內(nèi)容;由數(shù)字圖像相關(guān)理論知識(shí),數(shù)字圖像遭受噪聲等攻擊時(shí),其低位平面信息變化較大,而重要位平面的信息幾乎沒(méi)有任何變化,也就是說(shuō),噪聲主要集中在較低位平面。因此,與特征矩陣的MSB相結(jié)合,不僅可以較好地保留原始圖像信息,而且能夠避免噪聲干擾,去除圖像冗余,有效地提高了零水印的魯棒性。
對(duì)于如剪切攻擊和旋轉(zhuǎn)攻擊,本文算法依舊表現(xiàn)出優(yōu)勢(shì)。如圖14所示,在對(duì)中心剪裁的魯棒實(shí)驗(yàn)中,本文算法針對(duì)剪裁攻擊,受到攻擊后圖像能量大小關(guān)系變化的影響較小,魯棒性實(shí)驗(yàn)結(jié)果優(yōu)異。
(2)安全性分析。
在目前的版權(quán)認(rèn)證領(lǐng)域,安全性是絕對(duì)不容忽視的問(wèn)題,尤其是對(duì)整個(gè)算法保護(hù)過(guò)程安全性的重視。
本文算法對(duì)所提取的特征矩陣使用二維Logistic混沌加密,加密參數(shù)Key1存入零水印注冊(cè)信息庫(kù),在提取待檢測(cè)圖像的特征矩陣時(shí),需要從零水印注冊(cè)信息庫(kù)提取加密參數(shù)Key1,對(duì)其進(jìn)行相同加密操作,有效提升算法安全性;對(duì)有意義水印圖像進(jìn)行Arnold置亂加密后與過(guò)渡矩陣的重要位平面相結(jié)合,存入認(rèn)證中心,同時(shí)也將加密密鑰Key2存入零水印注冊(cè)信息庫(kù);在對(duì)待檢測(cè)圖像進(jìn)行水印提取時(shí),首先需要合法用戶從認(rèn)證中心提取零水印圖像,然后從認(rèn)證信息庫(kù)提取加密密鑰進(jìn)行水印解密,即便是零水印信息泄露,在不知道密鑰的情況下,也無(wú)法恢復(fù)出水印圖像,從而很好地加強(qiáng)了算法與水印信息的安全性。
(3)對(duì)比實(shí)驗(yàn)分析。
從表3、表4可以看出,本文算法無(wú)論是直接觀測(cè)還是使用定量的NC指數(shù)分析,相對(duì)于文獻(xiàn)[6,9]的算法都有比較大的優(yōu)勢(shì),在非幾何攻擊中,相對(duì)于文獻(xiàn)[6,9]的算法,本文算法在抵抗椒鹽噪聲和高斯噪聲攻擊中表現(xiàn)穩(wěn)定,NC值高于文獻(xiàn)[6]的算法5%~7%,高于文獻(xiàn)[9]的算法3%~5%;文獻(xiàn)[6]的算法與本文算法同樣是基于Ridgelet變換域的水印算法,但是文獻(xiàn)[6]的算法所構(gòu)造的水印過(guò)于依賴原始圖像,對(duì)原始圖像進(jìn)行幾何攻擊時(shí),如刪除圖像部分特征點(diǎn),其魯棒性能會(huì)大幅下降,尤其是在對(duì)抗剪切攻擊時(shí),魯棒性實(shí)驗(yàn)結(jié)果相對(duì)較低,同樣面對(duì)剪切攻擊,本文算法提取水印的NC值一直保持在0.991 3以上,水印魯棒性更為出色;從圖13中可以看出,文獻(xiàn)[6,9]的算法在抵抗JPEG攻擊中,隨著攻擊強(qiáng)度的增大,其算法魯棒性下降的幅度很快,主要是因?yàn)樗惴ㄒ筝d體圖像與生成水印之間要有很強(qiáng)的相關(guān)性,隨著JPEG壓縮攻擊強(qiáng)度的增大,無(wú)法保證這種相關(guān)性的存在,從而造成魯棒性迅速下降;在表5的混合攻擊中,本文算法的NC值最低到0.940 1、最高到0.982 6,相對(duì)于文獻(xiàn)[6]算法的最低0.911 2和最高0.961 3,文獻(xiàn)[9]算法最低0.948 4和最高0.971 5,表現(xiàn)更加穩(wěn)定。通過(guò)幾何、非幾何攻擊和混合攻擊的對(duì)比分析可得出,本文算法整體優(yōu)于文獻(xiàn)[6,9]的算法。
在變換域水印算法中,針對(duì)小波域水印無(wú)法獲得最佳的逼近精度和稀疏性能的問(wèn)題,在已有的脊波變換算法和零水印算法的思想上,本文提出一種基于分塊FRIT-SVD的魯棒零水印算法,算法整體簡(jiǎn)潔、易操作,考慮到脊波變換的特性,有效使用分塊策略對(duì)原始圖像進(jìn)行充分分割,之后在分割子塊上進(jìn)行FRIT,有效獲取了圖像輪廓邊緣特征,突出了脊波變換相對(duì)于小波變換的優(yōu)勢(shì)。文中使用二維混沌系統(tǒng)對(duì)特征矩陣充分置亂加密,獲得了良好的魯棒性能和安全性能,利用SVD可以表征圖像結(jié)構(gòu)特征的優(yōu)點(diǎn),有效提高零水印的魯棒性能并降低水印虛警率。實(shí)驗(yàn)結(jié)果表明,本文算法對(duì)于各類圖像處理具有良好的魯棒性與安全性,在抗剪切、濾波、噪聲等攻擊時(shí)表現(xiàn)出了比較理想的抵抗能力,能有效抵抗一般各類非幾何與幾何攻擊。但是,相對(duì)于文獻(xiàn)[9]的算法實(shí)驗(yàn),本文算法對(duì)于旋轉(zhuǎn)攻擊的水印效果還稍顯不足,有待進(jìn)一步研究與改進(jìn)。
[1] Wen Quan,Sun Tan-feng,Wang Shu-xun.Concept and application of Zero-watermark [J].Acta Electronica Sinica,2003,31(2):214-216.(in Chinese)
[2] Zeng Wen-quan,Xiong Xiang-guang.Robust zero watermarking algorithm based on integer wavelet transform[J].Microelectronics & Computer,2016,33(4):97-101.(in Chinese)
[3] Wu Wei-min,Ding Ran,Lin Zhi-yi,et al.Zero-watermarking algorithm based on cellular automata and singular value decomposition[J].Journal of Computer Applications,2014,34(6):1689-1693.(in Chinese)
[4] Qu Chang-bo, Wang Dong-feng.Robust zero watermarking algorithm based on bit plane theory and singular value decomposition [J].Journal of Computer Applications,2014,34(12):3462-3465.(in Chinese)
[5] Campisi P,Kundur D,Neri A.Robust digital watermarking in the ridgelet domain [J].IEEE Signal Processing Letters,2004,11(10):826-830.
[6] Gao Hu-ming,Jia Li-yuan,Liu Mei-ling.Digital image watermarking algorithm resisting attacks based on improved ridgelet transform[J].Application Research of Computers,2014,31(9):2750-2753.(in Chinese)
[7] Deng Cheng-zhi,Cao Han-qiang,Wang Sheng-qian.Blind digital watermarking scheme in ridgelet domain[J].Opto-Electronic Engineering,2007,34(5):131-135.(in Chinese)
[8] Do M N,Vetterli M.The finite ridgelet transform for image representation [J].IEEE Transactions on Image Processing,2003,12(1):16-28.
[9] Mangaiyarkarasi P,Arulselvi S.A new digital image watermarking based on finite ridgelet transform and extraction using ICA[C]∥Proc of 2011 International Conference on Emerging Trends in Electrical and Computer Technology (ICETECT),2011:837-841.
[10] Wang Xiang-yang,Hu Feng-li.A robust color image retrieval based on significant bit-plane [J].Journal of Image and Graphics,2007,12(9):1647-1652.(in Chinese)
[11] Liu J J,Jiang H,Liang G Y.A watermarking algorithm for digital image based on logistic and SVD[C]∥Proc of International Conference on Intelligent Computing and Integrated Systems,2010:140-144.
[12] Chen Wei-qi,Li Qian.A DWT-SVD based double-zero-watermarking algorithm[J].Computer Engineering & Science,2014,36(10):1991-1996.(in Chinese)
[13] Qu Chang-bo,Yang Xiao-tao,Shi Shuang-yu.Robust watermarking algorithm based on hybrid chaotic system and multiwavelet[J].Computer Engineering and Applications,2014,50(24):91-95.(in Chinese)
[14] Zhang Yong-hong,Zhang Bo.Algorithm of image encrypting based on Logistic chaotic system [J].Application Research of Computers,2015,32(6):1770-1773.(in Chinese)
[15] Wang C C,Tai S C,Yu C S.Repeating image watermarking technique by the visual cryptography[J].IEICE Transactions on Fundamentals of Electronics Communications & Computer Sciences,2000,60(8):1621-1631.
附中文參考文獻(xiàn):
[1] 溫泉,孫錟鋒,王樹勛.零水印的概念與應(yīng)用[J].電子學(xué)報(bào),2003,31(2):214-216.
[2] 曾文權(quán),熊祥光.基于整數(shù)小波變換的魯棒零水印算法[J].微電子學(xué)與計(jì)算機(jī),2016,33(4):97-101.
[3] 吳偉民,丁冉,林志毅,等.基于細(xì)胞自動(dòng)機(jī)與奇異值分解的零水印算法[J].計(jì)算機(jī)應(yīng)用,2014,34(6):1689-1693.
[4] 曲長(zhǎng)波,王東峰.基于位平面理論和奇異值分解的魯棒零水印算法[J].計(jì)算機(jī)應(yīng)用,2014,34(12):3462-3465.
[6] 高虎明,賈麗媛,劉美玲.基于改進(jìn)脊波變換的抗攻擊數(shù)字水印算法[J].計(jì)算機(jī)應(yīng)用研究,2014,31(9):2750-2753.
[7] 鄧承志,曹漢強(qiáng),汪勝前.脊波變換域盲數(shù)字水印方案[J].光電工程,2007,34(5):131-135.
[10] 王向陽(yáng),胡峰麗.一種基于重要位平面的魯棒圖像檢索算法[J].中國(guó)圖象圖形學(xué)報(bào),2007,12(9):1647-1652.
[12] 陳偉琦,李倩.基于DWT-SVD的圖像雙零水印算法[J].計(jì)算機(jī)工程與科學(xué),2014,36(10):1991-1996.
[13] 曲長(zhǎng)波,楊曉陶,史雙宇.基于復(fù)合混沌系統(tǒng)的多小波魯棒水印算法[J].計(jì)算機(jī)工程與應(yīng)用,2014,50(24):91-95.
[14] 張永紅,張博.基于Logistic混沌系統(tǒng)的圖像加密算法研究[J].計(jì)算機(jī)應(yīng)用研究,2015,32(6):1770-1773.