Matlab|数字水印处理系统V1

在这里插入图片描述

数字水印(Digital Watermarking)是一种新的十分有效的数字水印产品版权保护和数据安全维护的技术,它是一种十分贴近实际应用的信息隐藏技术。

数字水印是将具有特定意义的标记(水印),利用数字嵌入的方法将水印隐藏在数字图像、声音、文档,图书、视频等数字产品中,用以证明创作者对其作品的所有权,并作为鉴定、起诉非法侵权的证据,同时通过对水印的检测和分析,保证数字信息的完整可靠性,从而成为知识产权保护和数字多媒体防伪的有效手段。

本文开发的数字水印技术系统,可进行水印的嵌入、提取、攻击等操作,采用两种方法,一种是Arnold置乱+DCT方法,另一种是用改进的Arnold置乱+DWT方法。

00目录

1 数字水印技术概述
2 设计要求
3 程序目录说明
4 系统设计
5 系统实现
6 展望

01 数字水印技术概述

1.1 数字水印技术发展

数字水印技术是信息隐藏领域一个非常重要的分支。由于数字图像很容易被未授权的用户复制,用传统的密码方法也不能很好解决上述问题,这使图像版权保护和服务认证等面临日益严峻的挑战。而数字水印技术则以信号处理的方法,在数字化的图像数据中嵌入隐含的版权标识,非常适合对于数字图像的版权保护,这也就使图像数字水印技术在强劲的市场需求下取得了惊人的发展,并在近几年逐渐发展为继小波,神经网络之后,数字图像处理领域的又一个研究热点。

随着1996年第一届信息隐藏国际学术研讨会的召开,数字水印技术的研究得到了迅速的发展,不少政府机构和研究部门加大了对其的研究力度,其中包括美国财政部、美国版权工作组、美国洛斯阿莫斯国家实验室、美国海陆空军研究实验室,欧洲电信联盟﹑德国国家信息技术研究中心、日本 NTT信息与通信系统研究中心,麻省理工学院、南加利福尼亚大学、普渡大学、剑桥大学、瑞士洛桑联邦工学院、微软公司、CA公司等研究机构。另外,在IEEE 和 SPIE等一些重要国际会议上,也专门开辟了与数字水印相关的专题。欧洲几项较大的工程项目(如 VIVA和ACTS)中也均有关于图像水印方面的专题研究。我国在这一领域的研究也基本与欧美等科技强国保持同步,目前国内已经有不少科研机构投入到数字水印方面的研究中去。1999年底,第一届全国信息隐藏学术研讨会(CIHW)在北京电子技术应用研究所召开。国家“863计划”、“973项目”(国家重点基础研究发展规划),国家自然科学基金等也都对图像水印的研究有项目资金支持。

1.2 数字水印原理

数字水印技术实际上就是通过对水印载体的分析、对水印信息的处理、对水印嵌入点的选择、对嵌入方式的设计、对嵌入调制的控制和提取检测的方法等相关技术环节进行合理优化,来寻求满足不可感知性、鲁棒性和安全性等约束条件的准最优化设计方法。在实际应用中,一个完整的水印系统的设计通常包括生成、嵌入、检测和提取水印四个部分。

1.2.1 生成水印

通常基于伪随机数发生器或混沌系统来产生水印信号,从水印的鲁棒性和安全性方面来考虑,常常需要对原水印进行预处理来适应水印嵌入算法,如Arnold置换算法。

1.2.2 嵌入水印

从图像处理的角度看,嵌入水印可以看作是在强背景(原始图像)下叠加一个弱信号(水印),由于人的视觉系统对图像的分辨率有限,因此只要叠加的信号在幅度上低于某个对比度门限,就可以使人眼完全感受不到叠加信号的存在,因此,在不改变视觉效果的前提下,对原始图像做一定的调整,嵌人一些额外信息是完全有可能的。对于图像数字水印的嵌入的思路是:简单的来讲就是将水印信息通过某一算法嵌入到原载体图像中,并且要保证无法以肉眼从含水印信息的载体中识别出水印信息,在满足这样的前提下,还可以在嵌入过程中使用密钥保障文件的安全,但是如果使用了密钥,那么在水印提取或者是检测的时候必须使用密钥才可以得以完成,此举也可以保证密钥的安全。

在这里插入图片描述

1.2.3 检测水印

检测水印也即判断水印载体中是否存在水印的过程,水印检测过程如下,要实现水印检测,要保证水印信息的鲁棒性很强,这些往往需要技术人员的水印嵌入算法相当好。只有在鲁棒性很强的前提下,才能使得嵌入水印信息后的载体图像在经过各种攻击后依然能够将水印信息保留下来。

在这里插入图片描述

1.2.4 提取水印

取出水印的过程就是嵌入水印过程的逆过程,其目的就是在嵌入了水印信息后的载体图像中通过特定的算法再将之前嵌入的水印图像提取出来。提取的过程也存在两种方案,第一种方法被称为明检测,即在提取水印的时候载体信息要参与其中;另外一种与之对应即是盲检测,即在提取过程中无需载体的参与。

在这里插入图片描述

1.3 数字水印算法

根据水印嵌入方法的不同,数字图像水印算法一般分为空域算法和变换域算法。除此以外,还有其他一些新兴的水印处理算法,如NEC水印处理算法和基于视觉模型的水印处理算法等,这些算法统称为其他水印处理算法,下面依次对其介绍。

1.3.1 空域水印处理算法

该类水印添加算法典型的处理方式:将水印信息以比特流的形式嵌入到原始图像各像素点最不重要位(Least Significant Bit,LSB)上,这可充分保证嵌入的水印不可见。但是由于使用的是图像不重要的像素位,因此算法的鲁棒性稍差,抵御滤波,平滑以及几何变形等普通图像处理操作的能力也不是太强。另一个常用的方法是空域扩频隐藏方法,通过扩频码将水印信息调制成类似噪声的信号,然后在叠加到原始图像中去,由于水印信号在调制后能量分布于整个频带,因此一般很难抵抗频域滤波处理。

空域水印处理算法的最大优点在于实现比较简单方便,隐藏的水印容量也比较大,而且还能根据图像的局部特性进行自适应调整;其主要缺点是较脆弱,抗攻击能力差。

1.3.2 变换域水印处理算法

频域水印是对建立在一定的数学基础之上的,它是将水印与些系数相结合,比如常用的加法准则和乘法准则,这里的系数是对载体做相关的数字运算例如 Fourier 变换等。相比较而言,频域上的算法会更复杂但是相应的频域水印可以嵌入更多的水印信息并且安全性和鲁棒性也要更好一些。本系统的用到的离散余弦变换(Discrete Cosine Transform,DCT)、离散小波变换(Discrete Wavelet Transform,DWT)即是这类技术。水印的高低频区域反应的是不同的信息,那么不同的区域插入的水印要求也是不一样的。对于在低频的范围插入水印的方式,这块区域表示我们的载体信息中相对平稳的部分,这一部分基本上代表了水印载体中既有大容量,又能保证鲁棒性能的特征的这样一个区域。对于在高频的范围插入水印,这块区域表示我们的载体信息中边缘或者高质地的一个区域,基本上就代表载体图像的轮廓部位。

DCT水印技术的主要思想是在图像的DCT变换域上选择中低频系数叠加水印信息,选择中低频系数是因为人眼的感觉主要集中在这一频段,经过 DCT 变换后,图像的大部分能量集中在图像的左上角,即直流(DC)系数中,在嵌入时避免对图像的大部分能量进行修改可以显著提高对抗一般图像处理攻击的鲁棒性,同时从人类视觉系统来说保持了图像视觉质量。

DWT是一种“时间-尺度”信号的多分辨率分析方法,具有良好的空频分解和模拟人类视觉系统的特性,较之DCT 变换,DWT 变换对图像的分层特征分解与多分辨率刻画更精准,因此更符合人类视觉系统的规律。二维的DWT 变换将图像划分为四个子带:低-低频子带LL保留图像大部分能量,低-高频子带LH、高-低频子带HL和高-高频子带HH则包含图像细节。对图像进行多次 DWT 变换,可以获得高维的细节信息。实施 DWT 次数不同,方法性能上也存在一定差异。

1.3.3 其它的水印处理算法

除了上述两大类主流水印处理算法外,尚有为数不少的新兴水印处理算法,主要有:利用RST/RSC不变性的算法、量化水印算法、基于感兴趣区域和机基于视觉模型的方法以及利用分形技术的水印添加算法等。

1.4 数字水印攻击

水印算法的好坏,主要是看它能够经受住的攻击种类和强度。用于测试数字水印系统和数字水印算法的是一些常用的攻击方法,这些方法对数字水印的性能检测效果比较好,但是截止目前,还没有一个图像水印算法能够全部地、鲁棒地抵抗所有攻击。掌握常见的图像数字水印攻击方法,对研究、设计、改进、优化数字水印算法都具有极大的借鉴和参考意义。目前常见的数字图像水印攻击方法有以下几种:包括图像压缩、几何变形、图像增强和噪声攻击等;

1.4.1 图像压缩

图像压缩是一种利用数据压 缩技术减小或清除像素冗余、编码冗余、视觉冗余等图像冗余信息的方法,其作用主要是为了提高数据信息的传输效率和存储效率。在图像处理过程中,使用频率最高、应用最广泛的是 JPEG 压缩技术。对于图像文件来说,一幅水印图像能够经受多大程度的压缩是衡量数字水印算法质量的重要标准。

1.4.2 几何变换攻击

几何攻击的特点主要是扰乱水印嵌入与水印检测的同步性。对图像的几何攻击主要包括旋转攻击、缩放攻击、剪切攻击等:旋转攻击是指以空间内的任意点为圆心,图像按照圆形路径进行移动的操作。数字水印图像所具有得离散性使得图像旋转过程中常常夹杂有剪切,这样对水印信息的稳定性有较大影响。缩放攻击分为两种:这两种方式都可以从字面进行了解,一种是等比缩放,就是保持图像长度和宽度的相对比值不变的缩放;另一种是非等比缩放,与第一种相反,也就是改变图像的长度和宽度的相对比值来进行缩放。无论是哪一种缩放,弊端都是在缩放的过程中都会对原图像信息有不同程度的损失。剪切攻击是指将数字图像中的某一感兴趣的区域去除掉的操作。数字图像对剪切攻击的抵抗性,是指在提取经剪切攻击后图像水印时,图像的有效信息能够提取出来。

1.4.3 图像增强

这个方式主要包括滤波,滤波是对噪声进行抑制从而尽量保留图像细节信息的一种处理手段,其中主要包括:高斯滤波、均值滤波和中值滤波。

1.4.4 噪声攻击

噪声攻击是指在水印图像上加入一定幅度的噪声来试图干扰和消除有效信息的方法。数字图像抵御噪声攻击有一定的范围,一般的随机噪声对水印图像的干扰不是很大,如果噪声相对图像幅度太大或与水印信息相关,提取水印就会变得非常困难。常见方式包括:椒盐噪声、高斯噪声、乘性噪声等。

1.5 数字水印评价指标

评价数字水印的被影响程度,除了可以采用人们感知系统的定性评价,还可以采用定量的评价标准。通常对含有水印的数字作品进行定量评价的标准有:峰值信噪比(Peak Signal NoiseRate,PSNR)和归一化相关系数(Normalized Correction,NC)。

1.5.1 峰值信噪比PSNR

设Iij和I^ij分别表示原始和嵌入水印后的图像,m和n分别是图像的行数和列数,则峰值信噪比定义为:

在这里插入图片描述

峰值信噪比的典型值一般为25~45dB,不同的方法得出的值不同,但是一般而言,PSNR值越大,图像的质量保持得就越好。

1.5.2 归一化相关系数NC

为定量地评价提取的水印与原始水印信号的相似性,可采用归一化相关系数作为评价标准,其定义为;
在这里插入图片描述

对于鲁棒水印,要求相关系数越大越好(接近1.0);而对于易损水印,则希望相关系数越小越好。

02 设计要求

本课题要求实现一个数字水印技术系统,设计一个GUI,能够实现水印嵌入与提取的功能,同时能够对于各种水印攻击有一定的鲁棒性、不可感知性(嵌入水印信息并不对原图像质量造成太大的修改,其视觉上的差异在肉眼看来是不可察觉的)。

03 程序目录说明

GUI中集成了系统的所有功能,运行时,在命令行中输入guide,浏览打开MainForm.m,打开GUI即可。
在这里插入图片描述

04 系统设计

由于系统采用了两种方法进行嵌入和提取,因此这里从两部分介绍设计思路。

4.1 方法1(Arnold置乱+DCT)

水印嵌入

对水印图像进行Arnold置乱后将得到一幅完全杂乱无章的图像,这样可以提高水印信号的安全性,增强水印抵抗恶意攻击的能力,这里采用Arnold变换。其余步骤的流程如下

在这里插入图片描述

以512×512的lena灰度图以及64×64的水印灰度图为例说明

第一步,对512×512的原始图像Ⅰ系数矩阵分成8×8大小的块,则原图一共被分成64×64块。对每个块进行二维离散余弦变换。

第二步,原图就变成了64×64个8×8大小的系数矩阵,正好64×64大小的水印图像J中矩阵的每个系数对应于原始图像的每个块,水印的嵌入利用公式:F’(u,v)=F(u , v)+aw(i)。其中,F(u ,v)为原始图象的DCT系数,a为嵌入强度,w (i)(i=1,2,3,…)是每点的水印像素

第三步,对这64×64 块嵌入水印信息的矩阵做二维 DCT逆变换,再合并成一个整图,就得到了嵌入水印后的图像。

水印提取

在这里插入图片描述

水印的提取是根据水印的嵌入策略执行相应的逆过程来提取水印。因此,在水印提取过程中,只须将嵌人水印后的图像块经DCT 变换后的系数减去相应强度的水印信息就可以提取出嵌入该块的水印信息,再对所有块提取出来的水印信息进行反置乱就得到提取出来的水印图像。

4.2 方法2(改进的Arnold置乱+DWT)

对于DWT的理论部分可见参考文献的[1]和[2],这里不再详述。这一节解释两个地方。

1

Arnold变换在对图像置乱时就是把(x.y)点的像素信息置换到(x,y)点。对于一幅图NxN的水印图像,进行n次 Arnold置换算法的结果为:

在这里插入图片描述

参考文献[3]给出并证明了一种改进的Arnold反变换,无须计算图像周期,在置乱状态下迭代相同的步数即可恢复原图,即

在这里插入图片描述

因此在该方法中选择改进的Arnold方法。

2

水印提取时,将含所有水印的载体图像做⒉级小波变换,再根据密钥,从低频系数 ca2’中提取添加了水印信息的系数ca2r’,然后从系数获取水印信息:

在这里插入图片描述

其中W^ 为提取的水印信息,是盲提取,同时注意到W^是0/1的二值图,因此对于该方法输入的图像,也应为logical图像,即二值图像,否则在进行处理时会出现如下失真。

在这里插入图片描述

在这里插入图片描述

4.3 评价指标及水印攻击

系统的评价指标选择PSNR和NC值,两个指标在前面介绍过了。

水印攻击选择白噪声,滤波、放缩、裁剪、旋转。

在这里插入图片描述

05 系统实现

可在作者公主号中查找相关内容获取源码:KAU的云实验台

本文利用MATLAB GUI将以上步骤集成,设计出数字水印技术系统如下:

在这里插入图片描述

显示面板中包括原图像、水印图像、水印置乱图像、水印嵌入后的图像、水印攻击后的图像,以及水印提取图像,还有PSNR、NC值。

操作面板中包括原图像、水印图像载入,置乱次数,DCT系数,水印嵌入方法,水印攻击方式,嵌入水印,水印提取,退出系统,系统说明。

需要说明的是该系统目前只能实现对灰度图像的水印嵌入与提取,彩色图像的嵌入与提取将在后续弥补。

下面分别进行两种方法的水印嵌入与提取
在这里插入图片描述

在这里插入图片描述

可以看到方法2的改进的Arnold置乱+DWT方法效果优于方法1,

再观察遭受裁剪攻击后的效果

在这里插入图片描述

在这里插入图片描述

可见方法2的鲁棒性也优于方法1

再观察不同DCT嵌入强度的影响
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

随着嵌入强度的增大,嵌入水印后的图像效果也越来越不好。当选择水印图像嵌入时,原始图像和水印图像的大小对整个水印系统的不可见性和稳健性都有一定的关系。在进行图像水印信息隐藏的研究中,水印的透明性和稳健性之间肯定是一对相互矛盾,无论哪种方案,每种水印算法普遍都是透明性和稳健性的折中。

06 展望

现有的大多数数字水印算法主要考虑如何在灰度图像中嵌入二值图水印,而在实际应用中彩色图像居主导地位,因此,研究彩色图像的数字水印技术更具有现实意义,作者也将继续这方面的研究,推出彩色图像中嵌入彩色水印的水印处理系统。

参考文献

[1]吴婧瑾. 基于小波的数字水印的研究实现[D].电子科技大学,2008.

[2]周国瑞. 小波与数字水印理论及应用研究[D].电子科技大学,2010.

[3]吴玲玲,张建伟,葛琪.Arnold变换及其逆变换[J].微计算机信息,2010,26(14):206-208.

[4]杨雅姿. 数字水印算法与应用研究[D].长江大学,2022.DOI:10.26981/d.cnki.gjhsc.2022.000278.

[5]傅楚君,兰胜坤.基于DCT变换的数字水印算法[J].网络安全技术与应用,2020(07):49-51.

猜你喜欢

转载自blog.csdn.net/sfejojno/article/details/131144553
v1