黃?,摚麍F發,陳 華
(廣西大學 計算機與電子信息學院,廣西 南寧 530004)
基于DWT-DFT和SVD域的盲水印算法
黃?,?,覃團發,陳 華
(廣西大學 計算機與電子信息學院,廣西 南寧 530004)
提出了一種基于離散小波變換、離散傅里葉變換和奇異值分解相結合的盲水印算法。該算法對原始圖像進行一級離散小波變換后選擇低頻子帶圖像作分塊離散傅里葉變換,然后對分塊離散傅里葉變換的幅度譜進行奇異值分解,選擇最大奇異值并采用量化嵌入方法實現水印的嵌入和盲提取。為了提高算法對旋轉攻擊的魯棒性,采用基于Radon變換的檢測算法對待檢測圖像進行旋轉校正。實驗結果表明,該算法對一些常規攻擊和幾何攻擊都具有較強的魯棒性。
離散小波變換; 離散傅里葉變換;奇異值分解;盲水??;魯棒性
奇異值分解(SVD)是一種矩陣變換,對數字圖像進行SVD具有一些顯著特性[1],Zhou等人[2]證明了數字圖像的奇異值對轉置、鏡像、旋轉、放大、平移等幾何失真具有不變性?;赟VD的水印算法對抵抗幾何攻擊具有一定的魯棒性。現有水印算法中單一基于SVD的水印算法不多,多數情況是SVD與其他變換結合起來進行水印研究。胡娟等人[3]提出一種結合DWT和SVD的水印算法,解決了水印嵌入強度和圖像質量的關系問題,但該算法由于需要進行分塊DWT耗時較長。袁修貴等人[4]提出一種結合DWT-DCT和SVD的魯棒水印算法,該算法提出了小波分解層次準則和水印相互嵌入準則,使得水印嵌入具有適應性。與大多數水印算法將水印嵌入到SVD的最大奇異值或奇異值不同,胡青等[5]將水印嵌入到SVD分解得到的奇異向量當中,通過正交矩陣向量系數間的制約關系調整其他系數值。葉天語[6]提出一種DWT-SVD域全盲水印算法,該算法通過自嵌入技術和盲提取認證水印序列達到全盲檢測。褚靜等人[7]提出一種DWT和SVD相結合的彩色圖像水印算法,但水印檢測需要原始圖像,是一種非盲水印算法。
本文利用數字圖像的DWT具有能量主要集中在低頻部分的特點和DFT變換具有幅度譜的平移不變性的特點,結合SVD奇異值穩定的特點,提出一種基于DWT-DFT和SVD的盲水印算法。
1.1 Logistic混沌映射和Arnold置亂變換
本文采用Logistic混沌映射和Arnold置亂變換雙重加密方法對水印在嵌入之前進行預處理。
Logistic映射所描述的是一個簡單動力系統,其定義為
Xn+1=uXn(1-Xn)
(1)
式中:Xn∈(0,1),當3.569 945 6
采用Arnold置亂變換可以減少像素間的相關性。設原始水印的大小為M×M,則水印的Arnold置亂變換的公式為
(2)
式中:xi和yi分別表示Arnold置亂變換之前像素的橫坐標和縱坐標;xi+1和yi+1分別表示置亂變換之后后像素的橫坐標和縱坐標。Arnold變換具有周期性,設其周期為T,則原始水印進行n(0≤n≤T)次Arnold變換后得到一個混亂的圖像,再經過T-n次Arnold變換就恢復到原始水印。
本文水印預處理的方法是:先用Logistic混沌映射產生混沌序列,然后用混沌序列與二值化的水印信息進行邏輯異或運算,最后將異或結果進行Arnold置亂變換得到所要嵌入的水印信息。
1.2 DWT,DFT和SVD域
1.2.1 離散小波變換DWT
小波變換的基本思想是對信號進行細致的多分辨率分解。原始圖像經過一級DWT后,分解成4個1/4大小的子帶圖像:LL1,HL1,LH1和HH1。子帶圖像LL1集中了原始圖像的主要能量,其抗外在干擾的穩定性較好;而子帶圖像HL1,LH1和HH1保持了原始圖像的邊緣細節特征,易受外界因素影響,其穩定性較差。子帶圖像LL1是水印信息嵌入的理想區域,但該區域也是人眼視覺比較敏感的區域,如果直接在該區域嵌入水印信息,容易造成圖像質量的明顯下降。所以有必要對LL1進一步分解,本文采用的是DFT。
1.2.2 離散傅里葉變換DFT
設圖像f(x,y)的大小為M×N,則其二維的DFT為
(3)
式中:u=1,2,…,M;v=1,2,…,N。
DFT的反變換為
(4)
其中,x=1,2,…,M;y=1,2,…,N。
由于數字圖像的二維DFT變換的幅度譜具有平移不變性,本文選擇DFT變換的幅度譜作為水印的嵌入區域。
1.2.3 奇異值分解SVD
圖像DFT的幅度譜需要進行SVD分解后才嵌入水印,SVD的基本原理如下:
設A∈RM×N表示一個圖像矩陣,R表示實數域,A的大小為M×N,則A的SVD可表示為
A=UΣVT
(5)
其中,U∈RM×N,V∈RM×N是正交矩陣,Σ∈RM×N是一個非對角線上的元素都是0的矩陣,其對角線上的元素滿足
λ1≥λ2≥…λr>λr+1=…=λM=0
(6)
其中,r是A的秩,λi是A的奇異值。
數字圖像的第一個奇異值比其他奇異值要大得多,這對水印的嵌入非常有利,本文選擇在分塊SVD的最大奇異值中嵌入水印。
1.3 水印量化嵌入
為了實現盲水印檢測,本文采用水印的量化嵌入方法。其主要思想是根據水印信息位的不同將待被嵌入水印的載體數據量化到不同的量化區間,在提取水印時根據所屬的量化區間來識別水印信息位。
本文參照文獻[3]的水印量化嵌入方法,設w為水印信息位,S為分塊的最大奇異值,Q為量化區間。
(7)
(8)
式中:mod(S,Q)表示求S對Q的余數。
1.4 基于Radon變換的檢測算法
Radon變換檢測算法的主要思路是[8]:
1)對原始圖像作角度為0°的Radon變換,得到參照向量R0。
2)對待檢測的含水印圖像進行一組投影角從0°~359°(步長為1°)的Radon變換,得到360個檢測向量R(θ),θ∈[0,1,2,…,359]。
3)計算每一個R(θ)與R0的相關系數NCR(i)

i∈[0,1,2,…,359]
(9)

1.5 水印嵌入和提取算法
1.5.1 水印嵌入
水印嵌入步驟如下:
1)由Logistic混沌映射產生混沌序列為L,設原始水印W大小為Mw×Nw,二值化后的W與L進行異或運算,經過Arnold置亂變換變成一維向量watermark,watermark就是待嵌入的水印信息。保存相關密鑰。
2)設原始圖像I大小為M×N,進行一級DWT,選擇低頻子帶圖像LL1。對LL1進行分塊大小為(M/2)×(N/2)/(Mw×Nw)的DFT,取其幅頻值A。
3)用式(5)對幅頻值A進行SVD得到A=UΣVT,對角矩陣Σ中的第一個元素Σ(1,1)就是最大奇異值。
4)根據式(7)和式(8),用watermark對Σ(1,1)進行水印量化嵌入。

6)依次進行SVD逆變換,DFT逆變換和DWT逆變換,得到含水印圖像I*。
1.5.2 水印提取
水印提取過程如下:
1)對I*進行一級DWT,選擇低頻子帶圖像LL1*進行分塊DFT,取幅頻值A*。
2)對幅頻值A*進行SVD,選擇最大奇異值S*。
3)根據式(10)進行水印提取
(10)
其中,Q為量化區間。
4)根據密鑰,對watermark*進行Arnold反置亂變換,結合Logistic混沌序列,經過異或運算得到提取出來的水印W*。
5)計算W*與W的歸一化相關系數NC。NC定義為
(11)
由于水印提取過程不需要原始圖像和原始水印參加,因此本文算法是盲水印算法。
仿真實驗以一幅32×32的二值圖像為水印,以256×256灰度圖像Lena作為原始圖像進行水印嵌入,量化步長Q=320。圖1為原始圖像和原始水印,圖2為含水印圖像和提取水印。在不受任何攻擊的情況下,峰值信噪比PSNR=39,說明其感知性沒有明顯變化,歸一化相關系數NC=1,表明提取出來的水印和原始水印幾乎沒有任何改變。

圖1 原始圖像和原始水印

圖2 含水印圖像和提取水印
圖3給出了含水印圖像經過各種攻擊后提取出來的水印。

圖3 各種攻擊提取出來的水印
為了表明本文所提出算法的優越性,在同等實驗條件下,對本文算法與文獻[3]的算法分別進行水印攻擊實驗,在嵌入水印之后未遭受任何攻擊之前兩種算法的PSNR均為39,在遭受各種攻擊之后兩者的歸一化相關系數NC值如表1所示。
表1 含水印圖像遭受攻擊實驗測試結果

各種攻擊參 數文獻[1]算法的NC本文算法的NC本文提取水印圖示JPEG壓縮品質因子Q=200968009850圖2a高斯噪聲方差為00010990809948圖2b椒鹽噪聲方差為00030962809693圖2c高斯濾波窗口3×30992509925圖2d中值濾波窗口3×30959109527圖2e圖像放大2倍1000010000圖2f圖像縮小1/4倍1000009994圖2g圖像裁剪中間面積1/80944109652圖2h圖像裁剪左上角面積1/40931008808圖2i圖像旋轉20°0625506452圖2j
從表1可以看出,本文所提出的水印算法在JPEG壓縮和圖像裁剪兩種攻擊上獲得比文獻[3]更強的魯棒性,對其他攻擊這兩種算法的魯棒性差不多,但這兩種算法對圖像旋轉攻擊的魯棒性都比較差。為了提高水印算法在圖像旋轉上的魯棒性,本文采用Radon變換旋轉檢測算法取得很好的效果,實驗結果如表2所示。
表2 Radon變換檢測算法對旋轉攻擊的實驗NC值

算法旋轉角度1°5°10°20°50°100°200°300°不用Radon變換檢測算法0761306664067020645206509062570639906664使用Radon變換檢測算法0956209628094670935809218094670935809212
本文提出了一種基于DWT-DFT-SVD的盲水印算法。水印嵌入之前先進行Logistic混沌映射和Arnold置亂變換雙重加密預處理過程,增強了水印的安全性。水印提取過程不需要原始圖像和原始水印參與,是典型的盲水印算法。通過實驗與文獻[3]的算法相比較,本文所提出的水印算法在抵抗JPEG壓縮、圖像裁剪和圖像旋轉等攻擊具有更強的魯棒性。
[1] 王慧琴,王嘉路,王可,等﹒一種奇異值分解數字水印算法的研究[J].工程圖學學報,2011(5):30-34﹒
[2] ZHOU B,CHEN J. A geometric distortion resilient image watermarking algorithm based on SVD[J]. Image and Graphics, 2004, 9(4):506-512.
[3] 胡娟,楊格蘭,嚴權鋒. 結合DWT和SVD的魯棒盲水印算法[J].工程圖學學報,2008(4):107-110.
[4] 袁修貴,周振.一種新的基于DWT、DCT和SVD的魯棒水印算法[J].計算機工程與科學,2011,33(1):112-115.
[5] 胡青,龍冬陽.基于DWT-SVD的奇異向量量化水印算法[J].計算機科學,2011,38(11):30-33.
[6] 葉天語. DWT-SVD域全盲自嵌入魯棒量化水印算法[J].中國圖象圖形學報,2012,17(6):644-650.
[7] 褚靜,徐安成,張美鳳.DWT和SVD相融合的彩色圖像水印算法[J].電視技術,2013,37(17):29-32.
[8] FANG Xiaopeng,PENG Bo.Detection method of digital watermark about anti-attacking rotation based on radon[J].Computer Engineering and Design,2008(29):2069-2073.
黃?,?1972— ),碩士,講師,主研數字圖像處理;
覃團發(1966— ),博士,教授,主要研究方向為多媒體通信;
陳 華(1958— ),博士,教授,主要研究方向為光電成像技術、數字圖像處理。
責任編輯:閆雯雯
Blind Watermarking Algorithm Based on DWT-DFT and SVD Domain
HUANG Fuying, QIN Tuanfa, CHEN Hua
(School of Computer,Electronics and Information, Guangxi University, Nanning 530004,China)
A blind watermarking algorithm is proposed in combination of discrete wavelet transform(DWT),discrete fourier transform(DFT) and singular value decomposition(SVD) domain. Firstly, a original image is conducted with one-level DWT and its low frequency wavelet band is split into non-overlapping blocks.Then each block is conducted with DFT and its amplitude is conducted with SVD. At last,the watermarking is embedded and extracted blindly with a quantization method in the biggest singular value of SVD.To improve the robustness to rotation attack, a detection algorithm based on Radon transform is adopted to correct the image to be detected. Experimental results show that the proposed algorithm has strong robustness to some common attacks and geometric distortion.
DWT;DFT;SVD;blind watermarking; robustness
國家自然科學基金項目(61164019)
TN911.73;TP391.4
A
10.16280/j.videoe.2015.20.003
2015-03-24
【本文獻信息】黃?,?,覃團發,陳華.基于DWT-DFT和SVD域的盲水印算法[J].電視技術,2015,39(20).