張君捧,呂紅麗,張明玉,耿淑娟
(1.山東建筑大學信息與電氣工程學院,山東 濟南 250101;2.山東建筑大學山東省智能建筑技術重點實驗室,山東 濟南 250101)
隨著信息技術的迅速發(fā)展,數(shù)字產品的版權問題面臨著嚴峻的挑戰(zhàn),數(shù)字水印技術,成為版權保護的有效工具[1-2]??截惞魧儆诜鞘跈嗲度牍?,對手從合法含有水印的圖像中提取出水印并將其復制到一件不含水印的目標圖像中[3-4]。這種攻擊能夠實現(xiàn),原因在于,嵌入圖像的消息確實是真實的,但其隱藏圖像卻不對。為抵抗這種攻擊,收方必須能夠對整個水印消息進行驗證,包括其同含水印圖像間的關聯(lián)性。
目前,研究抗拷貝攻擊水印的文獻較少,以往的抗拷貝攻擊主要思路是用數(shù)字簽名的方法[5-7],但由于所采取的哈希函數(shù)自身的唯一性,會導致待嵌入水印的文件哪怕發(fā)生一個微小的變化,簽名結果就會失效,這就要求含水印圖像不能經受任何一點攻擊。而通常只要在視覺容許的范圍內,對于一定程度的JPEG壓縮和噪聲是可以存在的。這就需要水印對拷貝攻擊本身較敏感,同時,還可以容許一定范圍的修改,而這往往又是簽名方法難以實現(xiàn)的。此外,文獻[8-9]提出用獨立分量分析(ICA)的方法產生圖像簽名,與水印一同嵌入到灰度圖像中,并采用ICA技術進行檢測,取得了較好的效果。但上述文獻僅僅適用于灰度圖像。
本文針對彩色圖像,提出一種基于圖像特征的水印嵌入方法,可以通過水印嵌入后圖像特征的變化來確定是否存在拷貝攻擊。實驗表明,該方法能夠有效地抵抗拷貝攻擊。
把能夠惟一表征原始圖像的特征信息作為水印嵌入到原始圖像中,通過水印嵌入前后特征信息的變化可以有效檢測出拷貝攻擊。圖像特征信息的選擇應該考慮兩個方面:1)唯一性:即不同的圖像其特征應該是不同的。2)容錯能力:即要考慮水印嵌入對圖像特的影響,保證水印嵌入前后的特征是不變的。
通常獲取圖像特征的方法,是直接從圖像中選擇一些重要的區(qū)域作為圖像特征,例如圖像的邊緣和紋理等,從邊緣信息或紋理中找出相對穩(wěn)定的特征點[10]。Barr John等人曾指出,圖像DCT的低頻系數(shù)經過二值化處理后可以惟一表征該圖像[11]。本算法中采取了這一方法來提取圖像特征信息,能夠滿足圖像特征的唯一性,同時,鑒于容錯性的考慮,算法中首先對圖像進行YUV分解,從色度信號提取特征分量,嵌入到亮度分量中,由于亮度信號Y和色度信號U、V是相互分離的,使得嵌入水印后提取的特征所受到的嵌入影響盡可能小。
圖像特征信息提取算法大致描述如下:
(1)將載體圖像尺寸縮放為原圖像大小的1/4,并從RGB色彩模式轉換為YUV色彩模式,提取U分量。在這里首先對載體進行尺寸縮放,主要考慮后續(xù)生成的圖像特征矩陣不應該太大,否則嵌入到載體圖像中必定會影響其不可見性。
(2)對U分量進行分塊DCT變換,分塊大小為8×8。
(3)對每一分塊DCT變換的系數(shù)進行Zig-zag重新排序,取前四位低頻分量,然后把各塊所得系數(shù)合并為矩陣A。
(4)對矩陣A進行二值化處理得到矩陣B,矩陣B即為提取的圖像特征信息。二值化的處理方法很多,大體分為兩類:全局閾值算法(如otsu算法)和局部閾值算法(如niblack)。在這里選取了niblack方法,經實驗驗證,該方法具有速度快、效果好的優(yōu)點。
為了增加安全性,需要對提取的二值特征矩陣B進行加密處理。Logistic映射是一類非常簡單卻被廣泛研究的混沌動力系統(tǒng)[12],可用非線性差分方程來描述:
Logistic映射的混沌區(qū)域為3.569945672…<μ≤4,該映射對初值具有極度敏感性。當μ=4時,Logistic混沌序列的均值為0.5,相當于隨機序列,可通過簡單的四舍五入即可把實值混沌序列轉換為二進制“0”和“1”序列S,然后與特征矩陣B按位進行異或操作可實現(xiàn)對特征矩陣B的混沌加密,加密的結果C即作為水印嵌入到載體圖像中。由于混沌序列對初值具有強烈的敏感性,在不知道初值的情況下,盜版者即使提取了特征信息也無法生成嵌入的水印,即使能夠提取水印也無法獲取原圖像的特征信息。因此通過混沌加密會進一步提高安全性。
載體圖像的特征分量由其U分量的低頻部分構成,考慮到嵌入算法對圖像特征的影響應盡可能的小,因此在水印嵌入時,考慮嵌入在Y分量中。同時,由于小波變換良好的空間—頻率局部特性和與人眼視覺相符的變換機制,水印嵌入算法選擇在小波域的中頻,以保證水印的不可見性及魯棒性,并且,對水印嵌入的強度可進行自適應調整。
假設X是原始宿主圖像,大小為N×N,W為待嵌入的水印,大小為M×M,假設N=2t×M,其中,t為整數(shù),通常t≥4,則水印嵌入算法可大致描述如下:
(1)把原始彩色圖像從RGB空間轉換到YUV空間,提取Y分量,對Y按照8×8的大小進行分塊,對每一塊進行一級DWT變換,小波函數(shù)采取Haar小波,得到四個系數(shù)矩陣A、H、V、D分別表示小波變換后的低頻、水平、垂直和對角線的小波系數(shù)。本文在每一個8×8分塊的一級小波分解的水平系數(shù)H中嵌入水印。
(3)在H矩陣的副對角線上選擇一嵌入位置,假設選中的系數(shù)為x(i,j),按如下方式嵌入水印:
①當嵌入的水印比特為0時,比較x(i,j)與均值 E,若 x(i,j)≥E,則不作修改;若 x(i,j)<E,則調整 x(i,j),調整的方法是 x(i,j)=x(i,j)+P,再比較 x(i,j)與均值 E,若 x(i,j)≥E,結束,否則繼續(xù)調整過程,直到滿足 x(i,j)≥E。
②當嵌入的水印比特為1時,比較x(i,j)與均值 E,若 x(i,j)≤E,則不作修改,否則調整 x(i,j)使x(i,j)=x(i,j)- P,再比較 x(i,j)與均值 E,若 x(i,j)≤E,結束,否則繼續(xù)調整過程,直到滿足x(i,j)≤E。
(4)重復(2)、(3)直到所有的水印比特都被嵌入到8×8的分塊中。
(5)進行小波逆變換得到嵌入水印后的Y分量,然后從YUV色彩模式變換回RGB模式,即完成了水印的嵌入過程。
水印的提取是水印嵌入的逆過程,該算法在提取水印時不需要原始圖像,因此可實現(xiàn)水印的盲提取。
(1)把嵌入水印的彩色圖像從RGB空間轉換到YUV空間,從中提取Y分量,對Y按照8×8的大小進行分塊,對每一塊進行一級Haar小波分解。
(3)若水印嵌入位置的小波系數(shù)為x'(i,j),則比較 x'(i,j)與均值 E,若 x'(i,j)≥E,則水印比特為0,否則為 1。
(4)重復以上(2)、(3)直到所有8×8塊中的水印比特都提取出來,構成水印向量。
(5)如上提取出來的水印為混沌加密后的信息,采用相同的混沌序列對提取的水印按位進行異或操作,可實現(xiàn)混沌解密,即獲得嵌入的原始圖像特征信息。
(6)采用歸一化相關系數(shù)(NC)檢測提取水印與原始水印間的相似性。
式中:NL為水印總長度,⊕表示異或,w和w'分別為原始水印和提取的水印,0≤NC≤1,NC值越大,表明兩者之間的相似度越大,NC=1時,表明兩者完全相同,NC值大于給定的閾值,即可確定水印的存在,本試驗中,選取閾值為0.7。
根據(jù)上述算法,在MATLAB平臺上搭建一個數(shù)字水印系統(tǒng)進行仿真。試驗中的載體圖像是尺寸為1024×1024的彩色圖片,圖1為實驗結果。
圖1 實驗對比結果
圖1a、d分別是原始圖像和嵌入水印后的圖像,從人眼視覺上來看感覺不到二者的差異,而計算含水印圖像的峰值信噪比為PSNR=39.860dB,通常只要PSNR>30dB,人的視覺就很難感到圖像質量的變化??梢娫撍惴ň哂休^好的不可見性。圖1c、e分別是嵌入的水印和提取的水印,經計算,兩者的相似度NC=1,說明二者完全相同。圖1b是提取的原圖像的特征信息,圖1f為解密后的特征信息,兩者相似度NC=1,可見,該算法可以很好的實現(xiàn)水印的嵌入與提取。
(1)常規(guī)圖像處理攻擊測試
為了檢驗水印嵌入算法的抗干擾性能,參考常用的攻擊形式,對水印圖像進行了各種攻擊,包括噪聲、濾波、剪切、旋轉,JPEG壓縮,如圖2所示。同時采用歸一化相關系數(shù)NC來衡量水印的相似度。為方便討論,這里暫不考慮混沌加密,即把特征信息作為水印嵌入圖像。表1給出了在不同攻擊下提取的水印NC值。其中,NC1為提取的水印與原始水印之間的相似度,NC2為提取的水印與重新計算的含水印圖像的特征信息(w″)之間的相似度。
圖2 攻擊后的含水印圖像
表1 不同攻擊下提取的水印圖像的NC值
由表1可見,該算法對于疊加高斯噪聲,高斯濾波,剪切、JPEG壓縮均有較好的魯棒性,而且在這些攻擊下,所提取出來水印相似度NC1均高于文獻[9],表明該水印嵌入算法具有良好的抵抗常規(guī)攻擊的能力。要注意的是,不同攻擊下的NC2值都要小于NC1值,其主要原因是,盡管該算法已經盡量避免了水印的嵌入對圖像特征的影響,但是,各種攻擊對含水印圖像提取特征信息還是會有一定的影響,盡管如此,表中NC2值也足以表明該算法良好的抵抗攻擊的能力。另外,算法在幾何旋轉方面的性能并不是很好,同時,當旋轉角度增加時,提取的水印與原水印的相似度會進一步降低,但在旋轉角度小于10°時,其NC1和NC2值都是可取的,而文獻[9]中并沒有對旋轉情況下的相似度進行分析。
(2)拷貝攻擊測試
拷貝攻擊是指將合法水印嵌入到非法的載體圖像中。在本實驗中,假定攻擊者可以通過含水印的圖像與原始圖像進行某種操作(如差值法)獲取到合法的水印。試驗中,首先獲取Lena彩色圖像的特征信息作為合法水印,并且將該水印嵌入到了非法的圖像中,并選取以下八副圖像做為非法圖像實施拷貝攻擊,如圖3所示,然后分別從這8幅非法圖像中提取特征信息和水印。表2給出了從這些非法圖像中提取水印的NC值。
表2 從非法圖像中提取的水印圖像的NC值
圖3 非法圖像
從表2可見,把合法的水印嵌入到非法的圖像中,并通過合法的方法提取出水印,經測試,提取的水印與原始水印之間相似度NC1值均為1,若由此確定水印圖像是安全的,則不能檢測出拷貝攻擊。表2中給出的NC2值,為提取的水印與含水印圖像特征信息之間的相似度,因為載體圖像已經被更換,導致含水印圖像的特征信息發(fā)生了很大變化,通過實驗計算兩者的相似度均在0.5左右,遠小于閾值0.7,因此,雖然通過NC1值不能夠檢測出拷貝攻擊,但可以通過NC2值判定所提取的水印并非屬于該載體圖像,即檢測出發(fā)生了拷貝攻擊。
實驗表明該方案具有抵抗常規(guī)攻擊的能力,通過對兩個相關系數(shù)的檢測,也能較為有效地抵抗拷貝攻擊。相對于文獻[9]采用漢明距離來檢測拷貝攻擊的方法,本方法顯然更簡單有效。
本文提出的基于圖像特征的水印方法,通過在MATLAB平臺上進行仿真,實驗結果表明,該算法對噪聲攻擊、JPEG壓縮、濾波和剪切等常規(guī)圖像處理攻擊具有較好的魯棒性,同時能夠有效地抵抗拷貝攻擊。該水印算法有如下優(yōu)點:(1)適用于彩色圖像,特征信息由載體圖像色度信號的DCT低頻系數(shù)的二值化獲得,該特征信息能夠唯一的表征圖像。(2)特征信息進行混沌加密,進一步增加其安全性。(3)在圖像亮度分量Y的DWT中頻系數(shù)進行水印嵌入,以此減小嵌入過程對特征信息的影響,并且嵌入?yún)?shù)可調。(4)提取水印不需要原始圖像,可實現(xiàn)盲提取。此外,如何增強水印抵抗幾何旋轉等攻擊的能力,將是以后進一步探索的方向。
[1]孫圣和,陸哲明.數(shù)字水印處理技術[J].電子學報,2000,28(8):85-90.
[2]林曉丹.用于版權和內容認證的音頻水印[J].計算機應用,2010,30(8):2269 -2271.
[3]DING Y Y,ZHENG X S,ZHAO Y L.A video watermarking algorithm resistant to copy attack[C]//.ISECS,Guangzhou:IEEE,2010,70:289 -292.
[4]KUTTER M,VOLOSHYNOSKIY S,HERRIGEL A.The watermark copy attack[C]//.Proc of the SPIE,Security and Watermarking of Multimedia ContentsⅡ,San Jose:CA,2000,3971:371 -380.
[5]易翔,王蔚然.彩色圖像多簽名水印算法的研究[J].電 子 科技 大 學 學 報,2005,34(5):665-668.
[6]周永磊,王京春.結合數(shù)字水印和簽名的二值圖像內容驗證[J].計算機工程與應用,2004,40(15):56 -58.
[7]孫圣和,陸哲明,牛夏牧.數(shù)字水印技術及應用[M].北京:科學出版社,2004:378 -379.
[8]LIU J,HU H B,SUN J D.A copy attack resilient blind watermarking algorithm based on independent feature components[J].Lecture Notes in Computer Science,2005,3497:777 -782.
[9]HU H B,HUANG Y,LIU J.An ice-based watermarking scheme resistant to copy attack[C]//IEEE Int Workshop VLSl Design &Video Tech,2005:154 -157.
[10]王興元,石其江.基于圖像特征和超混沌迭代的圖像認證算法[J].計算機研究與發(fā)展,2005,42(11):1896 -1902.
[11]BARR J,BRADLEY B,HANNIGAN B T.Using digital watermarks with image signatures to mitigate the threat of the copy attack[C]//Proc of ICASSP’03.Hong Kong:IEEE Press,2003:69 -72.
[12]李宗成,趙慶利.一類時滯差分方程中的混沌[J].山東建筑大學學報,2009,24(3):224 -228.