本发明涉及一种多目标小波数字水印生成方法。
背景技术:
随着数字技术的快速发展和互联网的普及与应用,人们发布、获取信息也愈加便捷,但是随之出现的问题也十分严重,数字作品易被拷贝与修改的特性使得数字多媒体信息存在被篡改和窃取的安全隐患,同时数字作品的版权问题也极易被侵犯,因此数字水印技术作为信息隐藏技术的一部分,在信息安全领域受到的广泛的关注。数字水印技术能够将特定的信息——水印嵌入到文档、音频、图像、视频等数字产品中,以此确保原创作者对其作品的所有权,并作为鉴定起诉非法侵权的证据以及知识产权保护和数字多媒体防伪的有效手段。数字水印技术通过将数字、序列号、文字、图像标志等信息嵌入到媒体中,并且在嵌入过程中尽量保证对载体的修改较小,确保获得最强的鲁棒性,当嵌入水印后的媒体受到攻击后仍然可以恢复水印或者检测出水印的存在。
小波变换是一种全局变换的方式,在时域和频域同时具有良好的局部化性能,从而被广泛的应用于图像水印技术。对于小波变换,低频部分记载的是图像的平滑部分数据,而高频部分则反映的是细节部分,在低频加入水印虽然会有很好的鲁棒性,但是会影响图像的质量,在高频部分加入水印不可感知性良好,但是鲁棒性较差。鲁棒性和不可感知性是信息隐藏算法好坏的重要判定依据,二者可以看作是一对矛盾,如何使不可感知性和鲁棒性同时达到最优,是具有挑战性的难题。
经对现有技术文献的检索发现,anshul,k.k.等在《2016internationalconferenceoncomputing,communicationandautomation(iccca)》(2016,pp.1140–1144)上发表的“digitalimagewatermarkinganditsoptimizationusinggeneticalgorithm”使用遗传算法来实现小波数字水印的设计,此方法通过加权系数,将多目标问题转化为对单目标问题对小波数字水印问题进行求解,使用此方法可在一定程度上获得鲁棒性和不可感知性的折中,但是此方法在复杂通信环境下不能使小波数字水印系统的鲁棒性和不可感知性同时达到最优。jiann-shulee等在《journalofinternettechnology》(2013,vol.14,no.7,pp.1131-1139)上发表的“ansga-iibasedimagewatermarkingmethod”使用nsga-ii方法去获得小波数字水印系统的参数,但是该方法不能综合考虑嵌入位置和嵌入强度对小波数字水印系统参数设计的影响。chakri,a.等在《expertsystemswithapplication》(2016,vol.69,pp.159–175)中“newdirectionalbatalgorithmforcontinuousoptimizationproblems”提出了一种可较好的解决连续问题的蝙蝠搜索方法,但是此方法无法克服收敛速度与收敛精度之间的矛盾,在求解复杂工程问题时,难以获得优秀的结果。对已有文献检索表明,对于蝙蝠演进机制,仅能解决简单的单目标问题,且性能和速度有待提高,不能解决当前数字水印对鲁棒性和不可感知性的多目标问题。对于小波数字水印系统的鲁棒性和不可感知性的多目标要求,现有方法进行简单的线性加权,将多目标问题转化为单目标问题进行求解,不能在复杂要求下得到满意的结果。因此,设计新的多目标量子蝙蝠演进机制解决小波数字水印数字水印这个连续多目标难题有重要的理论价值和现实意义。
技术实现要素:
本发明的目的在于提供一种实时性好,应用范围广泛,能够解决需要综合考虑不同指标要求的多目标量子蝙蝠演进机制的小波数字水印生成方法。
本发明的目的是这样实现的:
步骤一:构建多目标小波数字水印设计模型,确定多目标小波数字水印设计方法对应于多目标量子蝙蝠演进机制的关键参数:
1.水印嵌入方法
1)设原始图像系数矩阵为v,大小为n×n;原始水印系数矩阵为w,大小为m×m。将原始图像做d(d≥3)级小波变换,每一级都把图像分解为4个频带,可获得3d+1个频带子图。水印嵌入的位置与初始位置标号tq有关,中频带中位置标号大于tq的m×m个连续标号所对应的位置即为水印的嵌入位置,将挑选出的m×m个系数值序列记为x0,x0即为原始图像中水印嵌入位置所对应的系数矩阵。
2)对水印做d′(d′≤d)级小波变换,得到小波变换分解的小波系数,并对水印进行加密,将加密后的水印作为待嵌入的水印。水印嵌入时常用的规则有
3)对嵌入加密水印后的图像系数矩阵进行d级小波逆变换,完成水印的嵌入。
2.水印提取方法
1)根据嵌入方法,先将待检测含有水印的图像做相应的d级小波变换,得到之前在图像中嵌入加密水印的位置所对应的小波系数矩阵,使用规则
2)利用d′(d′≤d)级小波逆变换对w′进行重构,通过密钥对恢复的水印进行解密,恢复原始水印。
原始水印和提取的水印的相似度f1与原图像和嵌入加密水印后图像的相似度f2的计算方式分别为
步骤二:初始化量子蝙蝠种群,在搜索空间内随机产生p只量子蝙蝠,在第t次迭代第i只量子蝙蝠的量子位置为
步骤三:构造多目标小波数字水印系统最大值求解问题的多目标函数为
对于求解最大值的多目标优化问题,对于量子蝙蝠的量子位置zi和zk,若对于所有的目标函数,zi的目标函数值都不小于zk的目标函数值,且至少相对于一个目标函数,zi的目标函数值大于zk的目标函数值,则称zi支配zk,zi为非支配量子位置。若对于所有的目标函数,zi的目标函数值都不大于zk的目标函数值,且至少相对于一个目标函数,zi的目标函数值小于zk的目标函数值,则称zi支配zk,zi为非支配量子位置。否则,量子位置zi、zk无任何支配关系。
对于需要确定非支配排序等级的量子位置集合中的每个量子位置p,计算能够支配此量子位置的量子位置数目和p能够支配的位置集合,如果能够支配位置p的量子位置数目为0,则可确定p的非支配排序等级为1。对于非支配排序等级为1的量子位置p,遍历p能够支配的量子位置集合中的每个量子位置q,计算p能支配的量子位置集合中能够支配量子位置q量子位置数目,如果此数目为0,则将量子位置q放入另外一个集合中,并且量子位置q的非支配排序等级为2。利用上述过程,对于非支配排序等级为2的量子位置集合的每个量子位置进行重复,可得到非配非支配位置等级为3的量子位置集合。重复此过程,直至获得所有量子位置的非支配排序等级。
对于非支配等级相同的n个量子位置,相对于不同的目标函数,对n个量子位置按目标函数值升序的方式进行排列,将目标函数值最大和最小的量子位置所对应的拥挤度值设置为无穷大,其他量子位置的拥挤度为相邻两个量子位置的目标函数值的差除以最大目标函数值和最小目标函数值的差。对于每个量子位置的每个目标函数所对应的拥挤度都进行上述计算,最终的拥挤度就是所计算的各个拥挤度分量的和。
步骤四:为确保得到均匀的pareto前端量子位置集,要向非支配量子位置排序等级为1且拥挤度较大的量子位置演进,所以根据非支配量子位置排序等级和拥挤度的值排序精英量子位置。对非支配量子位置排序等级相同的量子位置按拥挤度由大到小进行排序,选择非支配量子位置排序等级为1且拥挤度较大的的量子位置加入精英量子位置集gmqba中。
步骤五:在多目标量子蝙蝠演进机制中,更新第i只量子蝙蝠的频率li=lmin+(lmax-lmin)ui,其中i=1,2,...,p,lmin和lmax分别代表量子蝙蝠频率的下界和上界,ui为[0,1]之间均匀分布的随机数。第i只量子蝙蝠速度的第d维的演化方式为
在第t次迭代,产生一个[0,1]之间均匀分布的随机数
在第t次迭代中,如果
步骤六:更新第i只量子蝙蝠的脉冲发射率rit+1=rit[1-exp(-γt)]和脉冲响度
步骤七:对量子蝙蝠种群中新获得的量子位置进行适应度评价,并对其进行非支配量子位置排序和拥挤度计算,对非支配等级相同的量子位置按拥挤度由大到小进行排序,根据支配关系选择非支配等级为1的优秀量子位置加入精英量子位置集gmqba。
步骤八:如果gmqba中量子位置个数大于预先设置的emax,则对gmqba中的量子位置进行非支配量子位置排序,并对非支配等级相同的量子位置按拥挤度由大到小进行排序,从中选择前emax个量子位置作为新的精英量子位置集gmqba。
步骤九:如果没有达到最大迭代代数,令t=t+1,返回步骤五继续进行;否则,迭代终止,执行下一步。
步骤十:将得到的精英量子位置集gmqba中的量子位置进行非支配量子位置排序和拥挤度计算,选择非支配等级为1且拥挤度较大的量子位置作为最终的pareto前端量子位置集。根据多目标小波数字水印对不可感知性和鲁棒性的不同要求,从最终的pareto前端量子位置集中选择量子位置并将其映射为位置,作为多目标小波数字水印的一种设计方案。
本发明针对现有小波数字水印设计方法的缺点和不足,提出了一种可综合考虑嵌入不可感知性和水印提取鲁棒性的多目标小波数字水印设计方法。建立多目标小波数字水印设计方法的数学模型,设计多目标量子蝙蝠演进机制(multi-objectivequantumbatalgorithm,mqba),并通过非支配量子位置排序和量子位置拥挤度计算,获得pareto前端量子位置集。在实际应用中,可以根据鲁棒性和不可感知性的不同需求,根据图像的视觉特性和计算结果,从pareto前端量子位置集中选择最合适的量子位置并将其映射为位置,每一个位置对应一种多目标小波数字水印系统的设计方案。
本发明具体是通过使用多目标量子蝙蝠演进机制、非支配量子位置排序和量子位置拥挤度计算使小波数字水印的鲁棒性和不可感知性同时达到最优。
本发明的方法基于量子旋转门、量子演化机制和量子多目标蝙蝠搜索机制,通过非支配量子位置排序和量子位置拥挤度计算获得最终的pareto前端量子位置集。在实际应用中,可根据不同的需求在pareto前端量子位置集中选择合适的量子位置并将其映射为位置,作为多目标小波数字水印的一种设计方案。本发明所提的多目标小波数字水印设计方法能够综合考虑不可感知性和鲁棒性。
与现有小波数字水印设计方法相比本发明能够使水印的不可感知性和鲁棒性同时满足要求,具有以下优点:
(1)本发明解决了连续多目标小波数字水印的参数设计问题,并且基于非支配量子位置排序和量子位置拥挤度计算设计的多目标量子蝙蝠搜索机制,所设计的多目标小波数字水印设计方法具有较好的的全局收敛性能。
(2)相对于现有的小波数字水印参数设计方法,本发明可以同时解决固定权值多目标优化和非固定权值的多目标小波数子水印设计难题,所提方法的应用范围广泛。
(3)仿真结果表明,本发明所提出的小波数字水印设计方法可得到比现有基于遗传算法的小波数字水印参数优化方法更优秀的性能和更广泛的应用范围,说明了本方法的有效性。
附图说明
图1是基于多目标量子蝙蝠演进机制的多目标小波数字水印生成方法的示意图。
图2和图3给出了mqba演进机制所得到pareto前端量子位置集和遗传算法得到单目标函数最优解之间的关系。由遗传算法(ga)演进多目标要求的加权函数为uf1+(1-u)f2,当第一个目标权重u分别取1、0和0.5时,获得三种不同情况下的单目标函数分别为f1、f2和0.5f1+0.5f2。
图4(a)-4(e)是所提多目标小波数字水印设计方法的不可感知性检测。
图5(a)-5(e)是所提多目标小波数字水印设计方法的抗攻击能力检测。
具体实施方式
下面举例对本发明做更详细的描述。主要包括以下步骤:
步骤一:构建多目标小波数字水印设计模型,确定多目标小波数字水印设计方法对应于多目标量子蝙蝠演进机制的关键参数:
1.水印嵌入方法
1)设原始图像系数矩阵为v,大小为n×n;原始水印系数矩阵为w,大小为m×m。将原始图像做d(d≥3)级小波变换,每一级都把图像分解为4个频带,可获得3d+1个频带子图。水印嵌入的位置与初始位置标号tq有关,中频带中位置标号大于tq的m×m个连续标号所对应的位置即为水印的嵌入位置,将挑选出的m×m个系数值序列记为x0,x0即为原始图像中水印嵌入位置所对应的系数矩阵。
2)对水印做d′(d′≤d)级小波变换,得到小波变换分解的小波系数,并对水印进行加密,将加密后的水印作为待嵌入的水印。水印嵌入时常用的规则有
3)对嵌入加密水印后的图像系数矩阵进行d级小波逆变换,完成水印的嵌入。
2.水印提取方法
1)根据嵌入方法,先将待检测含有水印的图像做相应的d级小波变换,得到之前在图像中嵌入加密水印的位置所对应的小波系数矩阵,使用规则
2)利用d′(d′≤d)级小波逆变换对w′进行重构,通过密钥对恢复的水印进行解密,恢复原始水印。
原始水印和提取的水印的相似度f1与原图像和嵌入加密水印后图像的相似度f2的计算方式分别为
步骤二:初始化量子蝙蝠种群,在搜索空间内随机产生p只量子蝙蝠,在第t次迭代第i只量子蝙蝠的量子位置为
步骤三:构造多目标小波数字水印系统最大值求解问题的多目标函数为
对于求解最大值的多目标优化问题,对于量子蝙蝠的量子位置zi和zk,若对于所有的目标函数,zi的目标函数值都不小于zk的目标函数值,且至少相对于一个目标函数,zi的目标函数值大于zk的目标函数值,则称zi支配zk,zi为非支配量子位置。若对于所有的目标函数,zi的目标函数值都不大于zk的目标函数值,且至少相对于一个目标函数,zi的目标函数值小于zk的目标函数值,则称zi支配zk,zi为非支配量子位置。否则,量子位置zi、zk无任何支配关系。
对于需要确定非支配排序等级的量子位置集合中的每个量子位置p,计算能够支配此量子位置的量子位置数目和p能够支配的位置集合,如果能够支配位置p的量子位置数目为0,则可确定p的非支配排序等级为1。对于非支配排序等级为1的量子位置p,遍历p能够支配的量子位置集合中的每个量子位置q,计算p能支配的量子位置集合中能够支配量子位置q量子位置数目,如果此数目为0,则将量子位置q放入另外一个集合中,并且量子位置q的非支配排序等级为2。利用上述过程,对于非支配排序等级为2的量子位置集合的每个量子位置进行重复,可得到非配非支配位置等级为3的量子位置集合。重复此过程,直至获得所有量子位置的非支配排序等级。
对于非支配等级相同的n个量子位置,相对于不同的目标函数,对n个量子位置按目标函数值升序的方式进行排列,将目标函数值最大和最小的量子位置所对应的拥挤度值设置为无穷大,其他量子位置的拥挤度为相邻两个量子位置的目标函数值的差除以最大目标函数值和最小目标函数值的差。对于每个量子位置的每个目标函数所对应的拥挤度都进行上述计算,最终的拥挤度就是所计算的各个拥挤度分量的和。
步骤四:为确保得到均匀的pareto前端量子位置集,要向非支配量子位置排序等级为1且拥挤度较大的量子位置演进,所以根据非支配量子位置排序等级和拥挤度的值排序精英量子位置。对非支配量子位置排序等级相同的量子位置按拥挤度由大到小进行排序,选择非支配量子位置排序等级为1且拥挤度较大的的量子位置加入精英量子位置集gmqba中。
步骤五:在多目标量子蝙蝠演进机制中,更新第i只量子蝙蝠的频率li=lmin+(lmax-lmin)ui,其中i=1,2,...,p,lmin和lmax分别代表量子蝙蝠频率的下界和上界,ui为[0,1]之间均匀分布的随机数。第i只量子蝙蝠速度的第d维的演化方式为
在第t次迭代,产生一个[0,1]之间均匀分布的随机数
在第t次迭代中,如果
步骤六:更新第i只量子蝙蝠的脉冲发射率rit+1=rit[1-exp(-γt)]和脉冲响度
步骤七:对量子蝙蝠种群中新获得的量子位置进行适应度评价,并对其进行非支配量子位置排序和拥挤度计算,对非支配等级相同的量子位置按拥挤度由大到小进行排序,根据支配关系选择非支配等级为1的优秀量子位置加入精英量子位置集gmqba。
步骤八:如果gmqba中量子位置个数大于预先设置的emax,则对gmqba中的量子位置进行非支配量子位置排序,并对非支配等级相同的量子位置按拥挤度由大到小进行排序,从中选择前emax个量子位置作为新的精英量子位置集gmqba。
步骤九:如果没有达到最大迭代代数,令t=t+1,返回步骤五继续进行;否则,迭代终止,执行下一步。
步骤十:将得到的精英量子位置集gmqba中的量子位置进行非支配量子位置排序和拥挤度计算,选择非支配等级为1且拥挤度较大的量子位置作为最终的pareto前端量子位置集。根据多目标小波数字水印对不可感知性和鲁棒性的不同要求,从最终的pareto前端量子位置集中选择量子位置并将其映射为位置,作为多目标小波数字水印的一种设计方案。
从图2和图3可以看出,所提多目标量子蝙蝠演进机制的小波数字水印设计方法所获得的pareto前端量子位置集均能支配只考虑第一个目标函数(ga-1)、第二个目标函数(ga-2)和两个目标函数的权重值各为0.5(ga-3)的单目标遗传算法演进所获得的最优解。
从图4(a)-4(e)可以看出所所提多目标小波数字水印设计方法能综合考虑不可感知性和鲁棒性,效果良好。图5(a)-5(e)给出在噪声密度为0.001的椒盐噪声攻击下所提方法的多目标小波数字水印嵌入和提取结果,从图中可以看出所设计方法嵌入水印后有较好的不可感知性,而且能够提取出较清晰的水印信息,由此可知所提多目标小波数字水印设计方法具有较好的抗攻击能力。
仿真基于多目标小波数字水印系统,对于载波图像n=256,对于水印图像m=32,水印图像使用猫脸变换和逆变换进行加密和解密,d=3,d′=1,e1=e2=3072。多目标量子蝙蝠(mqba)演进机制的参数设置如下:p=20,lmax=2,lmin=0,c1=2,c2=2,c3=0.5,c4=0.8,c5=2,ri0=0.4,γ=0.9,