一种基于独立分量分析的数字水印算法

时间:2022-06-02 08:14:56

一种基于独立分量分析的数字水印算法

摘要:为了使水印具有更强的鲁棒性,该文提出了一种基于独立分量分析(ICA)的数字水印算法。该算法首先对数字水印图像进行预处理,并将其嵌在原始图像二级小波分解的低频子图上;采用快速独立分量分析(FastICA)的办法对水印进行提取,最后对提取出的水印进行适当的增加。该算法在matlab下仿真实验,结果表明该算法对于JPEG压缩、噪声、中值滤波、剪减等具有很好的鲁棒性。

关键词:数字水印;独立分量分析;小波分析

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2010)20-5584-02

An Algorithm of Digital Watermarking Based on ICA

ZHAO Wei, CHEN Wei-jie, CHEN Ren-an

(Chengyi College of Jimei University, Xiamen 361021, China)

Abstract: An algorithm of digital watermarking based on Independent Component Analysis (ICA) is proposed to improve the robustness of digital watermarking. Firstly, At first the original image is decomposed by DWT, then the approximation image is embedded with pre-processed watermark. The watermark is abstracted resorting to Fast Independent Component Analysis (FastICA). The results of emulation under Matlab have demonstrated that the proposed approach is robust against common signal processing such as JPEG compression, noise, cropping and so on.

Key words: digital watermarking; ICA; DWT

1 概述

随着计算机和Internet的普及数字产品的复制和传播变得越来越方便。这就使得数字产品的信息安全问题日益突出。如何有效地防止数据的非法复制和鉴别数字媒体的知识产权,成为亟待解决的问题。数字水印技术应运而生成为研究的热点,是版权保护的有效方法[1-2]。水印的鲁棒性是衡量水印算法性能的一个重要指标,水印在经受大量有意或无意的攻击和失真之后,应该仍然能够提取出水印或者能够证明水印的存在。

数字水印技术按水印嵌入的位置分为空间域算法和变换域算法。空间域算法是将水印直接嵌入到原始图像的空间域上,该算法运算速度快,但鲁棒性较差。变换域算法是将水印嵌入到原始图图像的变换域(DCT域、DFT域、DWT域、ICA域等)上,该算法具有较强的鲁棒性。小波变换因其很好地匹配人类视觉系统特性及与JPEG2000标准相兼容,因此在数字水印上有着广泛的应用。

独立分量分析(ICA)[3]是一种基于高阶统计量的信号分析方法,它可以找到隐含在数据中的独立分量,已广泛应用于信号处理领域,在图像处理方面的应用有:图像特征提取、图像去噪、人脸识别和检测、图像分离、图像水印和遥感图像处理等,并且取得了令人满意的结果[4]。

2 独立分量分析

独立分量分析以非高斯源信号为研究对象,在对它们作统计独立假设条件下,将观测到的多路混合信号变换到相互独立的方向上,使经过变换所得到的各个分量之间不仅正交,而且相互独立。

ICA的数学模型为:假设n个相互独立的源信号s=[s1,s2,…sn]T经过线性系统A混合后得到m个观测信号x=[x1,x2,…xm]T,即:x=As。ICA的3个基本假设如下:1、m≥n,通常令m=n即混合矩阵A为满秩矩阵;2、源信号s的各个分量之间相互统计独立;3、源信号s的各分量最多只允许有一个是高斯分布的。

ICA是在s和A未知并在以上三个假设的条件下,仅通过观测信号x将源信号s估计出来的一种算法。因此ICA的问题可视为求解一个解混矩阵w,使得y=wx=wAs=Gs=的各分量尽可能相互独立,并把y作为源信号s的估计。

常用的ICA算法有:非线性去相关算法、最大似然算法、Jutten-Herault算法以及FastICA[5]算法。FastICA算法因其具有较快的收敛速度,而成为目前ICA使用的主流算法。

3 算法分析

本文提出了一种基于独立分量分析(ICA)的数字水印算法,即将预处理过的水印嵌入到图像的小波低频子图得到含水印的图像,采用FastICA算法提取水印,并对提取出的水印进行适当的增强处理。仿真实验表明,该算法具有较强的鲁棒性。

3.1 水印预处理

为了对提高水印的鲁棒性和隐蔽性,在水印嵌入前先对水印进行过采样和置乱等预处理。过采样即将原始水印按自身进行复制扩展。为了提高水印的安全性及隐蔽性,采用Arnold置乱算法将水印置乱成难以辨认的图像,并将置乱频率f作为密钥k1用于还原水印图像。

3.2 水印嵌入算法

原始图像经过小波变换后,主要能量集中在低频子图,细节部分集中在高频子图。为了提高水印的鲁棒性,嵌入算法(如图1所示)将水印图像嵌入到二级小波分解的低频子图,具体流程如下:1)将水印图像w进行过采样和Arnold置乱处理,得到处理过的水印图像w2;2)将原始图像S进行二级小波分解,并把低频子图LL2作为密钥k2保存起来,用于提取水印;3)将w2嵌入到LL2,即LL2'=LL2+α×w2,其中α为嵌入强度;4)进行逆小波变换即可得到含水印信息的图像S1;

图1 水印嵌入算法 图2 水印提取算法

3.3 水印提取算法

水印提取算法(如图2所示)采用独立分量分析技术从受攻击图S2中提取出水印信息,并通过还原和增强处理,获得效果良好的水印图像。提取算法的具体流程如下:

1)将受攻击的图像进行二级小波分解,得到低频子图LL2”;2)将LL2”与密钥k2视为两个观测信号,利用FastICA算法进行分离变量,得到水印图像w3;3)利用密钥k1对w3进行置乱还原,得到w4;4)将w4中各位置上的水印进行加权平均,各位置上水印的权重相同,得到w5;5)对w5进行平滑和二值化等增强处理,即可得到效果良好的水印图像w’。

4 算法仿真

本文采用256×256大小的Lena图像作为原始图像S(如图3所示),采用36×36大小的二值图像(汉字“水”)作为水印,在Matlab下进行仿真实验。水印嵌入强度α=0.1,含水印的图像S1与S的峰值信噪比(PSNR)为42.9548。由图3可见,人眼不易察觉S与S1间存在差异,说明这种嵌入算法具有较高的隐蔽性。水印及其预处理图像如图4所示,经过扩展及预处理后水印信息人眼根本无法辨别,因而使得水印具有较高的安全性。

对含水印的图像S1进行常用的攻击实验(中值滤波、高斯滤波、盐攻击、裁减攻击),得到受攻击图S2(如图5所示)。表1列出了受攻击图S2与原始图像S的PSNR值。提取出的水印图像如图6所示。

图5 常见攻击获得的图像 图6 从常见攻击中提取的水印图像

表1 本算法对常见方式攻击的鲁棒性检测

采用JPEG压缩方式对含水印图像S1进行攻击,源图像与攻击后的图像的PSNR值如表2所示,提取出的水印图像如图7所示,其中Q为品质因子。

表2 本算法对JPEG压缩的鲁棒性检测

5 结束语

本文提出的一种基于独立分量分析的数字水印算法,具有如下特点:1)由于采用独立分量分析,水印提取过程中不需要原始水印参与;2)水印嵌入在二级小波变换的低频子图,具有较强的鲁棒性;3)水印预处理阶段采用过采样和置乱处理,提高了水印的抗攻击性和安全性;4)水印提取后的增强处理,使得提取出的水印效果良好。仿真实验表明,该算法对JPEG攻击及常见的攻击方式具有较强的鲁棒性。

参考文献:

[1] 高玉娜,杨忠根.基于DCT域的数字水印算法[J].电脑知识与技术,2009,5(4):868-870,876.

[2] 汤震浩,雍士华,马小虎.基于DWT和SVD的数字水印算法[J].电脑知识与技术,2009,5(25):7208-7210.

[3] 游荣义,.基于小波变换的盲信号分离的神经网络方法[J].仪器仪表学报,2005,26(4):415-418.

[4] 郭武,张鹏,王润生.独立分量分析在图像处理中的应用现状[J].计算机工程与应用,2008,44(23):172-176.

[5] Hyvarinen A,Karhunen J,OjaE.Independent Component Analysis[M].JohnWiley&Sons.Inc,2001.

上一篇:基于嵌入式Linux的3G技术的应用和研究 下一篇:浅谈高校教育信息化