基于BP神经网络的自适应数字指纹算法
2019-07-08程格平胡春阳宁彬
程格平 胡春阳 宁彬
摘 要: 为了提高数字指纹的共谋抵抗性和不可见性,提出基于BP神经网络的自适应数字指纹算法。结合原始图像的视觉特性,利用BP神经网络对载体图像的子块进行分类,自适应地确定指纹的嵌入强度,再使用自适应遗传算法,优化指纹嵌入的位置。实验结果表明,该算法在保证指纹图像视觉质量的同时,能够提高指纹信号的抗共谋攻击性能。
关键词: 数字指纹; BP神经网络; 遗传算法; 视觉质量; 共谋抵抗性
中图分类号:TP309 文献标志码:A 文章编号:1006-8228(2019)06-78-04
Abstract: An adaptive digital fingerprinting algorithm based on the BP neural network is proposed in order to enhance the digital fingerprinting collusion resistant and imperceptibility. According to the visual characteristic of the original image, the fingerprinting embedding strength can be adaptively identified by classifying the sub-blocks of the carrier image based on BP neural network and the fingerprinting embedding locations is further optimized by applying the adaptive genetic algorithm. The experimental results show that the proposed method has superior performance on collusion-resistance of the fingerprinting algorithm without descending the image quality.
Key words: digital fingerprinting; BP neural network; genetic algorithm; image quality; collusion resistant
0 引言
数字指纹是一种重要的数字版权保护技术,通过在多媒体作品的内容中嵌入唯一代表用户身份的信息,对数字产品的复制和分发进行控制和跟踪,为数字产品的侵权行为提供证据,实现多媒体产品的版权保护[1]。作为一种特殊的数字水印,数字指纹不仅要能抵抗数字水印的信号处理攻击和几何攻击,而且要能抵抗共谋攻击[2]。
为了实现数字水印的不可感知性和鲁棒性,研究人员提出了自适应水印算法,基本思想是利用宿主图像局部特征的强度变化来确定水印信号的嵌入位置和嵌入强度,从而实现不可见性和鲁棒性的一种最佳折中。文献[3]提出了一种基于宿主图像分析和遗传算法的水印算法。通过分析载体图像质量的视觉特性,利用遗传算法寻找嵌入强度和位置的最优参数,不仅改善了宿主图像的透明性,而且提高了水印图像的安全性和鲁棒性。近年来,一些机器学习(Machine Learning)方法(神经网络、遗传算法、支持向量机等)应用到数字水印领域,以解决水印优化中存在的问题。遗传算法是基于自然选择和遗传学机制的一种随机搜索优化算法,在图像处理的优化计算领域得到了广泛的应用[4]。Huang[5]等将遗传算法应用到数字水印领域,研究水印图像的嵌入容量、保真度和魯棒性之间的平衡关系,改进和优化水印算法的性能。文献[6]对遗传算法进行改进,通过在每一代种群中保留最佳个体参与遗传,优化算法的适应度函数值,搜索水印的最佳嵌入位置,提高了水印算法的鲁棒性。反向传播神经网络(BP神经网络)是一种多层前向反馈神经网络,具有强大的自适应、泛化和非线性逼近能力,与人类视觉系统(HVS,Human Visual System)具有极大的相似性,成为自适应数字水印技术的重要研究方向。
本文基于数字指纹技术的基本框架,结合BP神经网络和遗传算法的优点,根据图像的局部视觉特性,优化数字指纹算法性能,以提高数字指纹的共谋抵抗性和不可见性。
1 基于BP神经网络和遗传算法的自适应数字指纹算法
1.1 确定指纹的嵌入强度
人类视觉系统模型表明,人眼对不同亮度与纹理的图像区域具有不同的敏感度[7]。根据图像区域的亮度与纹理特性,利用BP神经网络划分不同的图像块类型,确定不同类型的图像块对应的指纹嵌入强度,以提高指纹系统的鲁棒性和安全性。人眼对亮度的敏感程度通过图像块的明暗度值来度量,定义为:
其中,p(x,y)表示子图像块中位置为(x,y)的像素值,α为强度因子。
纹理敏感度则由图像块的熵值和方差计算,定义如下:
其中,z表示图像块的灰度级,表示P(z)灰度级的概率。
BP神经网络通常采用梯度下降搜索算法,不断调整网络的权值和阈值,使得网络的输出值与实际输出值的均方误差最小[8]。假定BP神经网络的输入层变量为,隐含层节点为,输出层的输入变量为,ωij是连接输入层第i个节点和隐含层第j个节点的权值,θj是连接隐含层第j个节点的阈值,ωjk是连接隐含层第j个节点和输出层第k个节点的权值,δk是连接隐含层第k个节点的阈值,是隐含层的激励函数,是输出层的激励函数,则隐含层第j个节点的输入值和输出层第k个节点的输出值分别为
每个样本p的输出误差函数为
其中,Tk为样本p的期望输出值。
按照人眼视觉模型,图像块的亮度敏感度分为不敏感、敏感和较敏感三种级别,纹理程度分为平滑、边缘和纹理三种类别。因此,载体图像块可分为9种类型,用表示,用于嵌入用户的指纹信号。将图像块的三个特征属性构成一个特征向量,作为BP神经网络的输入值。选取若干不同类型的图像块构造样本数据训练集U={(Vi,Ci),i=1,2,…,n},其中n为图像块的数量,Vi表示载体图像中第i个图像块的局部特征,Ci为其对应的图像类型。使用经过训练的BP神经网络对载体图像块进行分类,并确定指纹的嵌入强度αi。
1.2 优化指纹的嵌入位置
根据载体图像的局部视觉特性,改进传统的遗传算法并引入数字指纹技术,优化指纹的嵌入位置,以最大程度地改善数字指纹的共谋抵抗性和不可见性之间的平衡关系。
⑴ 编码 将大小为m×n的载体图像划分为8×8子块,每个图像块的DCT系数位置作为基因。设种群规模为G,每个染色体长度为d,那么第i个染色体Pi的编码为
其中,,第i个染色体的第k个基因。
⑵ 遗传算子 对标准遗传算法进行改进,使交叉概率pc和变异概率pm随个体适应度值的变化而变化,避免算法过早收敛而陷于局部最优。pc和pm定义为
其中,fmax和fmin表示种群中个体的最大适应度和最小适应度值,favg为平均适应度值,f为两个个体实行交叉操作的较大适应度值,为实行变异操作的个体适应度值,Pc1和Pc2分别为最大和最小交叉概率,Pm1和Pm2分别是最大和最小变异概率。
⑶ 遗传操作 选择操作采用轮盘赌和最优个体保存方法。将每代适应度最高的个体直接保留到下一代,不参与交叉和变异过程,直到被更好的个体所取代,确保最优个体参与遗传;交叉操作采用单点交叉和多点交叉相结合的方式进行。在随机选择的两个个体进行交叉的过程中,交叉点的个数由随机数确定,使用预先设定的交叉概率进行交叉操作;在变异操作中,按照一定的概率随机生成一定数量的变异位置,每个位置随机生成位于区间0和1之间的一个实数,若生成的实数大于预先设定的变异概率,则随机生成区间1和64之间的一个整数替换相应位置的值。
⑷ 适应度函数 为了评估指纹图像的视觉质量,使用嵌入指纹后载体图像与指纹图像的峰值信噪比PSNR表示数字指纹的不可见性,定义为
其中,和分别表示原始图像和指纹图像的像素值。
为了评估指纹抵抗共谋攻击的能力,采用抓一策略检测参与共谋的用户,定义共谋者检测概率为
其中,T(i)表示相关性检测统计量,Sc为共谋用户集合。h为指纹检测阈值,由错误检测概率Pf确定。
根据数字指纹的性能参数,遗传算法的适应度函数定义为
其中,表示数字指纹的共谋抵抗性;λ表示缩放因子,M为共谋攻击的种类数,g表示当前代数。
1.3 指纹的嵌入算法
⑴ 将大小为m×n的载体图像划分为8×8子块;
⑵ 对每个子块进行DCT变换,按Zigzag顺序扫描得到一维系数序列
⑶ 在每个子块中,选择经过优化的第i个DCT系数位置,使用加性水印方法嵌入指纹得到指纹图像
其中,αi表示指纹的自适应嵌入强度因子,Wi表示指纹信号。
1.4 指纹的共谋攻击
假定有K个用户参与共谋,则经过共谋攻击后的共谋伪本表示为
其中,表示共谋攻击函数。
1.5 指纹的检测算法
⑴ 对检测图像进行8×8分块DCT变换;
⑵ 按顺序对各个图像子块进行Zigzag顺序扫描,得到一维系数序列;
⑶ 在指纹优化的嵌入位置,使用相关性检测器检测共谋者,定义T(i)为
⑷ 根据公式⑾计算共谋者检测概率Pg。
2 仿真实验及结果
为了评价本文提出指纹算法的共谋抵抗性和不可见性,本实验从标准图像数据库中选择50幅大小为512×512的标准图像作为测试样本。使用MATLAB软件平台进行实验仿真,并与文献[3]的算法进行性能比较。
在实验中,BP神经网络采用[64-8-9]的三层结构模型,网络输入层为各8×8图像块的像素灰度值,从标准测试图像中选取1000个图像块作为样本数据集,学习训练次数为1000次。遗传算法的初始种群大小为50,迭代次数为200,Pc1、Pc2、Pm1、Pm2分别取值为0.9、0.6、0.1、0.001。假定指纹用户总数设置为1000,指纹信号为服从高斯分布的随机数序列,共谋人数的最大值为30,错误检测概率为0.01,使用平均攻击、最大值攻击和梯度攻击三种典型的共谋攻击方式,则不同共谋人数攻击后的实验结果如表1和表2所示。
从表1和表2的结果可以看出,与文献[3]提出的算法相比较,对不同的共谋攻击和共谋人数,在保证指纹图像视觉质量的条件下,本文提出的算法具有较好的抗共谋攻击能力,提高了指纹系统的综合性能。
3 结论
本文提出了基于BP神经网络的自适应数字指纹算法。基于数字指纹技术,根据载体图像的局部视觉特性,利用BP神经网络对图像块进行分类,自适应选择指纹的嵌入强度。使用改进的遗传算法对指纹嵌入位置进行优化,提高了指纹算法的效率,实现了数字指纹的共谋抵抗性和不可見性的性能平衡。
参考文献(References):
[1] Li X W, Guo B L, Wu X X, et al. On collusion attack fordigital fingerprinting[J]. Journal of Information Hiding and Multimedia Signal Processing,2011.2(4):366-376
[2] Gupta S, Shukla M. Reviews On WatermarkingTechniques:A Survey[J]. International Journal of Computer Science and Network Security (IJCSNS),2015.15(7):51
[3] Han J, Zhao X, Qiu C. A digital image watermarkingmethod based on host image analysis and genetic algorithm[J]. Journal of Ambient Intelligence and Humanized Computing,2016.7(1):37-45
[4] Gen M, Cheng R. Genetic algorithms and engineeringoptimization[M]. John Wiley & Sons,2000.
[5] Huang H C, Chu C M, Pan J S. The optimized copyrightprotection system with genetic watermarking[J]. Soft Computing,2009.13(4):333-343
[6] 李小璐,周晓谊,曹春杰.基于改进的遗传算法和SVM的图像DCT变换域水印技术[J].现代电子技术,2016.39(20):72-77
[7] Qi H, Dong Z, Zhao J. Human visual system basedadaptive digital image watermarking[J].Signal Processing,2008.88(1):174-188
[8] Sun L, Xu J, Liu S, et al. A robust image watermarkingscheme using Arnold transform and BP neural network[J]. Neural Computing and Applications,2017.