基于边缘检测和奇异值分解的图像水印算法*
2017-02-09张贵仓徐天芝
贾 园 张贵仓 徐天芝
(西北师范大学数学与统计学院 兰州 730070)
基于边缘检测和奇异值分解的图像水印算法*
贾 园 张贵仓 徐天芝
(西北师范大学数学与统计学院 兰州 730070)
数字水印是实现作品版权保护的重要方法之一。论文针对部分DCT域图像数字水印抵抗常规攻击和几何攻击效果不佳问题,提出了一种DCT域内结合边缘检测与奇异值分解的图像水印算法。原始宿主图像分成大小为8*8的互不重叠的子块进行DCT变换后,再选取大小为4*4的中频系数矩阵进行奇异值分解,然后用边缘检测算子对原始宿主图像进行边缘提取,根据边界值的不同选取不同的嵌入强度,自适应地将置乱后的水印图像信息嵌入到奇异值矩阵中。实验结果表明,该算法中水印具有良好的隐蔽性,对于压缩、噪声、滤波、几何等攻击具有较强的鲁棒性。
数字水印; 离散余弦变换; 奇异值分解; 边缘检测
Class Number TP309
1 引言
随着网络技术的快速发展以及信息的数字化,数字作品的侵权篡改也变得日益严重。为了解决数字作品的版权保护问题,各种数字水印技术[1]相继被提出。数字水印技术是在数字作品中嵌入水印信息,通过提取出这些水印信息来判断数字作品的可靠性和完整性,以此实现数字作品的版权保护。数字水印的嵌入算法[2]分为两种,一种为空域算法,另一种为频域算法。空域算法的基本思想是直接将水印信息嵌入到原始图像中,通常这些位置不影响被嵌入对象的基本属性,从而实现了水印的隐藏,但是它的鲁棒性不高,一旦被攻击,图像信息很容易丢失。而频域算法[3~5]的基本思想是原始的图像经过一些变换处理后,通过修改选择的变换域系数来嵌入水印信息,这种方法不仅能够嵌入大量的水印信息,而且它对一些常见的攻击处理有较好的鲁棒性,隐蔽性也较好。所以本文算法采用频域算法中离散余弦变换。文献[6]提出了基于边缘检测的图像水印算法,将水印按照原始宿主图像的不同边缘设定不同的嵌入强度嵌入到原始宿主图像的低频系数中,使得嵌入水印图像对于某些攻击有较高的鲁棒性,但是对于某些攻击的鲁棒性较低。文献[7]提出了基于奇异值分解的DCT域数字水印算法,对于常规攻击和一般的几何攻击鲁棒性较好,但是原始宿主图像的不可见性稍微弱些。因此本文在DCT变换[8]的基础上,结合边缘检测和奇异值分解将水印信息嵌入到原始宿主图像,实验表明,该算法对于JPEG压缩攻击,噪声攻击,滤波攻击,几何攻击[9]有良好的鲁棒性,并且水印的隐蔽性很好。
2 基本概念
2.1 Arnold置乱
水印的加密技术有很多种,主要有Arnold置乱、幻方、混沌映射、Hilbert曲线。而人们经常用的是Arnold置乱和混沌映射这两种方法。运用Arnold置乱一方面可以自由控制算法的选择,参数的选择以及随机技术,从而使非法使用者难以破译图像内容,提高水印信息的安全;另一方面可以分散错误比特的分布,提高水印的视觉效果从而增强其鲁棒性。本文采用的是Arnold置乱。
定义1 对一幅N×N图像f(x,y),变换过程可表示为:
(1)
其中x、y为变换前图像的像素位置,x′、y′是变换后图像像素位置,N是图像阶数,mod是模运算。
2.2 离散余弦变换
定义2 图像处理中使用的是二维离散余弦变换,给定一幅N*N的图像f(x,y),则它的离散余弦变换(DCT)为
(2)
反离散余弦变换(IDCT)为
(3)
注:以上公式中
图像在经过二维DCT变换后,变换系数几乎是不相关的,然后经过DCT变换的逆变换重构图像,信息误差和量化误差随机分散到图像子块中的各个像素中去,这样不会造成误差的积累,并且二维DCT变换能够将数据块中的能量压缩到为数不多的部分低频变换系数中去。
2.3 奇异值分解
定义3 设矩阵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,这里,由于前几个奇异值较大,故其包含了图像的主要信息。
奇异值分解[10]是一种将矩阵对角化的正交变换,它不仅决定了图像的亮度信息,也具有较好的稳定性,并且能够抵抗一般的几何攻击。图像的矩阵奇异值不会因为图像受到微小的变动而发生大的改变,由于奇异值具有位移不变性,镜像不变性,转置不变性和旋转不变性,因此基于奇异值分解的图像水印算法具备良好的鲁棒性。
3 水印的嵌入与提取
3.1 水印的嵌入
步骤1 对水印图像W进行Arnold置乱,记入置乱次数m,得到预处理后的水印图像W′。
步骤2 用canny算子提取原始宿主图像的边界图像,并分成8*8大小的图像子块,得到每个图像子块的边界值T。
步骤3 将原始宿主图像分成8*8互不重叠的图像子块,并对每个图像子块进行DCT变换。选取每个子块中4*4大小的中频系数组成矩阵A。
步骤4 对矩阵A进行SVD变换,选取奇异值矩阵对角线上第一个值S(1,1)与第二个值S(2,2)作为具体的水印嵌入位置。
步骤5 按照以下规则嵌入水印:当W′=1时,若S(1,1) 步骤6 将修改后的奇异值矩阵进行SVD逆变换,得到含有水印信息的图像子块。 步骤7 最后对图像子块进行DCT的逆变换,得到嵌入水印信息后的图像。 3.2 水印的提取 步骤1 首先将含有水印的图像分成8*8互不重叠的图像子块,并对它的每个图像子块进行DCT变换。 步骤2 在每个图像子块中选取大小为4*4的中频系数矩阵并对其进行奇异值分解,若S(1,1) 步骤3 对提取的水印信息进行Arnold置乱,恢复原始水印图像。 从水印的提取过程中可知在整个过程中,完全不需要原始宿主图像的参与,实现了水印的盲提取。 本文选取了512*512大小的灰度图像作为原始宿主图像,64*64大小二值图像作为水印图像。为了验证数字水印的好坏,一般从数字水印的两个最基本特性入手,检测水印的隐蔽性和鲁棒性。 4.1 隐蔽性测试 水印的隐蔽性可以采用峰值信噪比(PSNR)来衡量。PSNR越大,图像的质量保持得就越好,水印信息嵌入后对宿主图像的影响越小也就是隐蔽性越好。PSNR的定义如下: 定义4 给定一幅大小为M×N的原图像f(x,y)和经过处理的图像g(x,y),则图像g的PSNR为 (5) 其中MSE的表达式为 (6) 原始图像采用512*512的Lena、Barbara和Baboon图像。64*64大小的二值水印图像,如图1所示,嵌入水印后的图像如图2(a)所示。并通过计算得到PSNR的值,如表1所示。从视觉上来看,嵌入水印图像与原始宿主图像没有明显差别,PSNR的值也在40左右,说明本文算法的隐蔽性良好,图2(b)为提取的水印图像,通过计算得出其与原始水印图像的NC值为1,能完整清晰地提取水印。 表1 隐蔽性测试结果 图1 原始图像 图2 水印嵌入实验图 4.2 鲁棒性测试 水印的鲁棒性一般用相似系数NC来衡量,即计算原始水印和经过攻击后提取出的水印的相似系数。NC的值越大,说明水印的鲁棒性就越好,抗攻击的能力就越强。它的定义如下: 定义5 给定一幅大小为M×N的原始宿主图像f(i,j)和嵌入水印后的图像f′(i,j),则水印的相似系数为 (7) 为了验证本文算法的鲁棒性,分别对嵌入水印后的Lena图像进行噪声、滤波、压缩、剪切等多种攻击,并且通过计算得到提取的水印与原水印的相似系数即NC值,如表2所示。 表2 各种攻击的NC值 由表2可看出,当嵌入水印后的图像受到噪声、滤波、压缩、剪切等多种攻击时,本文算法都能较好地提取出水印,并且从结果中可以看出相较于文献[8]的DCT域内直接在中频系数中嵌入水印的算法,本文提出的基于边缘检测和奇异值分解的水印算法具有更好的鲁棒性。 本文提出一种基于边缘检测和奇异值分解的数字图像水印算法。首先将原始水印图像进行Arnold变换预处理,然后用边缘算子提取原始宿主图像的边界图像得到边界值,再将原始宿主图像分块进行DCT变换以及奇异值分解,通过关系式将水印信息嵌入到原始宿主图像中。实验结果表明本文算法的隐蔽性很好,并且在经过常规攻击和几何攻击后水印的鲁棒性很好,还实现了水印的盲提取。 [1] 阮秋琦.数字水印基础教程[M].北京:人民邮电出版社,2007:68-72. RUAN Qiuqi. Digital watermarking based tutorial[M]. Beijing: Posts and Telecommunications Press,2007:68-72. [2] 王建哲,姜昱明.一种基于DCT变换的数字水印技术[J].计算机工程与应用,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] 王洪秀,王冰.基于图像纹理复杂度的数字水印算法[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域自适应盲数字水印算法研究[D].南昌:南昌大学,2010:36-40. HUANG Wuhui. Research on adaptive blind digital watermarking algorithm based on DCT domain[D]. Nanchang: Nanchang University,2010:36-40. [5] 贾伟,张佑生,周庆松,等.基于边缘检测的块分类水印算法[J].合肥工业大学学报:自然学科版,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] 栗伟峰,杨小帆,柏森,等.基于离散余弦变换和边缘检测的图像水印技术[J].重庆大学学报:自然科学版,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] 曾文权,熊祥光,余爱民.基于奇异值分解的彩色图像水印算法[J].计算机应用研究,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].智能计算机与应用,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] 包观笑,孙刘杰,李毓彬,等.抗任意旋转攻击的数字水印防伪技术[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] 刘瑞祯,谭铁牛.基于奇异值分解的数字图像水印方法[J].电子学报,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日 甘肃省自然科学基金(编号:0803RJZA109)资助。 贾园,女,硕士,研究方向:图像处理。张贵仓,男,博士,教授,研究方向:图像处理,数字水印,图形学等。徐天芝,女,硕士,研究方向:图像处理。 TP309 10.3969/j.issn.1672-9722.2017.01.030S(2,2),则两个系数交换;若S(1,1)≤S(2,2)且S(2,2)-S(1,1)S(2,2),则取水印信息W′=1。4 实验结果及分析
5 结语