基于DWT-PCA和感知哈希的鲁棒零水印算法
2016-06-23李京兵
徐 莲,李京兵
(海南大学 信息科学技术学院,海南 海口 570228)
基于DWT-PCA和感知哈希的鲁棒零水印算法
徐莲,李京兵
(海南大学 信息科学技术学院,海南 海口 570228)
摘要:针对数字图像水印容易受到攻击,提出一种基于DWT-PCA和感知哈希的鲁棒零水印算法。首先对原始图像进行多级小波分解,得到小波逼近子图;然后对小波逼近子图进行主成分分析(PCA),取小波逼近子图的第一主成分;通过比较第一主成分中各系数与系数均值的大小关系生成二值序列,即为原始图像的感知哈希序列。结合零水印的概念,水印并未真正嵌入到图像中,而是与图像的感知哈希序列相关联生成密钥,在水印提取过程中使用。实验结果表明,该算法能抵抗较强的常规攻击和一定的几何攻击。
关键词:离散小波变换;主成分分析;感知哈希;零水印;混沌加密
1水印算法
信息技术和互联网的发展给人们带来方便的同时也产生了诸多问题,如未授权的复制、伪造所有权等,因为数字文件能被轻易快速的获取和改变,而且只会有较小的质量损失。为了避免这些问题,数字水印技术由此产生了[1]。包含专有信息的水印通过密钥隐藏在数字文件中,文件的所有人只有通过获取密钥和水印提取算法才能提取出水印。
目前主要有两种嵌入水印的方法:一种是在空间域嵌入水印[2],即通过改变载体图像上的一些像素点的灰度值来嵌入水印,由于计算复杂度低,嵌入的信息很容易被检测出来,而且鲁棒性差,难以抵抗JPEG压缩、噪声等攻击;另一种是在频域嵌入水印,即将水印嵌入到载体图像的变换系数如DFT系数、DCT系数、DWT系数中,这些都很难被检测到。在数字水印应该满足的不可见性、鲁棒性、安全性三个基本要求方面,频域的水印算法比空间域的水印算法都表现出更好的性能。文献[3]提出了一种基于小波变换的水印算法,将水印嵌入在载体图像小波变换的中频系数中,实现了水印的不可见性,但文章并未讨论算法抗击几何攻击的鲁棒性。此外,还有主成分分析(PCA)来嵌入水印,PCA将原有的复杂数据降维,提取出有意义、不相关的主要成分,这些成分是图像中能量最大的部分,具有较好的鲁棒性[4]。
水印算法的另一个研究重点是权衡不可见性和鲁棒性之间的矛盾关系。一般图像经过轻微修改,其视觉效果是没有变化的,但是无论在空间域还是频域,随着水印嵌入强度的增大,图像质量势必会受到影响,从而产生一定的失真。温泉等人[5]提出的零水印的方法很好地解决这个问题,不对原图数据进行修改,利用提取的图像特征来构造零水印。文献[6]利用DWT和SVD提取了图像特征作为零水印,该算法对各种攻击具备很强的鲁棒性。后来零水印技术也得到了扩展,将图像特征与有意义的水印相关联,也不改变载体图像信息,又实现了水印的嵌入。文献[7]将图像DCT低频系数符号作为特征,与水印结合,实现了一种鲁棒零水印算法。文献[8]也提出了一种图像特征的提取方法,在DCT低频系数所表示图像信息中提取能代表图像特征的感知哈希值,该算法也具有较好的鲁棒性。
本文提出了一种基于DWT-PCA和感知哈希的鲁棒零水印算法,对图像的小波逼近子图进行主成分分析,提取图像特征,然后量化编码得到图像的感知哈希序列。将图像的感知哈希序列与混沌加密的水印相结合,实现水印的嵌入与提取。实验证明该算法对常规攻击和几何攻击都具有较好的鲁棒性。
2理论基础
2.1离散小波变换
(1)
式中:小波函数ψa,b(t)是由同一基底函数ψ经平移、伸缩而得到的一组函数。
(2)
式中:ψ成为基小波;a为伸缩因子;b为平移因子。
Mallat算法分解公式为
(3)
(4)
重构公式为
(5)
式中:cj,k和dj,k分别对应于f(t)在两个不同空间上的投影系数;gn和hn是一组具有完全重构特性的高通滤波器和低通滤波器。
小波变换是一种多分辨分析,二维图像经过小波变换,被分解成不同空间、不同频率的子图像。图像经过一级小波变换后被分割成包含图像边缘信息的水平子带HL、垂直子带LH、对角子带HH和包含图像基本信息的低频子带LL 4个频带。若进行多级分解,可以对LL子带继续进行二维离散小波变换。
2.2主成分分析
主成分分析(PrincipalComponentAnalysis,PCA)是一种通过特征的线性组合来实现降维的方法[10]。PCA的实质就是找到一个合适的线性变换,使得样本数据从高维空间投影到低维空间,并且不改变数据本身的特征。假设一个训练集含有n个样本(X∈Rn),每个样本的维数为d,可表示为
训练集的协方差矩阵定义为
(6)
式中:m为样本均值。
E的特征值表示样本在特征向量上的分布方差,E的特征值如下求解
λiui=Eui
(7)
式中:i=1,2,…,n;λi是E的特征值;ui是对应的特征向量。
选择E的前k大特征值所对应的特征向量组成降维后的空间的基向量U=(u1,u2,…,uk),降维后的特征子空间表示为Y=UΤX,其中Y∈Rk,k< 2.3感知哈希 感知哈希是多媒体数据集到感知摘要集得一类单项映射,即将具有相同感知内容的多媒体数字表示唯一地映射为一段数字摘要,并满足感知鲁棒性和安全性[11]。感知哈希序列的生成分为3个步骤:特征提取,量化和编码。本文中所用到的感知哈希算法如下: 1)通过DWT和PCA得到图像的特征向量; 2)计算特征向量中系数的均值; 3)比较特征向量中各系数与系数均值的大小,大于或等于均值记为1,小于均值记为0,生成二值序列即为感知哈希序列。 3算法过程 3.1提取图像的感知哈希序列 步骤1:对原图进行小波变换。 FL(i,j)=DWT2(F(i,j)) (8) 步骤2:对原图的L级小波逼近子图进行主成分分析。 将小波逼近子图FL(i,j)分为大小为p×q互不重叠的子块,其中p×q=d。那么大小为m×n的小波逼近子图可以分为k块,即为k个样本,其中k=(m×n)/(p×q)。然后将大小为p×q的子块图像按列存储为一个d维的行向量作为样本矩阵中的一个样本(一行),最终得到一个大小为k×d的样本矩阵X。 设Ζk×d为样本矩阵X中每个样本减去样本均值m后得到的矩阵,则样本的散布矩阵S为(ZΤZ)d×d。设矩阵R=(ZZΤ)k×k,通常k< 设k维列向量v是R的特征向量,则有 (ZZΤ)v=λv (9) 式两边同时左乘ZΤ,并应用矩阵乘法的结合律得 (ZΤZ)(ZΤv)=λ(ZΤv) (10) 式(10)说明ZΤv为散布矩阵(ZΤZ)d×d的特征向量,那么可以通过计算小矩阵R=(ZZΤ)n×n的特征向量v,然后左乘ZΤ得到散布矩阵S=(ZΤZ)d×d的特征向量ZΤv。 取最大特征值对应的特征向量作为基向量Q,样本矩阵Z通过如下变换获得第一主成分分量PC1 PC1=Z×Q (11) PC1即为原图的特征向量。 步骤3:感知哈希序列的生成。 1)求取原图特征向量系数的平均值; 2)比较特征向量中每个系数与平均值的大小关系,大于或等于平均值记1,小于平均值记0; 3)将2)中的结果组合在一起,就得到一个二值序列,即为感知哈希序列。 3.2水印的嵌入与提取 3.2.1 水印的预处理 步骤1:由Logistic映射产生混沌序列。 Logistic映射的定义为 (12) 步骤2:利用混沌序列,对水印进行置乱,得到加密水印。 首先,选取一个有意义的二值图像W(i,j)为水印,然后对一维的混沌序列X(j)从大到小排序,得到排序后的序列L(j)。将原始水印的像素位置按照L(j)中各值排序前后的位置变换进行置乱,最终得到混沌加密后的水印EW(i,j)。 3.2.2水印的嵌入 由提取的原始图像的感知哈希序列V(i,j)和混沌加密的水印EW(i,j)进行异或运算生成二值逻辑密钥Key(i,j)。只有原始图像的所有者持有密钥,用于提取水印。该算法中的水印没有真正嵌入到图像中,而是同图像的特征向量相关联,是一种零水印技术。其中 key(i,j)=V(i,j)⊕EW(i,j) (13) 3.2.3水印的提取 步骤1:按照3.1的方法提取待测图像F′(i,j)的感知哈希序列V′(i,j)。下式中,DWT2表示二维离散小波变换,PCA表示主成分分析,提取第一主成分,PHA表示提取感知哈希序列。 FL′(i,j)=DWT2(F′(i,j)) (14) PC1′(i,j)=PCA(FL′(i,j)) (15) V′(i,j)=PHA(PC1′(i,j)) (16) 步骤2:通过异或运算,提取待测图像中的混沌加密水印EW′(i,j) EW′(i,j)=Key(i,j)⊕V′(i,j) (17) 步骤3:令初始值x0和μ与原始水印混沌加密时设置的数值相同,从而得到相同的混沌序列X(j)和排序后的序列L(j)。将提取的二值加密矩阵按照L(j)恢复到排序前的位置的方式改变各系数的位置,得到解密后的二值水印W′(i,j)。 4实验结果 仿真平台是MATLAB2012b,原始图像选取大小为256×256的灰度Lena图像,选择大小为64×64、带有“海南”首字母“HN”字样的二值图像作为水印,如图1b所示,用Logistic映射对水印进行置乱起到加密的作用,如图1c所示,水印图像被置乱,肉眼无法辨识。实验中,Logistic映射的初始值x0为0.2,增长参数为4。小波分解级数L=3,将小波逼近子图分为大小为4×4,互不重叠的64个子块。未受攻击下,对提取的水印解密的结果如图1d所示,与原始水印的NC值为1。测试6幅不同图像(见图1~2)感知哈希序列之间的NC值,结果如表1所示,不同图像与自身的NC值都为1,不同图像之间的NC值都很小。 4.1常规攻击测试 4.1.1高斯噪声干扰 用imnoise()函数对原始水印图像加入高斯噪声,当噪声方差为0.01时,水印图像如图3a所示,图像变得模糊,但仍能提取出清晰的水印,如图3b所示。表2的实验数据显示,随着噪声强度的增加,水印图像的质量降低,当噪声方差高达0.3时,提取的水印与原始水印的NC值为0.79,仍能提取出正确的水印,表明本算法有较好的抗噪声攻击的能力。相较而言,文献[6]的算法抗噪声攻击的能力稍弱一些。 4.1.2JPEG压缩攻击 对原始水印图像进行JPEG压缩,压缩质量越低,图像质量越差。当压缩质量低至4%时,水印图像出现明显的方块效应,如图4a所示,此时提取的水印如图4b所示,与原始水印的NC值为0.94。从表3的实验数据可见,本算法有较强的抗JPEG压缩的能力,而文献[6]的算法不如其他3种算法抗JPEG压缩的能力强。 4.1.3中值滤波攻击 对原始水印图像进行一次中值滤波,窗口大小为[3×3],提取的水印清晰准确,如图5b所示,与原始水印的NC值为1.00。从表4中的实验数据可以看出,本算法具有较强的抗中值滤波的能力,而文献[6]的算法抗中值滤波的能力略低于其他3种算法。 4.2几何攻击测试 4.2.1旋转攻击 当原始水印图像顺时针旋转5°,提取的水印如图6b所示,虽然有噪点,但水印内容可辨别且准确,与原始水印的NC值为0.73。从表5中的实验数据可知,10°以内的旋转攻击,提取的水印与原始水印的NC值都是大于0.5,说明能提取出可辨别的准确水印;而且通过对比发现,本文算法提取的水印与原始水印的NC值明显高于其他3种算法,说明本算法具有较好的抗旋转攻击的能力。 4.2.2缩放变换 用imresize()函数对原始水印图像按比例先缩小再放大和先放大后缩小,由于是采用插值算法对图像进行缩放,因而该变换会对图像质量产生影响。图7a是原始水印图像先缩小4倍再放大4倍后的图像,出现模糊现象,此时提取的水印如图7b所示,与原始水印的NC值为1。从表6的实验数据可以看出,4种算法抗缩放变换的能力都很强。 4.2.3剪切攻击 使用沿x轴、y轴和随机剪切3种剪切方式对原始水印图像进行剪切攻击,沿y轴剪切4%的原始水印图像时,提取的水印如图8b所示,与原始水印的NC值为0.71。从表7的实验数据可知,本文算法抗剪切攻击的能力不如另外3种算法。 5总结 本文结合小波变换、主成分分析以及感知哈希提取出图像的感知哈希序列,能充分代表图像特征;另外还运用零水印的概念,将图像的感知哈希序列与水印相结合,完成水印的嵌入和提取,不改变水印载体的图像信息,符合实际要求,较好地解决了水印不可见性和鲁棒性的矛盾。此外,水印进行了混沌加密,攻击者在没有密钥的情况下很难提取出水印,因此水印的安全性有所提高。经过不同种类、不同程度的攻击实验以及同另外3种算法的对比,本算法显示出较强的抗常规攻击的能力和一定的抗几何攻击的能力,尤其抗旋转攻击的能力都明显强于其他几种算法。 表7剪切攻击下的实验数据 参考文献: [1]李赵红,黄亮,张文礼. 用于二值图像认证的数字水印技术[J]. 北京邮电大学学报,2010,33(5):66-70. [2]王超,王伟,王泉,等.一种空间域矢量地图数据盲水印算法[J].武汉大学学报:信息科学版,2009,34(2):163-169. [3]邓问权,廖述剑. 基于小波变换的图像水印技术[J]. 电视技术,2013,37(9):16-18. [4]胡裕峰,朱善安.基于PCA和混沌置乱的零水印算法[J].浙江大学学报(工学版),2008,42(4):593-597. [5]温泉,孙锬锋,王树勋.零水印的概念与应用[J].电子学报,2003,31(2):214-215. [6]叶天语,马兆丰,钮心忻,等. 强鲁棒零水印技术[J]. 北京邮电大学学报,2010,33(3):126-129. [7]隋淼,李京兵. 一种基于Arnold置乱变换和DCT的医学图像鲁棒水印算法[J]. 计算机应用研究,2013,30(8):2552-2556. [8]李雨佳,李京兵. 基于DCT和感知哈希的纹理防伪标签鉴别算法[J]. 计算机应用研究,2014,31(12):3720-3726. [9]李京兵,黄席樾. 一种基于DWT抗几何攻击数字水印鲁棒算法[J]. 计算机仿真,2007,24(3):303-306. [10]王鹤,谢刚. 基于PCA-SIFT特征的目标识别算法[J]. 电视技术,2013,37(15):30-32. [11]牛夏牧,焦玉华.感知哈希综述[J].电子学报,2008,36(7):1405-1411. [12]孙燮华.图像加密算法与实践——基于C#语言实现[M].北京:科学出版社,2013. Robust zero-watermarking algorithm based on DWT-PCA and perceptual Hashing XU Lian,LI Jingbing (CollegeofInformationScienceandTechnology,Haikou570228,China) Key words:discrete wavelet transform; principle component analysis; zero-watermarking; chaotic encryption Abstract:A robust zero-watermarking algorithm based on DWT-PCA and perceptual hashing is proposed to solve the problem that digital image watermarking is easy to be attacked. Firstly, multi-level DWT is applied on the original image and the low-frequency sub-band LL is obtained. Then PCA is used to get the first principle component of LL. A binary perceptual hashing sequence of the original image is generated by comparing the value of every coefficient of the first principle component and the average of all the coefficients. Combining the concept of zero-watermarking, the watermark isn’t actually embedded in the image, but associated with the perceptual hashing sequence of the image to generate a key which is used in the process of watermark extraction. Experimental results show that the proposed algorithm has strong robustness against normal attacks and it can also resist some geometric attacks. 中图分类号:TN911.73;TP309.7 文献标志码:A DOI:10.16280/j.videoe.2016.01.005 基金项目:国家自然科学基金项目(61263033) 作者简介: 徐莲(1991— ),女,硕士生,主要研究数字水印技术、数字图像处理; 李京兵(1966— ),博士生导师,本文通讯作者,主要研究方向为数字水印技术、数字图像处理。 责任编辑:闫雯雯 收稿日期:2015-06-08 文献引用格式:徐莲,李京兵.基于DWT-PCA和感知哈希的鲁棒零水印算法[J].电视技术,2016,40(1):25-30. XU L,LI J B. Robust zero-watermarking algorithm based on DWT-PCA and perceptual Hashing[J].Video engineering,2016,40(1):25-30.