1. 引言
互联网的发明改变了人类的生活方式。在互联网上获取、交换和传输多媒体数据成为一项简单的任务。然而,通过网络向他人提供数字数据也为盗版侵权创造了机会 [1]。水印算法由嵌入算法和提取算法组成。根据检测器所需信息类型的不同,主要有三种水印算法:需要原始载体图像和密钥提取水印的非盲算法,需要密钥和水印本身的半盲算法,只需要密钥的盲算法 [2]。嵌入水印可以在空间域或变换域中进行。空间域水印算法比较简单,但在抵抗各种攻击时鲁棒性不如变换域方法 [3]。变换域水印中最常用的技术之一是对载体图像的奇异值分解(SVD)得到的矩阵进行修改。基于奇异值分解的数字水印算法最早是由Liu等人提出的 [4]。在该算法中,作者对载体图像进行奇异值分解后,通过添加水印对这些矩阵进行修改。他们对生成的矩阵再次应用奇异值分解(SVD),以求出修正的奇异值矩阵。将这些奇异值矩阵与已知分量相结合,得到嵌入水印的图像。基于奇异值分解的算法最大的缺点是水印图像的质量下降,同时提取的水印存在严重的对角线问题。变换域水印中最常用的技术还有在频域进行水印的嵌入,例如离散余弦变换(DCT) [5]、离散傅立叶变换(DFT) [6]、离散小波变换(DWT) [7]。研究表明,人类视觉对低频和中频系数更敏感 [1]。因此,变换域中的水印算法可以获得良好的性能,特别是当水印嵌入在低频范围内时,研究人员通常将奇异值分解(SVD)与DCT、DWT,RDWT等算法相结合。在文献 [7] 中,作者将离散小波变换与奇异值分解技术相结合。在将载体图像分解为四个子带后,对每个子带进行奇异值分解,并将水印的奇异值嵌入到子带中。在文献 [8] 中,作者将冗余离散小波变换与奇异值分解相结合,同时对载体图像和水印图像进行RDWT变换,然后对所有子带进行奇异值分解,从而将水印各个子带的奇异值矩阵嵌入到载体图像低频子带的奇异值矩阵中,实现了水印图像的嵌入。然而,由于缺少相位信息,这些方法不能有效地描述局部结构,因此容易受到几何攻击的影响。为了克服这一缺点,人们提出了一系列基于四元数的方法,如四元数傅立叶变换(QFT)和四元数阿达玛变换(Quaternion Hadamard Transform),将相位信息集成到水印过程中 [9] [10] [11]。文献 [12] 中,作者将四元数小波变换(QWT)应用于数字水印的研究中,提出了一种基于四元数小波变换(QWT)的数字水印算法。从本质上讲,QWT是一个具有移位不变幅度和三个相位的解析信号,可以显式地描述图像内容。因此,基于QWT的水印方法不仅通过提供移位不变的特性 [12] 解决了标准小波变换中常见的缺点,而且由于其多尺度特性而显示出优于QFT的优点。然而,这种基于QWT的水印方法容易受到混合图像攻击的影响。因此,本文提出了一种基于双树四元数小波和奇异值分解的数字图像水印算法,并进行了仿真实验,结果说明本文算法具有较好的鲁棒性。
本文其余部分的结构安排如下:在第二节中,介绍了双树四元数小波、奇异值分解、Arnold变换的基本知识和相关性质。在第三节中,介绍了本文所提出的数字水印嵌入与提取算法。在第四节中,给出了图像质量评估的一些指标。在第五节中,给出了实验结果分析。在第六节中,给出了结论。
2. 准备工作
2.1. 双树四元数小波
2.1.1. 四元数代数
首先,本文给出四元数代数的一些基本理论。
四元数代数于1843年由爱尔兰数学家W. R. Hamilton提出。四元数代数只是四维质点空间中实体的另一个名称,就像复数是平面中二维矢量空间中实体的另一个名称一样。事实上,四元数是复数到四维的扩展,因为我们可以用类似于将两个复数相乘的方式将两个四元数相乘 [14]。四元数代数的乘法具有不可交换性。对于任意的四元数代数q有如下表示:
(1)
其中,
,
。
2.1.2. 双树四元数小波变换
1999年,Bulow提出了四元傅里叶变换(Quaternion Fourier Transform, QFT)、二维希尔伯特变换(Hilbert Transform, HT)和一种二维解析信号新的理论。在Bulow定义的HT中,二维解析信号是通过将二维傅立叶谱限制在单个象限来定义的。Chan对其理论进行研究 [13],证明了HT是二维双树连续小波变换的另一种选择。基于四元数代数理论以及Bulow的相关理论,Chan等人开发和研究了一种新的双树四元数小波变换(dual-tree quaternion wavelet transform, DTQWT),其中每个四元数小波由一个实部(通常的实值离散小波)和三个虚部组成,这三个虚部根据四元数代数理论来组织。Chan所提出的DTQWT,是一个具有一个近似子带与三个细节子带(水平、垂直和对角)的4倍冗余的紧框架,同时它也是近乎平移不变的。
对于二维图像,双树四元数小波的分解和合成算法类似于复小波算法。将原始图像空间投影到相应的基函数之后,可以将小波系数组织成如下矩阵:
(2)
矩阵
的每一列对应一个四元数代数,DTQWT分解的结果仍然是四元数代数,如下所示:
(3)
本文使用双树滤波器组 [15] Q-shift来实现DTQWT。在数字图像水印算法中,载体图像经过DTQWT变换后,可以提取其在不同频域的特征。由于DTQWT的系数也是四元数,我们可以在不同的尺度上获得相应的幅度、相位和频率信息。这样水印算法就可以应用到对载体图像影响较小的稳定分量上,然后利用逆DTQWT在不破坏图像特征的情况下将水印嵌入到载体图像中 [13]。DTQWT不仅提供了丰富的相位信息,解决了小波变换的共同缺点,而且在不同分辨率下考虑了图像的局部特性,显示出了比QFT [12] 更优越的性能。这些特性使得DTQWT成为一种很好的鲁棒水印构造候选算法。
2.2. 奇异值分解
奇异值分解(SVD)是一种用于各种数值应用的变换工具。它可以将任意矩形或正方形矩阵
分成三个矩阵,
和
是正交矩阵,
是包含原始矩阵
的奇异值的对角矩阵。从图像处理的角度来看,图像可以看作具有非负标量性质的矩阵。所以奇异值分解在信号处理、模式识别与数字图像处理方面有广泛的应用。设矩阵
是一个
维的矩阵,其中
,则矩阵
奇异值分解 [8] 的数学公式如下:
(4)
上式中,
,
是
维的列正交矩阵,即
其中
称为左奇异向量,
,
是
维对角线元素为降序排列的非负奇异值的对角矩阵,
,
是
维的正交矩阵,即
,其中
称为右奇异向量。
若矩阵
的秩为r,则对角矩阵
满足
。
对于奇异值,在奇异值矩阵
中是按照从大到小的顺序排列,并且奇异值递减的速度特别快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和99%以上的比例,因此,我们也可以用最大的k个的奇异值和对应的左右奇异向量来近似描述矩阵,此过程的数学表达式如下:
(5)
其中k要比n小很多,即一个大的矩阵
可以用三个小的矩阵
、
、
来表示。图像经过奇异值分解后可以用少量的奇异值代表整个图像的信息,在图像去噪和图像水印领域具有重要的意义。
2.3. Arnold变换
Arnold变换,由俄国数学家弗拉基米尔·阿诺德(Vladimir Igorevich Arnold)提出,由于Arnold本人最初对一张猫的图片进行了此种变换,所以又被称为“猫脸变换” (cat map)。Arnold变换可以把图像中各像素点的位置进行置乱,使其达到加密的目的,多应用在多媒体混沌加密中,同时其在数字水印图像置乱的领域上应用广泛。对于一幅大小为
的数字图像,其离散化的Arnold变换 [16] 如下:
(6)
上式中,
是原始图像的像素坐标,
是经过Arnold变换后的像素坐标,mod(N)表示对N求模的运算,n表示对原始图像的置乱次数,置乱矩阵
其中元素满足条件
,如置换次
数
,置乱矩阵中元素
,
,
,则此变换可以作为置乱变换,此时密钥
,在提取数字水印图像时,对置乱后的水印进行Arnold逆变换,key可以作为一种解密的工具。上述Arnold变换只能用于置乱正方形的数字图像。
图1(a)为一幅256 × 256大小的陕西师范水印的原始图像,图1(b)为经过30次Arnold变换置乱后的水印图像。
3. 数字图像水印算法
本文对载体图像进行DTQWT变换,然后对其低频幅度子带进行奇异值分解(SVD),得到奇异值矩阵,对水印图像进行Arnold置乱,选取水印嵌入强度因子
将置乱后的水印嵌入奇异值矩阵中,在此基础上对奇异值矩阵进行修正,然后对修正后的奇异值矩阵进行逆奇异值矩阵分解,生成修正的DTQWT低频幅度子带信息。由于基于奇异值修改的水印算法将水印图像的奇异值嵌入到宿主图像中,所以在提取的水印内容中可以看到对角线。本文对原始水印图像进行Arnold变换,可以从提取的水印中去除对角线 [17]。
3.1. 水印嵌入算法
本文所提出的水印嵌入算法的流程图如图2所示。
Figure 2. Block diagram of watermark embedding algorithm
图2. 水印嵌入算法流程图
水印嵌入算法的具体步骤如下:
第一步:对原始载体图像做一级双树四元数小波变换,得到16个子带图像,取其中低频幅度信息子带LL作为水印的待嵌入区域;
第二步:对原始载体图像的低频幅度信息子带LL进行奇异值分解,得到正交矩阵
、
以及对角矩阵
;
(7)
第三步:对原始水印图像进行Arnold置乱变换,置乱密钥
,得到置乱后的图像W;
第四步:选择水印嵌入强度因子
,然后利用置乱后的水印图像W对奇异值对角矩阵
进行修正,嵌入水印图像;
(8)
第五步:对嵌入水印后的奇异值矩阵
进行奇异值分解,从而对奇异值矩阵进行修正,得到正交矩阵
、
以及奇异值对角矩阵
;
(9)
第六步:利用原始载体图像低频幅度信息子带LL进行奇异值分解得到的正交矩阵
和
以及第五步中得到的对角矩阵
进行奇异值分解的逆过程,得到修正后的低频幅度信息子带newLL;
(10)
第七步:对修正后的低频幅度信息子带newLL以及在第一步中得到的其他15个子带做一级逆双树四元数小波变换,得到嵌入水印后的图像。
3.2. 水印提取算法
本文所提出的水印提取算法的流程图如图3所示。
Figure 3. Block diagram of watermark extraction algorithm
图3. 水印提取算法流程图
水印提取算法的具体步骤如下:
第一步:对嵌入水印后图像做一级双树四元数小波变换,得到16个子带图像,取其中低频幅度信息子带nLL作为水印的待提取区域;
第二步:对低频幅度信息子带nLL进行奇异值分解得到正交矩阵
、
以及对角矩阵
;
(11)
第三步:利用水印嵌入算法第五步中奇异值对角矩阵
进行奇异值分解得到的正交矩阵
和
以及水印提取算法第二步中得到的
进行奇异值分解的逆过程,得到
;
(12)
第四步:利用
和
重构置乱后的水印nW;
(13)
第五步:根据置乱密钥
,对上述得到的水印nW进行逆Arnold置乱变换,得到提取后的水印图像。
4. 图像质量评估
图像质量评估在任何应用中都是至关重要的一部分。它给出了具体数字图像水印算法的稳健性、隐蔽性和有效性的数学证明。本文使用的评估指标包括峰值信噪比(PSNR: Peak Signal to Noise Radio)、均方误差(MSE: Mean Square Error)、归一化相关系数(NCC: Normalized Correlation Coefficient)、结构相似性指数(SSIM: Structural Similarity Index Method)和误码率(Bit Error Ratio, BER)。用于计算PSNR值(以dB为单位)的数学公式如下 [18]:
(14)
(15)
在(23)式中,M和N分别代表数字图像的行数和列数,
为原始载体图像的像素值,
为原始载体图像嵌入水印后图像的像素值。用于计算NCC值的数学公式如下:
(16)
在上式中,
为原始水印图像的像素值,
为利用本文算法所提取的水印图像的像素值。用于计算SSIM值 [19] 的数学公式如下:
(17)
在上式中,
和
分别是x和y的均值,
和
分别是x和y的方差,
是x和y的协方差,
,
,
,
,L是像素值的动态范围。用于计算BER值 [20] 的数学公式如下:
(18)
在上式中,
为本文算法所提取出的水印与原始水印比对,信息错误的比特值的个数,
为原始水印中比特数的总数。
5. 实验结果分析
本文在编程软件MATLAB2016A上对所提出的数字图像水印方案进行了仿真实验。为了评估本文算法的性能,选取大小为512 × 512的灰度图像Lena、Boat、Barbara、Male、House、Mandrill作为原始载体图像,如图4所示。选取大小为256 × 256的陕西师大图像作为待嵌入的水印图像,如图1(a)所示。水印嵌入的强度因子
,对水印图像进行Arnold置乱变换时,密钥为
,本算法采用Q-shift滤波器对图像进行一级双树四元数小波变换。本文采用峰值信噪比PSNR来度量所嵌入水印的透明性,即水印图像的不可感知性,采用归一化相关系数NCC来度量所提取出的水印与原始水印的相似度。通过添加噪声、滤波攻击和几何攻击等图像处理攻击,进而对所提出的数字图像水印算法的鲁棒性进行评估。并与其他相关水印算法进行了比较分析,证明了本文算法的有效性。
5.1. 可行性分析
可行性分析目的是检测本文算法的可行性,即能否将水印信息嵌入到载体图像中,以及在嵌入水印后的图像未受到攻击的抓状态下,能否提取出近似完整的水印图像。采用本文的水印算法对上述六幅原始载体图像进行水印图像的嵌入,得到嵌入水印后的图像,如图5所示。
对比图4和图5,从视觉感知上,看不出嵌入水印后的图像与原始载体图像的差别,可得本文水印算法在嵌入水印的阶段是可行的。
从客观评价指标来看,在嵌入水印后的图像未受到攻击状态时,提取出的水印的归一化相关系数(NCC)和误码率(BER)见表1,其中NCC的平均值为0.9985,NCC的数值略低于1,主要原因是不同数据类型在进行奇异值分解(SVD)时的计算误差,说明水印的嵌入与提取对图像质量产生了影响,但是影响不大,可以忽略。BER的平均值为0.0732,说明提取的水印图像与原始水印图像信息基本一致,即本文水印算法在水印提取阶段是可行的。综上所述,本文提出的数字图像水印算法具有可行性。
Table 1. NCC value and BER value of watermark images without attack
表1. 无攻击状态下水印图像的NCC值与BER值
5.2. 不可见性分析
为了衡量本文算法对嵌入水印的感知程度,本文进行了不可见性分析。不可见性也被称为透明性,即将水印嵌入原始载体图像后,视觉上看不出图像的失真效果,几乎对原始载体图像没有影响。我们计算了采用不同载体图像的PSNR和SSIM,如表2所示。根据人类视觉系统(HVS),通常假设PSNR值大于30 dB,SSIM值大于0.9就足够好,即水印在嵌入水印后的图像中是不可见的,水印的隐蔽性较好。根据表2,原始载体图像和嵌入水印的图像之间计算的PSNR均值为73.0688 db,高于30 db,SSIM均值为0.9998,高于0.9,说明本文的水印算法不可见性较好。
Table 2. PSNR value and SSIM value of cover images without attack
表2. 无攻击状态下载体图像的PSNR值与SSIM值
为了进一步评估不可见性,我们将本文水印算法与文献 [8] 中使用的水印算法行了比较,如表3所示。从表3可以看出,采用本文算法计算的PSNR均值为73.0688 db,高于文献 [8] 的均值40.6868 db,SSIM均值为0.9998,高于文献 [8] 的均值0.9989。说明了本文算法的不可见性效果优于文献 [8]。
Table 3. Comparison of PSNR and SSIM values between reference [8] and this paper
表3. 文献 [8] 与本文算法PSNR值和SSIM值对比
5.3. 鲁棒性分析
当不可见性可接受时,需要进一步评估其鲁棒性。鲁棒性最初是指控制系统在一定(结构,大小)的参数摄动下,维持其某些性能的特性。在图像水印算法中,鲁棒性是指在各种攻击下从已添加水印的载体图像中提取水印的能力。因此,验证图像水印方法的鲁棒性是非常重要的。为了评估本文呢算法的鲁棒性,通过对嵌入水印的图像进行不同的攻击,攻击类型分为噪声攻击、几何攻击(剪切、旋转)、锐化攻击,然后检测提取的水印与原始水印之间的相似度,来检验本文算法的鲁棒性。使用归一化相关系数(NCC)来衡量算法的鲁棒性。
首先分析水印算法抵抗噪声攻击的能力。对原始载体图像Lena、Boat、Barbara、Male、House、Mandrill分别添加均值为0,方差为0.001、0.005、0.010的加性噪声(高斯噪声、椒盐噪声)以及乘积性噪声,提取水印的NCC值如表4所示。从表4可以看出,图像Male在高斯噪声和乘积性噪声攻击下的NCC值较高,而图像Mandrill在椒盐噪声攻击下的NCC值较高。同时,这六幅载体图像在噪声攻击下的NCC值均高于0.98,说明本文水印算法抵抗噪声攻击的能力较强。
Table 4. NCC value under noise attack
表4. 噪声攻击下提取水印的NCC值
下面以Lena载体图像为例,计算其在旋转、剪切、锐化、放大攻击下的PSNR与NCC值,实验结果如表5所示。由表5可知,所得的PSNR值均高于22 db,NCC值均高于0.98,并且攻击后的图像比较清晰,提取的水印比较完整,说明本文算法抵抗几何攻击效果较好。
Table 5. Experimental results of Lena under normal attack and geometric attack
表5. Lena在常规攻击和几何攻击下的实验结果
5.4. 比较性分析
为了证明本文水印算法在不同的攻击下的鲁棒性,将本文的结果与文献 [8] 的水印结果进行了比较。通过对表6所示的不同攻击下的NCC值、PSNR值进行比较,将所提出的算法与文献 [8] 算法的鲁棒性性能进行了比较。由表6可知,添加噪声、滤波、几何攻击时,本文算法所得NCC值均高于文献 [8],其中,添加
的高斯低通滤波时,本文算法所得NCC值比文献 [8] 高约0.1,添加旋转攻击时,本文算法所得NCC值比文献 [8] 高约0.4,添加剪切攻击时,本文算法所得NCC值比文献 [8] 高约0.4,从上述结果可以很容易地得出,所提出的算法抵抗几何攻击能力优于文献 [8],具有更好的鲁棒性。由表6可知,除均值滤波攻击外,本文所得PSNR值均高于文献 [8],且最小值不低于22 db,同时,在旋转与剪切攻击下,本文算法所得PSNR值比文献 [8] 高约12 db,说明本文算法在抵抗中值滤波攻击时能力稍弱,但总体性能较好,优于文献 [8]。
Table 6. NCC and PSNR values of the literature [8] and this paper under different attacks
表6. 不同攻击下的文献 [8] 与本文算法的NCC值和PSNR值
6. 结束语
本文提出了一种新的基于DTQWT-SVD的水印嵌入方法,在DTQWT域内修改载体图像的奇异值,对常见的攻击以及几何攻击都具有很强的鲁棒性。同时,水印图像的高物理峰值信噪比(PSNR)和相关系数(NCC)是该算法的另一个优点。实验结果表明,与基于冗余离散小波变换(RDWT)的算法法相比,本文算法对各种攻击具有更强的鲁棒性。DTQWT是近似移位不变性的,同时其也是具有四倍冗余的完备的紧框架,冗余性增强了其抵抗加性噪声的能力。因此,基于DTQWT的数字图像水印算法比基于RDWT的算法具有更好的鲁棒性,抵抗几何攻击的能力更强。