吳捷
摘要:基于離散小波變換與奇異值分解提出一種新型數(shù)字水印算法,其主要目的是提供一種合適的解決方案,以降低幾何攻擊帶來(lái)的影響。為了達(dá)到該目標(biāo),將宿主圖像分為4個(gè)互不重疊的子圖,然后使用DWT-SVD技術(shù)分別在其中嵌入水印。水印的冗余可以降低裁剪攻擊造成的影響。此外,為了應(yīng)對(duì)諸如旋轉(zhuǎn)、平移等幾何攻擊,提出一種校正技術(shù),通過(guò)邊緣檢測(cè)與對(duì)所需圖像邊角的獲取,以重構(gòu)遭受幾何攻擊的圖像。實(shí)驗(yàn)結(jié)果表明,與其它水印算法相比,該方案對(duì)常見的信號(hào)處理與幾何攻擊都具有較強(qiáng)的魯棒性。
關(guān)鍵詞:離散小波變換;奇異值分解;幾何攻擊;邊緣檢測(cè)
A Robust Image Watermarking Method Based on a
Technique for Correction of Main Geometric Attacks
WU Jie
(School of Information and Technology, Taizhou Polytechnic College, Taizhou 225300, China)
Abstract:In this article, a new scheme based on a combination of DWT and SVD domains is presented, in which the main focus is to provide proper solutions for reducing effect of geometric attacks. To address this goal, we divide host image into four nonoverlapping rectangular segments called sub?images and then watermark is independently embedded into each of them using DWT?SVD. The redundancy reduces effect of cropping attack. Moreover, in order to correct main geometric attacks, such as rotation, translation and so on, we propose an inventional correction technique to recover geometrically attacked image via edge detector and detection of desired image corners.Compared with other schemes,?the achieved results shows that the proposed scheme has stronger or comparable robustness against common signal processing and geometric attacks.
Key Words:discrete wavelet transform (DWT); singular value decomposition (SVD); geometric attack; edge detector
0?引言
數(shù)字水印是一種用于圖像認(rèn)證與版權(quán)保護(hù)的有效方法。數(shù)字水印的基本原理是將隱藏的秘密數(shù)據(jù)生成水印嵌入到原始圖像中作為憑證。因此,可以通過(guò)檢測(cè)秘密數(shù)據(jù)進(jìn)行數(shù)字媒體的版權(quán)驗(yàn)證。通常認(rèn)為,一種有效的水印算法應(yīng)具有不可感知性與魯棒性。將對(duì)原始圖像實(shí)施的各種操作稱為攻擊,主要攻擊可分為兩大類:①信號(hào)處理攻擊,如JPEG壓縮,以及各類噪聲、濾波、模糊等;②幾何攻擊,如旋轉(zhuǎn)、縮放、剪切、平移等。
數(shù)字水印主要是基于空間域或變換域技術(shù)實(shí)現(xiàn)的??臻g域水印算法是通過(guò)修改原始圖像像素嵌入水印,實(shí)現(xiàn)容易且成本較低。相對(duì)于空間域技術(shù),如離散小波變換(DWT)、離散余弦變換(DCT)與奇異值分解(SVD)等一系列變換域技術(shù),其在應(yīng)對(duì)信號(hào)處理攻擊方面更加有效。這是由于其通過(guò)修改變換系數(shù)嵌入水印,當(dāng)圖像被逆變換時(shí),水印可以不規(guī)則地分布在圖像上,從而減少了各類圖像處理造成的影響。近年來(lái)大多數(shù)文獻(xiàn)也是基于變換域展開的,其中文獻(xiàn)[1]選擇使用整數(shù)小波變換進(jìn)行信號(hào)處理,通過(guò)對(duì)原始圖像進(jìn)行二級(jí)整數(shù)小波變換,將低頻子帶進(jìn)行分塊并根據(jù)每一分塊的均值與低頻子帶均值的大小關(guān)系得到特征矩陣,最后將該特征矩陣與預(yù)處理后的版權(quán)信息相結(jié)合,構(gòu)造零水印信息;文獻(xiàn)[2]利用果蠅優(yōu)化算法將離散小波變換(DWT)應(yīng)用于水印技術(shù)中,通過(guò)群體智能算法解決水印透明性與魯棒性之間的矛盾;文獻(xiàn)[3]將非下采樣變換與奇異值分解相結(jié)合,提出一種利用Zernike矩對(duì)圖像進(jìn)行幾何校正的盲水印算法;文獻(xiàn)[4]利用數(shù)字全息技術(shù)將水印圖像生成數(shù)字全息圖,結(jié)合奇異值提出一種具有強(qiáng)魯棒性的數(shù)字水印算法;文獻(xiàn)[5]通過(guò)對(duì)小波逼近子圖進(jìn)行主成分分析(PCA),提出一種基于DWT與感知哈希的零水印算法;文獻(xiàn)[6]結(jié)合QR分解與Contourlet變換的優(yōu)點(diǎn),提出一種新的魯棒盲水印算法;文獻(xiàn)[7]?[9]則針對(duì)現(xiàn)有算法處理幾何攻擊魯棒性不強(qiáng)的問(wèn)題,提出各自的解決方案。其中,文獻(xiàn)[7]、[8]利用SIFT特征點(diǎn)具有的旋轉(zhuǎn)、縮放與平移不變性對(duì)幾何失真含水印圖像進(jìn)行幾何校正,恢復(fù)水印的同步性,使算法具備抵抗幾何攻擊的能力;文獻(xiàn)[9]利用SSIM檢測(cè)并校正圖像旋轉(zhuǎn)角度,能有效抵抗1~360°的旋轉(zhuǎn)攻擊。
本文基于DWT-SVD技術(shù)與幾何校正法提出一種新型水印算法,該算法的主要特點(diǎn)是除可以有效應(yīng)對(duì)各種信號(hào)處理攻擊外,對(duì)于諸如裁剪、旋轉(zhuǎn)等幾何攻擊也具有較強(qiáng)的魯棒性。
1?幾何攻擊校正法
為了解決旋轉(zhuǎn)、平移等一系列幾何攻擊對(duì)水印造成的損害,本文提出一種新型的幾何校正法。圖1(a)是在MATLAB環(huán)境中獲得的旋轉(zhuǎn)攻擊圖像。從圖中可以看出, 在旋轉(zhuǎn)攻擊后,Lena圖像周圍會(huì)產(chǎn)生一些黑色區(qū)域,利用該特性可以設(shè)法標(biāo)記出所需的Lena圖像邊界和頂點(diǎn)。下面以旋轉(zhuǎn)攻擊為例闡述本文方法:
(1)首先對(duì)旋轉(zhuǎn)后的圖像進(jìn)行Canny邊緣檢測(cè),得到所需的有效圖像。從圖1(b)可以看出,Lena圖像邊界區(qū)域被清晰地呈現(xiàn)出來(lái)。
(2)對(duì)邊緣檢測(cè)后得到的圖像應(yīng)用形態(tài)學(xué)中的閉操作,該操作可連接間隔細(xì)小的斷邊,得到更清晰且連續(xù)的邊界。
(3)得到邊界之后,接下來(lái)的問(wèn)題則是確定所需圖像4個(gè)頂點(diǎn)的坐標(biāo)。頂點(diǎn)位置可通過(guò)計(jì)算所需圖像到外圍邊界的最小距離加以確定。
例如,圖2是對(duì)Lena圖旋轉(zhuǎn)15°后的圖像,根據(jù)前3步操作,可以得到Lena圖像4個(gè)頂點(diǎn)的坐標(biāo)為(135,1)、(1,494)、(628,135)與(494,628)。
(4) 得到4個(gè)頂點(diǎn)后,可以由以下公式計(jì)算得出每條邊上點(diǎn)的數(shù)量:
(5)對(duì)于任意一條邊而言,設(shè)其起點(diǎn)坐標(biāo)?為(e?1,e?2),終點(diǎn)坐標(biāo)為(h?1,h?2),則線段上任意點(diǎn)的坐標(biāo)(p?i?1,p?i?2)可?由公式(2)計(jì)算得到:
至此則獲得了所需圖像所有點(diǎn)的坐標(biāo),可以將每個(gè)點(diǎn)的像素值存入另一個(gè)矩陣中,得到校正后的圖像,用于后期水印的提取。
(a)旋轉(zhuǎn)后的圖像?(b)Canny邊緣提取
2?水印嵌入與提取
2.1?水印嵌入
本文算法是先將原始圖像劃分成互不重疊的4幅子圖,再對(duì)子圖進(jìn)行DWT變換與SVD分解,然后利用加性準(zhǔn)則將水印嵌入到LL子帶中。原始圖像選擇256灰度等級(jí)(512*512) 的標(biāo)準(zhǔn)圖像?I?,二值水印圖像大小為64*64。
其步驟可總結(jié)如下:
(1)將原始圖像?I分為4塊,得到256*256的4幅圖像,記為SH?1、SH?2、SH?3與SH?4?,如圖2所示。
(2)對(duì)?SH?1?進(jìn)行二層離散小波變換(DWT),得到子帶?LL?2作為嵌入?yún)^(qū)域。
(3)選擇?LL?2與水印圖像W,對(duì)其分別進(jìn)行奇異值分解,得到[U,S,V]=svd(LL?2),[U?w,S?w,V?w]=svd(W)?。
(4)運(yùn)用加性準(zhǔn)則:?Temp=S+αS?w(其中α?為嵌入強(qiáng)度因子),修改子帶奇異值。
(5)運(yùn)用公式?LL?2=U×Temp×V′,重構(gòu)含水印圖像的LL?2?系數(shù)。
(6)對(duì)?LL?2?作兩層離散小波逆變換(IDWT),得到含水印的圖像?SH?*?1。
(7)采用同樣方法,可以獲得含水印的圖像?SH?*?2、SH?*?3與SH?*?4?。
(8)將圖像?SH?*?1、SH?*?2、SH?*?3與SH?*?4合并得到完整圖像I?*?。
2.2?水印提取
本文算法在提取水印時(shí)需要使用原始圖像,具體步驟如下:
(1)將待測(cè)圖像?I?*進(jìn)行分塊,得到SH?*?1、SH?*?2、SH?*?3與SH?*?4?。
(2)對(duì)?SH?*?1?進(jìn)行兩層離散小波變換(DWT),得到子帶?LL?*?2?。
(3)對(duì)?LL?*?2進(jìn)行奇異值分解,得到[U?2,S?2,V?2]=svd(LL、+*?2)。
(4)運(yùn)用公式?S?*?w=(S?2-S)/α提取水?。ㄆ渲笑?為嵌入強(qiáng)度),得到要提取水印的奇異值矩陣。
(5)運(yùn)用公式?W?*?1=U?w×S?*?w×V?w?重構(gòu)水印圖像。
(6)同理可以分別提取出嵌入在?SH\+*?2、SH?*?3與SH?*?4中的水印W?*?2、W?*?3和W?*?4?。
(7)使用公式?W?N=(W?*?1+W?*?2+W?*?3+W?*?4?)/4計(jì)算平均水印,并根據(jù)公式(3)得到最終水印。
W?N(i,j)=0?If?W?N(i,j)<0.5
3?實(shí)驗(yàn)結(jié)果與分析
本文實(shí)驗(yàn)環(huán)境采用軟件為Matlab7.0,為了使實(shí)驗(yàn)結(jié)果更有說(shuō)服力,采用Lena、Boat、Peppers、Baboon 共4幅512*512的標(biāo)準(zhǔn)灰度圖像作為測(cè)試圖像,水印圖像采用64*64的二值圖像——“蘇州大學(xué)”,并采用峰值信噪比PSNR作為圖像質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)。為了驗(yàn)證本文算法的魯棒性,本文使用的方法是計(jì)算提取出的水印?W?N與原始水印W?之間的相似度NC值,并與相關(guān)文獻(xiàn)進(jìn)行比較。
表1中給出的是在未經(jīng)任何攻擊的情況下,從4幅測(cè)試圖像中提取出的水印參數(shù),其中NC值為1,PSNR值均在58以上,說(shuō)明利用本文算法嵌入的水印具有不可見性,并且可以被正確提取。
表2-表4是本文算法與文獻(xiàn)[2]、[5]、[7]算法的比較。文獻(xiàn)[2]使用的測(cè)試載體圖像與本文相同,使用的水印“中國(guó)南沙”也與本文基本一致。表2列出了幾種常見攻擊的實(shí)驗(yàn)數(shù)據(jù),可以看出,本文算法的魯棒性要強(qiáng)于文獻(xiàn)[2]的算法;文獻(xiàn)[5]測(cè)試載體圖像使用256*256的Lena圖像,水印使用64*64的二值圖像“HN”。表3列出部分對(duì)比數(shù)據(jù),除高斯噪聲攻擊外,本文算法的測(cè)試數(shù)據(jù)優(yōu)于文獻(xiàn)[5]的算法。值得注意的是,本文算法應(yīng)對(duì)裁剪攻擊非常有效,主要因?yàn)楸疚乃惴ㄔ?幅子圖中都嵌入了水印,裁剪其中一部分對(duì)測(cè)試結(jié)果影響不大;文獻(xiàn)[7]同樣使用512*512的Lena圖像作為測(cè)試載體圖像,水印使用32*32的二值圖像“CS”。本文算法加入水印后,圖像的PSNR值為58.847 4,略高于文獻(xiàn)[7]。由表4可以看出,除高斯濾波攻擊外,本文算法在各種攻擊下的表現(xiàn)都優(yōu)于文獻(xiàn)[7]的算法。
現(xiàn)有研究在處理旋轉(zhuǎn)攻擊時(shí),大都是針對(duì)“crop”參數(shù)(裁剪初始測(cè)試圖像,保持整個(gè)圖像框大小不變)進(jìn)行的,而針對(duì)“l(fā)oose”參數(shù)(不裁剪初始測(cè)試圖像,相應(yīng)放大整個(gè)圖像框)的研究并不多。研究如何應(yīng)對(duì)后一種攻擊方式也具有較高的實(shí)際應(yīng)用價(jià)值,本文與文獻(xiàn)[20]即是針對(duì)這一類旋轉(zhuǎn)攻擊開展研究的。圖3給出了本文與文獻(xiàn)[20]針對(duì)不同旋轉(zhuǎn)度數(shù)攻擊計(jì)算出的NC值??梢钥闯觯疚乃惴ㄔ谌魏涡D(zhuǎn)度數(shù)攻擊下都有穩(wěn)定的測(cè)試數(shù)值,優(yōu)于文獻(xiàn)[20]的算法。
圖4則給出了左上角剪切1/16、中心剪切1/16、左上角剪切1/4、中心剪切1/4、任意剪切5種情況下的NC值柱狀圖,可以看出本文算法對(duì)各種剪切攻擊都具有較強(qiáng)的魯棒性。
圖5(a) 為含水印圖像及未受任何攻擊下提取出的水印圖像。圖5(b)-(h)分別給出了常規(guī)攻擊下含水印圖像及提取出的水印,可以看出提取出的水印辨識(shí)度較高,說(shuō)明了本文算法的有效性。
4?結(jié)語(yǔ)
本文基于小波變換、奇異值分解與幾何校正法,提出一種新型數(shù)字水印算法。與之前算法最大的不同在于,水印是獨(dú)立嵌入在4個(gè)不同子圖中,另外本文針對(duì)諸如旋轉(zhuǎn)、平移等幾何攻擊采用提取邊緣、計(jì)算頂點(diǎn)坐標(biāo)的方法,以恢復(fù)原始圖像。根據(jù)大量實(shí)驗(yàn)結(jié)果以及與其它算法的比較,證明本文算法不僅能夠有效抵抗信號(hào)處理攻擊,而且對(duì)于幾何攻擊也有很好的魯棒性。將來(lái)主要工作在于進(jìn)一步提高圖像邊緣提取的準(zhǔn)確性,并研究更加有效的方法實(shí)現(xiàn)水印嵌入。
參考文獻(xiàn):
[1]?曾文權(quán),熊祥光.基于整數(shù)小波變換的魯棒零水印算法[J].微電子學(xué)與計(jì)算機(jī),2016,33(4):97?101.
[2]?肖振久,孫健,王永濱,等.基于果蠅優(yōu)化算法的小波域數(shù)字水印算法[J].計(jì)算機(jī)應(yīng)用,2015,35(9):2527?2530.
[3]?陳盈,鄭洪源,丁秋林.基于Zernike矩和NSCT?SVD的數(shù)字水印算法研究[J].計(jì)算機(jī)科學(xué),2016,43(8):84?88.
[4]?王祖喜,毛劉剛,胡漢平.基于數(shù)字全息和奇異值分解的魯棒性數(shù)字水印方案[J].小型微型計(jì)算機(jī)系統(tǒng),2014,35(8):1789?1793.
[5]?徐蓮,李京兵.基于DWT?PCA 和感知哈希的魯棒零水印算法[J].電視技術(shù),2016,40(1):25?30.
[6]?劉海,陳軍.基于QR分解的Contourlet域魯棒盲水印算法[J].計(jì)算機(jī)應(yīng)用與軟件,2016,33(6):306?310.
[7]?賈超,張政保.基于改進(jìn)SIFT 的抗幾何攻擊水印算法[J].小型微型計(jì)算機(jī)系統(tǒng),2014,35(12):2655?2658.
[8]?嚴(yán)敏,陳軍.基于QR分解的Contourlet域抗幾何攻擊水印算法[J].計(jì)算機(jī)應(yīng)用研究,2016,33(9):2813?2818.
[9]?廖斌,任美玲,徐俊剛.抗任意旋轉(zhuǎn)攻擊的數(shù)字水印防偽技術(shù)[J].光電子·激光,2015,26(1):156?161.
[10]?張勤,崔麗.基于DWT的一種數(shù)字水印算法[J].北京師范大學(xué)學(xué)報(bào):自然科學(xué)版,2015,51(1):19?22.
[11]?王勇.奇異值分解小波變換的數(shù)字水印算法研究[J].計(jì)算機(jī)仿真,2011,28(5):295?298.
[12]?薛勝男,陳秀宏.基于混沌加密和SVD的數(shù)字圖像水印算法[J].計(jì)算機(jī)工程,2012,38(19):107?110.
[13]?李瑩,李春興,于曉.一種基于DCT魯棒性的數(shù)字水印算法[J].青島科技大學(xué)學(xué)報(bào):自然科學(xué)版,2015,36(4):443?448.
[14]?徐慕蓉,樊鎖海.一種新的基于奇異值分解的圖像數(shù)字水印算法[J].計(jì)算機(jī)仿真,2011,28(5):291?294.
[15]?葉闖,沈益青,李豪.基于人類視覺(jué)特性(HVS)的離散小波變換(DWT)數(shù)字水印算法[J].浙江大學(xué)學(xué)報(bào):理學(xué)版,2013,40(2):152?155.
[16]?賈朱植,祝洪宇,程萬(wàn)勝.基于提升小波變換的自適應(yīng)盲水印算法[J].計(jì)算機(jī)工程,2011,37(2):143?147.
[17]?季燕.基于DCT的自適應(yīng)盲數(shù)字水印[J].計(jì)算機(jī)科學(xué),2013,40(7):129?131.
[18]?葉雙清,楊曉梅.基于小波變換和非局部平均的超分辨率圖像重建[J].計(jì)算機(jī)應(yīng)用,2014,34(4):1182?1186.
[19]?楊勇,郭吉強(qiáng).Lipschitz指數(shù)與平穩(wěn)小波變換在CT圖像去噪中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(6):190?192.
[20]?LI J, ZHU Y. A geometric robust image watermarking scheme based on DWT?SVD and Zernike moments[C].IEEE International Conference on Computer Science and Information Technology. IEEE, 2010:367-371.