随着图书电子资源的发展, 图书版权保护一直是图书出版领域的一个难题[1], 同时, 数字水印技术作为近年来版权保护的重要技术受到越来越多的关注. 现在的数字水印算法主要基于空间域和变换域两种, 但是仍然难以实现水印嵌入容量、不可见性和鲁棒性三者的平衡[2]. 文献[3]提出了基于离散时间混沌系统的新的小波变换水印算法, 不仅计算量大, 而且对几何攻击鲁棒性效果差. 文献[4]提出了将二维码奇异值分解后嵌入到载体图像中, 虽然在无攻击情况下能正确识别出二维码图像, 但算法在受噪声和对比度变化攻击后鲁棒性很差. 文献[5]提出了一种结合离散小波变换、离散余弦变换和奇异值分解的混合域水印算法, 过程繁琐, 且对几何攻击鲁棒性也表现不好. 二维码技术作为一项研究热点, 以信息存储量大, 可靠性能高, 自动纠错能力强[4]等优点已经广泛应用于各行各业中. 结合二维码的特点, 笔者提出了一种基于Arnold算法和主成分分析(PCA)的二维码数字水印算法, 将图书鉴权图像信息置乱后嵌入到图书二维码图像信息中, 能有效的实现图书版权的保护.
1 相关技术 1.1 二维码原理二维码是一种按特定规则排列的黑白相间的模块图形, 其中每个模块代表一个单元, 每个单元又被编码为1 bit的数据, 这些数据都是“0”, “1”二进制比特流, 能通过特定设备进行识别和读写.
二维码主要包括两部分内容, 数据区和检测区[6](如图1). 数据区主要存储数据, 检测区主要用于符号定位和信息结构确认. 二维码的结构不仅保证了自己具有一定的校验功能, 而且识别范围广, 处理速度快, 能够对不同行的信息进行自动识别, 对图像的几何变换能够自动处理等功能. 同时二维码可以编码任何可读信息, 例如图片、声音和文本, 并以二维条型码形式显示出来, 也可表示为图像数据, 极大方便了信息的处理[7]. 结合二维码自动纠错能力强、嵌入容量大、安全性高的特点, 将二维码应用于数字水印版权保护中将起到事半功倍的效果.
1.2 Arnold变换原理
目前图像变换主要基于像素的大小和像素的位置两种形式, 根据这种特点图像置乱加密也主要分为两种: 像素大小的加密和像素位置的加密. Arnold变换[8]是一种经典的位置加密方法, 图像经过某种运算形成表面杂乱无章, 无法解释但隐含一定规律的图像, 这种变换可以有效抵抗图像在几何变换方面的攻击, 同时, Arnold变换存在的周期性让图像恢复变得简单易行.
Arnold变换公式如下: 设某图像某点的坐标为
$\left[ {\begin{array}{*{20}{c}} {x'} \\ {y'} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 1&1 \\ 1&2 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} x \\ y \end{array}} \right]od (N)$ |
其中,
则Arnold反变换为:
$\left[ {\begin{array}{*{20}{c}} x \\ y \end{array}} \right] = {\left[ {\begin{array}{*{20}{c}} 1&1 \\ 1&2 \end{array}} \right]^{ - 1}}\left[ {\begin{array}{*{20}{c}} {x'} \\ {y'} \end{array}} \right]od (N)$ |
数学方法证明当进行
$\left[ {\begin{array}{*{20}{c}} {x'} \\ {y'} \end{array}} \right] = {\left[ {\begin{array}{*{20}{c}} 1&1 \\ 1&2 \end{array}} \right]^n}\left[ {\begin{array}{*{20}{c}} x \\ y \end{array}} \right]od (N)$ |
Arnold反变换为:
$\left[ {\begin{array}{*{20}{c}} x \\ y \end{array}} \right] = {\left[ {\begin{array}{*{20}{c}} 2&{ - 1} \\ { - 1}&1 \end{array}} \right]^n}\left[ {\begin{array}{*{20}{c}} {x'} \\ {y'} \end{array}} \right]od (N)$ |
式中,
与其他置乱方法相比, Arnold变换做到了水印图像之间相关性的真正消除, 且加密方法简单易于实现, 因此Arnold置乱得到了普遍的应用.
1.3 主成分分析(PCA)的基本原理PCA是一种多元降维算法[9,10], 通过一定的运算把某一些相关或相似数据变量转换成新的数据变量, 这些新变量两两不相关且在反映原始图像信息方面保持客观不变性, 新变量具有随方差逐渐递减的特点.
设有
$X = \left[ {\begin{array}{*{20}{c}} {{X_{11}}}&{{X_{12}}}& \cdots &{{X_{1n}}} \\ {{X_{21}}}&{{X_{22}}}& \cdots &{{X_{2n}}} \\ \vdots &{}&{}&{} \\ {{X_{p1}}}&{{X_{p2}}}& \cdots &{{X_{pn}}} \end{array}} \right].$ | (1) |
(1) 标准化过程. 对矩阵X进行标准化处理:
${Z_{ij}} = \frac{{{x_{ij}} - \overline {{x_j}} }}{{{s_j}}},i = 1,2, \cdots ,n,j = 1,2, \cdots ,p.$ | (2) |
其中,
$\overline {{x_j}} = \frac{{\displaystyle\sum\limits_{i = 1}^n {{x_{ij}}} }}{n},\;\;{s_j}^2 = \frac{{\displaystyle\sum\limits_{i = 1}^n {({x_{ij}} - \overline {{x_j}} )} }}{{n - 1}}$ |
式中,
(2) 计算矩阵Z的相关系数矩阵R.
$R = [{r_{ij}}]xp = \left[ {\begin{array}{*{20}{c}} 1&{{r_{12}}}& \cdots &{{r_{1p}}} \\ {{r_{21}}}&1& \cdots &{{r_{2p}}} \\ \vdots &{}&{}&{} \\ {{r_{p1}}}&{{r_{p2}}}& \cdots &1 \end{array}} \right]$ | (3) |
其中,
${r_{ij}} = \frac{{ \displaystyle\sum\limits_{}^{} {{Z_{ij}}{Z_{ij}}} }}{{n - 1}},\;\;i,j = 1,2, \cdots p.$ |
(3) 样本相关矩阵R的特征方程. 根据下式求得
$\left| {R - \lambda {I_p}} \right| = 0.$ | (4) |
排列顺序为
(4) 确定主成分数. 通常意义上规定, 每个主成分在所有样本分析中所占的百分数称为贡献率
设
$CR(r) = \frac{{{\lambda _i}}}{{ \displaystyle\sum\limits_{i = 1}^n {{\lambda _i}} }}$ | (5) |
其中,
综合前面公式求得前
$ACR(m) = \frac{{ \displaystyle\sum\limits_{i = 1}^m {{\lambda _i}} }}{{ \displaystyle\sum\limits_{i = 1}^n {{\lambda _i}} }}$ | (6) |
在实际应用中, 一般采取
(5) 变换真正的主成分. 按下式计算主成分:
${F_j} = {U_j}^{\rm{T}}Z,\;\;j = 1,2, \cdots ,m$ | (7) |
为了将水印信息嵌入到二维码载体图像最有效的位置, 本文采用PCA从二维码载体图像中选择提取出了最有效的图像主要系数. 与其他的频域变换不同, PCA提取的主成分系数同时包含图像的高频分量和低频分量. 因此, 水印嵌入这些系数中可以充分的避开普通频域算法的各种难题. 在利用二维码编码特性以及PCA优点的基础上, 通过选取适当的水印嵌入算法, 并结合行之有效的嵌入系数和嵌入强度, 大大提高了水印算法的鲁棒性.
2 基于二维码图书版权保护的数字水印算法 2.1 算法模型算法嵌入: 原始水印采用Arnold Cat变换进行初步加密置乱, 得到水印图像
算法提取: 对带有水印的载体图像进行PCA分析, 得到新的主要成分, 根据前面嵌入算法中的参数和加法原则进行变换, 得到加密水印, 最后通过Arnold Cat逆变换可得到原始水印图像.
算法流程图如图2.
2.2 水印的嵌入过程
在嵌入原始水印前, 本文采用Arnold Cat[12]变换对图像进行初步加密置乱, 算法不仅计算简单易行, 而且能有效抵抗裁剪等几何攻击, 再通过其变换的周期性, 恢复原始图像. 图3分别显示了原始水印以及置乱后的水印, 算法的密钥
设原始二维码图像是I, 水印是W, 加密置乱后的水印是W'. 具体嵌入过程如下:
(1) 首先, 把二维码图像进行
(2) 根据矩阵
(3) 根据相关系数矩阵R的特征方程, 得到P个特征根值, 然后依次按照降序排列, 即
(4) 变换形成真正的主成分. 计算公式为
${y_j} = {U_j}^{\rm{T}} Z,j = 1,2, \cdots ,m$ | (8) |
(5) 水印嵌入.
${Y'} = y + aw$ | (9) |
式中,
根据嵌入处理过程对主成分系数
步骤(1)将二维码载体图像层层分块并进行了标准化处理, 为后面进行PCA主成分分析奠定了基础. 步骤(2)–(4) 是将每块的图像实施主成分分析, 分解找出每块的主成分系数, 它们是原始二维码图像低频分量和高频分量的结合体, 把水印充分合理的嵌入到这些系数中可以有效提高算法的鲁棒性. 最后一步是根据实验筛选出最佳的嵌入系数, 然后根据式(9)实现水印的合理嵌入.
笔者根据主成分自身拥有的特点, 选用简单的加法原理实现水印的有效嵌入. 经过实验证明, 不同的水印嵌入系数, 对水印算法的鲁棒性和不可见性有不同的效果. 当系数
在水印提取步骤中, 根据Arnold Cat[12]加密后密钥
(1) 首先将原始二维码图像
(2)把包含水印的图像
(3) 根据如下公式提取水印.
$w = \frac{{{Y'} - y}}{a}$ | (10) |
式中,
原始二维码图像自带信息容量大, 可靠性能高, 自动纠错能力强等特点, 不仅能提高嵌入容量而且能有效抵抗一些攻击. 同时, 对二维码载体图像进行PCA分析, 获得图像的主要成分, 这些主要成分可以最佳的表示图像主要特征, 它们不仅代表高频分量而且含有低频分量, 将水印和主成分合理的融合, 可以最优化的实现水印不可见性和鲁棒性平衡. 结合以上两种特点, 新算法水印鲁棒性表现很强.
3 实验与结论 3.1 数字水印评价标准 3.1.1 峰值信噪比峰值信噪比是评价两幅图像相似程度最通用的指标.
$PSNR = 10 \times \lg \left[\frac{{MN\max {{(I)}^2}}}{{ \displaystyle\sum\limits_{i = 1}^M { \displaystyle\sum\limits_{j = 1}^N {{{(I - {I'})}^2}} } }}\right]$ | (11) |
式中, I是原始载体图像, I'是含有水印后的图像, M, N表示图像的大小.
3.1.2 归一化相关系数归一化相关系数是评价原始水印与提取水印之间相似度的有效指标.
$NC = \frac{{\displaystyle \sum\limits_{i = 1}^L {w\left( i \right)*w'\left( i \right)} }}{{\sqrt {\displaystyle \sum\limits_{i = 1}^L {{w^2}\left( i \right)} } \sqrt {\displaystyle \sum\limits_{i = 1}^L {{{w'}^2}\left( i \right)} } }}$ | (12) |
式中,
通过PSNR评估新算法的有效鲁棒性, 图4是二维码载体图像以及含有水印的二维码图像, 通过计算求得两者之间的PSNR=42.8876. 说明两图像相似程度高[2–5], 所以新算法有效的实现了水印不可见性低的效果.
在本文中, 我们使用文献[3]提出的水印算法做比较, 依次进行无攻击实验, 以及例如裁剪, 旋转, 噪声和图像变化等攻击实验.
图5显示了原始水印图像以及提取的水印图像, 前者经过PCA获得的系数是表示图像主要特征的对角矩阵, 把鉴权水印信息和获得的系数合理的融合能充分的抵抗攻击, 但是相应的, 算法进行变换以及逆变换的过程中, 某些信息会有所丢失. 图6至图10是本文的算法和文献[3]算法在裁剪, 旋转, 高斯噪声, 图像变化和对比度变化等攻击后提取的水印图像. 可以看出只有在无攻击条件下, 新水印算法的性能比文献[3]水印算法的性能稍差, 但是在其他攻击例如噪声、对比度变化等攻击后, 新算法都优于文献[3], 而且在几何攻击旋转以及裁剪的NC值明显优于文献[3]. 本文通过结合二维码的特征和PCA算法, 将水印合理有效的嵌入到最优主成分中, 最大限度的实现了保持水印结构完整性的可能.
5 结束语
由于二维码信息存储量大, 可靠性能高, 自动纠错能力强等特点, 本文结合PCA算法提出了一种基于二维码版权保护的数字水印算法, 将Arnold加密后的鉴权信息合理嵌入到二维码载体中. 实验结果表明, 与文献[3]提出的水印算法相比, 新算法不仅在旋转、裁剪等几何攻击方面表现出了很强的鲁棒性, 在图像亮度增减、对比度的增减和噪声的增加等攻击方面, 该算法也大大提高了水印的鲁棒性.
[1] |
兰丽专. 图书出版版权保护的困境与出路. 传播与版权, 2015(2): 178-179. |
[2] |
郑秋梅, 顾国民, 王玉菲, 等. 一种新的抗几何攻击的数字水印算法. 中国石油大学学报(自然科学版), 2012, 36(1): 188-192. DOI:10.3969/j.issn.1673-5005.2012.01.034 |
[3] |
Hannoun K, Hamiche H, Lahdir M, et al. A novel DWT domain watermarking scheme based on a discrete-time chaotic system. IFAC-Papers On Line, 2018, 51(33): 50-55. DOI:10.1016/j.ifacol.2018.12.089 |
[4] |
葛娅敬, 赵礼峰. 基于奇异值分解的二维码加密算法. 计算机科学, 2018, 45(11A): 342-343, 346. DOI:10.11896/j.issn.1002-137X.2018.11A.069 |
[5] |
孙汉卿, 李喜艳, 王桂芝, 等. DWT-DCT-SVD域的水印置乱新研究. 激光杂志, 2019, 40(2): 110-113. |
[6] |
郑秋梅, 金萧, 顾国民, 等. 一种基于Data Matrix的数字水印算法. 中国石油大学学报(自然科学版), 2015, 39(1): 188-193. DOI:10.3969/j.issn.1673-5005.2015.01.028 |
[7] |
龙陈锋, 雷坚, 杨鑫, 等. 基于数字水印—二维码标签的黄茶追溯系统研究. 湖南农业大学学报(自然科学版), 2015, 41(5): 565-568. |
[8] |
徐潇, 马峻, 莫凡珣, 等. 基于计算全息和Arnold-混沌技术的三维信息分级加密. 激光杂志, 2018, 39(11): 66-70. |
[9] |
周非, 夏鹏程. 基于主成分分析和卡方距离的信号强度差指纹定位算法. 计算机应用, 2019, 39(5): 1405-1410. |
[10] |
张明. 基于DWT变换和PCA主成分分析的数字水印算法研究[硕士学位论文]. 青岛: 中国石油大学(华东), 2014.
|
[11] |
郑秋梅, 张明, 王风华, 等. 基于PCA和DWT的强鲁棒数字水印算法. 中国石油大学学报(自然科学版), 2016, 40(1): 177-182. DOI:10.3969/j.issn.1673-5005.2016.01.025 |
[12] |
Wang JZ, Wang YL, Wang MQ. Periodicity and Application for a kind of n-dimensional Arnold-type Transformation. Proceedings of 2007 IEEE Intelligence and Security Informatics. New Brunswick, NJ, USA. 2007. 375.
|
[13] |
徐江峰, 张守强. 基于QR码的DWT-DCT数字水印算法. 计算机应用研究, 2018, 35(5): 1540-1544. DOI:10.3969/j.issn.1001-3695.2018.05.056 |
[14] |
张劲松, 杨玫, 周立新. 基于DWT的图像内容半脆弱水印认证算法. 科技通报, 2017, 33(6): 192-195. |