基于改进量子进化算法的图像水印算法

2015-11-26 05:44蒋天发牟群刚
关键词:含水小波染色体

蒋天发,牟群刚

(中南民族大学计算机科学学院,武汉430074)

数字水印在数字媒体版权保护、私密信息传递、信息认证、电子商务等方面应用得非常广泛,而且传统的数字水印技术已经比较成熟了,但还有一些领域未能完全涉足,如今量子图像水印技术及其认证目前还处在起步阶段[1].量子理论在计算机方面也得到了广泛的应用,如量子计算机的研究、量子算法的设计与研究等,当前最成熟的量子算法主要是量子进化算法和量子搜索算法,这两种量子算法在计算机的各个方面也得到了不同程度的应用,其中,在图像水印方面,量子进化算法主要起着速度优化与图像视觉质量优化的功效,而量子搜索算法则在图像水印嵌入过程中快速搜索出更好的嵌入位置[2,3];即使如此,量子算法在图像水印方面的研究仍然屈指可数,还有更多关于量子水印方面的技术等待我们去发掘[1].本文对经典的量子进化算法[4]进化过程中种群和表达量子染色体的量子比特加以改进,并用改进的量子进化算法实现图像水印的嵌入与提取操作.

1 量子进化算法改进

1.1 量子进化并行性扩展

将初始化的种群分为若干个子群,每个子群在进化算法执行时独立进行进化操作,在一定的进化代数之后进行子群间的个体交换,即实现子种群间个体“移民”,以此交换信息并达到更快的运算速度.如初始化种群Q(0)中有N(N=2n)个个体,可以将种群Q(0)分为=2n/2个子种群,每个子种群含有个个体.进化一定代后,交换子种群间的个体,再次执行进化算法.这样,每个子种群进化速度要比未划分子种群时快,进化过程中,子种群内通过染色体杂交的同时,子种群间通过个体“移民”实现子种群间的“杂交”,在加快运算速度的同时兼顾了整个大种群内种群多样性的维护.

1.2 量子染色体编码与旋转门策略改进

量子染色体编码的量子位改为量子角,原来的量子位|φ〉=α|0〉+β|1〉概率幅需满足归一化条件|α|2+|β|2=1,因此,一个量子比特的表示也可以用一个量子角来实现,|φ〉=[θ],可以等同于量子比特表示法,即:

只有一个变量θ.此时sinθ,cosθ分别为|0〉和|1〉的概率振幅值,|sinθ|2为量子基矢|0〉的概率,量子基矢|1〉的概率同理,两个概率振幅值的归一化就很明显了.量子染色体可以相应地编码为[θ1θ2… θn],其中n为染色体长度.

量子门旋转也能用量子角表示为[θ'i]=[θi+τ(Δθi)],其中τ表示微小变化量,将量子门的运算改为量子角的微调.使用量子角表示量子态可以知道当前个体与最优个体之间的差角及差值方向,只需将当前个体向最优个体调整即可完成量子旋转操作.量子旋转角旋转查询见表1.

表1 改进量子旋转门旋转角查询表Tab.1 The rotation angle query table of improved quantum rotation gate

依据表1中θi和besti的取值,量子旋转门的操作直接调整s(θi)的值,这样做不但简化了传统量子进化算法中定长步长的进化策略,而且可以一次到位.

同样,为了防止进化早熟现象的发生,增强算法的局部搜索能力,需要对染色体基因位进行变异,这里对量子角执行“非”操作,构成新的量子角,达到变异的目的,即:

其中θ'i表示变异后的量子角,θi为变异前的量子角,两角度之和为π/2,因此变异实质就是求量子角的“非”值.

2 基于改进QEA的水印嵌入与提取过程

2.1 水印嵌入

Step1:对载体图像进行小波变换并提取水印序列.按照水印嵌入者指定的变换级别K对载体图像进行小波变换,做好水印嵌入准备.根据水印嵌入者的选择,将图片水印或者文字水印量化为二进制序列.其中,为了有效展示剪切攻击效果,图片水印需要置乱后再进行量化操作;为了提高嵌入后图像的可视化效果,如果水印图像为二值图像则需要对图片的量化按位求反.

Step2:提取载体图像小波系数的量化序列并嵌入水印.量化过程为:设Il,f(θi)为当前特征点与密钥经过混沌函数共同选择的较高频段的小波系数,其中l,f∈ {1,2,…,K}表示小波变换层数,指示各方向的细节子图,θi表示当前点的量子角,混沌函数为:

其中A=4,B=2.5,变量x的初值由密钥确定,第一步水印图像置乱操作也由本函数完成.设当前第一个高频模块LL1的可见度阈值(水印嵌入者可以自由设置该阈值)为 JNDl,f1,则其余频段的阈值为 JNDl,f1-k,k∈ {1,2,…,K-1},低于当前阈值的小波系数都准备嵌入水印信息.第一级高频系数HH1中不嵌入数据,从去掉HH1后的其他高频系数中嵌入数据,嵌入过程中,不同级数的小波系数用不同的阈值控制,而不是采用固定步长或者灵活步长确定.

Step3:采用QEA找到水印信息的最佳嵌入位置,其过程为:

①令种群代数t=0,初始化含有N个个体的种群Q(0),使用量子角编码模式,将种群所含染色体的每个基因的量子角都初始化为π/4,将大种群Q(0)划分为多个子种群;

②测量各个体得到种群P(t),产生0~π/2之间的随机角度,若小于给定角度则测量值取0,否则为1,测量当前个体X的适应度f(X)并保存适应度最大的个体;

③当前是否终止,如未终止,则继续以下过程:(i)t=t+1;

(ii)测量当前染色体是否优于最优个体,如果是,则将前面的最优个体改为当前最优个体,否则保持不变;

(iii)以最优个体为方向,利用基因位角度编码的“非”门进行染色体变异以及种群间“移民”进行杂交;

(iv)得到后代Q(t+1),返回(i).

Step4:将嵌入过程所用到的私钥存放至第三方可信数据库中.

Step5:将嵌入水印后的载体图形做小波逆变换,得到含水印的载体图像.

2.2 水印提取

使用与嵌入过程相同的小波函数对图像执行相同层数的小波变换,并从可信第三方取出嵌入水印时所用到的私钥,用嵌入过程相同的方案找出每个特征点对应的小波系数.使用与嵌入水印过程相反的步骤实现水印的提取.

设w'为提取水印的量化序列,w为原始水印的量化序列,利用所提取水印与原始水印的区别能看出水印图像的真实性及其被修改过的坐标等信息,进一步判断载体图像是否真实以及可能被篡改的位置等.判断所提取水印同原水印之间的差别函数可以定义为:

其中⊕表示异或运算.两种水印不同时,对应的小波系数位置就表示水印图像出错的空间位置,详细位置可以依据小波变换算法的寻址规则进行查询.

3 测试结果与性能分析

以下从图像的视觉质量、鲁棒性与安全性分析、嵌入容量、与其他算法对比等几个方面对算法性能进行评估.实验仿真采用64位Windows 8操作系统、RAM 4GB、基于x64的处理器、四核Intel Core(TM)i7 3.46GHz下C++Builder开发环境用C++语言实现,测试载体图像为256级的彩色图像或者灰度图像,大小均为512×512.

3.1 图像视觉质量分析

峰值信噪比(PSNR,peak-signal-of-noise-ratio,这里为8位采样点)和均方差(MSE,mean squared error)用来度量嵌入水印后载体图像的质量,彩图PSNR为3个分量的平均值[5]:

为了获得更大嵌入容量或者嵌入率,以下仿真测试选择嵌入文字信息作为水印,嵌入水印前后的图像与直方图举例展示如图1.

图1 嵌入水印前后载体图像Lena及其像素直方图Fig.1 Carrier image and pixel histogram before and after embedding watermarking

图1从左至右分别为水印嵌入前载体图、嵌入后载体图、嵌入前载体直方图、嵌入后载体直方图.该算法可以用文字或者图像作为仿真测试水印,待嵌水印与提取出来的水印如图2所示.

图2 嵌入水印与提取水印的效果Fig.2 Effect of watermark embedding and extraction

嵌入文字水印后,不同载体图像(名称含RGB的表示彩图)的峰值信噪比如表2所示.

表2 文字水印嵌入不同图像的性能显示Tab.2 Performance show after text watermark embedded into different images

从表2可以看出,该算法嵌入率较高,PSNR值较大,对比 Wang Z W 的算法[6,7],本算法嵌入水印后图像质量更高,PSNR最小值超过44,而Wang的文章中,其Lena的PSNR值为36.2941,改进后的基于量子进化算法的图像水印策略有较高的峰值信噪比和高嵌入率,见表3.

表3 图片水印嵌入不同图像的性能显示Tab.3 Performance show after image watermark embedded into different images

图像水印为64×64的二值图像,对每个像素只需要嵌入一个0或1即可.嵌入图片水印后含水印图像的PSNR值较大,图像视觉效果好.

3.2 鲁棒性与安全性分析

在此给出了几种常见攻击后含水印图像及其水印检测结果,剪切攻击、压缩攻击,盐椒攻击与篡改、滤波攻击后含水印图像及其提取出来的水印图片分别如图3~图6所示.

图3给出了各种剪切攻击的效果,其中第7个为中间1/4剪切攻击,最后一个为随机剪切.图4中从左往右的压缩因子分别为 0.8,0.6,0.4,0.2.图 5中前3个从左往右盐椒密度分别为0.03,0.06,0.10,最后一个含水印图像的一个小方块内被篡改过,增加了R分量的值,右边为提取水印后判断出该图已被篡改并标注出了篡改位置.

图6中从左往右分别为低通、中值、高斯滤波后含水印图像及其提取的水印效果,可以看出,一般性攻击后仍能提取可辨认的水印,满足鲁棒性要求.

图3 剪切攻击后含水印图像及其水印检测结果Fig.3 The watermarked image and watermark detection results after shear attack

图4 JPEG压缩攻击后含水印图像及其水印检测结果Fig.4 The watermarked image and watermark detection results after JPEG compression attack

图5 盐椒攻击与篡改后含水印图像及其水印检测结果Fig.5 The watermarked image and watermark detection results after salt and pepper attack and tamper

图6 滤波攻击后含水印图像及其水印检测结果Fig.6 The watermarked image and watermark detection results after filtering attack

将各种攻击后所提取的水印与原水印图像进行比较,水印图像的PSNR如表4所示.

表4 Lena受攻击后水印图像的鲁棒性测试结果Tab.4 Robustness test results of watermark image after Lena being attacked

3.3 与其他算法对比分析

嵌入水印后含水印图像的PSNR及其嵌入率如表2所示,与Wang Z W等[6,7]的快速水印算法相比,本算法中,嵌入水印后含水印图像的PSNR最小值为44.7416,超过了Wang等算法中给出的唯一PSNR结果36.2941.从PSNR的定义可知,一般而言,PSNR越大,则两张图片的相似度越高,本算法给出了一些仿真测试的PSNR值,就不再像Zhang那样给出显得有些冗余的相似度值.此外,本算法有较高的嵌入率,最大近似嵌入率为4bit/pixel.同样,本算法在水印嵌入过程中运用了量子进化算法,优化了嵌入信息的速度,测试文本嵌入时,txt文本达1.2MB,耗时15s左右,从实际嵌入率4bit/pixel可知,嵌入最大长度接近1MB,若用仿真软件中64×64大小的二值图像作为水印,则瞬间可完成嵌入.

4 小结

基于经典量子进化算法并在分析Wang Z W等文献的基础上,提出了一种新的基于量子计算理论的图像水印算法,并对嵌入过程进行了一些优化,如嵌入过程不再使用量化间隔、嵌入时考虑低通滤波等攻击的影响,实验结果显示:该算法比Wang Z W等所采用的算法有更高的图像视觉质量,且嵌入容量有所增加.

[1]朱金娥.量子水印技术研究的现状与前瞻[J].高等函授学报:自然科学版,2011,24(5):8-10.

[2]Giuliano B,Giulio C.量子计算与量子信息原理(第一卷:基本概念)[M].北京:科学出版社,2011:75-117.

[3]Michael A N,Isaac L C.量子计算和量子信息(一:量子计算部分)[M].北京:清华大学出版社,2004:228-240.

[4]蒋天发,牟群刚,周 爽.基于完全互补码与量子进化算法的数字水印方案[J].中南民族大学学报:自然科学版,2014,33(1):95-99.

[5]熊志勇,王江晴.基于互补嵌入的彩色图像可逆数据隐藏[J].光电子·激光,2011,22(7):1085-1090.

[6]Wang Z W,Li S Z,Cai Q X,et al.A fast watermarking algorithm based on quantum evolutionary algorithm[C]//IEEE.IEEE Conference Publications,Intelligent Computing and Intelligent Systems,ICIS 2009.IEEE International Conference on Shanghai.Shanghai:IEEE,2009:94-98.

[7]王智文,李绍滋,苏松志,等.一种基于量子进化算法的快速水印算法[J].光电子·激光,2010,21(5):737-742.

猜你喜欢
含水小波染色体
基于多小波变换和奇异值分解的声发射信号降噪方法
构造Daubechies小波的一些注记
镇北油田某油藏延长低含水采油期技术研究
含水乙醇催化制氢催化剂研究
表面活性剂驱矿场试验效果评价
基于MATLAB的小波降噪研究
多一条X染色体,寿命会更长
为什么男性要有一条X染色体?
能忍的人寿命长
青蛙历险