晁 妍,南淑萍,張 巖
(阜陽師范學(xué)院計算機與信息學(xué)院,安徽阜陽 236041)
可恢復(fù)篡改內(nèi)容的高精度圖像認證水印算法
晁 妍,南淑萍,張 巖
(阜陽師范學(xué)院計算機與信息學(xué)院,安徽阜陽 236041)
針對目前半脆弱水印算法在篡改定位和篡改恢復(fù)性能方面存在的不足,本文提出了一種高精度圖像認證的半脆弱雙水印算法。該算法利用認證水印對圖像進行認證、定位篡改,利用恢復(fù)水印重構(gòu)被篡改圖像。實驗結(jié)果證明,該算法對圖像具有很好的篡改定位能力,并能有效地恢復(fù)篡改內(nèi)容。
水??;篡改定位;篡改恢復(fù)
近年來,基于圖像內(nèi)容認證的算法得到了廣泛研究。圖像內(nèi)容認證就是在保證數(shù)字圖像一定視覺質(zhì)量的前提下,將與圖像內(nèi)容相關(guān)或不相關(guān)的特征信息作為水印直接嵌入圖像區(qū)域中,當(dāng)圖像內(nèi)容需要完整性認證時,將對水印的真實性提出鑒定。但有些應(yīng)用場合,在確保安全性的前提下還需要對篡改區(qū)域進行有效的恢復(fù)。從目前的研究現(xiàn)狀來看,圖像認證中恢復(fù)篡改內(nèi)容的算法一般分為兩種:一、模糊恢復(fù),恢復(fù)后的圖像和原始圖像有不同的視覺效果。二、精確恢復(fù),從視覺效果看,恢復(fù)后的圖像和原始圖像幾乎完全相同。雖然在大多數(shù)領(lǐng)域中,圖像恢復(fù)后可以和原始圖像存在一定的差別,即只需要實現(xiàn)模糊恢復(fù)即可,但是在一些特殊領(lǐng)域中,還是希望在圖像認證過程中能夠精確恢復(fù)圖像被篡改區(qū)域。現(xiàn)如今很多圖像認證算法中[1],嵌入塊之間的比特信息是相互獨立嵌入的,彼此之間沒有關(guān)聯(lián),如果水印算法是透明的,攻擊者完全可以通過修改一個嵌入塊而不影響其他的嵌入塊,從而不會影響整個水印的提取結(jié)果,不利于篡改內(nèi)容的恢復(fù)[2]。在很多用于圖像篡改恢復(fù)的水印算法中,大多采用Torus環(huán)面自同構(gòu)映射方法[3]建立各圖像子塊之間的相關(guān)性,而這種映射算法是公開的,攻擊者很容易找到每個圖像塊所對應(yīng)的映射區(qū)域,安全性能差,而且經(jīng)過同構(gòu)映射方法找到的相關(guān)映射塊之間移動距離較小,使得某一圖像塊在遭到篡改時很容易“連累”相鄰區(qū)域,這就使得圖像遭篡改區(qū)域不可恢復(fù)或恢復(fù)后的圖像質(zhì)量不佳,從而影響了被篡改圖像的恢復(fù)性能。
針對上述問題,本文在研究過程中發(fā)現(xiàn),一幅圖像中相距較遠的兩個區(qū)域被同時篡改的可能性很小,所以本文提出了一種可高效恢復(fù)篡改內(nèi)容的半脆弱雙水印算法。
本文將圖像進行小波變換后提取圖像的內(nèi)容特征作為水印。
設(shè)原始圖像為I={g(i,j),1<i<m,1<j<n},其中,g(i,j)表示原始圖像的第i行、第j列的像素值。
1.1 認證水印的生成與嵌入
(1)對原始圖像I進行三級小波分解,得到一個第3級的近似子帶LL和其他細節(jié)子帶。
(2)利用兩個細節(jié)子帶(HL3和LH3)構(gòu)造出特征矩陣H,即
其中,h(i,j)∈H,i=1,2,…,m/8,j=1,2,…,n/8,αbs表示絕對值操作。
(3)在原始圖像的特征矩陣中抽取出圖像的邊緣紋理特征W1。
W1(i,j)∈W1,i=1,2,…,m/8,j=1,2,…,n/8,T為分割閾值。
(4)由于本文算法是利用圖像的內(nèi)容特征而生成的水印信息,所以可以公開提取。為了確保水印系統(tǒng)的安全性,有必要對水印進行加密處理。本文將采用Logistic映射產(chǎn)生混沌序列,并由此生成一個二維掩蔽矩陣M,并通過這個掩蔽矩陣M加密生成水印[4]。具體步驟如下:
Step1.利用Logistic混沌映射產(chǎn)生實值序列,即
其中,1≤μ≤4。
Step2.將上述生成的實值序列二值化,得到一個二維掩蔽模板M。
Step3.利用二值掩蔽矩陣M調(diào)制生成的水印矩陣W1,就得到了基于圖像內(nèi)容的加密水印W。W=W1?M(?表示異或操作)
(5)利用均值量化小波系數(shù)算法[5]將認證水印嵌入到中頻系數(shù)HL2或LH2中。
1.2 恢復(fù)水印的生成與嵌入
嵌入認證水印后,利用混沌行排序映射原理,建立圖像塊之間的映射關(guān)系,利用相關(guān)塊的圖像內(nèi)容生成恢復(fù)特征,將其加密后生成恢復(fù)水印。
(1)建立圖像塊之間的相關(guān)性。選擇相關(guān)塊時應(yīng)滿足以下要求:1)映射關(guān)系應(yīng)為一一對應(yīng),不會發(fā)生沖突,且圖像塊的相關(guān)子塊不能選擇為自身。2)圖像塊與其相關(guān)子塊在圖像上相距較遠,從而使得兩塊同時被修改的概率盡可能小。3)控制映射函數(shù)的用戶密鑰應(yīng)有較大的密鑰空間。具體實現(xiàn)步驟如下:
Step1.將中低頻系數(shù)HL2和LH2劃分為若干2*2的子塊,分別記為Yi,j(1<i<m/8,1<j<n/8)和Zi,j(1<i<m/8,1<j<n/8)。
Step2.將迭代初始值X1∈(0,1)作為密鑰,經(jīng)N-1次混沌運算得到混沌實值序列{Xj,j=1,2,…,N}。
Step3.將實值序列集合{Xj}中的N個值由小到大排序,形成有序序列{X′j,j=1,2,…,N}。
Step4.確定序列{Xj}中的每個Xj在序列{X′j}中的位置編號,形成映射地址集合{A=α1,α2,…,αN}。
Step5.按照映射地址集合A,確定Y1,j和Z1,j的映射關(guān)系。
Step6.重置X1的值為上一行序列的值XN。對2到m/8行的圖像子塊重復(fù)Step2到Step6進行混沌行排序映射,確定Y2,j子塊和Z2,j子塊的映射關(guān)系。
(2)對圖像塊Yi,j找到其相關(guān)圖像塊Zi,j,提取兩個圖像塊高5位的平均值生成圖像塊Yi,j的10比特恢復(fù)特征Fi=CY∥CZ。C為5位二進制數(shù),其值為圖像塊內(nèi)像素平均值的高5位。利用生成的混沌序列加密恢復(fù)特征Fi,最終生成恢復(fù)水印。將水印分別嵌入相關(guān)子塊的低位。
(3)按照上述步驟分別處理所有小塊,得到嵌入了定位水印和恢復(fù)水印的圖像。
2.1 篡改定位
在篡改定位階段,需要得到兩個水?。捍郎y圖像參考水印和認證水印。
(1)待測圖像參考水印的生成
待測圖像參考水印的生成過程和原始圖像認證水印生成步驟相同。從待檢測圖像中提取圖像內(nèi)容特征,再經(jīng)過混沌加密,得到參考水印W′。由于算法中水印的生成域和嵌入域不同,所以不會對水印提取造成影響,這時,如果沒有任何篡改發(fā)生,參考水印應(yīng)該和原始圖像中生成的水印一致。
(2)提取認證水印
將待測圖像進行三級小波變換,利用適應(yīng)反量化算法[5]來提取水印信息。
至此,用于內(nèi)容認證的水印信息從含水印圖像中的中低頻子帶中提取出來了。
(3)版權(quán)信息的判斷和惡意篡改的認證
在提取參考水印和認證水印之后,就要進一步認證圖像是否發(fā)生篡改,如果一旦檢測到篡改,系統(tǒng)必須判斷發(fā)生的篡改是對圖像的常規(guī)處理操作還是針對內(nèi)容的惡意修改,還要進一步確定篡改發(fā)生的位置。
②對誤差矩陣F進行去噪處理。由于本文設(shè)計的半脆弱水印算法對圖像的常規(guī)處理操作有很好的魯棒性,所以有可能會造成對一些惡意篡改的漏檢以及常規(guī)操作的虛檢。而且由實驗結(jié)果證明,可以通過差值矩陣來確定圖像篡改的位置,但對圖像某一位置進行定位時,常有一些呈均勻分布或隨機分布的噪聲點出現(xiàn)在篡改區(qū)域之外。為此,本文采用篡改矩陣去除噪聲方法,消除虛警與漏警影響。假設(shè)F(i,j)為篡改檢測矩陣中的像素點,如果像素F(i,j)周圍的元素值大于給定的一個閾值,那么就表示這一像素點是被篡改的,篡改檢測值應(yīng)該為“1”,若是小于給定的閾值,就表示這一像素點應(yīng)該不屬于篡改的范圍,屬于虛警的情況,篡改檢測值應(yīng)該為“0”。具體去噪過程可以簡單的用下面的公式描述,簡稱PP(post processing)過程。
③定義篡改評估函數(shù)。由于采用JPEG壓縮、圖像濾波等常規(guī)處理操作后,圖像發(fā)生的變化是全局性的,而且,在篡改矩陣F中出現(xiàn)的非零點是均勻分布在整個F矩陣中,而惡意篡改只是針對圖像某些局部內(nèi)容,所以這種篡改引起的分布在矩陣F中的非零點是聚集一起的。因此直接使用上述篡改矩陣F無法區(qū)分常規(guī)圖像處理操作和惡意篡改,進而還要利用全局比特錯誤率(TAF)設(shè)計篡改判斷準則對篡改進行評估及定位。
TAF在沒有篡改發(fā)生時應(yīng)該為0,也就是說,它的值越小說明惡意篡改發(fā)生的可能性越小,反之則相反。在篡改定位圖中,篡改反映在圖像上就是白色表示的區(qū)域。
為了反映篡改的程度和強度,引入檢測閾值τ(τ≤0.5)。如果TAF的值大于給定的閾值,值越大,就說明篡改程度越大;若其取值小于給定的閾值,則對圖像造成的修改被判定為偶然失真;如果TAF的值為0,則說明被測試圖像沒有被篡改或受到惡意攻擊。詳細篡改判斷準則為
TAF=0 圖像未經(jīng)任何處理,圖像內(nèi)容完全可靠。
TAF<τ 圖像已經(jīng)進行常規(guī)處理操作但內(nèi)容可靠。
TAF>τ 圖像內(nèi)容不可靠且已被篡改。其中,檢測閾值τ的取值取決于使用者,如果使用者對篡改后的圖像質(zhì)量要求較高,就設(shè)置較小的檢測閾值τ,反之則相反。
2.2 篡改恢復(fù)
對于被標識篡改的圖像塊,判斷其相關(guān)子塊是否被篡改;若相關(guān)子塊未被篡改,則由相關(guān)子塊的低位提取圖像塊的恢復(fù)水印,將其解密。否則無法有效恢復(fù)出圖像塊。依次處理各個被篡改標記的子塊后可得到恢復(fù)后的圖像。
仿真實驗平臺為MATLAB7.1。以標準灰度圖像Lena(512×512)和sailboat(256×256)作為實驗圖像來測試本算法的性能。檢測閾值τ定為0.45。
3.1 水印的不可見性
本文采用一個客觀的評價標準“峰值信噪比(PSNR)”來衡量水印的不可見性。待測圖像I′相對于原始圖像I的PSNR如圖1所示。圖1a和圖1c分別是原始圖像Lena和sailboat,圖1b和圖1d為含水印圖像,PSNR分別為40.06 dB和41.13 dB,并且主觀視覺效果也證實了利用本文算法嵌入的水印具有很好的不可見性,隱藏效果好。
圖1 水印的嵌入
3.2 篡改檢測和篡改恢復(fù)性能
(1)對常規(guī)處理操作的魯棒性
常規(guī)處理操作一般是通用信號處理操作,如JPEG壓縮,疊加噪聲等。為了測試算法的魯棒性,利用以上常規(guī)信號處理方法對含水印Lena圖像進行了處理。圖2給出了從中提取的水印差值圖。圖2a為經(jīng)JPEG壓縮70%后提取的水印差值圖,圖2b為疊加高斯噪聲后提取的水印差值圖,圖2c為均值濾波后提取的水印差值圖。
表1 常規(guī)圖像處理后的檢測結(jié)果
圖2 常規(guī)處理檢測結(jié)果
表1給出了部分測試結(jié)果。從表1可以看出,所有的TAF都小于給定的閾值τ(τ=0.35),圖像內(nèi)容沒有發(fā)生變化。
實驗數(shù)據(jù)表明:本文算法對常規(guī)的圖像處理具有良好的魯棒性。
(2)對惡意篡改區(qū)域的定位能力和恢復(fù)性能
為測試算法對惡意篡改區(qū)域的定位能力和恢復(fù)性能,對嵌入水印信息的Lena圖像和Sailboat圖像分別進行局部修改,具體方法如下。
①將Lena剪切一個窗口,并用其他載體圖像來替換含水印圖像中被剪切窗口(如圖3b)。圖3c)為其對應(yīng)的篡改矩陣,其中篡改檢測率為TAF=0.614(TAF>τ),表明圖像內(nèi)容已經(jīng)發(fā)生了改變,圖3d為恢復(fù)篡改內(nèi)容的Lena圖像。
②將sailboat圖像中的小船移走(如圖3e)。圖3f為其對應(yīng)的篡改矩陣,其中篡改檢測率為TAF=0.525(TAF>τ),屬于惡意篡改范圍。圖3g為恢復(fù)篡改內(nèi)容的sailboat圖像。
圖3 惡意篡改的檢測結(jié)果
以上實驗結(jié)果表明,本文算法對常規(guī)處理操作具有良好的魯棒性,對惡意篡改能準確的檢測和定位,并能高精度地恢復(fù)篡改內(nèi)容。
本文從改進現(xiàn)有半脆弱水印算法不足的角度出發(fā),提出了一種能高效恢復(fù)篡改內(nèi)容的圖像認證水印算法,通過基于圖像內(nèi)容特征的認證水印和恢復(fù)水印,實現(xiàn)了對篡改圖像的檢測、精確定位以高效恢復(fù),算法主要有以下特點:
(1)水印信息基于圖像內(nèi)容特征,實現(xiàn)了水印自適應(yīng)嵌入。
(2)利用較好的算法對篡改矩陣進行了去噪處理,更能準確地定位篡改區(qū)域。
(3)采用混沌序列行映射的方法建立了圖像塊之間的相關(guān)性,為篡改恢復(fù)奠定了良好的基礎(chǔ)。
仿真實驗數(shù)據(jù)表明,本文提出的算法很好地做到了視覺上的不可見性,而且由于本文的水印嵌入采用的是均值量化算法[5],所以在抵抗JPEG壓縮、濾波等常規(guī)處理操作時,有很好的魯棒性,但也正是由于這一原因,圖像在面臨旋轉(zhuǎn)等大量像素移動的幾何攻擊時,魯棒性較差。這也是今后研究中需要考慮的問題。
[1]和紅杰,張家數(shù),陳帆.一種高定位精度的可恢復(fù)水印算法[J].計算機科學(xué),2008,38(4):533-552.
[2]尹柳,易招師.用于圖像認證的半脆弱數(shù)字水印的設(shè)計與實現(xiàn)[J].計算機系統(tǒng)應(yīng)用,2009(4):144-147.
[3]趙彥濤,李志全.一種改進的圖像篡改定位及恢復(fù)的雙水印算法[J].光電子.激光,2009,20:938-943.
[4]黃良永,肖德貴.認證水印中實現(xiàn)篡改恢復(fù)的置亂技術(shù)研究[J].計算機工程與設(shè)計,2010,31(15):3360-3366.
[5]C.Jin,Y.Chao,X.L.Zhang.Semi-fragile watermark based on adaptive quantization for image content authentication[C]//Proceedings of International Conference on E-Business and Information System Security,Wuhan,China,2009:40-44.
[6]C.X.Zhu,Y.P.Hu.Amultipurposewatermarking scheme for image authentication and copyright protection[J].International Symposium on Electronic Commerce and Security,2008,124:930-933.
[7]王興元,石其江.基于圖像特征和超混沌迭代的圖像認證算法[J].計算機研究與發(fā)展,2005,42(11):1896-1902.
[8]陳生潭,侯振華,王虹現(xiàn).雙重認證的變換域圖像半脆弱數(shù)字水印算法[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2005,17(5):1114-1119.
[9]尹柳,易招師,陳光喜.用于圖像認證的半脆弱數(shù)字水印的設(shè)計與實現(xiàn)[J].計算機系統(tǒng)應(yīng)用,2009,4:144-147.
[10]Y.P.Hu,D.Z.Han.Using two semi-fragilewatermarks for image authentication[C]//Proceedings of the2005 International Conference on Machine Learning and Cybernetics,Guangzhou,China,2005:5484-5489.
High Precision Image AuthenticationWatermarking Algorithm for Image Tampers Recovery
CHAO Yan,NAN Shu-ping,ZHANG Yan
(School of Computer and Information,F(xiàn)uyang Teachers College,F(xiàn)uyang236041,China)
Concerning the shortage of the tamper recovery performance in the existing semi-fragile watermarking algorithm,the authors propose a precise two-watermarking algorithm.The algorithm uses the authentication watermarking for image authentication and tamper location;the recovery watermark is tampered image reconstruction.The simulation results show that the proposed algorithm has precise tamper localization,and can effectively recover the tampered content.
watermarking,tamper localization,tamper recovery
TP309.2
A
1007-4260(2014)03-0081-05
時間:2014-9-15 16:07 網(wǎng)絡(luò)出版地址:http://www.cnki.net/kcms/doi/10.13757/j.cnki.cn34-1150/n.2014.03.020.html
2014-03-20
安徽省教育廳自然科學(xué)研究項目(KJ2013Z261)和阜陽師范學(xué)院自然科學(xué)研究項目(2013KSLZX06)資助。
晁妍,女,安徽阜陽人,碩士,阜陽師范學(xué)院計算機與信息學(xué)院教師,主要研究方向為信息安全和數(shù)字圖像處理。