寇俊克,魏连鑫
(上海理工大学理学院,上海200093)
随着因特网技术的不断发展,人们在网上获取的信息量越来越大,获取的方式也越来越简便,那么如何管理和防止非法数据拷贝,维护创作者的知识产权就成为一个急需解决的问题,数字水印就是针对这一问题提出的。数字水印技术就是在数据信息中加入一些数字信息,这些数字信息不仅可以被检测出来以起到版权保护的作用,而且这些数字信息的加入不会影响原始数据的视觉等效果。
对于数字水印的研究一直是一个比较热门的研究领域,一些专家、学者提出了许多有效的数字水印算法[1-3],提出了基于小波分析的数字水印方案[4],提出了基于混沌映射的函数水印方法,以上的各种水印算法都是在原始数据的基础上对数据做一定程度的修改,这样虽然起到了版权保护的作用,但是对数据的修改会造成信息的失真,针对这一矛盾,一些专家提出了一种不对原始图像数据作任何修改的零水印算法,这种算法利用原始图像的一些重要特征来生成水印[5]。提出了基于图像置乱和小波变换的零水印算法[6],提出了一种边缘检测和对数极坐标映射相结合的零水印方法[7],利用立体图像左右视点小波变换域低频子带视差的稳定性以及离散余弦变换直流系数稳定的特点构造了一种视差零水印方案[8],提出了基于小波提升与Sobel边缘及膨胀的零水印方法[9],利用对数极坐标将笛卡尔坐标系中的旋转、缩放转为循环平移来构造零水印。本文提出了一种基于分段logistic混沌映射的零水印算法,该算法依据混沌序列对初始值极其敏感的特性,利用混沌算法随机选取图像小波分解后的第三级细节部分小波系数来构造图像的特征水印。通过实验表明,这种水印算法具有较强的鲁棒性。
混沌序列是一个伪随机序列,而且混沌序列对序列初始值极其敏感,初始值任意小的改变都会造成迭代结果极大的变化。因此,混沌理论在数据加密中应用十分广泛。其中分段logistic混沌映射[10]是其中的模型之一,其迭代公式为
当3.57<λ 4时,初始值x0在分段logistic映射迭代下所产生的序列对初始值极其敏感,具有良好的随机性,此时系统处于混沌状态。在λ精确值未知的情况下,我们无法从加密数据中恢复原值。
1.2.1 小波系数的选取
对图像进行3层小波分解,产生水平方向高频部分HLj、垂直方向高频部分LHj、对角线方向高频部分HHj(j=1,2,3)和一个低频部分LL3,本文利用混沌算法随机选取第三级细节部HL3,LH3,HH3的小波系数。对于小波系数的选取个数,这与图像的尺寸大小和小波分解的级层数[11]有关,比如一幅256×256大小的图像,进行3级小波变换后,其中第三级细节部分小波系数的个数3072(32×32×3),因此选取的小波系数的个数N应该小于3072。其小波系数的选取方法如下:
假设混沌的初始值为x0(x0∈(0,1)),利用分段logistic映射迭代公式 (1)来产生长度为N的序列,然后再转化成1~3072之间的整数,由此可得到对应的小波系数的位置。其转化公式为
式中:ceil()——向上取整函数。
1.2.2 生成特征水印
根据确定的位置,即可得到N个相应的小波系数的值,该值用gi(1 i N)表示。设图像小波变换第三级细节部分小波系数的平均数为Q,比较选取的小波系数与平均数Q的大小,得出特征水印W,其公式如下
下面为水印嵌入的部分程序实例:
%X为woman(256×256)图像;
[c,s]=wavedec2(X,3,'db4');
%利用分段logistic混沌算法计算出水印嵌入的位置b=zeros(1,100);
b(1,1)=0.1;
for i=1:1:99
if(b(1,i) <0.5)
b(1,i+1)=16*b(1,i)*(0.5-b(1,i));
elseif(b(1,i) >=0.5)
b(1,i+1)=1-16*(b(1,i)-0.5)*(1-b(1,i));
end
end
for i=1:1:100
b(1,i)=ceil(3072*b(1,i))+1024;
end
%生成特征水印,其中a其第三级细节部分小波系数的平均数
d=zeros(1,100);
for i=1:1:100
if(c(1,b(1,i)) >a)
d(1,i)=1;
else
d(1,i)=0;
end
end
水印的检测算法如下:
(1)对检测图像进行3级小波分解,可得第三级细节部分的小波系数以及小波系数的平均数。
(2)由混沌初值x0产生序列来确定需要选取的小波系数
(5)给定一个阈值T,若S T,则认为检测图像含有水印信息,否则,检测图像不含有水印信息,版权与作者无关。此处阈值T取0.6
下面为水印检测的部分程序:
%对检测图像x1进行小波分解
[c1,s1]=wavedec2(x1,3,'db4');
%利用混沌算法计算出水印嵌入的位置
b=zeros(1,100);
b(1,1)=0.1;
for i=1:1:99
if(b(1,i) <0.5)
b(1,i+1)=16*b(1,i)*(0.5-b(1,i));
elseif(b(1,i) >=0.5)
b(1,i+1)=1-16*(b(1,i)-0.5)*(1-b(1,i));
end
end
for i=1:1:100
b(1,i)=ceil(3072*b(1,i))+1024;
end
%计算出被检测图像嵌入的水印信息,其中a1其第三级细节部分小波系数的平均数
d1=zeros(1,100);
for i=1:1:100
if(c1(1,b(1,i)) >a1)
d1(1,i)=1;
else
d1(1,i)=0;
end
end
%计算出水印相似度
z=0;
for i=1:1:100
if(d1(1,i)==d(1,i))
z=z+1;
end
end
z=z/100;
本文实验采用woman(256×256)图像作为原始图像(如图1所示),对原始图像进行3级db4小波变换,混沌序列初始值x0=0.1,N=100,然后进行水印嵌入,即生成特征水印。由于该水印算法不对原始图像数据做任何的修改,因此不会造成图像任何失真。用图像峰值信噪比PSNR来衡量图像的质量,其表达式如下
式中:f(i,j)——含水印图像在(i,j)位置上的像素的灰度值,g(i,j)——含水印图像经攻击后在(i,j)位置上的像素的灰度值。
根据图像小波变换后低频部分保留了图像绝大部分能量的特点,对含水印图像进行3层小波分解,保留其低频部分,同时把高频部分的绝大部分系数置为零,然后逆变换得到压缩图像,表1为各压缩图像的水印相似度。这种小波压缩方法对图像的破坏程度比JPEG压缩方法大的多。由表1可以看出,含水印图像经过小波压缩后,水印信息的相似度随着压缩攻击程度的增大而减小,且当PSNR=19.9510时,压缩图像的失真程度很大,失去使用价值 (如图2所示),但压缩图像的水印相似度仍大于阈值T,由此表明该水印算法针对压缩有较强的鲁棒性。
表1 含水印图像经压缩后水印的检测结果
图2 压缩攻击图像
对原始图像人为的加入不同程度的高斯白噪声,并检测其水印相似度,其结果如图3、表2所示,由图3、表2可以看出,随着噪声程度的加大,图像的视觉效果越来越差,图像的PSNR也随之降低,但其水印的相似度都大于阈值T,而且检测出来的水印相似度都很高,水印相似度都比较接近1,说明该算法对噪声攻击有很强的鲁棒性。
对含水印图像的平滑区域、纹理区域、边缘区域进行剪切,其实验图像如图4所示,其实验数据见表3,由表3可以看出针对含水印图像不同部位的剪切攻击,图像的水印相似度都大于阈值T,而且水印信息的相似度非常接近于1,由此表明该算法针对剪切攻击具有很强的鲁棒性。
为了进一步表明该水印算法的普遍适用性,下面我们利用不同的图像lena,bust进行实验。其实验结果如下表4、表5和表6所示,由表4可以得出含水印图像经压缩攻击后,水印信息的相似度都大于阈值T;由表5可以看出含水印图像经噪声攻击后,随着噪声攻击强度的增大,图像的PSNR值逐渐降低,水印信息的相似度也随之降低,但相似度仍非常高,且都大于阈值T,因此该算法对噪声攻击有很强的鲁棒性;通过表6看出,对不同的含水印图像进行剪切攻击后,水印相似度都非常接近1,表明检测出来的水印信息与原始水印信息几乎一样,该算法对剪切攻击具有很强的鲁棒性。
图3 噪声攻击图像
表2 含水印图像经噪声攻击后水印的检测结果
图4 剪切图像
表3 含水印图像经剪切攻击后水印的检测结果
表4 不同含水印图像经压缩后水印的检测结果
表5 不同含水印图像经噪声攻击后水印的检测结果
表6 不同含水印图像经剪切攻击后水印的检测结果
本文提出了一种基于分段logistic混沌映射的零水印算法,依据混沌理论对初始值极其敏感的特性,利用混沌序列随机选取小波系数生成图像的特征水印,使得水印信息的安全性大大提高;而且图像小波变换第三级细节部分包含了图像局部的边缘、纹理等信息,随机选取此部分的小波系数生成图像的特征水印更能有效的表征原始图像。实验结果也表明,该水印算法针对压缩、噪声、剪切攻击等具有较强的鲁棒性。
目前大部分数字水印算法都存在两个缺点:第一,容易造成图像一定程度上的失真,因为大部分水印算法都是对原始图像数据进行或多或少的修改以达到嵌入水印的目的;第二,水印信息的不可见性与鲁棒性之间的矛盾,不可见性要求嵌入的水印信息强度尽可能的小,相反鲁棒性却要求嵌入的水印信息强度尽可能的大,使得水印信息针对各种攻击具有较强的鲁棒性。这样两者就出现了不可调和的矛盾。但是,本文提出的基于分段logistic混沌映射的零水印方案解决了这一问题,通过实验也表明该算法针对各种攻击具有较强的鲁棒性,而且利用混沌序列来确定提取的小波系数,增强了水印信息的安全性。
虽然本文提出的零水印方法对各种攻击具有较强的鲁棒性,尤其是对噪声,剪切攻击的鲁棒性非常强,但是该算法针对破坏性极强的压缩攻击的鲁棒性不是十分理想,这有待我们进一步的研究。
[1]GAOShiwei,GUOLei,YANGNing,et al.Lifting wavelet transform and its application in digital watermarking[J].ApplicationResearch of Ccomputers,2007,243(6):201-203(in Chinese).[高世伟,郭雷,杨宁,等.提升小波变换及其在数字水印中的应用 [J].计算机应用研究,2007,243(6):201-203.]
[2]ZHANG Xinhong,ZHANG Fan,SHANG Dongfang.Digital watermarking algorithm based on Kalman filtering[J].Computer Engineering and Design,2011,32(12):3973-3975(in Chinese).[张新红,张帆,尚东方.基于Kalman滤波的数字水印算法[J].计算机工程与设计,2011,32(12):3973-3975.]
[3]KANG Zhiwei,XIAO Na,HE Yigang,et al.Semi-fragile watermarking algorithm based on fuzzy clustering in the watelet transform domain [J].Chinese Journal of Scientific Instrument,2008,29(9):1851-1855(in Chinese).[康志伟,肖娜,何怡刚,等.基于模糊聚类的小波域半脆弱水印算法 [J].仪器仪表学报,2008,29(9):1851-1855.]
[4]PENG Yulou,HE Yigang.Functional watermarking algorithm based on wavelet transform and chaotic map[J].Chinese Journal of Scientific Instrument,2010,31(12):2768-2772(in Chinese).[彭玉楼,何怡刚.基于小波和混沌映射的函数水印算法 [J].仪器仪表学报,2010,31(12):2768-2772.]
[5]ZHAO Jie,WANG Xuan,HE Bing,et al.A zero-watermarking algorithm based on wavelet transformation[J].Computer Engineering and Science,2009,31(3):35-37(in Chinese).[赵杰,王暄,何冰,等.一种基于小波变换的零水印 算法 [J].计算机工程与科学,2009,31(3):35-37.]
[6]CHENG Sha,TANGXianghong,LIN Junhai,et al.A digital image zero-watermarking algorithm against geometric attack [J].Journal of Hangzhou dianzi University,2012,32(1):39-42(in Chinese).[程莎,唐向宏,林军海,等.一种抗几何攻击的数字图像零水印算法[J].杭州电子科技大学学报,2012,32(1):39-42.]
[7]ZHOU Wujie,YU Mei,YU Simin,et al.A zero-watermarking algorithm of stereoscopic image based on hyperchaotic system [J].Acta Physica Sinica,2012,61(8):1-9(in Chinese).[周武杰,郁梅,禹思敏,等.一种基于超混沌系统的立体图像零水印算法 [J].物理学报,2012,61(8):1-9.]
[8]FAN Li,GAO Tiegang,YANG Qunting.Zero-watermark copyright authentication scheme based on lifting wavelet and sobel feather extraction with dilation [J].Application Research of Computers,2010,27(2):726-729(in Chinese).[范礼,高铁杠,杨群亭.基于小波提升与Sobel膨胀特征提取的零水印版权认证方案 [J].计算机应用研究,2010,27(2):726-729.]
[9]HE Bing.Zero digital image watermarking method against rotation attack based on block DCTtransform [J].Microcomputer Applications,2010,31(7):1-10(in Chinese).[何冰.基于分块DCT变换的抗旋转、缩放攻击令水印算法[J].微计算机应用,2010,31(7):1-10.]
[10]FAN Jiulun,ZHANG Xuefeng.Piecewise logistic chaotic map and its performance analysis[J].Acta Electronica Sinica,2009,37(4):720-725(in Chinese).[范九伦,张雪峰.分段Logistic混沌映射及其性能分析 [J].电子学报,2009,37(4):720-725.]
[11]Pecora L M,Carroll T L.Synchronizng chaotic circuits[J].IEEE Transactions on Circuits and Systems,1991,38(4):453-456.