1. 引言
数字水印是数字作品版权保护的有效方法。水印算法的鲁棒性和隐形性(不可察觉性)是两个相互对立的重要性能指标。一般来说,提高图像的鲁棒性将降低图像的隐形性,反之亦然。图像的鲁棒性一般用水印的检测率衡量;隐形性一般用信噪比或者峰值信噪比来衡量。如何在确保一定信噪比的条件下提高算法的鲁棒性是数字水印算法的研究热点。其中多通道水印和零水印方法是两个重要的研究方向。在多通道水印方面又主要分为两类,一类算法 [1] [2] [3] 是针对彩色图像,将鲁棒水印嵌入到彩色图像的各个彩色分量上,以此提高水印的容量和鲁棒性。另一类算法 [4] [5] [6] [7] 则将图像的变换域划分为多个水印通道,在各水印通道嵌入鲁棒水印以提高水印的鲁棒性。多通道水印方案向各个水印通道同时嵌入了水印,这相当于向原始图像叠加了几次噪声。因此多通道图像水印算法的强鲁棒性是以降低水印图像的质量为代价的。因而,片面地应用多通道水印方案并不能实质地提升水印算法的性能。为最大限度地提高水印的鲁棒性,且不损害水印图像的质量,很多专家学者提出了零水印的算法思想 [8] [9] [10]。零水印算法的主要思想是通过提取原始图像的某些特征来构造零水印,而不是像传统的水印算法那样向图像中嵌入水印信息。比如,文献 [8] 利用具有几何不变特性的三元数极谐-Fourier矩来构造零水印;文献 [10] 通过提取三阶、四阶累积量等图像特征来构造零水印。零水印方案中,水印图像虽然没有任何失真,但是一旦图像的特征不明显,或者图像特征在水印攻击中失真严重,则在检测阶段很难有效地检测出水印。
本文将零水印方案和多通道水印方案结合起来,将图像的离散小波变换域(DWT)划分为多个水印通道,并将水印通道里的DWT系数和水印配对生成支持向量机(SVM)的样本集,通过样本集的SVM训练生成各水印通道的决策函数,实现零水印的“嵌入”和检测。
2. 支持向量机
支持向量机(Support Vector Machine, SVM)是用于解决二元分类问题的有监督学习算法。其主要思想是在特征空间上求解一个最佳超平面,该超平面将样本集分割为具有最大间隔的正负样本。
假设训练样本集为,
,其中,
的为正样本,反之为负样
本。SVM算法的目标是寻求一个超平面
(1)
将该样本集分成具有最大间隔的正负两类,其中,
表示向量w和x的内积。而最优超平面的求解等价于最小化
。
引入Lagrange常子
,这个优化问题又等价于以下的极大极小值问题:
(2)
求w和b的偏导数,解它们的极小值,再针对a求这个极小值的极大值。最终求得最优超平面参数
。相应的分类决策函数为:
(3)
对于非线性样本集,则通过核函数(比如多项式、高斯径向函数,等)实现非线性函数的拟合。
3. 基于SVM的多通道零水印方案
3.1. 多通道分类决策函数生成
对原始图像进行离散小波变换(DWT),并将DWT域划分为互不重叠的M个矩形区域,每一区域称为一个水印通道,如图1所示。对每一个水印通道进行SVM模型训练,最终得到各水印通道的SVM分类决策函数
。方法如下:
假设欲嵌入的水印为
,N为水印的长度。由logistic混沌秘钥k确定的水印位置所对应的小波系数为
。其中,i表示水印通道的序号,j表示小波系数序号;混沌秘钥k包括两个子秘钥kx和ky,分别用来确定各通道水印位置的横坐标和纵坐标,其算法
原理参考文献 [4]。由此,
构成第i水印通道的训练
样本集。使用该样本集对该通道进行训练,得到该通道的SVM分类决策函数。
从以上论述中可以看出,我们并没有像传统的图像数字水印算法那样,向原始图像嵌入水印信息。原始图像没有任何的失真。
Figure 1. Building classification decision function
图1. 分类决策函数生成
3.2. 图像水印检测
在水印检测阶段,对每一水印通道,根据该通道的SVM分类决策函数
检测数字水印,如图2所示。算式如下:
(4)
得到各通道的水印后,通过以下式子估算最终检测的水印:
(5)
由(5)式可知,当待检测的图像遭受局部攻击后,即便某些水印通道水印检测错误率很高,只要大多数通道水印检测率满足需求,仍然能准确检测水印,因而,该方案最大限度的提高了水印算法的鲁棒性。
4. 实验分析
本节采用图3所示测试图像验证本文的算法。由于本文采用零水印方案,水印图像没有任何的失真。本试验测试图像的DWT分解尺度设为3;水印的长度为64 bit;SVM算法的核函数采用径向基核函数。用峰值信噪比(PSNR)来表示待检测图像遭受水印攻击的强度。显然,PSNR越小,检测图像收到的攻击越大,图像失真越严重。水印检测的结果用比特误差率(BER)表示。BER表示检测错误的水印比特所占的比例,因而BER越小,说明水印检测效果越好,水印算法鲁棒性越强。实验结果如表1所示。实验结果表明,本文的算法对常用的水印攻击手段,如加噪、局部模糊化、剪切,等均具有很强的抵抗力。对任一测试图像,当PSNR大于35时,BER值都是0,这说明水印算法能完全准确地检测出水印。即便在高强度攻击下,BER也是很小的。实验说明,本文的算法具有很强的鲁棒性。
Figure 3. Original testing image: (a) Lena; (b) Mandrill; (c) Camera
图3. 检原始测试图像:(a) Lena;(b) Mandrill;(c) Camera
Table 1. Watermark detection results under various watermarking attack
表1. 不同水印攻击下鲁棒水印的检测结果
5. 结论
零水印方案和多通道水印方案都是提高图像水印鲁棒性的重要方法。传统的零水印方案中,水印图像虽然没有任何失真,但是需要通过提取原始图像的特征来构造水印。一旦图像的特征不明显,或者图像特征在水印攻击中失真严重,则在检测阶段无法检测出水印。传统的多通道水印方案则将鲁棒水印嵌入到原始图像的多个水印通道中,这无疑相当于成倍地向图像中加入噪声,从而使得水印图像的隐形性能差。本文将零水印方案和多通道水印方案结合起来,基于SVM训练水印样本集生成各水印通道的决策函数,实现零水印的“嵌入”和检测。该方案水印图像零失真,且能抵抗各种高强度的水印攻击。
致谢
本文的工作得到福建省自然科学基金项目(编号:2016J01327)的资助,特此感谢。