賈 園 張貴倉(cāng) 徐天芝
(西北師范大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)院 蘭州 730070)
?
基于邊緣檢測(cè)和奇異值分解的圖像水印算法*
賈 園 張貴倉(cāng) 徐天芝
(西北師范大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)院 蘭州 730070)
數(shù)字水印是實(shí)現(xiàn)作品版權(quán)保護(hù)的重要方法之一。論文針對(duì)部分DCT域圖像數(shù)字水印抵抗常規(guī)攻擊和幾何攻擊效果不佳問(wèn)題,提出了一種DCT域內(nèi)結(jié)合邊緣檢測(cè)與奇異值分解的圖像水印算法。原始宿主圖像分成大小為8*8的互不重疊的子塊進(jìn)行DCT變換后,再選取大小為4*4的中頻系數(shù)矩陣進(jìn)行奇異值分解,然后用邊緣檢測(cè)算子對(duì)原始宿主圖像進(jìn)行邊緣提取,根據(jù)邊界值的不同選取不同的嵌入強(qiáng)度,自適應(yīng)地將置亂后的水印圖像信息嵌入到奇異值矩陣中。實(shí)驗(yàn)結(jié)果表明,該算法中水印具有良好的隱蔽性,對(duì)于壓縮、噪聲、濾波、幾何等攻擊具有較強(qiáng)的魯棒性。
數(shù)字水印; 離散余弦變換; 奇異值分解; 邊緣檢測(cè)
Class Number TP309
隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展以及信息的數(shù)字化,數(shù)字作品的侵權(quán)篡改也變得日益嚴(yán)重。為了解決數(shù)字作品的版權(quán)保護(hù)問(wèn)題,各種數(shù)字水印技術(shù)[1]相繼被提出。數(shù)字水印技術(shù)是在數(shù)字作品中嵌入水印信息,通過(guò)提取出這些水印信息來(lái)判斷數(shù)字作品的可靠性和完整性,以此實(shí)現(xiàn)數(shù)字作品的版權(quán)保護(hù)。數(shù)字水印的嵌入算法[2]分為兩種,一種為空域算法,另一種為頻域算法。空域算法的基本思想是直接將水印信息嵌入到原始圖像中,通常這些位置不影響被嵌入對(duì)象的基本屬性,從而實(shí)現(xiàn)了水印的隱藏,但是它的魯棒性不高,一旦被攻擊,圖像信息很容易丟失。而頻域算法[3~5]的基本思想是原始的圖像經(jīng)過(guò)一些變換處理后,通過(guò)修改選擇的變換域系數(shù)來(lái)嵌入水印信息,這種方法不僅能夠嵌入大量的水印信息,而且它對(duì)一些常見(jiàn)的攻擊處理有較好的魯棒性,隱蔽性也較好。所以本文算法采用頻域算法中離散余弦變換。文獻(xiàn)[6]提出了基于邊緣檢測(cè)的圖像水印算法,將水印按照原始宿主圖像的不同邊緣設(shè)定不同的嵌入強(qiáng)度嵌入到原始宿主圖像的低頻系數(shù)中,使得嵌入水印圖像對(duì)于某些攻擊有較高的魯棒性,但是對(duì)于某些攻擊的魯棒性較低。文獻(xiàn)[7]提出了基于奇異值分解的DCT域數(shù)字水印算法,對(duì)于常規(guī)攻擊和一般的幾何攻擊魯棒性較好,但是原始宿主圖像的不可見(jiàn)性稍微弱些。因此本文在DCT變換[8]的基礎(chǔ)上,結(jié)合邊緣檢測(cè)和奇異值分解將水印信息嵌入到原始宿主圖像,實(shí)驗(yàn)表明,該算法對(duì)于JPEG壓縮攻擊,噪聲攻擊,濾波攻擊,幾何攻擊[9]有良好的魯棒性,并且水印的隱蔽性很好。
2.1 Arnold置亂
水印的加密技術(shù)有很多種,主要有Arnold置亂、幻方、混沌映射、Hilbert曲線。而人們經(jīng)常用的是Arnold置亂和混沌映射這兩種方法。運(yùn)用Arnold置亂一方面可以自由控制算法的選擇,參數(shù)的選擇以及隨機(jī)技術(shù),從而使非法使用者難以破譯圖像內(nèi)容,提高水印信息的安全;另一方面可以分散錯(cuò)誤比特的分布,提高水印的視覺(jué)效果從而增強(qiáng)其魯棒性。本文采用的是Arnold置亂。
定義1 對(duì)一幅N×N圖像f(x,y),變換過(guò)程可表示為:
(1)
其中x、y為變換前圖像的像素位置,x′、y′是變換后圖像像素位置,N是圖像階數(shù),mod是模運(yùn)算。
2.2 離散余弦變換
定義2 圖像處理中使用的是二維離散余弦變換,給定一幅N*N的圖像f(x,y),則它的離散余弦變換(DCT)為
(2)
反離散余弦變換(IDCT)為
(3)
注:以上公式中
圖像在經(jīng)過(guò)二維DCT變換后,變換系數(shù)幾乎是不相關(guān)的,然后經(jīng)過(guò)DCT變換的逆變換重構(gòu)圖像,信息誤差和量化誤差隨機(jī)分散到圖像子塊中的各個(gè)像素中去,這樣不會(huì)造成誤差的積累,并且二維DCT變換能夠?qū)?shù)據(jù)塊中的能量壓縮到為數(shù)不多的部分低頻變換系數(shù)中去。
2.3 奇異值分解
定義3 設(shè)矩陣A∈Rm×n,則存在m階正交矩陣U和n階正交矩陣V,使得
UTAV=diag(σ1,σ2,…,σp)=S
(4)
其中p=min{m,n},diag(σ1,σ2,…,σp)為矩陣A的全部非零奇異值,滿足σ1≥σ2≥…≥σp≥0,這里,由于前幾個(gè)奇異值較大,故其包含了圖像的主要信息。
奇異值分解[10]是一種將矩陣對(duì)角化的正交變換,它不僅決定了圖像的亮度信息,也具有較好的穩(wěn)定性,并且能夠抵抗一般的幾何攻擊。圖像的矩陣奇異值不會(huì)因?yàn)閳D像受到微小的變動(dòng)而發(fā)生大的改變,由于奇異值具有位移不變性,鏡像不變性,轉(zhuǎn)置不變性和旋轉(zhuǎn)不變性,因此基于奇異值分解的圖像水印算法具備良好的魯棒性。
3.1 水印的嵌入
步驟1 對(duì)水印圖像W進(jìn)行Arnold置亂,記入置亂次數(shù)m,得到預(yù)處理后的水印圖像W′。
步驟2 用canny算子提取原始宿主圖像的邊界圖像,并分成8*8大小的圖像子塊,得到每個(gè)圖像子塊的邊界值T。
步驟3 將原始宿主圖像分成8*8互不重疊的圖像子塊,并對(duì)每個(gè)圖像子塊進(jìn)行DCT變換。選取每個(gè)子塊中4*4大小的中頻系數(shù)組成矩陣A。
步驟4 對(duì)矩陣A進(jìn)行SVD變換,選取奇異值矩陣對(duì)角線上第一個(gè)值S(1,1)與第二個(gè)值S(2,2)作為具體的水印嵌入位置。
步驟5 按照以下規(guī)則嵌入水印:當(dāng)W′=1時(shí),若S(1,1) 步驟6 將修改后的奇異值矩陣進(jìn)行SVD逆變換,得到含有水印信息的圖像子塊。 步驟7 最后對(duì)圖像子塊進(jìn)行DCT的逆變換,得到嵌入水印信息后的圖像。 3.2 水印的提取 步驟1 首先將含有水印的圖像分成8*8互不重疊的圖像子塊,并對(duì)它的每個(gè)圖像子塊進(jìn)行DCT變換。 步驟2 在每個(gè)圖像子塊中選取大小為4*4的中頻系數(shù)矩陣并對(duì)其進(jìn)行奇異值分解,若S(1,1) 步驟3 對(duì)提取的水印信息進(jìn)行Arnold置亂,恢復(fù)原始水印圖像。 從水印的提取過(guò)程中可知在整個(gè)過(guò)程中,完全不需要原始宿主圖像的參與,實(shí)現(xiàn)了水印的盲提取。 本文選取了512*512大小的灰度圖像作為原始宿主圖像,64*64大小二值圖像作為水印圖像。為了驗(yàn)證數(shù)字水印的好壞,一般從數(shù)字水印的兩個(gè)最基本特性入手,檢測(cè)水印的隱蔽性和魯棒性。 4.1 隱蔽性測(cè)試 水印的隱蔽性可以采用峰值信噪比(PSNR)來(lái)衡量。PSNR越大,圖像的質(zhì)量保持得就越好,水印信息嵌入后對(duì)宿主圖像的影響越小也就是隱蔽性越好。PSNR的定義如下: 定義4 給定一幅大小為M×N的原圖像f(x,y)和經(jīng)過(guò)處理的圖像g(x,y),則圖像g的PSNR為 (5) 其中MSE的表達(dá)式為 (6) 原始圖像采用512*512的Lena、Barbara和Baboon圖像。64*64大小的二值水印圖像,如圖1所示,嵌入水印后的圖像如圖2(a)所示。并通過(guò)計(jì)算得到PSNR的值,如表1所示。從視覺(jué)上來(lái)看,嵌入水印圖像與原始宿主圖像沒(méi)有明顯差別,PSNR的值也在40左右,說(shuō)明本文算法的隱蔽性良好,圖2(b)為提取的水印圖像,通過(guò)計(jì)算得出其與原始水印圖像的NC值為1,能完整清晰地提取水印。 表1 隱蔽性測(cè)試結(jié)果 圖1 原始圖像 圖2 水印嵌入實(shí)驗(yàn)圖 4.2 魯棒性測(cè)試 水印的魯棒性一般用相似系數(shù)NC來(lái)衡量,即計(jì)算原始水印和經(jīng)過(guò)攻擊后提取出的水印的相似系數(shù)。NC的值越大,說(shuō)明水印的魯棒性就越好,抗攻擊的能力就越強(qiáng)。它的定義如下: 定義5 給定一幅大小為M×N的原始宿主圖像f(i,j)和嵌入水印后的圖像f′(i,j),則水印的相似系數(shù)為 (7) 為了驗(yàn)證本文算法的魯棒性,分別對(duì)嵌入水印后的Lena圖像進(jìn)行噪聲、濾波、壓縮、剪切等多種攻擊,并且通過(guò)計(jì)算得到提取的水印與原水印的相似系數(shù)即NC值,如表2所示。 表2 各種攻擊的NC值 由表2可看出,當(dāng)嵌入水印后的圖像受到噪聲、濾波、壓縮、剪切等多種攻擊時(shí),本文算法都能較好地提取出水印,并且從結(jié)果中可以看出相較于文獻(xiàn)[8]的DCT域內(nèi)直接在中頻系數(shù)中嵌入水印的算法,本文提出的基于邊緣檢測(cè)和奇異值分解的水印算法具有更好的魯棒性。 本文提出一種基于邊緣檢測(cè)和奇異值分解的數(shù)字圖像水印算法。首先將原始水印圖像進(jìn)行Arnold變換預(yù)處理,然后用邊緣算子提取原始宿主圖像的邊界圖像得到邊界值,再將原始宿主圖像分塊進(jìn)行DCT變換以及奇異值分解,通過(guò)關(guān)系式將水印信息嵌入到原始宿主圖像中。實(shí)驗(yàn)結(jié)果表明本文算法的隱蔽性很好,并且在經(jīng)過(guò)常規(guī)攻擊和幾何攻擊后水印的魯棒性很好,還實(shí)現(xiàn)了水印的盲提取。 [1] 阮秋琦.數(shù)字水印基礎(chǔ)教程[M].北京:人民郵電出版社,2007:68-72. RUAN Qiuqi. Digital watermarking based tutorial[M]. Beijing: Posts and Telecommunications Press,2007:68-72. [2] 王建哲,姜昱明.一種基于DCT變換的數(shù)字水印技術(shù)[J].計(jì)算機(jī)工程與應(yīng)用,2002,38(6):104-105. WANG Jianzhe, JIANG Yuming. A digital watermarking technique based on DCT transform[J]. Computer Engineering and Applications,2002,38(6):104-105. [3] 王洪秀,王冰.基于圖像紋理復(fù)雜度的數(shù)字水印算法[J].計(jì)算機(jī)工程,2011,37(17):102-104. WANG Hongxiu, WANG Bing. A digital watermarking algorithm based on the complexity of image texture[J]. Computer Engineering,2011,37(17):102-104. [4] 黃武輝.基于DCT域自適應(yīng)盲數(shù)字水印算法研究[D].南昌:南昌大學(xué),2010:36-40. HUANG Wuhui. Research on adaptive blind digital watermarking algorithm based on DCT domain[D]. Nanchang: Nanchang University,2010:36-40. [5] 賈偉,張佑生,周慶松,等.基于邊緣檢測(cè)的塊分類(lèi)水印算法[J].合肥工業(yè)大學(xué)學(xué)報(bào):自然學(xué)科版,2004,27(2):168-171. JIA Wei, ZHANG Yousheng, ZHOU Qingsong, et al. Block classification watermarking algorithm based on edge detection[J]. Journal of Hefei University of Technology: Nature Science Edition,2004,27(2):138-171. [6] 栗偉峰,楊小帆,柏森,等.基于離散余弦變換和邊緣檢測(cè)的圖像水印技術(shù)[J].重慶大學(xué)學(xué)報(bào):自然科學(xué)版,2004,27(12):78-81. LI Weifeng, YANG Xiaofan, BAI Sen, et al. Image Watermarking Technology Based on the DCT Transform and the Edge Detection[J]. Journal of Chongqing University: Nature Science Edition,2004,27(12):78-81. [7] 曾文權(quán),熊祥光,余愛(ài)民.基于奇異值分解的彩色圖像水印算法[J].計(jì)算機(jī)應(yīng)用研究,2013,30(10):3114-3120. ZENG Wenquan, XIONG Xiangguang, YU Aimin. Color image watermarking algorithm based on SVD[J]. Computer Application Research,2013,30(10):3114-3120. [8] 盧洲,胡平.一種改進(jìn)的基于離散余弦變換的數(shù)字水印算法[J].智能計(jì)算機(jī)與應(yīng)用,2015,5(1):39-42. LU Zhou, HU Ping. An improved digital watermarking algorithm based on DCT[J]. Intelligent computer and Application,2015,5(1):39-42. [9] 包觀笑,孫劉杰,李毓彬,等.抗任意旋轉(zhuǎn)攻擊的數(shù)字水印防偽技術(shù)[J].光電子·激光,2015,26(1):156-160. BAO Guanxiao, SUN Liujie, LI Yubin, et al. Anti arbitrary rotation attack digital watermarking anti fake technology[J]. Journal of Optoelectronics Laser,2015,26(1):156-160. [10] 劉瑞禎,譚鐵牛.基于奇異值分解的數(shù)字圖像水印方法[J].電子學(xué)報(bào),2001,29(2):168-171. LIU Ruizhen, TAN Tieniu. Digital image watermarking method based on SVD[J]. Electronic Journal,2001,29(2),168-171. Watermarking Algorithms Based on Edge Detection and Singular Value Decomposition JIA Yuan ZHANG Guicang XU Tianzhi (College of Mathematics and Statistics Science, Northwest Normal University, Lanzhou 730070) Digital watermarking is one of the important ways to realize copyright protection. Lots of existing image watermark algorithms based on DCT transformation cannot resist common attacks and geometric attacks very well. The watermarking algorithms based on edge detection and singular value decomposition in DCT transform are proposed. The original image is divided into non-overlapping small block and transformed by DCT. Choosing the DCT coefficient of size 4*4 and the blocks are decomposed with singular value decomposition (SVD). Then edge detection operator is used to carrier image edge extraction, select different embedding strength accordance boundary value. The watermark information is embedded into the singular value matrix. The experiments show that the proposed algorithm has good concealment and strong robustness against compression, noise, filtering and geometric. watermark, DCT, singular value decomposition, edge detection 2016年7月3日, 2016年8月26日 甘肅省自然科學(xué)基金(編號(hào):0803RJZA109)資助。 賈園,女,碩士,研究方向:圖像處理。張貴倉(cāng),男,博士,教授,研究方向:圖像處理,數(shù)字水印,圖形學(xué)等。徐天芝,女,碩士,研究方向:圖像處理。 TP309 10.3969/j.issn.1672-9722.2017.01.030S(2,2),則兩個(gè)系數(shù)交換;若S(1,1)≤S(2,2)且S(2,2)-S(1,1)S(2,2),則取水印信息W′=1。4 實(shí)驗(yàn)結(jié)果及分析
5 結(jié)語(yǔ)