APP下载

基于SVD-GA的量化指纹优化算法

2018-07-18程格平徐德刚王新颖

现代计算机 2018年17期
关键词:共谋遗传算法指纹

程格平,徐德刚,王新颖

(湖北文理学院数学与计算机科学学院,襄阳 441053)

0 引言

随着多媒体和网络技术的快速发展,多媒体信息内容的传播和分发变得更加便利,但很容易会引发数字作品的版权保护问题。数字指纹是解决这一类问题的数字版权保护技术,主要通过在数字产品中嵌入特定的身份信息追踪非法用户,从而达到版权保护的目的[1]。数字指纹所受到的威胁主要来自共谋攻击,具体是指若干拥有相同多媒体作品的用户联合他们的不同拷贝,伪造出一份移除或削弱了原始指纹信息的新拷贝,使得指纹检测器不能正确追踪到共谋者[2]。因此,设计具有良好抗共谋攻击性能的数字指纹方案,已成为数字指纹技术的研究重点。

数字指纹属于数字水印的研究范畴,使用鲁棒的水印嵌入技术有助于提高指纹的抗共谋攻击能力。变换域算法能够调节水印嵌入的能量而不影响载体图像的视觉质量,因而比空域嵌入算法具有更好的鲁棒性。奇异值分解(Singular Value Decomposition,SVD)是一种能够提取图像代数特征的矩阵变换方法,具有非常好的稳定性,因而被广泛应用于水印算法的设计。但是,采用奇异值分解的水印算法不能有效抵抗某些常见的信号处理攻击,如噪声攻击[3-4]。因此,通常将奇异值分解和其它变换域方法相结合,以增强水印算法的鲁棒性。Singh A K[5]等人提出一种基于DCT(Discrete Cosine Transform,DCT)、DWT(Discrete Wavelet Transform,DWT)和SVD变换域的混合水印算法,通过对载体图像离散小波变换域的低频子带进行DCT和SVD变换,将指纹信息嵌入在宿主图像的奇异值分量,该算法对大多数信号处理攻击均具有较好的鲁棒性,同时提高了载体图像的视觉质量。文献[6]提出一种基于奇异值分解和离散小波变换的鲁棒水印算法。该算法首先对载体图像进行离散小波变换,然后通过修改低频区域的奇异值来嵌入水印信息,因此在抵抗几何攻击和信号处理攻击方面取得了较好的效果。然而,这些水印算法虽然能够不同程度地提高水印的鲁棒性和感知透明性,但并不能在彼此相互冲突的性能因素之间获得有效的平衡。

近年来,研究人员将人工智能应用到数字水印领域,改进和优化水印算法的性能,取得了一些成果,遗传算法(Genetic Algorithm,GA)即是一种优化问题求解的人工智能技术[7]。基于遗传算法,Sikander B等人在图像的DCT域自适应选择水印嵌入的强度,使得水印图像能够有效抵抗滤波、中值和各种几何攻击,且具有很好的视觉保真度[8]。利用人眼视觉系统特性和宿主图像分析方法,文献[9]在图像的视觉不敏感区域嵌入水印,然后使用遗传算法搜索水印的最佳嵌入位置和强度系数,不但提高了宿主图像的视觉质量,而且增强了水印的鲁棒性和安全性。Feng H等人[10]通过分析高斯噪声对指纹检测概率和图像视觉质量的影响,在不影响指纹图像质量的情况下,采用迭代的方法逐步添加适量噪声到共谋伪本中,对噪声攻击进行优化,使得指纹检测器不能检测到共谋者的指纹。由此可见,遗传算法在数字水印领域得到了广泛的应用,而利用遗传算法对数字指纹的多个性能进行优化的研究却相对较少。

本文基于扩展变换抖动调制(Spread Transform Dither Modulation,STDM)的量化指纹算法框架,结合遗传算法和奇异值分解的理论和方法,提出一种基于遗传算法和奇异值分解的量化指纹优化算法。在载体图像的离散余弦变换域,根据JND(Just Noticeable Distortion)视觉模型控制奇异值的修改幅度,再利用遗传算法的搜索机制自适应调节指纹嵌入的强度,从而优化指纹系统的综合性能。

1 指纹模型

在量化指纹算法中,与量化索引调制算法不同,基于扩展变换的量化指纹算法并不直接量化载体向量X,而是先将载体向量投影到一个随机生成的向量R,然后根据待嵌入的指纹信息,使用STDM指纹嵌入器量化载体向量的投影值X(X=XTR),那么嵌入指纹后的指纹信号Y表示为:

其中,QΔ(∙)=round(∙/Δ)×Δ 表示量化步长为 Δ 的量化函数,W表示用户的指纹向量,d为量化嵌入的抖动向量,服从(-Δ/2,Δ/2]上的均匀分布。

一组用户可能联合他们嵌有指纹的作品拷贝实施各种共谋攻击,从而获得共谋攻击后的作品伪本。若不考虑噪声信号,则共谋伪本可以表示为:

其中g(·)表示共谋攻击函数,Sc为共谋者集合。

进行指纹检测时,根据待检测信号Z在投影向量R方向的投影值,使用最小距离检测器检测共谋用户。

其中T(i)为指纹检测统计量,系统能够容纳的用户总量为Nu,具有最小检测值的用户即为共谋者。

2 基于奇异值分解的量化指纹优化算法

在文献[4]中,基于视觉模型的扩展变换水印算法使用载体图像的频率敏感度分量作为JND阈值,使得指纹嵌入器和检测器的量化参数保持一致,在保证图像视觉质量的同时提高了水印算法的鲁棒性,但这种算法很难同时兼顾数字水印的多个性能因素。因此,本文利用遗传算法和奇异值分解方法,针对数字指纹的抗共谋性能和视觉保真度,提出基于奇异值分解的量化指纹优化算法,如图1所示。

图1 基于奇异值分解的量化指纹算法框图

2.1 指纹算法的参数估计

从图像处理的角度来看,若一幅大小为m×n的灰度图像可以看作一个非负矩阵A,则矩阵A的奇异值分解定义为:

其中r(r=min(m,n))是矩阵A的秩,表示非零奇异值的个数。U和V分别为正交矩阵,S=diag(λi)是奇异值λi的对角矩阵。

若采用扩展变换量化算法的图像矩阵为A,θA表示指纹图像与原始图像的差异矩阵,因此:

由DCT域的JND视觉模型可知,DCT系数的最大允许修改值为JND(f,k)(f,k分别表示zigzag扫描的频率和DCT分块号),即有:

根据扩展变换量化指纹算法的原理,载体信号的最大量化误差为,可得到指纹信号(α表示嵌入强度系数,且0<α<1),则修改奇异值后的差异矩阵可表示为:

由于量化步长是扩展变换量化算法的重要性能参数,可用来调节指纹嵌入的强度。因此,根据JND视觉模型的阈值函数,使用指纹算法的量化嵌入参数α自适应调节量化步长,于是:

2.2 指纹嵌入算法

指纹嵌入过程的具体实现步骤描述如下:

(1)将原始灰度图像I分成若干大小为8×8的小块,对每个小块进行DCT变换,得到系数矩阵A;

(2)对每个DCT系数矩阵进行SVD变换,得到矩阵S、U和V;

(3)从每个奇异值矩阵S中选取最大的奇异值,按DCT块的光栅扫描顺序选择前L个奇异值,构成指纹嵌入的载体向量X;

(4)使用指纹生成器随机生成Nu个相互正交且服从高斯分布的用户指纹W;

(5)根据JND视觉模型估计的量化步长,利用STDM指纹嵌入器量化载体向量X的投影值,得到指纹信号Y;

(6)将指纹信号的每个元素作为原奇异值矩阵的最大值,通过SVD逆变换重构矩阵,记为=UYVT,然后进行逆DCT变换,得到指纹图像I′;

(7)针对指纹图像的各类共谋攻击,利用遗传算法对量化嵌入参数进行迭代优化,得到优化的指纹图像。

2.3 指纹检测算法

指纹检测过程的具体实现步骤描述如下:

(1)对检测图像进行8×8分块DCT变换,得到系数矩阵;

(2)将矩阵的每个DCT系数矩阵进行SVD变换,得到矩阵、和;

(3)提取每个奇异值矩阵的最大值,形成待检测的伪本信号Z,然后利用STDM指纹检测器检测共谋者。

2.4 指纹算法的参数优化

遗传算法是基于自然选择和遗传学机制的一种计算模型,具有全局随机搜索优化的特性。在数字指纹系统中,利用遗传算法对指纹算法的嵌入参数进行优化,可有效实现指纹系统的多性能平衡,下面描述指纹算法的优化过程。

(1)遗传编码

根据扩展变换量化指纹算法的参数分析,指纹算法的量化嵌入参数α决定了指纹嵌入的强度,其参数空间对应指纹优化算法的解空间。因此,将量化嵌入参数α在取值范围内的值编码为基因,每个基因组成的染色体可以编码为ν={ }ν1,ν1,…νL。

(2)适应度函数

为了评估指纹检测器的检测性能,采用捕获一个共谋者的策略作为指纹的抗共谋性能指标,指纹检测器正确检测到一个共谋者的概率Pd表示为:

其中h为检测阈值,由错误陷害一个无辜用户的概率Pf来确定。概率Pd的值越大,表示指纹抵抗共谋攻击的性能越强。

对于载体图像的视觉质量评价,通常采用原始图像和指纹图像的均方误差MSE(Mean Square Error)以及对应的峰值信噪比PSNR(Peak Signal to Noise Ratio)来度量。MSE和PSNR可以定义为:

其中I(i,j)和I′(i,j)分别表示大小为M×N的原始图像和指纹图像。PSNR的值越大,表示共谋攻击后的载体图像视觉质量越好。

将共谋者检测概率和均方误差作为指纹抗共谋性能和图像视觉质量的性能度量标准,根据遗传算法的基本原理,第c代染色体的适应度函数定义为:

其中,q表示共谋攻击的种类数。由于PSNR的值远大于共谋者检测概率Pd,使用权重因子βi平衡指纹系统多性能需求所产生的影响。

(3)遗传算子

指纹算法的遗传操作包括选择、交叉和变异算子。首先采用赌盘选择和最优个体保存策略相结合的方法,计算个体适应度值在群体适应度总和中所占的比例,选择适应度函数值最高的个体进入下一步操作;其次,采用随机选择和两点交叉,在随机选择的两个个体中随机设置两个交叉点,以一定的概率交换两个交叉点之间的部分基因,从而生成新的个体;然后,采用均匀变异算子,分别将服从量化嵌入参数范围内均匀分布的随机数以较小的概率代替染色体的各个基因;最后,将交叉和变异后的染色体按照适应度进行排序,选择一定比例的个体形成下一代种群,直到满足算法的优化终止条件。

3 实验结果与分析

为了测试提出指纹算法在共谋抵抗性和视觉保真度方面的性能,本文从USC-SIPI图像数据库中选择5幅大小为512×512的灰度图像作为标准测试图像,包括 “Lena”、“Baboon”、“Barbara”、“Peppers”和“Bird”。基于MATLAB软件平台,设计两组实验对本指纹算法进行模拟。根据实验结果分析指纹算法的性能,与基于视觉模型的扩展变换指纹算法进行比较。

假定指纹系统所容纳的用户数为Nu=1024,用户指纹是长度L=1024的随机高斯序列,参与共谋的用户数量为30。为了验证算法的抗共谋攻击性能,对嵌入指纹后的载体图像进行几种典型的共谋攻击,包括平均攻击、最大值攻击、中值攻击和随机负攻击,即共谋攻击的种类数q取值为4。在遗传算法操作中,设置种群的初始规模为30,选取适应度函数的权重因子β为10,交叉概率为0.9,变异概率为0.1,选择交叉变异后前50%的个体进入下一次迭代,迭代次数为100,实验模拟结果如图2和图3所示。

第一组实验测试了基于视觉模型的扩展变换指纹算法的性能与共谋人数之间的关系。从图2(a)和图2(b)中可以看到,该指纹算法抵抗共谋攻击的能力随共谋人数的增加而逐渐减弱,而经过共谋攻击后的图像视觉质量则与共谋攻击的方式相关。具体来看,指纹算法对平均攻击的抵抗能力最强,但引起相对较大的视觉失真。指纹算法抵抗随机负攻击的能力最弱,但产生相对较小的视觉失真。而对于最大值攻击,指纹系统不但具有较高的共谋者检测概率,而且保持了良好的视觉质量。

图2 基于视觉模型的扩展变换指纹算法的实验结果

第二组实验测试了提出的指纹算法性能与共谋人数之间的关系,其性能曲线图类似于第一组的实验结果,如图 3 所示。从图 3(a)和图 3(b)可以看出,在相同的实验条件下,指纹优化算法的共谋者检测概率和视觉质量都要优于基于视觉模型的扩展变换指纹算法。针对平均攻击,指纹算法能够以达到或接近于1的概率抵抗18个共谋者,而在相同条件下,基于视觉模型的扩展变换指纹算法仅能抵抗14个共谋者,对于其他共谋攻击方式均存在相似的结论。在视觉保真度方面,提出的指纹算法对所有共谋攻击的峰值信噪比均高于41.25db,因而获得了相对较好的视觉质量。

图3 提出指纹算法的实验结果

4 结语

在扩展变换量化指纹算法框架中,本文分析了数字指纹算法的性能影响因素,提出了一种基于遗传算法和奇异值分解的量化指纹优化算法。借助于JND视觉模型,根据载体图像的奇异值分量确定指纹算法的量化步长,并利用遗传算法对指纹的量化嵌入参数进行优化。因而,指纹优化算法不但能增强指纹信号抵抗共谋攻击的能力,而且能提高载体图像的视觉质量。经过实验验证,提出的指纹算法能够在抗共谋性能和视觉保真度之间获得较好的平衡。因此,有效利用人工智能技术提高数字指纹的性能,是指纹算法设计的必然趋势,也是数字指纹研究的发展方向。

猜你喜欢

共谋遗传算法指纹
基于遗传算法的高精度事故重建与损伤分析
像侦探一样提取指纹
为什么每个人的指纹都不一样
监督中的共谋与纵容
基于遗传算法的模糊控制在过热汽温控制系统优化中的应用
基于遗传算法的智能交通灯控制研究
唯一的指纹
可疑的指纹
基于改进多岛遗传算法的动力总成悬置系统优化设计
顾一帆:同心协力,共谋发展