《武汉工程大学学报》  2008年01期 95-97   出版日期:2008-01-30   ISSN:1674-2869   CN:42-1779/TQ
遗传算法在数字水印技术中的应用


0引言遗传算法是Holland在1975年提出的,基于自然选择和遗传的机制来自适应提供随机、全程搜索直至找到最终解决方法.现已广泛用于解决优化问题,特别是对于一些NP问题,遗传算法常常能给出令人满意的.数字水印技术是实现版权保护的有效办法,已成为多媒体信息安全研究领域的一个热点,也是信息隐藏技术研究领域的重要分支.目前,在数字水印技术方面,已经有很多种技术了.总的来说,分为两类,一类为空域型数字水印,另一类为频域型数字水印.研究多的是后者,较为常见的有离散余弦变换域水印、离散小波变换域水印以及离散傅立叶变换域水印.传统的水印技术常常采用一种叫舍入的方法来嵌入水印,其具体做法是把实数强制性取为整数,这样不可避免地带来了精度问题,使得提取出的水印质量下降.文献[1]利用遗传算法的优化功能来提取水印,在一定程度上弥补了这个缺陷,它避开了舍入过程.文献[2]利用遗传算法实现了水印在空域中的优化嵌入,使加入水印的图像基本上与原图像无视觉差别.文献[3]利用遗传算法将易损水印直接嵌入到宿主图像的频域,而且提取易损水印时无需经过变换即可提取易损水印,有效的提高了易损水印的精确性.文献[4]利用遗传算法来快速地计算嵌入水印的最佳能量,将水印嵌入到小波域中.本文利用遗传算法优化水印嵌入强度,将水印嵌入到余弦变换域中,达到了很好的嵌入效果;并根据水印算法和遗传算法的特点,提出了遗传算法在水印算法应用中的解决方案.1遗传算法Holland创建的遗传算法(简称GA)是一种概率搜索算法,它是利用某种编码技术作用于称为染色体(chromosome)的数串,其基本思想是模拟这些数串的进化过程.该算法通过有组织地然而是随机地信息交换重新组合那些适应性好的串,在每一代中,利用上一代串结构中适应好的位和段来生成一个新的串的群体;作为额外增添,偶尔也要在串结构中尝试用新的位和段来替代原来的部分.遗传算法是一类随机化算法,但是它不是简单的随机走动,它可以有效地利用已经有的信息处理来搜索那些有希望改善质量的串,类似于自然进化,遗传算法通过作用于染色体上的基因,寻找好的染色体来求解问题.与自然界相似,遗传算法对待求解问题本身一无所知,它所需要的仅是对算法所产生的每个染色体进行评价,并基于适应度值来选择染色体,使适应性好的染色体比适应性差的染色体有更多的繁殖机会.遗传算法的基本过程包括选择过程,交叉过程和变异过程.2基于遗传算法的水印技术基于遗传算法的水印框架如图1所示.图1基于遗传性算法的水印框图
Fig.1The watermarking scheme based on genetic algorithm对于给定的原始载体图像,经过离散余弦变换(DCT)后,得到了对应在频域中的载体图像,根据遗传算法优化得到的水印嵌入强度嵌入水印,再经过反离散余弦变换(IDCT),即得到了水印图像.在这个过程中,水印的嵌入公式采用Cox[5]的乘法原则公式:B=A(1+αx).其中,A表示原始载体图像,B表示水印图像,x表示水印,α表示嵌入强度,根据Weber定律[4],其理论值一般不超过0.01.在水印嵌入过程中要预先设置水印嵌入强度因子,有的是根据经验设定,有的是根据人类视觉模型设置,有的是根据神经网络自动设置,本文则利用遗传算法的优化能力自动获取.第1期王忠,等:遗传算法在数字水印技术中的应用
武汉工程大学学报第30卷
遗传算法的基本过程为:第一步:设置种群大小N,交叉概率Pc,变异概率Pm及终止代数T;第二步:置种群代数t=0,随机生成初始种群Chrom;第三步:计算Chrom中各染色体的适应度;第四步:检验算法收敛终止准则,若满足则转第十一步;第五步:根据计算出的适应度值,如果代数t达到了终止代数,若种群的适应度最大值小于40,则使Pc增加0.1,使Pm增加0.005,代数t减1,转第六步;若种群的适应度最小值大于45,则重新生成种群Chrom,代数t减1,转第三步;第六步:进行选择运算,构成新的种群ChromN;第七步: 按给定概率Pc,将ChromN中的染色体进行交叉;第八步: 按给定概率Pm,将ChromN中的染色体进行变异;第九步: 将变异后的染色体存于Chrom中;第十步: 代数t加1,转第三步;第十一步:保存具有高适应度的染色体,按此分布方案得到水印嵌入强度,将数字水印嵌入到原始载体图像中;第十二步:终止.在遗传算法中,选择过程采用轮盘赌的方法,得到种群;交叉过程采用单点交叉的方法,得到下一代种群;变异过程采用基因位变异的方法,得到新的种群.适应性函数定义为峰值信噪比PSNR[2],算法收敛终止准则为种群中有染色体的适应度值40≤PSNR≤45.选择适应度函数的依据是PSNR反映了水印对原图像影响程度,其值越大,说明水印对原图像的影响程度越小,根据人类视觉特性,PSNR大于40,水印对原图像的影响不大,人眼无法察觉,控制在[40,45]之间可以更大程度地增强水印嵌入强度,以平衡水印的鲁棒性和不可见性.通常的遗传算法的终止准则为:种群的遗传代数达到指定代数或者种群在一定代数里的最高适应度值不发生变化.这个准则使得遗传算法被捆绑在一个低效率的水平上了,根据本文实际情况,是完全可以摈弃这个准则的约束的.采用如下方法来处理终止准则:当种群中出现了适应度在一个合理范围(40到45之间)内的染色体时,即终止遗传算法.在形式上设定一个终止代数,以防出现这样的一种情况,种群在经过几代的遗传后,还是没有出现满足要求的染色体.在这种情况下,可强迫种群中的染色体快速向最终解进行靠拢.具体做法是:当染色体在一定代数后,其适应度的最大值还落在40以下时,就加大交叉概率和变异概率;而当适应度的所有值都超过了45时,就说明该种群已经“老化”了,很难达到理想情况,为此,必须重新生成种群.3仿真实验实验采用512×512的灰度Lena图作为载体图像,如图2所示[6],并采用9×32的二值图像“WIT”为水印,如图3所示.在嵌入和提取水印时,把载体图像做8×8的分块,对每块进行DCT变换后,从第一块开始,按行进行,每块第一个像素上嵌入一位水印,总共嵌入了288块.交叉概率初始值为0.5,变异概率初始值为0.01,终止代数为3代,种群大小为30,每条染色体含8位基因,α在-0.59到0.01之间取值,具体做法是,把该区间均匀地分成28-1个等份,每条染色体对应于其中的一个可能等份,据此得到α的所有可能值.提取的水印如图4所示,更多的实验数据如表1所示.图2原始载体图像
Fig.2Cover image图3原始水印
Fig.3Watermark


图4提取水印
Fig.4Extracted watermark


表1实验数据Table 1The experimental data
攻击类型无攻击JPEG压缩Q=70JPEG压缩Q=10高斯低通滤波缩放变换椒盐噪声PSNR/dB43.063 735.693 329.671 938.464 427.775 428.045 3NC110.934 2110.991 2从表1的数据中可以看出,利用遗传算法的优化能力可以自适应地优化嵌入强度因子,在常用的一些图像处理下,提出的水印与原水印相似度较高,说明遗传算法在水印技术中的应用是可行的.4结语遗传算法具有优化水印嵌入强度的作用,通过在频域中应用遗传算法优化嵌入强度,实现了水印在鲁棒性与不可见性之间较好的平衡.通过实验可以看出提出的适应度函数值的选择和遗传算法的终止准则方法在数字水印方案中也是可行的.