西电计算机视觉大作业.docx
_课 程: 计算机视觉 专 业: 模式识别与智能系统 学 号: 姓 名: 数字水印技术一、 引言随着互联网广泛普及的应用,各种各样的数据资源包括文本、图片、音频、视频等放在网络服务器上供用户访问。但是这种网络资源的幵放也带了许多弊端,比如一些用户非法下载、非法拷贝、恶意篡改等,因此数字媒体内容的安全和因特网上的侵权问题成为一个急需解决的问题。数字水印作为一项很有潜力的解决手段,正是在这种情况下应运而生。数字水印(技术是将一些代表性的标识信息,一般需要经过某种适合的变换,变换后的秘密信息(即数字水印),通过某种方式嵌入数字载体(包括文档、音频、软件等)当中,但不影响原载体的使用价值,也不容易被人的知觉系统(如视觉或听觉系统)觉察或注意到。通过这些隐藏在载体中的信息,可以达到确认内容创建者、购买者、传送隐秘信息或者判断载体是否被篡改等目的。在发生产权和内容纠纷时,通过相应的算法可以提取该早已潜入的数字水印,从而验证版权的归属和内容的真伪。二.算法原理2.1、灰度图像水印2.1.1基本原理 处理灰度图像数字水印,采用了LSB(最低有效位)、DCT变换域、DWT变换域三种算法来处理数字水印。在此过程中,处理水印首先将其预处理转化为二值图像,简化算法。(1)LSB算法原理:最低有效位算法(Least Sig nificant Bit , LSB)是很常见的空间域信息隐藏算法, 该算法就是通过改变图像像素最不重要位来达到嵌入隐秘信息的效果, 该方法隐藏的信息在人的肉眼不能发现的情况下, 其嵌入方法简单、隐藏信息量大、提取方法简单等而获得广泛应用。LSB 信息嵌入过程如下:S'=S +fS , M其中, S 和S分别代表载体信息和嵌入秘密信息后的载密信息;M为待嵌入的秘密信息, 而隐写分析则是从S中检测出M以至提取M 。(2)DCT算法原理:DCT 变换在图像压缩中有很多应用,它是JPEG,MPEG 等数据压缩标准的重要数学基础。在压缩算法中,先将输入图像划分为 8×8 或 16×16,的图像块,对每个图像块作DCT 变换;然后舍弃高频的系数,并对余下的系数进行量化以进一步减少数据量;最后使用无失真编码来完成压缩任务。解压缩时首先对每个图像块做 DCT 反变换,然后将图像拼接成一副完整的图像。DCT 变换利用傅立叶变换的性质,采用图像边界褶翻将图像变换为偶函数形式,然后对图像进行二维傅立叶变换,变换后仅包含余弦项,所以称之为离散余弦变换。二维离散余弦变换DCT(Discrete Cosine Transform)的定义为,假设矩阵A 的大小为M ×N。其中,Bp,q称为矩阵A 的DCT 系数。DCT 是一种可逆变换,离散反余弦变换定义如下:上式的含义是任何M×N 的矩阵A 都可以表示为一系列具有下面形式的函数的和:这些函数称为 DCT 变换的基函数。这样,Bp,q就可以看成是应用于每个基函数的加权。Matlab中直接调用dct2函数对图像的分块进行离散余弦变换。(3)DWT嵌入算法原理:小波变换是时间(空间)频率的局部化分析,它通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号分析的要求,从而可聚焦到信号的任意细节,解决了Fourier变换的困难问题,成为继Fourier变换以来在科学方法上的重大突破。假定为J尺度空间的剩余尺度系数序列,并且令和分别为小波函数的低通和高通滤波器,则二维小波变换的快速分解公式为其中为尺度空间的剩余尺度系数序列,它是经过行列两个方向低通滤波后的输出,对应原始图像信号在下一个尺度上的低频概貌,属于LL频带;经过行方向高通,列方向低通,对应水平方向的细节信号在垂直方向的概貌,属于HL频带;包含了水平方向低通、垂直方向低通滤波后所保留的细节信息,对应LH频带,包含了水平和垂直方向都经过高通滤波后的细节信息,表示对角线的细节信息,属于HH频带。图像的两层多分辨率小波分解如图1所示。图2.1 两层多分辨率小波分解示意图每一级分解都把图像分解为四个频带水平(HL)、垂直(LH)、对角(HH) 和低频,其中低频(LL)部分还可以进行下一级的分解,从而构成了小波的塔式分解。一幅图像经过分解之后,图像的主要能量主要集中于低频部分,图像的高频部分即图像的细节部分所含能量较少,分布在三个子图中,主要包含了原图的边缘和纹理部分信息。小波变换的这些性质为数字图像的局部特性(如边缘,纹理等)提供了很好的空间一尺度定位,同时由于其多分辨率的表示,可以直接对图像进行分级处理,这一特性更可以实现水印的渐进解码和传输。上述快速算法,是在已知原始二维函数在某一尺度空间的展开系数矩阵基础之上进行计算的。初始矩阵的选取是二维快速算法中的一个重要问题,严格的讲,初始矩阵应使用公式:其中,上标表示尺度,下标表示两个方向的位移,为小波函数计算获得。对于初始矩阵的选取,工程上有一种简化的方法,即直接将原始二维函数的离散矩阵看作为初始矩阵,本文采用db小波函数进行了一级分解,在小波变换高频系数中进行嵌入。2.1.2、设计方法和实施过程(1)水印的嵌入图2.2 水印嵌入流程图(2)水印的提取图2.3 水印提取流程图(3)攻击方式 高斯噪声攻击使用matlab自带函数:nosie=fspecial('gaussian',3,indensity);embedImage=filter2(nosie,Image); 椒盐噪声攻击使用matlab自带函数:embedImage=imnoise(Image,'salt & pepper',indensity) ; 图像剪切攻击利用矩阵运算对图像进行剪切。(4)指标评价 峰值信噪比(PSNR)峰值信噪比,如以下公式。用来作为评价水印算法嵌入的平均指标MSE=1mni=0m-1j=0n-1Ii,j-K(i,j)2PSNR=10log10MAXI2MSE=20log10(MAXIMSE) 相似度(NC)相似度即归一化相似系数,如以下公式。用来对比水印与提取水印的相关性,作为水印算法提取的评价指标。dcy1,y2=y1Ty2y1y22.2、彩色图像水印2.2.1基本原理 彩色水印嵌入的原理具体步骤 :(1)分别对彩色的宿主图像和水印图像进行降维处理,提取各自的RGB值,这样原来的三维数组就变成了三个独立的二维数组;(2)设定嵌入强度alpha值,利用DCT变换对提取的RGB三个分量在变换域进行分块嵌入; (3)对各块进行IDCT变换,然后对图像进行重构,得到RGB三个分量上的嵌入水印之后的图片;(4)对得到的RGB三个分量上的嵌入水印之后的图片进行合成得到带水印的彩色图片。彩色水印提取的具体步骤 :(1)对嵌有水印的彩色图片降维得到RGB三个分量上的水印图片;(2)对RGB三个分量上的水印图片在变换域进行分块提取;(3)对水印图像进行重构,得到RGB三个分量上的水印图片;(4)对得到的RGB三个分量上的水印图片进行合成得到彩色水印图片。2.2.2、设计方法和实施过程(1)水印的嵌入图 2.4 彩色图像数字水印嵌入流程图(2)水印的提取图 2.5 彩色图像数字水印提取流程图三、灰度图像实验结果 3.1 LSB算法嵌入提取水印(1)无攻击下的提取图3.1 LSB无攻击下水印提取从实验结果可以看出最低有效位算法的PSNR偏高,说明图像透明性非常好,但是相似度较低,说明LSB算法很容易受到干扰,鲁棒性差。(2)噪声攻击下的提取 图3.2 LSB噪声攻击下水印提取(左:高斯噪声,右:椒盐噪声)通过实验结果,可以知道高斯噪声下提取的水印并没有在椒盐噪声下提取的清晰,但依然能够获取水印信息,说明LSB算法具备一定的抗噪效果。(3)剪切攻击下的提取剪切攻击是一种空间上的攻击手段,一般采用剪切嵌入水印图像的一部分,然后再利用残缺的图像来还原嵌入的信息。图3.3 LSB剪切攻击下的提取从结果来看,剪切攻击使得水印完全提取不出来,由此可以看出LSB抗剪切能力较差,像素的丢失使得最低有效位信息丢失,从而导致了水印丢失。 3.2 DCT算法嵌入提取水印(1)无攻击下的提取图3.4 DCT无攻击下的提取DCT变换域下的水印嵌入与提取,从实验结果来看,鲁棒性比LSB算法明显提高。(2)噪声攻击下的提取 图3.5 DCT噪声攻击下的提取(左:高斯噪声,右:椒盐噪声)从实验结果来看,DCT变换域下的水印算法在抗低强度高斯噪声攻击下能力很强。DCT变换域下的水印算法在椒盐噪声攻击下水印失真,但信息还可以辨别。(3)图像剪切攻击下的提取 图3.6 DCT剪切攻击下的提取从实验结果来看,DCT变换域下的水印算法抗剪切攻击能力很强。在64*64的剪切攻击下,并不受影响。3.3 DWT算法嵌入提取水印(1)无攻击下的提取通过离散小波变换得嵌入的水印在没有任何攻击手段的提取下,能够很好的提取出水印信息,同时隐蔽性也很强。可以说DWT变换域下的水印算法鲁棒性较好,相似能够达到100%。如图3.6所示。图3.7 DWT无攻击下的提取(3)高斯噪声攻击下的提取 图3.8 DWT噪声攻击下的提取(左:高斯噪声,右:椒盐噪声)从结果得出,离散小波变换的数字水印抗高斯噪声能力很强,在受到0.2强度的高斯噪声下,相似度依然能够达到99%。但是抗椒盐噪声却没有那么好的效果。(3)置换加密效果图图3.9 置换加密处理通过matlab中的随机数函数给水印嵌入与提取置换加密处理,需要输入正确的密钥才能成功提取水印,从而提高了水印的安全性。四、彩色图像实验结果4.1 不同嵌入强度系数的水印效果(1)嵌入强度系数(alpha)等于1/3000时,如图4.1图4.1 alpha等于1/3000(2)嵌入强度系数(alpha)等于1/10000时,如图图4.2 alpha等于1/10000当alpha=1/3000时,峰值信噪比为29.969,相似度为0.95663,提取的水印失真程度小;当alpha=1/10000时,峰值信噪比为40.3485,相似度为0.86473,提取的水印失真程度大;因此提取的水印嵌入强度越大,透明性越差,鲁棒性越好;嵌入强度越小,透明性越好,鲁棒性越差。4.2高斯噪声攻击下的水印提取图4.3 高斯攻击下的提取该彩色图像分三层使用DWT算法嵌入水印。如图4.3,DWT算法依然对高斯噪声有着较强的鲁棒性,提取的水印并没有受到噪声影响。五、总结本文在水印的嵌入、提取和攻击时,分别采用了空域LSB算法,变换域中的DCT算法,DWT算法;选择评价指标时,为了确保结果的准确性,选择了不同的指标。在嵌入中使用PSNR峰值信噪比来体现透明性,在提取中使用NC相似度来体现鲁棒性;在GUI中将参数(攻击强度参数和嵌入强度参数)设置为可变的,使设计更加灵活;在安全性方面利用MATLAB中随机数函数加入了置乱和水印嵌入及提取的密钥,大大提高水印安全性。在攻击性方面,采用了高斯噪声攻击,椒盐噪声攻击以及图像剪切等多种攻击手段。从实践中可以看出并没有一种完美的水印手段,每一算法都具有针对性,不具有普遍性。参考文献1 阮秋琦. 数字图像处理学M. 北京:电子工业出版社,2001.2 龚声蓉,刘纯平,王强等. 数字图像处理与分析M. 北京:清华大学出版社,2006.3 王炳锡、陈琦、邓峰森.数字水印技术M.西安:西安电子科技大学,2004.4 陈桂明. 应用MATLAB语言处理数字信号与图像处理M. 北京:科学出版社,2000.6胡德明、杨杰、王明照.基于DCT的视频数字水印技术研究J.武汉理工大学学报(交通科学与工程版),2004-08(第28卷第4期):600-603._