基于遗传算法和SVD-DWT的图像水印优化嵌入方案

2018-07-21 02:20王慧玲刘淑影
韶关学院学报 2018年6期
关键词:子带含水鲁棒性

晁 妍,王慧玲,刘淑影

(阜阳师范学院 计算机与信息学院,安徽 阜阳236037)

近年来鲁棒图像水印技术的研究与应用取得了一定进展,而水印嵌入系数和水印嵌入强度的选择仍然是鲁棒水印技术的热门研究课题,因为这会直接影响数字水印的基本性能:鲁棒性和不可见性[1].笔者对比了近年来的同类算法,发现大多数基于频域的图像水印算法在水印的嵌入过程中,都采用随机方式选取水印的嵌入系数和嵌入强度[2-6].这些算法具有很大的主观性,需要反复大量的实验才能得出结论,效率较低.

笔者结合遗传算法和奇异值分解提出了一种在频域中能更好抵抗各种攻击的水印算法.利用矩阵奇异值分解的特征值具有遭受几何攻击不易改变的特性,将水印图像进行奇异值分解生成水印序列,以提高水印的鲁棒性及抗干扰能力[7];遗传算法是全面模拟自然选择和遗传机制的一种优化算法,可以从众多可能解中选取出最优解,这一特性可以解决水印嵌入系数选取时的不确定问题[8].利用遗传算法选取最优嵌入系数,根据载体图像纹理自适应调节水印嵌入强度.

笔者拟通过3个方面提高水印算法的不可见性与鲁棒性:将水印图像进行奇异值分解生成水印序列;根据载体图像纹理自适应地调节水印嵌入强度系数;使用遗传算法对水印嵌入系数进行优化.

1 水印算法

1.1 水印生成

(1)将水印图像W进行Arnold变换,经过key1次变换后得到置乱后的图像,key1作为密钥进行保存;(2)将置乱后的水印图像进行SVD分解,得到水印序列W=w1,w2,…,wN.

奇异值是依次递减的,第一个元素值最大,嵌入强度应该最大[9-10].对水印图像进行奇异值变换后,将水印值分为两类:第一个元素值为第一类δ1.其它元素值为第二类η={δ1,δ2,…,δN}.

1.2 水印嵌入

Step 1:将原始图像进行二级Haar小波变换,得到一个第2级的近似子带LL2和其他细节子带:HL2、HL1、LH2、LH1、HH2和 HH1[9].

Step 2:近似子带中可嵌入的水印有限,将水印值(第一类)嵌入到小波域第2级的近似子带中,可以有效的平衡鲁棒性和不可见性,即:

细节子带中可嵌入的水印信息多,可先利用遗传算法得出最优化的嵌入系数点(i,j),再将第二类的水印值嵌入到小波域第1级的细节子带中,嵌入公式后可得:

其中 p,q={1,2,…,N/2},i,j={1,2,…,N},k={2,3…,N},θ∈{HL1,LH1,HH1}表示小波域第 1 级的细节子带 ILL2(p,q)表示图像在小波域第2级的近似子带系数,I′LL2(p,q)表示含水印图像在第2级的近似子带系数;(i,j)表示图像在第 1级的细节子带系数,I(i,j)表示含水印图像在第1级的细节子带系数;αi为水印的自适应嵌入强度.

Step 3:根据载体图像纹理自适应地调节水印嵌入强度系数[11].

其中N为水印序列的长度.fi表示图像的纹理特征,fmin和fmax分别为fi的最小值和最大值,αbase为αi的调节基准.

其中γ(γ>1)为对角细节分量影响因子,σi,LHj表示细节分量HLj(j=1,2)的系数相关方差值.

Step 4:经过离散小波逆变换得到含水印图像.

1.3 水印提取

Step 1:分别对原始图像和含水印图像做二层小波分解,根据公式(5)和(6)进行水印的提取:

2 遗传算法优化嵌入系数

Step 2:为了使提取出的水印仍为一个二值图像,引入一个检测阈值Tt.如果提取出的水印图像的像素点值大于阈值Tt,则水印值为1;若像素点的值小于阈值Tt,则水印值为0.

在第二类的水印嵌入之前,先利用遗传算法优化水印嵌入的位置.

(1)初始群体的产生.将图像高频子带进行分块,大小为2×2,将这些子块随机平均分为N个有序组,每一个有序组为初始种群中的一个染色体.这样产生的种群,既能保证种群的多样性,又不会因交叉操作而产生新个体的基因冲突(两个嵌入点出现位置叠加).

(2)编码选择.笔者选择的编码方法是实数编码,即把水印嵌入点的位置做计数,直接作为决策变量的基因型进行遗传操作.利用实数编码,可以避免交叉和变异带来的同一染色体中出现相同个体的问题.

(3)适应度函数.设计适应度函数的主要目的在于对每一代的种群进行选择,将适应度值最高的解选入下一代,反复迭代,直到满足结束条件,根据最后一代的最佳适应度的对应解得到水印最终嵌入的位置.本算法的优化目标是使嵌入水印的图像与原始图像间的差异最小化.因此,采用峰值信噪比.作为度量标准.其中PSV为图像信号峰值;MSE为原图像与嵌入水印后的图像灰度值的均方差,表示为:

其中MAT为原始图像的灰度矩阵.

算法中的适应度函数可定义为:

其中,C为比例放大系数,用于放大个体之间的差异,更有利于个体性能的评价;C0为常数,用来保证适应度较低的个体也有机会进入下一代.

(4)遗传算子的选择.在遗传算法中有3个主要的遗传算子[5].选择算子是根据适应度函数值选择染色体放入子代种群中,适应度函数值越大的染色体被选中的几率越大,本文采用赌轮盘选择法,即使用交叉算子和变异算子进行遗传,生成新的个体,选择两点交叉方法以及均匀变异算子,分别由交叉概率Pc和变异概率Pm控制.

3 仿真实验结果和算法性能分析

仿真实验平台为MATLAB 7.1,选用灰度图像Elain(512×512)和二值水印图像(32×32)作为实验图像来测试本算法的性能.对角细节分量影响因子,Arnold变换次数key1=33.种群大小、迭代次数、交叉概率、变异概率.在提取水印的过程中,采用的阈值Tt=0.5.

3.1 水印的不可见性

利用峰值信噪比(PSNR)来衡量水印的不可见性,实验结果见图1.图1(a~d)分别为原始图像、含水印图像、原始水印和提取的水印,PSNR为46.12 dB,并且主观视觉效果也证实了本文算法有很好的不可见性,隐藏性好.

图1 水印的嵌入

3.2 水印的鲁棒性

(1)对常规处理操作的鲁棒性.通过对含水印图像进行常规信号处理操作实现鲁棒性的评估,实验结果见表1.

表1 图像在不同攻击下的NC值和PNSR值

实验结果显示由于常规信号处理操作导致图像质量的下降并不会影响水印的提取,水印图像仍然能够提取和识别.

(2)对恶意攻击的鲁棒性.图2为采用半径=1.0的Gaussian模糊、数量=300%,半径=3,阈值=50的USM锐化攻击后的实验结果.

图2 Gaussian模糊和USM锐化攻击后的含水印图像及提取的水印图像

图3 是将图像进行了不同部位几何变形后的实验结果,可以看出,提取的水印图像仍然比较清晰.

图3 几何变形攻击后的含水印图像及提取的水印图像

这些实验结果表明,本文提出的算法具有很好的水印不可见性,并且对于常规处理操作和恶意攻击,都有很好的鲁棒性.

3.3 同其他算法的比较

为了证明本文算法的优点,笔者列举了本文算法与文献[5]算法的实验对比结果(见表2),可以看出,本文提出的算法具有更高的PSNR值,不可见性更好且在不同攻击下都有更好的鲁棒性.

4 结论

本文提出一种采用遗传算法结合两种变换域(SVD-DWT)的图像水印算法,该算法在频域中能更好的抵抗各种攻击.算法主要有两个特点:(1)将SVD和DWT两种变换域结合,加强了水印的不可见性.(2)利用遗传算法选择最佳嵌入系数,根据图像纹理特征自适应调节水印嵌入强度,实现了对数字水印技术中鲁棒性和不可见性两个标准的综合优化.仿真实验数据表明,本文算法在视觉上有很好的不可见性,不仅对一般信号处理和几何攻击有很好的鲁棒性,而且对两者的综合攻击也表现出了较好的鲁棒性.

猜你喜欢
子带含水鲁棒性
一种基于奇偶判断WPT的多音干扰抑制方法*
镇北油田某油藏延长低含水采油期技术研究
含水乙醇催化制氢催化剂研究
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
子带编码在图像压缩编码中的应用
基于确定性指标的弦支结构鲁棒性评价
复杂孔隙结构低阻油层含水饱和度解释新方法
基于非支配解集的多模式装备项目群调度鲁棒性优化
非接触移动供电系统不同补偿拓扑下的鲁棒性分析
基于虚拟孔径扩展的子带信息融合宽带DOA估计