Computer Science and Application 计算机科学与应用, 2012, 2, 262-265 http://dx.doi.org/10.12677/csa.2012.25046 Published Online December 2012 (http://www.hanspub.org/journal/csa.html) Robust Image Watermarking Algorithm Based on Contourlet Transform and SVD Decomposition* Yingjiang Li, Jianhong Sun, Chunyan Li Faculty of Engineering, Honghe University, Mengzi Email: 45487743@qq.com Received: Oct. 17th, 2012; revised: Nov. 9th, 2012; accepted: Nov. 21st, 2012 Abstract: According to the analysis of Contourlet transform, an improved image watermarking algorithm based on Contourlet transform and SVD decomposition was proposed. Firstly, in order to improve the security of the watermark, the watermark was encrypted by cha otic encryption; Then use the Contourlet transform to image, block the intermediate frequency subband, and decompose all the block by SVD; embed the watermark into the biggest SVD value. The simu- lation results show that this algorithm have strong robu stness. Keywords: Contourlet; SVD; Chaos Encryption 基于 Contourlet 变换与 SVD分解的鲁棒水印算法* 李迎江,孙建洪,李春艳 红河学院工学院,蒙自 Email: 45487743@qq.com 收稿日期:2012 年10 月17 日;修回日期:2012 年11 月9日;录用日期:2012 年11 月21 日 摘 要:对Contourlet 变换进行了分析,并在此基础上提出一种改进的基于 Contourlet 变换与奇异值分解相结合 的图像水印嵌入算法,算法首先对水印进行混沌加密,以提高水印的安全性,然后对图像进行 Contourlet变换, 对中频子带进行分块后奇异值分解,将水印嵌入到最大奇异值中。仿真实验结果表明,本算法具有较强的鲁棒 性。 关键词:Contourlet变换;奇异值分解;混沌加密 1. 引言 数字水印技术是近年来信号处理和信息安全领 域的研究热点之一,而且已经取得了很大的进展,早 期用于数字水印嵌入的方法主要是LSB算法,或者进 行DCT,DFT,DWT 变换后嵌入水印,近年来第二 代水印考虑的不是应用像素或者变换域来嵌入,而是 根据信号数据的重要特征来嵌入水印信息。它把水印 和图像本身联系在一起,大大提高了算法的抗干扰性 和隐蔽性,具有更高的鲁棒性,目前最新研究方向是 多尺度几何分析方法。2002年,Minh N. Do等人提出 了一种新的图像二维表示法 Contourlet 变换[1],也称 金字塔型方向滤波器组(PDFB),是一种多分辨的、时 频局域的和多方向的图像表示方法。这种新的多尺度 Contourlet 变换不仅具有小波变换的多分辨率和时频 局部性,而且有很好的各向异性[2],从而可以更全面 地表示图像本身的几何特性。目前已经有的基于 Cont- ourlet 变换的水印算法,如文献[3]将图像极坐标变换 后进 Contourlet 变换嵌入零水印,提高水印的抗旋转 攻击能力,但是用穷举法来检查水印,虚警率难以保 证;文献[4]把水印嵌入到多个方向子带中;文献[5] *基金项目:数字水印技术在个人数字信息保护中应用研究(项目编 号:2010Y164)。 Copyright © 2012 Hanspub 262 基于 Contourlet 变换与 SVD 分解的鲁棒水印算法 把载体图像进行归一化后将水印嵌入到 Contourlet 变 换低频子带中;本文提出一种 Contourlet 变换与分块 奇异值分解相结合的水印算法。为了提高水印的鲁棒 性,在嵌入之前对水印进行混沌加密处理,对原始图 像进行三层 Contourlet 变换,将 Contourlet 变换后的 带通子带进行分块奇异值分解,之后将水印图像嵌入 每块奇异值的最大值中,仿真实验证明了其有效性。 2. 相关概念 2.1. Contourlets变换 Contourlets 变换也称金字塔型方向滤波器组 PDFB(Pyramidal Directional Filter Bank)。Contourlet 变换具有良好的多分辨率、局部化和方向性等优良特 性,比小波更适合于捕捉高维奇异点信息的特性。能 够仅使用少量系数有效地表示平滑轮廓,而平滑轮廓 正是自然图像中的重要特征,同时还具有类似于 Curvelet 变换的各向异性尺度关系。二维离散 Contourlet 变换由两个独立的步骤完成,分别是 Laplacian Pyramid(LP)和Directional Filter Bank(DFB) 变换,如图 1所示。 首先用 LP 变换进行多尺度分析捕获点奇异性, 接着使用方向性滤波器组DFB 将分布在同一方向上 的奇异点合成为一个系数,捕获高频分量(即方向性)。 LP 和DFB 二者的结合,就构成了Contourlet 变换的 核心,“塔式方向滤波器组(PDFB, Pyramidal Direc- tional Filter Bank)”。图 2给出了 Contourlet 变换一个 可能的频率分解。由于 LP 和DFB 具备完全重构特性, 因此其组合PDFB也必然能实现完全重构。由于LP 的冗余性,Contourlet 变换具有4/3 的冗余度[6]。 2.2. 奇异值分解(SVD) 从线性代数的角度来看,一幅数字图像可以看成 是由一个许多非负标量项组成的矩阵。用 M N A R 来 表示这样一个图像矩阵,其中 R表示实数数域。则 A 的奇异值分解可定义为: T IUSV 式中, M N R U和 M N R V均为正交矩阵, M N R S 是一个非对角线上的项都是0的矩阵 2 ,且主对角线 上的元素满足 12 0 r ,r为矩阵 S 的秩, Figure 1. Contourlet transformation schematic diagram 图1. Contourlet变换示意图 Figure 2. Contourlet transformation frequency domain segmenta- tion sample diagram 图2. Contourlet变换频域分割示例图 它等于非零奇异值的个数。r 是AAT 特征值的平方 根,是由该分解所唯一确定的,叫做 A的奇异值。 矩阵分解得到的奇异值具有强稳定性,当原矩阵 受到轻微干扰时,它的奇异值不会发生很大的变化。 将水印嵌入图像矩阵的奇异值中将提高水印的鲁棒 性。 2.3. 混沌加密 图像置乱是一种数字图像加密算法,它是通过对 数字图像的位置或灰度级等做变换,打乱原先的图 像。常见的几种主要置乱方法有 Hilbert 变换、K采样 变换、Arnold变换、幻方变换等,本文应用基于混沌 序列变换,由于混沌序列变换没有周期的,也不需要 迭代,且对初始值极端敏感,既使破译者知道了加密 算法,如果得不到初始值,也无法得到混沌序列。所 以基于混沌序列变换的图像置乱加密比其它方法更 Copyright © 2012 Hanspub 263 基于 Contourlet 变换与 SVD 分解的鲁棒水印算法 安全。 Logistic 映射是一种常见的混沌动力系统,基于 一维 Logistic映射进行加密是一种平凡的混沌加密, 安全性难以保障,且可以证明二维 Logistic映射[7]所 产生的混沌点集合不存在有效的无误差构造形式,具 有更安全的加密效果。二维 Logistic映射的系统模型 为: 11 12 1 1 nnn nnn n n x xxy y yyx (1) 其中, 00 , x y为系统初值,通常取值 ,y0 = 0.11, 00.10x ,1 ,2 , 为系统的控制参数,通常取 4 , 其他参数的取值分四程序情况进入混沌状态。 3. 基于 Contourlet 及SVD变换的水印算法 3.1. 水印加密 1) 首先利用二维 logistic 混沌映射产生两个混沌 序列 x n和 y n,这是截短后的序列大小为 mn , 截取混沌序列的 n位有效数字(位数根据图像而定), 然后根据每一位有效数字的奇偶,得到 n位二进制序 列,定义奇数为 1,偶数为0。 2) 把生成的二进制序列作为混沌序列的每个像 素值,即得到两幅新的混沌图像,选取由 x n生成的 图像的奇数行(或列)和由 y n生成的图像的偶数行 (或列)组合成一幅图像;用最终生成的混沌图像与原 始水印图像 I进行异或处理,得到加密后的水印图像 I 。 3) 将加密后的水印 I 按照行扫描规则扫描成一 维向量 I ,水印长度为 。 l 3.2. 水印嵌入 1) 对原始图像 W进行二级离散 Contourlet 分解, 中频方向子带数设为 4,高频方向子带数设为 8。水 印将嵌入到 4个中频方向子带中。 2) 将4个中频方向子带进行 7分块,根据式(2) 计算各个子块的能量值,按照能量值由大到小的顺序 排列,选择前 个子块 为待嵌入子块(大 能量块包含更多纹理和边缘信息,是图像的重要内容 区域,且人眼对这类信息的变化较不敏感,水印嵌入 这些区域不可见性更好)。 7 , l Bl 77 2 block 11 1 49 ij ij E c (2) 式中是每个块中的 Contourlet系数。 2 ij c 3) 将 1 i Bil 分别做 SVD 分解: 1 T iiii B il USV (3) 修改 i S 的最大奇异值(第一个)1i ,嵌入 1位水印 信息, 为水印嵌入强度因子: 11 1 ii i I (4) 用1i 替换 1i 得到修改后的奇异值矩阵 i S 。用 i S 计算获得: 1 T iiii B il USV (5) 4) 将i B 替代原来的放回到 4个方向子带中, 作逆 Contourlet 变换,得到嵌入水印的图像。 i B 3.3. 水印提取 水印提取是水印嵌入的逆过程,在水印的检测过 程中,设待检测图像为W (可能已遭受攻击或破坏), 将W 与原始图像W均作两层离散Contourlet 变换, 对中频子带作 77 分块,根据块能量找出图像W 的 水印嵌入子块 12 ,,, L BB B 和I中对应的原始 12 BB,,, l B分别作 SVD 分解: 1 T iiii B il USV (6) 1 T iiii B il USV (同式 3) 提取 i S 的第一个奇异值 1i 和i S 的第一个奇异 1i 值 进行计算: 1i1ii (7) 将得到的所有 1 iil 进行二维化处理,然后 再进行混沌解密,得到最终提取的水印信息 I 。 4. 仿真实验与分析 仿真实验中,采用的 Lena 标准灰度图 像作为待嵌入水印的载体图像,水印为 二值图 像, 混沌加密并一维化后的水印长度为 1024,嵌入强 度因子 512 512 32 32 取0.25。仿真实验中,对载体图像作 3次 Contourlet变换,LP 滤波器取为“7-9”,DFB 滤波器 取为“pkva”。将 4个中频方向子带进行 77 分块后 算出能量值大的前 l个分块,奇异值分解后嵌入水印, 12 ,,BB Copyright © 2012 Hanspub 264 基于 Contourlet 变换与 SVD 分解的鲁棒水印算法 Copyright © 2012 Hanspub 265 水印嵌入结果如图 3所示。 能优于文献[8]。但是若对图像进行平移操作,水印将 失去信号同步性,提取之前需要将图像进行反向平移 才可以进行水印的提取;同样大角度旋转攻击也需要 进行角度恢复后才可以进行水印提取。 嵌入水印的图像峰值信噪比为49.52 dB,具有很 好的透明性。为了验证算法的鲁棒性,对嵌入水印图 像进行了较为常见的各类仿真攻击,包括 JEGP 压缩、 剪切及缩放、小角度旋转、噪声污染及滤波处理,为 了验证本文算法的鲁棒性,选择同样基于 Contourlet 变换与 SVD 结合的文献[8]中算法进行了仿真结果的 比较。仿真实验结果如表 1所示(用归一化相似度(NC) 来表示提取出的水印图像和原始水印图像之间的相 似性)。 5. 结论 在对 Contourlet 变换特性研究的基础上提出了一 种改进的基于 Contourlet 变换的鲁棒数字水印算法, 该算法首先应用混沌置乱算法对水印进行加密,提高 水印的安全性,然后将载体图像先进行两层离散 Contourlet变换,对中频子带进行分块后再做奇异值 分解,将水印嵌入到最大奇异值中,很好的平衡了鲁 棒性和透明性的要求,实验结果证明了本算有效性及 鲁棒性。 由仿真结果可以看出,本文算法对于各类常见的 图像攻击都具有较高的鲁棒性,在某些方面抗攻击性 参考文献 (References) [1] M. N. Do, M. Vetterli. Contourlets: A directional multi-resolu- tion image representation. IEEE International Conference on Image Processing, 2002: 357-360. (a) (b) [2] 焦李成, 谭山. 图像的多尺度几何分析: 回顾和展望[J]. 电 子学报, 2003, 31(12A): 1975-1981. Figure 3. (a) Original image; (b) Embeded watermark image 图3. (a) 原始图像;(b) 嵌入水印后的图像 [3] 何冰, 王晅等. 基于Contourlet变换的抗旋转攻击零水印算法 [J]. 计算机应用, 2009, 29(3): 3. [4] 楼偶俊. 基于Contourlet域特征点的抗几何攻击水印方法[J]. 计算机研究与发展, 2010, 47(1): 113-120. Table 1. Contrast effect of the robustness of watermark after com- mon attack 表1. 常见攻击对水印鲁棒性的影响 攻击类型 文献[8]算法 NC 值 本文算法 NC 值 高斯噪声 0.9675 0.9723 3 × 3中值滤波 0.7302 0.9815 1/4 左上角剪切 0.9376 0.9337 60%的JPEG 压缩 0.9754 0.9921 缩小 1/2后再还原 0.8872 0.9015 旋转 0.1 度 0.8754 0.9143 旋转 0.2 度 0.7553 0.8541 [5] 王向阳, 朱丹丹, 杨红颖. 基于图像归一化的 Contourlet域数字 水印方案[J]. 小型微型计算机系统, 2009, 30(11): 2272-2276. [6] R. Eslami, R. Hayder. On low bit-rate coding using the Con- tourlet transform. Proceeding of the 37th Asilomar Conference on Signals, Systems and Computers, 2003: 1524-1528. [7] 王琳娟. 基于 Logistic 映射的多重图像加密技术[J]. 科学技术 与工程, 2011, 11(8): 1818-1821. [8] J. P. Wang, S. W. Lv. Image watermarking algorithm based on singular value decomposition and Contourlet transform. Chinese Journal of Sensors and Actuator, 2009, 22(6): 883-886. |