一种奇异值分解数字水印算法的研究

2011-07-07 06:52王慧琴王嘉璐齐海平
图学学报 2011年5期
关键词:二值数字水印条码

王慧琴, 王嘉璐, , 王 可, 齐海平

(1. 西安建筑科技大学信息与控制工程学院,陕西 西安 710055;2. 鄂尔多斯市发展和改革委员会,内蒙古 鄂尔多斯 017000)

数字水印是指利用一定的算法,在多媒体数据中嵌入具有不可知觉性、鲁棒性、抗检测性,并含有认证敏感信息的数字编码技术,主要用于解决数字媒体版权保护中设置识别标记的问题。大多数的数字水印算法都非常相似,主要包括水印信号的生成、水印嵌入和水印提取三个过程[1-2]。数字水印必须具备不可见性和鲁棒性两个特征。不可见性指数字水印的嵌入不应该引起图像视觉质量的下降。鲁棒性是指水印信号在经历多种无意或有意的信号处理后,仍能保持完整性或仍能被准确鉴别的特性。

奇异值分解(singular value decomposition,SVD)是一种特殊的矩阵变换,对图像矩阵做奇异值分解,得到的奇异值具有以下显著特性[3]:①图像矩阵的奇异值体现的是图像的内蕴特性(即能量特性),U和V体现的是图像的视觉特性(几何特性),因而图像矩阵的奇异值具有稳定性,当图像被施加小的扰动时,其奇异值不会有大的变化;② 奇异值对几何失真(旋转、镜像、放大、平移) 不变性;③ 奇异值序列中,第一个奇异值比其它奇异值大得多;④ 容易得到矩阵的秩为k(k≤r)的最佳逼近矩阵。因此,奇异值分解(SVD)域水印算法具有良好的抵抗裁切、旋转、缩放、像素值变化等几何攻击的能力。本文提出了一种基于奇异值分解的数字水印算法,采用二值条形码作为水印,它的编码遵循唯一性原则。由于在水印提取前,利用Radon变换对待检测图像进行校正,并且对检测到的二值条码进行了纠正,因此提取水印的准确度高,算法抗几何攻击性好,可用于印刷品的防伪。

1 水印算法描述

算法的框图如图1所示。首先根据二值条码水印的大小将原始图像分成L×K大小的块,设原始图像大小为M×N,二值条码大小为m×n,则其中,int表示取整。然后计算每块的块均匀度,根据块均匀度将块进行分类,以此决定嵌入水印的强度。

另一方面,将原始图像每一块进行奇异值变换,计算其S分量的最大值,同时,将二值条码水印进行奇异值分解,提取S分量,与原始图像的S分量进行加权叠加。在水印提取时,对打印扫描后的图像首先进行Radon变换,修正其在打印扫描过程中发生的旋转和扭曲。最后,对提取出的条码信息进行纠错,提高提取准确度。

图1 算法框图

1.1 水印嵌入强度的确定

在原始图像中嵌入水印的过程可看做在强背景下叠加弱信号。为了保证不可见性,应该将水印自适应地嵌入到原始图像中最不易被察觉的部分。人类视觉系统(HVS)的照度掩蔽特性和纹理掩蔽特性表明[3],对于平均灰度较低,且灰度变化比较平滑的块,HVS对其中像素值的改变比较敏感,叠加的水印分量的强度应最弱。反之,平均灰度较高,且纹理复杂(或存在边缘)的,HVS对其中像素值的改变敏感性最弱,叠加的水印信号应该最强。

文献[5]对图像中大小为 n×n的块 Bk,定义如下的衡量块均匀度的参数σ2

其中 ek为 Bk的灰度均值,加权系数 p(ek)作为修正因子,可由下式确定

其中 a为常数,一般取值为(0.6~0.7)。

当 σ2较小时,Bk被认为比较均匀;反之,σ2较大时,Bk被认为包含纹理和边缘。因此,σ2可以充分体现HVS的特性和图像自身的特点。

根据 σ2的大小将图像块分成三类,相应地,嵌入水印的强度取不同的值

其中 b1,b2, b3为水印嵌入的强度,T1,T2为块均匀度阈值。

1.2 水印嵌入

首先将原始图像进行分块,然后分别将每一块进行奇异值分解,设A(i,j)表示第(i, j)块,将矩阵A(i,j)进行奇异值分解,得到U(i,j)、S(i,j)和V(i,j)矩阵,它们满足

求出S(i,j)分量中最大的一个设其为S(i,j)(max)。同样的方法将二值条码图像W进行奇异值分解,得到S分量记为 Sw(i,j),根据具体情况将其嵌入到原始图像的某一块或者某几块的S分量中,嵌入的具体位置可以作为算法的密钥。

式中 N _ S(i,j)(max)为第(i, j )块中嵌入水印后的奇异值的最大值,bi为水印嵌入强度因子,由公式(3)给出。然后用 N _ S(i,j)(max)代替S(i,j)中的 S(i,j)(max),得到 N _ S(i,j)为嵌有水印的S分量,该分量与 U(i,j)和V(i,j)一起,重构三个通道信息矩阵,得到含有水印的图像。

1.3 水印提取

水印提取时,首先利用Radon变换对待检测图像进行校正,然后对其执行与水印嵌入相反的操作。将待检测图像进行分块,然后进行奇异值分解,计算其S分量的最大值,提取水印信息,最后对提取出的条码信息进行纠错,得到提取出的水印。

Radon变换是计算机图像在某一指定角度射线方向上的投影变换方法。二维函数f (x , y )的投影是其在确定方向上的线积分。通常f (x , y )的Radon 变换是一个平行于y轴的线积分[7-8]

校正后,对含有水印的图像进行分块,计算块均匀度,得到水印嵌入的强度bi,然后进行奇异值分解,计算其S分量的最大值,利用下式提取出一位水印

最后将所有提取出的w′(i, j)组合成二值水印W′。由于误差的存在,提取出的水印图像W′可能与实际嵌入的水印图像W有误差,可以利用二值条码的特点进行纠错。具体方法是:当二值条码某一列的元素1的个数大于0的个数时,将该列全部置为1,反之,全部置为0。

2 实验结果

选取512×512的lena 图像作为原始图像,64×64的二值条码为水印图像,如图2和图3所示。将原始图像分成8×8的块,对每一块进行奇异值分解;将二值水印条码奇异值分解后,得到S分量,将其嵌入到原始图像分块奇异值分解后的对角块的S分量中,每块嵌入一位。图4为嵌入水印后的图像,图5是从图4中提取出的水印。图6和图7为从剪切掉一部分的待检测图像中提取水印的实验,图8是将嵌有水印的图像进行了打印和扫描,实验中打印机采用EPSON STYLUS PHOTO R270,扫描仪采用EPSON PERFECTION V200 PHOTO。提取出的水印如图9所示。图10~图12为待检测图像旋转15°后的水印提取效果。另外还做了压缩、加噪、滤波等实验,鲁棒性均良好。

图2 待添加水印图像

图3 原始水印

图4 加入水印图像

图5 未经攻击提取出的水印

图6 剪切掉一部分图像

图7 提取出水印

图8 打印扫描后图像

图9 提取出水印

图10 打印后旋转15°扫描图像

图11 Radon变换修正后图像

图12 提取出水印

3 结 论

本文提出了一种基于奇异值分解的数字水印算法,将二值条码作为水印嵌入到原始图像奇异值分解的S分量,利用宿主图像和HVS的特点,自适应地选取水印嵌入的强度,增强了算法的不可见性和鲁棒性。考虑到含有水印的图像在使用过程中,尤其是在被印刷和扫描后可能发生移位和旋转,因此算法在水印提取前利用Radon变换对待检测图像进行了校正。另外,还通过比较0和1的个数的方法对提取出的二值条码水印进行了纠正,从而进一步保证了可以有效地提取水印。该算法对几何攻击鲁棒性较强,打印扫描操作后仍能检测出水印,因此可用于印刷品的版权保护。

[1]Scharinger J. Devices to preserve watermark security in image printing and scanning [C]//Computer Aided Systems Theory-EUROCAST 2003, Berlin: Springer Verlag, 2003: 660-669.

[2]蒋慧钧, 王 沛, 李 莉. 基于奇异值分解的图像融合水印算法[J]. 上海师范大学学报(自然科学版),2006, 35(3): 30-34.

[3]周季峰, 庞明勇, 李 黎, 等. 一种印刷品数字水印防伪方法[J]. 计算机工程与应用, 2007, 43(5):189-192.

[4]Mizumoto T, Matsui K. Robustness investigation of DCT digital watermark for printing and scanning [J].Electronics and Communications in Japan, 2002,E85-A(4): 919-920.

[5]Watson A B. Efficiency of a model human image code [J].J. Opt. Soc. Am, 1987, 4(12): 2401-2415.

[6]王 玲, 王晓建, 彭启琮. 半脆弱印刷数字有意义水印算法研究[J]. 电子科技大学学报, 2008, 37(3):71-74.

[7]葛海江, 方江江, 张 翔. 车牌识别系统中车牌定位及倾斜矫正算法研究[J]. 杭州电子科技大学学报,2007, 27(2): 49-52.

猜你喜欢
二值数字水印条码
热线互动
浅析影响商品条码质量的主要因素
日杂商品条码质量现状研究
基于网屏编码的数字水印技术
面向网络边缘应用的新一代神经网络
基于二值图像数字水印算法研究
基于稀疏表示的二值图像超分辨率重建算法
基于曲率局部二值模式的深度图像手势特征提取
基于FPGA的数字水印提取系统设计研究
基于数字水印的人脸与声纹融合识别算法