基于图像内容水平线的水印算法
2010-09-27王彩霞
王彩霞
(运城学院公共计算机教学部,山西运城044000)
基于图像内容水平线的水印算法
王彩霞
(运城学院公共计算机教学部,山西运城044000)
给出了一种把图像自身特征——水平线作为水印嵌入到图像的内容认证算法.该算法从宿主图像中提取出水平线,并对此水平线作Arnold变换得到最终嵌入水印序列,将宿主图像分成互不干扰的子块,对每个子块作一阶小波变换,同时考虑了HVS的掩蔽特性,并计算出每个子块的可见噪声门限JND值,实现水印的自适应嵌入.实验证明该算法在水印透明性与鲁棒性方面具有较好的性能,并实现水印的盲提取.
水平线 Arnold变换 JND
数字水印的一个重要应用为图像认证.早期脆弱水印通过修改最不重要比特位(LSB)来嵌入水印,其优点是可以检测到非常细微的篡改并进行精确定位.但攻击者可以通过篡改媒体内容而保持其LSB位不变,从而使认证失败.Yeung等人[1]通过在水印比特和像素灰度值间建立映射关系而克服这一问题,同时保持了对局部篡改的良好定位能力.但用这种算法嵌入水印比特具有一定的确定性,从而给水印伪造者提供机会.
以图像重要特征作为认证信息是图像认证信息构造的一个重要方向.常见的特征包括图像的均值,频率域系数,方差,边缘,特殊像素点等.Dittmann[2]采用Canny算子提取图像的边缘信息,以变长编码后的边缘信息和其签名信息一起作为认证信息并隐藏在图像中,根据签名信息判断图像的完整性,依据边缘信息来定位篡改.
本文给出一种基于图像内容相关的认证水印算法.该算法把图像自身特征水平线作为水印嵌入到图像中.为了解决透明性与鲁棒性的矛盾,充分考虑了人类视觉系统的掩盖特性和纹理特性,并实现水印的自适应嵌入.实验结果表明,水平线方法在水印透明性与鲁棒性方面具有较好的性能,同时在定位篡改区域方面也有一定的效果.
1 水平线基本概念
1.1 水平线定义
定义1假设μ是一幅灰度图像,Ω是图像的支集,阈值λ(0<λ<255)是一个灰度值.m,n是图像的大小.
水平线是水平集的边缘,定义如公式(1)所示
其中four的定义如公式(2)所示.
χ为水平集,0≤i 定义2 μ在λ的水平集[3]的定义如公式(3)所示. 它是图像中像素值大于阈值λ的集合,此定义适用于连续和离散模型.显然,水平集关于λ是“单调递减”的,如公式(4)所示. 定义3直方图用水平集表示的定义如公式(5)所示. 其中A表示直方图面积函数. 选择阈值一般选取直方图的两峰之间比较平坦的点,根据定义3可知,直方图是面积函数的导数,在谷底平坦处,直方图的值相对较小同时变化也较小,意味着面积函数随阈值灰度级的变化很缓慢,用函数表示如公式(6)所示. 即公式(6)值很小,如果把使上式结果最小的λ作为水平集的阈值,则可以使其对物体边界的影响达到最小.可以证明此时得到的水平集及水平线是稳定的. 假设水印图像uw和原图像u差别不大,即 根据水平集的单调递减性,可知 比较公式(4)与公式(8)可知,对应的水平集相差也很小.因此此时的λ作为阈值将使得到的水平集较稳定,从而作为水印的水平线也是稳定的. 记原图像大小为m×n,根据上述获取最稳定水平集方法得到阈值λ为N.根据定义1获取水平线具体步骤如下: 1)获取水平集二值数组.根据水平集定义,水平集为图像中所有灰度值大于N的集合.为了方便处理,可以把此集合映射为二值数组:如果图像像素值大于N,则赋值为l,否则为0,这样得到大小为m×n的二值矩阵. 2)获取水平线二值矩阵.水平线是水平集的边缘.我们可以按以下步骤获取: i)把1)中获取的二值矩阵扩展,得到大小为(m+2)×(n+2)的矩阵,其中扩展部分值为0. ii)对i)中的二值矩阵四领域反填充,即数组中的元素 (i,j),2≤i≤m+1,2≤j≤m+1,如果对应像素值的上下左右四个方向值都为0,则把(i,j)对应的像素值赋l,否则不变.最后除去扩展部分得到大小为m×n的二值矩阵,即为水平线. 水印的嵌入除了要考虑水印自身的鲁棒性外,还需要考虑到水印嵌入的策略.好的策略可以极大地提高水印算法的性能.如将水印嵌入从空间域发展到变换域,在满足不可感知性的前提下,水印的鲁棒性得到更大改善.基于图像块嵌入的方法可以保证较精确地定位篡改.本文的半脆弱性水印算法除了能保证图像认证外还有一定的定位篡改能力. 记原图像大小为M×N,根据上述获取最稳定水平集方法我们得到阈值λ为N,水印嵌入的步骤如下: 2)把原图像分块,每块大小k×k. 3)计算各块的JND[4]J(u,v). 4)水印预处理.为了提高水印的安全性和鲁棒性,嵌入水印前对得到的水平线作Arnold变换,得到置乱后的二值水印序列W. 5)对各块作一级DWT变换,得到四个分量,LL,LH,HL,HH.其中LL为低频分量,LH,HL为垂直分量和水平分量,HH为高频分量.低频分量集中了此块的大部分能量,改变此区域将对用户的视觉产生影响,因此一般不更改此区域.同时高频分量容易被压缩时过滤,因此一般也不适合作为嵌入水印的位置.因此一般选择中频区域嵌入水印,即LH,HL分量. 6)按照以下嵌入规则将4)中得到的二值水印依次嵌入到每块,从而改变LH,HL分量[5]. i)如果W(u,v)=1并且dif λ为比例系数. ii)如果W(u,v)=0并且dif 精致的火把放光,参星出现在东方。 今晚是怎样的晚上,看见这样的好姑娘。 你呀,你呀,该把这个好姑娘怎么办。 HL(μ,v)′(x,y)=HL(μ,v)′(x,y)-λ*(J(u,v)-dif)/2, LH(μ,v)′(x,y)=LH(μ,v)′(x,y)+λ*(J(u,v)-dif)/2. 通过这样嵌入,我们发现LH分量与HL分量和的大小关系发生了改变,即sum(HL)与sum(LH).当sum(HL)≥sum(LH)时可以判定此块对应的嵌入水印值为1,否则嵌入值为0. 7)对各块作一级反DWT变换并合并各块后得到水印图像. 水印提取是水印嵌入的逆过程,由于在水印嵌入时改变了各分块作DWT变换后的LH分量与HL分量的和的大小关系,因而在提取时只需要根据大小关系得到此块的水印值,即 同时由于在水印嵌入时对水印进行Arnold变换,因而需对得到的二值水印序列作相应的Arnold反变换,得到最终的水印序列. 由于水平线的稳定性及置乱技术的特性,通过对比篡改后图像提取的水平线与提取的水印,可以得到水印图像的篡改区域.具体步骤如下: (a)根据水印提取算法从水印图像中提取水印W(i,j),0≤i≤m-1,0≤j≤n-1,其中m,n为水平线集合图像的大小. (b)从水印图像中提取水平线W′(i,j),0≤i≤m-1,0≤j≤n-1. (c)对比水印与水平线, (d)E(i,j)中值为1的即为篡改点 从以上步骤可以看出图像篡改定位不需要借助原图像及原水印,且定位方法简单. 我们对图1中列出的大小为512×512的8位灰度图像进行了实验[6]. 图1 灰度实验结果 实验中图像分块大小k=4,小波变换选择haar小波基. 水印透明性一般用峰值信噪比来衡量.表1是对测试图像嵌入水印后计算得到的PSNR值及使用yang[3]算法计算得到的PSNR值.结果显示,本算法比yang算法略好. 表1 水印图像的PSNR值 以图lena为例,图2显示了透明性方面的实验结果 图2 透明性实验结果 从以上的结果中我们可以发现水印图像具有较高的PSNR值,并且嵌入的水印不能被人眼检测出来. 以lena为例从JPEG压缩及加噪声方面对水印进行鲁棒性测试.压缩后的效果用NC来衡量,同时为了对比,把Yang算法的结果也包括在表中.如表2、表3所示. 表2 抗JPEG压缩的NC值对比 表3 抗噪声的NC值对比 从表2,3结果来看,本算法比参考文献中的算法性能优. 对水印图像进行篡改,见图3.为了让提取的水印和水平线更清楚,我们对它们进行了放大.下面是对lena进行水印图像篡改实验的结果: 图3 篡改定位结果 以上两组图像为图像篡改定位,通过对比b,c两部分即可得到篡改区域,即图3 d中白色区域,从实验结果中我们可以看出大体确定的篡改区域. 本文提出了利用图像内容作为水印的认证算法.通过水印生成算法从图像中提取出水平线作为水印,同时将图像的像素块进行DWT域的变换,然后通过改变每块垂直分量与水平分量的和的大小来嵌入对应的水印.水印嵌入强度是关系算法鲁棒性与透明性的重要因素,该算法参考了人类视觉系统的特性,并在此基础上生成各图像分块的嵌入强度值,从而达到鲁棒性与透明性的折衷.该算法能够成功地实现水印的嵌入与提取,实验证明该算法对于频域的失真具有较好的鲁棒性,能够抵抗JPEG压缩和加高斯白噪声的攻击.在图像受到恶意攻击时可以大体定位出篡改的区域. [1]Yeung M,Mintzer E.An visible watermarking technique for image Verfication[J].Proc IEEE ICIP,Santa Barbara,Califomia,1 997:680-683. [2]Dittmann J,Amd Steinmetz Ralf Steinmetz.Content-based digital signature formotion pictures authentication and content-fragile watermarking[J].ICMCS,1999,2:209-213. [3]张宣,陈刚.基于偏微分方程的图像处理[M].北京:高等教育出版社,2004. [4]LU C-S,LIAO H-F M.Multipurpose watermarking for image au2thentication and p rotection[J].IEEE Transactions on Image Pro2cessing, 2001,10(10):1579-1592. [5]Yang Hengfu,Sun Xingming.Semi-fragile watermarking for Image AuthenticationAnd Tamper Detection Using HVS Model[J].International Conference on Multimediaand Ubiquitous.Seoul,south korea,2007:1112-1117. [6]董长虹,赖至国,余啸海.Matlab图像处理与应用[M].北京:国防工业出版社,2004. Abstract:In this paper,by taking full advantage of the masking characteristics of the HVS(Human Visual System),the thesis first presents a semi-fragile watermarking scheme which embeds the level-line,extracting from the image,in the DWT(Discrete Wavelet Transform)domain.It is no need the original image when extracting the watermarking.Moreover,when detecting and locating tampered areas,the original watermark is not necessary.The experiment results show that the algorithm has a good invisibility and high robustness against non-malicious attacks,and also Can locate the tampered areas roughly. Key words:level-line;Arnold Transformation;JND 〔编辑 高海〕 Authentication Watermarking based on Image Content Kevel-line WANG Cai-xia TP301 A 2010-07-08 王彩霞(1970-),女,山西运城人,讲师,研究方向:网络安全. 1674-0874(2010)06-0020-041.2 水平线的稳定性
2 水平线认证算法的基本思想
2.1 水平线的生成
2.2 水印嵌入
2.3 水印提取
2.4 篡改定位
3 实验结果与分析
3.1 水印透明性
3.2 水印鲁棒性
3.3 篡改定位
4 结束语
(Depaltment of Public Computer Education,Yuncheng University,Yuncheng Shanxi,044000)