水印模型

2024-09-11

水印模型(精选5篇)

水印模型 篇1

摘要:对三维模型水印技术的研究现状及评价标准进行了系统阐述。首先阐述了三维模型的特点、数字水印的嵌入和提取过程,然后详细分析了三维模型水印技术的研究现状、空间域和变换域两大类水印方法的发展以及三维模型水印技术的评价标准。最后,对三维模型水印技术的研究现状和未来发展方向进行了总结和展望。

关键词:三维模型,版权保护,三维模型水印,攻击,鲁棒性

0 引言

近年来,三维模型越来越多地受到人们重视,并广泛应用于虚拟现实、医学图像、电影游戏、工业设计、文化遗产保护等领域。与此同时,为有效地对三维模型进行版权保护,三维模型水印技术也开始引起人们关注,并逐渐成为数字水印研究的新热点。

1 三维模型水印技术研究现状

1997年在日本IBM东京研究工作室工作的Ohbuchi等[1]在ACM Multimedia国际会议上发表了一篇关于三维网格模型水印的文章,为三维模型水印技术的研究提供了思路和方法,它的发表具有里程碑意义。随后几年,世界各地的研究人员对三维模型水印技术进行了一系列研究,取得了不少成果。但由于三维模型数据的特殊性,三维模型水印的研究也遇到了很多困难。

1.1 三维模型表示方法及特点

常见的三维模型表示方法有点云表示、网格表示、参数表示和体数据表示等[7]。现有的三维模型水印技术根据处理数据的表示方式可以分为网格水印、参数曲面水印、体数据水印、三维动画水印等。

网格表示的数学基础是用多面体近似任意物体表面,通过对多面体的描述完成对形体的描述,它所能表达的表面上没有曲线曲面,只有多边形,因此数据结构上更为简单,操作种类相对单一且易于实现。而网格表示的模型中,最为通用的是三角网格模型,目前的大多数几何处理算法都是针对三角网格模型进行的。因此,本文讨论的水印算法也主要针对三角网格模型进行。

1.2 三维模型水印分类

为三维数字模型嵌入水印时,根据出发点不同,数字水印具有不同的分类方式:

(1)基于应用目的分类。基于应用目的不同,三维模型水印根据对攻击的抵抗能力可以分为鲁棒水印和脆弱水印[8,12]两种。鲁棒水印能够抵御大多数攻击类型,当模型内容遭到攻击后仍然能够检测出模型中隐藏的版权信息,可用于三维模型的版权保护;脆弱水印则对任何变换和处理操作都具有非常强的敏感性,即使是很小的操作或攻击都可能毁坏水印信息,因此可以准确确定被篡改区域,甚至恢复篡改内容,被广泛用于模型内容完整性验证以及多级用户管理。

(2)基于提取策略分类。基于提取策略的不同,即根据检测过程是否依赖于原始模型或相关信息,可以将三维模型水印分为盲水印和非盲水印两种。盲水印,也称为公有水印,在提取水印时无需原始模型,可根据提取算法直接进行水印信息的提取;非盲水印,也称为私有水印,在提取水印时需要借助原始模型或相关信息进行水印信息的提取。非盲水印的鲁棒性相对较好,但应用会受到一定限制。

(3)基于水印信息内容分类。基于水印信息内容的不同,可以将三维模型水印分为有意义水印和无意义水印两种。有意义水印指水印本身也是某个数字图像(如商标图像)或数字音频片段的编码。有意义水印的优势在于,如果由于受到攻击或其它原因致使解码后的水印破损,人们仍然可以通过视觉观察确认是否有水印;无意义水印只对应一个序列号,如果解码后的水印序列有若干码元错误,则只能通过统计决策来确定信号中是否含有水印。

1.3 三维网格模型水印技术研究进展

三维网格模型水印方法很多,针对修改对象不同,三维网格模型水印大致可以分为对数据文件组织的修改和对几何数据的修改。而对几何数据的修改目前是应用最多的一类三维模型水印算法。三维模型具有几何基元和几何基元的拓扑结构两种属性,可以通过修改几何或拓扑结构将水印嵌入到三维模型中,而根据水印嵌入域的不同大致又可以分为空间域方法和变换域方法。基于几何的三维模型水印方法如图1所示。

1.3.1 空间域方法

空间域方法一般直接修改几何属性(几何信息或拓扑信息),相对比较简单、易于执行、效率高并且嵌入容量较大。相比而言,修改几何信息的方式在鲁棒性和不可感知性上比修改拓扑信息的方式更具有优势,因此大部分空间域方法都是通过修改模型几何信息来嵌入水印。

大部分的鲁棒水印都是通过选取某种嵌入基元,设置一定规则,在此规则的约束下调整顶点坐标,从而嵌入水印,以达到较好的鲁棒性。Ohbuchi等针对三角形网格,提出了几种通过修改几何或拓扑结构的方式嵌入水印的方法,对后续的很多三维模型水印研究产生了巨大影响,比较具有代表性的有三角形相似四元组TSQ算法、四面体体积比TVR算法、MDP嵌入算法;Wanger[9]提出了一种用于任意拓扑结构的多边形网格的鲁棒性水印算法。该算法将水印嵌入在网格数据点的坐标中,由于不依赖数据点的顺序,因此对诸如位移、旋转、缩放等仿射变换具有较好的鲁棒性,但对网格重建和网格简化的鲁棒性较差;Alface等[10]提出了一种利用模型曲率提取特征点的方法,进一步提高了水印的鲁棒性;Cho等[4]提出了一种基于顶点范数分布的水印算法。该算法计算出三维模型各顶点范数,并将其划分成N个bins。每个bin中的顶点范数作归一化处理,通过直方图映射函数调整其分布的均值或方差嵌入水印信息。直方图映射函数可以在一定程度上降低水印可见性,而且由于使用的顶点范数统计特征对于相似变换和顶点重排不变,因此算法可以完全免疫于文件攻击和相似变换攻击,且对于绝大多数攻击也具有较好的鲁棒性。然而,对于导致模型质心发生改变的攻击(如剪切)将对水印造成毁灭性破坏。Luo[6]、Bors等[5]在Cho的算法上作出改进,采用volume moment方式来计算物体重点,进一步提高了算法应对拓扑攻击的鲁棒性,并分别引入FMM方法和Levenberg-Marquardt优化方法,降低了水印后表面的变形程度。

脆弱水印可以通过直接修改顶点位置或调整顶点间的位置关系达到嵌入水印的目的。Yeung和Yeo[8]最先开始讨论脆弱水印。他们为每个顶点通过哈希函数计算了两个索引值:位置索引和值索引。通过调整顶点坐标使这两个索引值相等。在水印提取阶段检测两个值是否相等即可判断是否发生了非法修改并定位修改位置。这种算法依赖预定义的顶点顺序来避免因果问题,因此是一种非盲检测方法;Cayre和Macq[12]为三角形网格提出了一种高容量的盲数据隐藏算法;Bors[13]以顶点到其1-ring邻域的相对位置作为嵌入基元。

总体而言,空间域方法的主要缺陷在于对几何和连接性攻击的鲁棒性相对较弱,易引起扭曲变形。盲水印嵌入和提取过程中数据的同步问题一直是一个难题。然而,空间域方法在高容量嵌入和恶意攻击的定位能力上具有优势。

1.3.2 变换域方法

变换域方法采用将三维模型转换到某种变换域,调整基函数的相关系数以达到嵌入水印的目的,主要包括基于拉普拉斯基函数的方法[2,14]、基于径向基函数的方法[15]、基于小波的方法[3]、基于流形谐波的方法等。

Ohbuchi等[2,14]将基于拉普拉斯变换的谱分析方法应用到三维模型水印技术上,提出了非盲的水印方法。该方法对于相似变换、平滑、噪声攻击均具有较好的鲁棒性,但对于改变拓扑结构的攻击非常敏感,并且随着网格复杂性加大,计算时间急剧增加;Wu等[15]利用几何信息构建径向基函数来嵌入水印,该算法节省了大量计算时间,但鲁棒性较差;Kim等[3]提出了一种基于小波分析的盲水印算法,该算法对低分辨率系数采用统计特征,并直接从空间域进行水印提取,对于各类攻击具有较好的鲁棒性;Ines等[16]提出了一种混合水印/压缩系统,在离散小波变换域将水印与压缩结合起来,使水印具有更强的应对压缩攻击的鲁棒性,同时保证了较低的扭曲变形;Chen等[17]进行了归一化、顶点聚类和离散小波变换的组合运用,嵌入水印的不可感知性和安全性较强,完全免疫于仿射变换攻击,对剪切和平滑攻击也具有较强的鲁棒性。

总体而言,变换域方法最大的缺陷是计算复杂度高,而且在提取水印时难以做到盲检测,或需要进行大量预处理(重匹配或重网格化)才可以进行盲检测。但在变换域中嵌入的水印,不可感知性和安全性较强,对某些攻击的鲁棒性也较强。

1.4 三维模型水印技术评价标准

三维模型水印的评价主要涉及水印的嵌入容量、感知性、鲁棒性3个方面,而这些评价并没有统一标准,这在一定程度上阻碍了三维模型水印技术的发展。当然以上3个指标往往是矛盾的。比如水印嵌入强度增加时会带来较好的鲁棒性,但会导致模型扭曲增加;当冗余地嵌入水印时,鲁棒性将大大增加,但不可避免地会降低嵌入容量。因此在评价一种水印算法时,需要关注其具体应用场合对不同性能的要求。为了能够对水印算法进行公平的比较,MeshBenchmark[18]中给出了标准的测试数据集,并提供了常见攻击的工具。 除此之外,一些水印算法也会从ROC曲线、计算复杂度、算法收敛性等方面作进一步评价。

1.4.1 嵌入容量评价

嵌入容量一般用嵌入到三维模型中的水印比特数来描述,往往不会作为一个单独指标来评判三维水印,通常情况下是考虑在不同嵌入容量下水印提取的鲁棒性程度以及水印后的感知性程度。

1.4.2 感知性评价

早期的三维水印算法对于感知性的评价,仅仅是给出水印前后的三维模型效果图,通过肉眼观察其变形程度,并没有客观的评价标准。随着三维水印技术的发展,开始讨论不同的客观评价标准,如采用水印前后的三维模型的欧氏距离、Hausdorff距离、Metro测量方法[11]评判水印模型的几何扭曲程度。近年来,相关研究表明,Hausdorff及Metro测量虽然可以较好地反映水印后的几何变化,但有时并不能有效反映水印后模型结构的视觉变化效果。因此,后来涌现了很多通过感知评价标准MSDM进行水印模型视觉感知性评价的方法。

1.4.3 鲁棒性评价

度量鲁棒性最简单的方法是假设具有高检测值的水印比低检测值的水印更具有鲁棒性,使检测统计量本身成了鲁棒性的度量尺度。因此,在评判三维水印的鲁棒性时,通常是对已嵌入水印的三维模型进行模拟攻击,然后通过位错误率BER或相关性Corr来评判其检测到水印的程度。根据三维模型的用途不同,所能抵御的攻击类型和程度也不同,但大多数水印都能抵御一定程度的常见攻击,包括相似变换、随机噪声、平滑、简化、量化、重采样等。位错误率BER指遭受某种攻击后检测出水印中错误的比特数除以嵌入水印的总比特数,一般认为BER大于0.5即可认定检测不到相关水印信息。也有人通过检测提取水印和嵌入水印之间的相关性作为遭受攻击时鲁棒性的评价标准,相关性定义如下:

其中wn为嵌入的n比特水印,w″n为提取到的n比特水印,为嵌入水印的均值,为提取水印的均值,相关系数Corr在范围[-1,1]内。通常会设定一个阈值,如果相关系数大于给定阈值,则可认为原始水印与提取水印具有相关性,即嵌入的水印在遭受攻击后仍然存在于模型中。

1.4.4 ROC曲线分析

在水印系统中引入ROC曲线,可以直观反映水印检测的灵敏度和特异性以及虚警概率和漏警概率之间的关系。ROC曲线的纵坐标定义为漏警率,横坐标定义为虚警率。水印在遭受攻击后的ROC曲线也可以描述水印对攻击的抵御能力。理想的ROC曲线应尽可能逼近左下角,这时虚警率和漏警率都较低。

1.4.5 算法计算复杂度和收敛性分析

水印算法的计算复杂度通常通过时间复杂度或执行时间进行分析与对比,收敛性则通过迭代次数或设定终止条件来确保算法收敛,并在此条件下对比算法性能的优劣。

2 结语

三维模型水印技术已经取得了一定成果,但还有许多方面问题需要完善和解决。根据水印嵌入方式的不同,三维模型水印算法大致可以分为空间域嵌入算法和变换域嵌入算法。空间域水印嵌入算法直接在原始网格中调整网格几何、拓扑和其它属性的参数嵌入水印;变换域水印嵌入算法在变换域中修改系数嵌入水印。一般而言,空间域算法简单、易于执行、效率高并且嵌入容量较大,然而由于顶点坐标或连接性的改变,对随机噪声、简化和细分攻击较为敏感,并且易于引起视觉扭曲。变换域方法引起的视觉扭曲程度较低,对于空间域的攻击鲁棒性较好,然而其计算复杂度较高,并且对于剪切攻击和拓扑结构改变的一些攻击较为敏感。

总体而言,三维模型水印技术研究取得了很大进展,但如何协调鲁棒性、感知性和嵌入容量的关系,以及建立更为客观的三维模型水印衡量指标,仍然有待解决。

水印模型 篇2

近年来数字水印技术逐渐拓展到三维网格模型的版权保护领域,成为信息安全领域的一个新的研究热点。已提出的三维网格模型数字水印算法,按嵌入达成目标的不同,可分为鲁棒水印方法和脆弱水印方法两类,其中鲁棒水印主要用于网格模型的版权保护,要求在网格数据遭受恶意攻击和正常数据处理时水印都能具备较高的抵抗能力,目前大多数三维网格模型水印算法都属于此类[1,2,3]。而脆弱水印则主要用于网格模型的网格模型的真伪鉴别或完整性鉴定,要求对网格模型数据的改动表现敏感,并且嵌入的水印信号可以随着网格数据的变动做出相应改变,达到网格模型数据校验的目的,目前该方向的研究相对较少[4,5,6,7,8]。

按水印对数据修改敏感程度的不同,脆弱水印又可分为完全脆弱水印和半脆弱水印两类,前者可以检测出任何对网格数据进行的破坏,即所谓完全级认证,后者则允许水印可抵抗一定程度的非恶意数据破坏,即所谓内容级认证。

Yeung和Yeo等首次提出了三维网格模型的脆弱水印算法[4],嵌入的即为完全脆弱数字水印。该算法将网格的顶点映射到二维平面上,计算网格顶点的位置索引表和取值索引表,以调整取值索引表中的顶点是否为“有效”作为脆弱水印嵌入的方法;Chou等提出了一种基于顶点几何数据敏感性的脆弱水印算法[5],轻微调整顶点的位置,使该顶点与其邻域顶点之间保持预定义的约束关系来实现水印嵌入。

以上所提算法均属于完全脆弱水印,对于模型的任何数据改动都表现敏感。但在网络传播和实际应用中,三维网格模型难免会经历一些正常的数据处理(如平移、各向一致缩放、旋转等),这时采用半脆弱水印则能够对恶意数据破坏和正常数据处理加以区分,因此具有更广泛的应用范围,目前的研究相对较少。Wu等提出的半脆弱水印算法首先求出网格各顶点的一环邻域质心位置[6],将顶点与一环邻域质心的矢量长度值选作水印嵌入对象,水印嵌入时采用了步长量化的方法确保水印可实现盲提取,可抵抗网格平移、旋转和各向一致缩放处理;Cho等提出的算法将原始网格分解为粗糙网格和一组小波系数[7],将选中的一幅标志图像作为半脆弱水印,配合查找表(LUT)和密钥嵌入到粗糙网格中,可抵抗网格平移、旋转和各向一致缩放处理;Lin等对Yeung的算法做出了改进,提出了一种半脆弱水印算法[8],扩大了顶点的容忍改动范围,使水印可抵抗一定强度的几何数据有损处理,并且可直观地反映出模型发生篡改的位置,算法可容忍网格顶点坐标值量化处理,但对网格平移、旋转和各向一致缩放这些网格正常数据处理缺乏抵抗能力。

本文提出一种新的网格模型半脆弱水印算法,将模型PCA校准处理后,以顶点几何数据构造出一个球面坐标映射方阵,将半脆弱水印以适当强度嵌入其中。

1 三维网格模型半脆弱水印设计要求

一般来说,嵌入三维网格模型中的半脆弱水印要求具备以下特点:水印具有良好的透明性;可容忍适当强度的网格正常数据处理;对恶意攻击敏感。

由半脆弱水印的特点可知,如何正确区分来自侵权者的恶意攻击和来自用户方的正常数据处理成为其算法设计的一个必要前提条件。从目前三维网格模型的应用情况来看,至少以下几种处理应视为模型的正常数据处理:

(1)RST相似变换,即网格模型的平移、旋转和各向一致缩放处理,用户希望可以借助这些相似变换操作,灵活调整模型的位置、姿态及大小,该类型数据处理并不会对网格模型的外观视觉质量造成影响,应视为容许的正常数据操作。

(2)低强度的顶点坐标值量化处理。随着三维扫描技术的发展和普及,目前的网格模型越来越精细和复杂,高质量的网格模型通常具有大量的顶点数目和较高的顶点坐标浮点数精度,网络传递时所需带宽开销很大,但有时用户只需要传递较低质量的网格模型,这时采用取整或四舍五入的量化方法适当降低顶点坐标的浮点数精度成为一种简单有效的减少网格数据量的方法,不应视为恶意攻击。

(3)低强度的噪声污染。在模型经由网络进行传播复制的过程中,模型的几何数据可能会造成轻微噪声污染,因此要求算法能够抵抗较低强度的顶点随机噪声攻击。但需要指出的是,较高强度的噪声攻击则应视为恶意攻击。

基于上述思想,本文提出了水印嵌入和提取算法。

2 水印嵌入算法

半脆弱水印的嵌入流程如图1所示,原始三维网格模型在经过主元分析PCA校准处理后,构造生成球面坐标映射方阵,半脆弱水印以适当强度嵌入到映射方阵中,与原方阵比较,得到顶点坐标的修改系数,修改模型各顶点后得到嵌入水印后模型。

2.1 网格模型PCA校准处理

首先求出三维网格模型M的质心,包含nv个顶点的网格质心位置计算如下:

将质心作为三维笛卡尔直角坐标系的原点,修正网格顶点的三个直角坐标分量,然后对模型顶点坐标进行归一化处理,接着计算各顶点在以网格质心为原点的球面坐标系中的坐标值,包括半径、经度角和纬度角。为使嵌入的水印可抵抗模型旋转处理,接下来对网格模型进行主元分析校准处理。

PCA可用于模型的校准定位预处理:先计算协方差矩阵求出特征向量,并生成旋转矩阵,再对模型顶点进行坐标变换来实现模型的校准定位。通过对网格模型做主元分析预处理,可有效解决网格旋转带来的影响,在三维网格模型数字检索领域已有采用[9,10]。

关于PCA校准处理的具体过程可参阅相关文献,在此不再赘述。

2.2 构造球面坐标映射方阵

对模型完成PCA校准处理后,设定模型经度方向的间隔角度dθ和纬度方向的间隔角度dφ,如式(2),将网格模型划分为N×N个分块。

计算落入各分块中顶点半径r的平均值,将其填入由间隔角度dθ和dφ决定的N×N方阵对应各格中,得到网格模型的球面坐标映射方阵I。该映射方阵将被预留作为提取水印时用。

2.3 半脆弱水印嵌入

嵌入用的半脆弱水印采用了一个N×N大小的二值印章型图像W,按式(3)将水印嵌入到球面坐标映射方阵中:

其中I和Iw分别为原始映射方阵和嵌入水印后的映射方阵,α为水印嵌入强度,水印嵌入完毕后,将两者对应的各元素值相除可得到映射方阵的修改系数矩阵,据此对模型所有顶点的半径值进行调整,全部修改完毕后,将网格顶点的坐标从球面坐标转换回直角坐标,得到嵌入水印后的网格模型。半脆弱水印嵌入的部分代码如下所示:

3 半脆弱水印提取算法

水印提取时无需原始网格模型的海量数据,只需要预留的原始模型球面坐标映射方阵参与。对于待测的网格模型同样进行前文所述的PCA校准处理,并生成待测网格模型的球面坐标映射方阵I',按式(4)比较I'和原始模型球面坐标映射方阵I的各元素值可提取出水印图像W':

其中I(i,j)和I'(i,j)分别为原始映射方阵和嵌入水印后映射方阵第(i,j)个元素的值,W'(i,j)为提取得到的水印图像第(i,j)个元素的值。然后计算提取出的水印图像W'和原始水印图像W的相似度,此时可能出现以下两种情况:当相关值为最大值1.0时,可认为模型没有经历过任何数据处理或只经历过RST相似变换处理;否则,即相关值小于1.0时则认为网格模型遭受过恶意篡改。半脆弱水印提取的部分代码如下所示:

4 实验结果

本文对上述算法进行了编程实现,实验采用的模型为标准测试模型,实验环境和实验数据参见表1。嵌入用的半脆弱水印为一幅二值图像,实验用模型和水印如图2所示。

为了客观地评价模型视觉失真,本文采用模型截图采样的PSNR平均值来衡量:选择8个观测视角,分别对原始网格模型和修改后的网格模型进行截图采样,计算修改前后模型截图的PSNR(峰值信噪比),然后取其平均值衡量[11],记为PSNRimage同时为了计算模型的几何失真,采用式(5)计算SNRmesh来衡量水印嵌入造成的几何误差。

表2给出了本文算法的水印透明性实验结果。可以看出若水印嵌入强度取值为0.001时,本文算法嵌入的水印可具有较好的水印透明性,而水印嵌入强度大于0.001时,将会产生较为严重的失真(如取值为0.002时,PSNRimage值将小于35 d B),因此最终将水印嵌入强度设定为α=0.001。

(1)算法对模型RST相似变换处理的可容忍性分析

(a)模型平移处理:本算法中水印嵌入实际修改的是模型顶点至模型质心的距离(即半径值),该距离不会随着模型平移发生改变,因此平移对水印提取不会产生影响。而实验结果也表明,本算法嵌入的半脆弱水印对该处理不敏感,水印相关值均为最大值1.0;

(b)模型旋转和各向一致缩放处理:算法在模型嵌入水印前已经进行过归一化处理,因此可抵抗各向一致缩放处理,并且对模型进行了PCA主元分析,因此可抵抗模型的旋转处理。而实验结果也表明,本算法嵌入的半脆弱水印对该两类处理不敏感,水印相关值均为最大值1.0。

(2)算法对模型顶点随机噪声的实验结果

通过随机扰动嵌入水印后网格顶点的球面坐标半径值来添加随机噪声。表3给出的实验结果表明,算法嵌入的水印对低强度的噪声具备一定抵抗能力(如图3(a)所示),可满足算法对轻微噪声污染的容忍要求,但随着噪声攻击强度增大,水印相关性急剧下降,即高强度的噪声可理解为模型遭受了恶意攻击(如图3(b)所示)。

(3)算法对模型顶点坐标值量化处理的实验结果

顶点坐标值量化处理采用低强度进行时,仍然可认为模型处于“内容保持”的范围内(如图4(a)所示),但处理强度过高时,模型外观将会出现严重失真(如图4(b)、(c)所示),应视为恶意攻击。顶点坐标量化处理时水印相关值结果如表4所示,可以看出本文算法嵌入的半脆弱水印对于低强度的顶点坐标量化处理表现并不敏感,而随着量化处理强度增加,水印相关值急剧下降。

(4)与其他三维网格模型半脆弱水印算法的比较

与本算法进行比较的网格模型半脆弱水印算法为Wu的算法[6]、Cho的算法[7]、Lin的算法[8]、Chou的算法[9]。当网格模型面临恶意攻击时,本文算法与这些半脆弱算法均具有较好的判别能力;但在容忍网格正常数据处理能力方面,本文算法具有一定的优势,可同时容忍网格模型的RST相似变换和低强度的顶点坐标值量化处理和顶点随机噪声,而其他算法大多只能容忍部分类型网格正常数据处理。具体比较结果如表5所示。

5 结语

半脆弱水印要求水印可容忍一些三维网格模型的正常数据处理,对于恶意攻击则表现敏感,与完全脆弱水印相比具有更广泛的适用范围。本文提出了一种基于内容级认证的三维网格模型半脆弱水印算法,将模型校准处理后进行二维参数化处理并嵌入半脆弱水印。实验结果表明,算法嵌入的水印可以良好地容忍三维网格模型的某些正常数据处理,如模型的平移、旋转、各向一致缩放、较低强度的顶点随机噪声等,但对于恶意攻击(例如较高强度的顶点随机噪声攻击)则表现敏感。不足之处为:本文算法比较适合用于复杂精细的三维网格模型(包含较多的顶点数目),对于简单的三维网格模型在进行球面坐标映射方阵处理时容易出现空洞区域,造成水印嵌入出错,在下一步工作中,将研究可适用于各种类型三维网格的半脆弱水印算法。

参考文献

[1]Luo Ming,Bors A G.Surface-Preserving Robust Watermarking of 3-D Shapes[J].IEEE Transactions on Image Processing,2011,20(10):2813 2826.

[2]Zafeiriou S,Tefas A,Pitas I.Blind robust watermarking schemes for copyright protection of 3D mesh objects[J].IEEE Transactions on Visualization and Computer Graphics,2005,11(5):596 607.

[3]Cho J W,Prost R,Jung H Y.An oblivious watermarking for 3-D polygonal meshes using distribution of vertex norms[J].IEEE Transactions on Signal Processing,2007,55(1):142 155.

[4]Yeo B L,Yeung M.Watermarking 3D objects for verification[J].IEEE Computer Graphics and Applications,1999,19(1):36 45.

[5]Chou C M,Tseng D C.A public fragile watermarking scheme for 3D model authentication[J].Computer-Aided Design,2006,38(9):11541165.

[6]Wu H T,Cheung Y M.A high-capacity data hiding method for polygonal meshes[C].Springer:LNCS,Volume,2007,4437:188 200.

[7]Cho W H,Lee M E,Lim H,et al.Watermarking technique for authentication of 3-D polygonal meshes[C]//Springer:LNCS,Volume,2005,3304:259 270.

[8]Lin H Y,Liao H Y M.Authentication of 3-D polygonal meshes[C]//Springer:LNCS,Volume,2004,2939:168 183.

[9]Chou Changmin,Tseng Dinchang.Affine-Transformation-Invariant Public Fragile Watermarking for 3D Model Authentication[J].IEEE Computer Graphics and Applications,2009,29(2):72 79.

[10]崔晨旸.三维模型检索中关键技术的研究[D].浙江:浙江大学,2005.

水印模型 篇3

关键词:神经网络,盲水印,鲁棒性,不可见性

随着网络技术的飞速发展,数字作品的版权和真实性越来越受到重视,迫使人们不断在寻求更好的水印技术来实现水印的盲提取[1]。神经网络技术的发展使人们有了新的想法,如何利用神经网络[1]进行水印检测是人们一直在探索的问题,YU[2]在Kutter算法的基础上提出一种算法,利用神经网络进行水印检测,使用神经网络训练水印的检测,水印的盲提取是在提取过程不须原始宿主图像和水印的参与。本文通过分析与对比,提出一种DWT变换嵌入算法的BP四层神经网络模型,实验结果也表明这种方法能更好地实现水印的盲提取。

1 BP神经网络的生成与训练

BP神经网络是基于误差反向传播的多层前向神经网络,已成为目前最为广泛的神经网络学习算法。通过输入输出样本集的训练,可实现从输入到输出的任意非线形映射,其实质是采取最快梯度下降法来实现映射关系的逼近。

在原光BP三层模型[3,4]作为神经网络的训练模型基础上,笔者提出了BP四层网络模型(8-12-6-1结构),即包含8个输入、一个12个结点隐含层和一个6个结点的隐含层、1个输出结点的输出层。

在四层BP神经网络中所增加了一个隐含层,起到了提高隐含层和外层连接性的作用。实验结果也证明用四层BP神经网络模型作为训练模型能更好地实现水印的盲提取。

2 小波变换

小波变换[5]的基本思想是将信号展开成一族基函数之加权和,即用一族函数来表示或逼近信号或函数。

一般图像处理应用的是二维小波变换,而二维小波变换而可以看作是沿着X轴和Y轴的一维小波变换。设在分辨率2j+1上,离散逼近子带图像ca2j+1f可以分解成为分辨率2j上的四个子带图像ca2jf、ch2jf、cv2jf、cd2jf,分解过程如图1所示:

图中ca2jf表示ca2j+1f对应的水平和垂直方向的低频分量,ch2jf表示水平方向的高频分量和垂直方向的低频分量,cv2jf表示水平方向的低频分量和垂直方向的高频分量,cd2jf表示的水平和垂直方向的高频分量。

图像经过小波变换后生成的小波图像的数据总量与原图像的数据量相等,生成的小波图像具有与原图像不同的特性,表现为图像的能量主要集中于低频部分,在低频中嵌入水印能更好保证嵌入水印图像的鲁棒性。同样,用离散余弦变换也做过实验,使用四层BP神经网络模型进行训练,提取的水印结果没有小波变换嵌入水印后提取的水印效果好,因此本实验就选择小波变换方法对图像进行变换,然后嵌入水印。

3 数字水印系统的评价

数字水印在嵌入宿主图像生成新的图像后,一般通过水印相关性计算进行必要的检测。

设原水印为w(i,j),而提取的水印为w'(i,j),原宿主图像为P×Q,则相关性NC:

还可以利用峰值信噪比(PSNR)对含水印图像I'的扭曲程度做客观评价,为了对提取的水印效果做出准确地评价,还可以用均方误差(Mean Square Error)的值来衡量,设宿主图像为I,则相关定义如下:

4 水印的嵌入和提取

水印嵌入算法如图3所示:

首先在水印前面定义一个长度为N的已知序列,其目的是为了确定神经网络模型。具体步骤如下:

(1)原始图像的小波分解。本文对于灰度图像进行两层小波分解,第1层分解提取低频部分ca1,然后再对ca1进行1层分解,在低频ca2部分嵌入水印。

(2)水印处理。将水印W的每个像素的2进制位组成1个序列,再构造1个确定的序列S,其长度为N,则串联2个序列,生成嵌入序列WW。那么,WW=S+W。

(3)确定水印嵌入位置。利用密钥K2生成一个序列的位置坐标,考虑后面邻域窗口的选择为3*3方形窗口,将这些位置坐标序列要进行去边界与去重叠窗口处理,去边界即去除边缘点以保证窗口的完整存在,避免在水印嵌入后信息出现丢失;去重叠窗口即当以某个中心点选择了窗口后,再次选择的窗口不能与以选窗口有重叠,以次来有效保证3*3邻域窗口存在或窗口相互不重叠,形成有效的实际嵌入位置坐标。P1(it,jt),t=0,1,K,q+m-1

(4)将嵌入序列WW到ca2低频子带系数中,再进行逆小波变换。

本文的提取算法则是利用神经网络来提取水印,不需要使用原始载体图像[6],故称为水印的盲检测。提取过程如图4所示:

水印提取算法具体步骤参见文献[7]。

5 仿真实验

仿真实验[8]采用的宿主图像是512×512的灰度Lena图像,水印是64×64的二值图像,如图6、7所示;嵌入水印后的图像与提取水印如图8、9所示。针对三层与四层BP网络模型的相关实验数据如附表所示:

根据上表以及仿真实验图形提取水印的效果和几组数据的对比可以看出使用DWT嵌入算法的BP四层模型比三层模型的算法好,因为峰值信噪比(peak Signal to Noise Ratio———PSNR)和均方误差(Mean Square Error)能衡量原宿主图像与水印图像的差别,即水印加入后对原图像的影响程序,PSNR值越大,对图像的影响则越小,MSE越小说明提取的水印效果越好。从表1中都可以看出对于使用BP三层网络模型的高斯加噪和旋转的攻击效果不是很好,而使用BP四层模型的各种攻击提取水印的效果相对来说都有所提高。

6 结束语

本文针对灰度图像分别选择了DWT变换嵌入算法的BP三层网络模型、BP四层网络模型、RBF模型、DCT变换嵌入算法的BP三层网络模型和四层网络模型的仿真实验,对提取的各种水印做了比较,最后选择了提取水印效果相对较好的DWT变换嵌入算法的BP四层神经网络模型作为神经网络的训练模型。通过实验数据,可以看出该算法具有较好的鲁棒性和不可见性。

参考文献

[1]姚志强,林崧,林晖.一种基于神经网络的盲水印方法[J].计算机工程与应用,2004(26).

[2]Pao-Ta Yu,Hung-Hsu Tsai,Jyh-Shyan Lin.Digital watermarking based on neural network for color images[J].Signal Processing,2001(5).

[3]王剑,林福宗.基于人工神经网络的数字音频水印算法[J].小型微型计算机系统,2004(11).

[4]胡金艳,张太镒,陆从德等.一种基于神经网络的小波域音频水印算法[J].西安交通大学学报,2003(4).

[5]朱晓松,茅耀斌等.一种基于HVS的小波水印方案[J].南京理工大学学报,2001(4).

[6]姚志强,陈荔聪.一种基于小波变换的盲水印检测算法[J].福建师范大学学报,2003.

[7]王忠,韵湘,孙钰.基于神经网络的图像盲水印技术[J].计算机工程与设计,2006(10).

水印模型 篇4

关键词:DCT,人类视觉系统,JND模型,游程编码

1 引言

随着互联网和信息技术的飞速发展以及数字媒体(如数字图像、数字音频、数字视频等)的广泛应用,对医学图像、军事地图等数字产品的内容认证变得越来越重要。水印技术可以作为一种解决方案,它将数字签名、商标等信息作为水印信息嵌入到多媒体数据中,并在水印提取之后恢复原始信息。实际上,有效的水印嵌入必须有足够的嵌入容量和良好的视觉质量,足够的容量能承载足够多的信息,而良好的视觉质量保证了嵌入水印的不可见性。对于稳健性水印来说,水印还必须能经受住攻击的考验。而可逆水印在满足以上要求的同时必须做到在水印提取之后能够完全恢复原始图像[1,2]。

目前的可逆水印技术有数据压缩、差值扩展和直方图转换。

数据压缩的目的在于能够将恢复信息与水印同时嵌入原始图像,这样在水印提取之后能够根据恢复信息复原原始图像。Mohammad Awrangjeb[3]用算术编码的方法对恢复信息进行压缩,然后将其与水印信息进行连接,两者一起被嵌入到原始图像中。

差值扩展一般是利用相邻像素之间的差值作为因子,根据水印信息进行嵌入。Tian[4]提出的算法中利用相邻两像素之间的差值,根据水印信息修改此两像素值,达到嵌入的目的。

直方图转换利用的是图像的统计特性,首先得到某一部分的直方图,然后根据水印信息对其进行修改,达到嵌入水印的目的。如Vleeschouwer[5]提出在水印位为1时,将直方图循环左移,而在水印位为0时,直方图循环右移。而Ni[6]等人则提出了一种基于图像块分类的嵌入方法,利用一个稳健统计量和误差纠错码(ECC)来嵌入水印信息。

同时,为了达到足够好的视觉质量,人类视觉系统(Human Visual System,HVS)的感知模型已经越来越受到重视,模型的运用在于确定一个门限值,这样在水印嵌入时就可以使原始图像的改变值达到最小,人眼几乎感觉不到,从而保证了图像的视觉质量。

2 算法介绍

2.1 JND模型

本文利用文献[1]的JND模型,具体算法如下:

xi,j表示DCT系数,EAC表示计算每个分块DCT系数与直流系数的平均差统计值,即统计能量值。这里将分块大小确定为8,公式为

对于8位二进制表示的灰度图,G=255,为经验值。Emax表示最大能量值,Rb表示等级区分变量。

根据Rb的大小将分块分为几个等级,这里分为8个等级,用Ib表示,即有

▽Pi,j表示某像素点的梯度值,公式为

当梯度值大于一定值,且这样的像素点数目多于一定的值的时候,这样的像素点可用于进行水印嵌入。

表示JND的初始值,为Ib+2,J(i,j,b)表示最终的JND值,则有

式中:α是一个经验常量,文中取1282。

2.2 游程编码

游程编码又被称为“运行长度编码”或“行程编码”,它是一种统计的无损压缩编码。

游程编码的基本原理是:用一个符号值或者串长代替具有相同值的连续符号,使符号长度少于原始数据的长度。

对于非二进制序列,如8888999911111000000000,可以编码为:(8,4),(9,4),(1,5),(0,9)。这样,编码的数据远远少于原始字符串的数据。

对于二进制序列,该方法更加有效,因为只需要记下首次出现的是0还是1即可。如000000101000001111111,得到的编码序列为:(0,6),1,1,1,5,7。

2.3 嵌入/提取

1)将原始图像分成8×8的块,对每一分块进行DCT变换。根据式(1)~式(3)将分块分为8个等级。

2)根据式(5)计算出梯度值大的点,再根据式(6)将分块分为纹理区和边缘区,这里纹理区将作为水印嵌入区。

3)根据式(7)计算出每一像素点的JND值,以确定纹理区每一像素点应该提取的有效位的数目,公式如下

4)根据3)中的结果提取纹理区每一像素点的有效位。

5)将4)中的位串进行游程编码,得到压缩位串,再将压缩位串与水印信息进行连接,作为将要嵌入的信息。

6)将5)中信息位串嵌入原始图像,具体嵌入过程如下:

x1不变

其中,x1表示在(i,j)处提取的有效位的十进制值,x2表示信息位串的十进制值。

这里因为有些像素点并没有被改变,即有些位置并没有嵌入水印信息,所以需要有边信息作为索引。但在实际过程中,这些边信息是很少的。

在提取过程中,可以根据嵌入过程记录的边信息,用与嵌入类似的步骤提取出水印,并完全复原图像。

3 实验结果

将本文方法的实验结果与文献[1]的结果进行对比,如表1所示。

对比文献[1]的算法,本算法除了Tiffany之外,其余图像的嵌入容量都比前者高很多,甚至是前者的两倍。原因在于前者用的是算术编码,而本算法用的是游程编码,从理论上讲,算术编码的确是最接近熵编码,但是这只是统计结果,对于实际情况,特别是对于01序列,游程编码具有更高的编码效率,也即提取出的有效位串0或1连续出现并且出现长串的概率很大,这正是游程编码的优势所在。

对于视觉质量方面,因为对JND模型进行了修正,并且将边信息记录下来,而不是连同水印信息一同嵌入到原始图像中去,这样保证了原始图像的改变更小,从而获得更好的视觉质量。

4 小结

笔者将人类视觉系统与无损数据压缩相结合,提出了一种用于数字图像的可逆水印算法。由于算法中采用游程编码对边信息进行压缩,大大降低了边信息的大小,从而提高了嵌入容量。同时,通过对JND模型的修正,提高了水印图像的视觉质量。

参考文献

[1]FENG J B,LIN I C,TSAI C S.Reversible watermarking:current status and key issues[J].International Journal of Network Security,2006,2(3):161-171.

[2]GONZALEZ R C,WOODS R E,EDDINS S L.数字图像处理(Matlab版)[M].阮秋琦,译.北京:电子工业出版社,2008.

[3]AWRANGJEB M,KANKANHALLI M S.Lossless watermarking considering the Human Visual System[EB/OL].[2009-11-20].http://www.springerlink.com/content/5r5jgx37na2xvbuq/.

[4]TIAN J.Reversible data embedding using a difference expansion[J].IEEE Trans.Circuits Systems for Video Technology,2003,13(8):890-896.

[5]VLEESCHOUWER C D,DELAIGLE J,MACQ B.Circular interpretation of bijective transformations in lossless watermarking for media asset management[J].IEEE Trans.Multimedia,2003,5(1):97-105.

水印模型 篇5

关键词:关系数据库,零水印,C4.5,三角模糊函数

0 引 言

数字水印技术是信息隐藏技术的一个重要研究方向,其基本思想是在数字图像、音频和视频等数字产品中嵌入秘密信息,以便保护数字产品的版权、证明产品的真实可靠性、跟踪盗版行为或者提供产品的附加信息,其中嵌入水印可以是版本标志、用户序列号或产品相关信息[1]。对于高精确度要求数字产品,采用非嵌入式的零水印技术,它不修改宿主信息,而是提取宿主信息某些特征值来构造“零水印”序列。

本文针对数值或文本数据类型数据库提出一种对于数据对象所有属性进行改进型的C4. 5方法进行决策树构建,从而研究并设计了一种通用的关系数据库零水印方法,并具有较强的安全性、鲁棒性、较大的水印容量和较低复杂度。

1 关系数据库数字水印技术

关系型数据库是以二维表作为数据模型的数据库系统,自20世纪70年代发展至今,特别是互联网远程访问数据库操作普遍化,关系数据库水印技术成为一种有效版权保护技术逐步得到重视。关系数据库数字水印是指在不破坏关系数据库数据可用性的前提下,在关系数据库的冗余空间中嵌入水印信息,实现保护关系数据库版权或断定其是否遭到攻击和篡改的目的[2]。关系数据库水印技术主要包括关系数据库水印嵌入系统和水印提取和检测系统。

1. 1 关系数据库水印技术发展

目前数据库水印算法主要是利用一定失真范围内的数据变形来嵌入水印。IBM Almaden研究中心R. Agrawal于2002年提出了对关系数据库中数值型属性值进行标记的策略,利用数值型元组存在的冗余空间,对某些数值属性的最低有效位( LSB)进行位操作,从而实现水印信息的嵌入[3]。R. Sion等人进一步对关系数据库水印进行研究,采用给定数值型项目集合S ={ s1,s2,…,sn} 以及一个排序密钥K ,根据标准化项目的最大意义比特位的加密键值哈希对其进行秘密排序,构建子集Si用于嵌入比特位水印标记[4]。牛夏牧等人对关系数据库数字水印进一步研究加入小量有实际意义水印的技术,清华大学张志浩等人2004年提出把 一幅图像 嵌入到关 系数据库 中的水印算法[5]。

传统的关系数据库水印技术主要采用对数据库中数据库进行少量修改来嵌入水印,对于高精度要求的数据库应当采用零水印技术。文献[6]介绍了一种采用提取最高位水印信息方法,将水印元组序列在零水印管理机构ZWMC进行注册,从而实现提取和检测。以及在此基础上引入混沌算法和从低位提取水印算法的改进[7]。

1. 2 关系数据库零水印系统一般模型

以传统关系数据库水印系统为基础,结合一般数字产品零水印系统模型,将零水印权威机构ZWMC引入数据库零水印模型中。数据库零水印模型的核心问题包括: 首先从原始数据库中构造零水印,其次将零水印在ZWMC注册,最后对关系数据库进行零水印检测和提取,并从ZWMC中获取注册的零水印同提取零水印进行对比判决确定关系数据库的版权归属。

关系数据库零水印系统模型一般形式如图1所示。

其中零水印构造主要步骤为: 属性的标记与筛选; 选取数值属性某些位作为初始序列; 对序列进行哈希变换( 混沌置乱) 等方法进行序列标号变换; 保存序列为数据库水印。零水印注册主要是将关系数据库的版权信息序列存储在零水印管理中心ZWMC中,为了确保版权零水印不为盗用,利用在注册时标明时间进行控制,文献[8]详细介绍了一种实用性强的零水印注册技术。零水印检测主要步骤为: 从ZWMC中安全获取零水印证书; 通过零水印构造算法对待检测数据库进行再次构造零水印; 比较再次构造零水印和零水印证书的相关性,从而判定关系数据库版权信息。

2 改进型 C4. 5 决策树

决策树是数据挖掘分类方法中常用方法,能够以图形化的形式表现挖掘结果,从而方便于使用者快速作出决策或预测。其中,ID3算法是J. R. Quinlan于1986年首先提出的一个经典决策树算法,该算法以信息论为基础,把信息增益度量属性选择,选择分裂后信息增益最大的属性进行划分[9]。该算法最大不足是每次分裂倾向于选择取值较多的属性且不能处理连续型数据。

为了解决ID3算法不足,Quinlan在1993年在继承决策树基本构造思想基础上提出C4. 5算法,该算法用信息增益率代替信息熵作为选择分裂属性的标准,对连续数值进行离散化,并递归生成一个判定树[10]。

C4. 5算法策略如下: 1判定树以代表训练样本的单个节点开始; 2如果样本都在同一个类,则该节点成为树叶,并用该类标记; 3否则,使用称为信息增益率的基于熵的度量作为启发信息,选择最好将样本分类的属性作为该节点的“测试”或“判定”属性; 4对测试属性的每个已知的值,创建一个分枝,并以此为根据划分样本; 5使用同样的过程,递归地形成每个划分上的样本判定树。当出现下列情况时停止递归划分: 给定节点的所有样本属于同一类: 没有剩余属性可以用来进一步划分样本; 没有剩余样本。

C4. 5算法对于连续性数值进行基于增益率划分为不同区间,从而完成离散化操作。首先使用快速排序算法对属性值进行排序,然后计算信息增益,并确定最大信息增益为局部阈值,在用顺序查找的方法寻找最接近但不超过局部阈值的实际数值为该连续属性的分割阈值。

在树的每个节点使用信息增益率的度量选择测试属性,选择具有最高信息增益的属性作为当前节点的划分属性。假设S是s个数据样本的集合,类标号属性具有m个不同值( 或连续属性分割为m个数值区间) ,定义m个不同的类Ci( i为正整数) ,si是类Ci中的样本数。那么对给定样本的期望信息为:

其中Pi为任意样本属于Ci的概率,假设Pi估计为s1/ s。

对于分类属性A,假设具有v个不同的值( a1,a2,…,av) ,那么数据样本总集合S可以划分为v个子集( S1,S2,…,Sv) ,其中Sj是S中具有aj的样本,sij是子集Sj中Ci的样本数。那么,在属性A上划分子集的熵为:

那么,针对属性A划分的信息增益为:

属性A对类别集合C的信息增益率为:

针对在关系数据库零水印技术中的具体应用,对C4. 5决策树算法进行优化改进,主要集中在两个方面: 一是引入模糊数学方法改进连续数值分割方法,二是建立决策树子树剪割原则,优化决策树结构。

在采用常规方法根据最大增益求得分割的最大阈值,在此基础上引入模糊隶属函数方法的三角函数法[11],既根据C4. 5基本方法准确分割决策树又能减少计算量并有效提高后续数据库零水印的鲁棒性。三角模糊数引入连续值分割先要对分割最大阈值进行模糊化处理,假设某属性C的分割最大阈值为VGmax,对于属性C中取值最小值Vmin和最大值Vmax,那么属性分为{ Vmin,VGmax} 和{ VGmax,Vmax} 两个部分,并针对性求得两个部分的最大分割阈值VGmax1和VGmax2。对于属性C的最大分割阈值VGmax分 < a1λ,VGmax1,β1λ > 和 < a2λ,VGmax2,β2λ > 两个部分,其中a1= VGmax1- Vmin1,a2= VGmax2- Vmin2,β1= Vmax1- VGmax1,β2= Vmax2- VGmin2,λ为三角模糊系数λ∈[0,1]。通过调整λ的大小控制阈值划分区间的大小,从而控制划分子树的大小。

在关系数据库的零水印技术应用中,根据嵌入零水印位数W的不同,以及数据库嵌入比例r的不同,对决策树子树大小有一定要求,从而提供一种子树剪割原则,即作为n层决策树的第i层叶子节点,符合该节点属性的元组数m应当满足公式:

即当符合某节点属性要求的元组数目小于上公式要求时,即可剪除该子树不再继续进行分割划分,从而有效提高决策树构建速度。

3 基于改进型 C4. 5 决策树的关系数据库零水印技术

3. 1 一种新的关系数据库零水印模型

为了模型描述方便,假设对象关系数据库为R = ( P,A1,A2,…,An) ,其中P为数据库中的主键,即为不变属性,也表示为最大意义属性MSA,Ai( 0 < i < n + 1,i为自然数) 为其他属性,这里可以是数值型也可以是文本型。W为构造的K位零水印,β为从关系数据库中构造提取零水印序列的算法。那么应当有:

根据1. 2节分析,关系数据库零水印模型当包括零水印构造,零水印注册和零水印检测三个部分,这里重点对零水印构造算法进行研究。零水印构造算法基本思想是采用改进的C4. 5决策树算法对关系数据库属性Ai进行划分,根据划分对不同子树分别定义为“0”和“1”,最后依照零水印W ,采用SHA-1的hash函数[12]对这些子树属性的MSA属性P进行属性标记,记录按照零水印W排列的元组属性P经hash变换的序列作为零水印序列。其基本步骤为:

Step1对除MSA属性P外的属性Ai进行C4. 5算法决策树构建,形成Ai: { ( a1,a2) ,( a3,a4) ,…} 的子树划分结构,针对Ai的属性数据类型不同分为三种划分方法:

1) 对于离散型数据,直接按照较多离散点进行划分;

2) 对于连续性数值数据,采用2节中改进型分割最大阈值方法进行划分;

3) 对于文本数据,通过length( ) 等函数进行转变为连续的数值数据,按方法1) 或方法2) 进行。

Step2对Ai划分的n个子树( a1,a10) ,( a2,a20) ,…,( an,an0) ,对前2i个按照二进制编码为i位的“0”和“1”的组合。

Step3利用Step2的二进制编码组侧零水印W,并对选取的属性值ai的元组MSA属性Pi在ai所处的针对Ai属性节点子树中排列序列,采用SHA-1的hash函数进行排序得到变换后的水印序列{ P1,P2,…,Pi,…,Pk} 。

Step4对于关系数据库R中的其他属性,按照Step2,Step3的方法,生成多组零水印序列。

在零水印注册中将建立的决策树和各属性划分子树中通过hash变换的序列存储在ZWMC中,这里可以存储多组数值序列,即通过组合完成零水印组织,也可以多组同时组织同一个零水印。为了确保零水印的唯一性,还可以在零水印注册信息中添加时间信息。

在零水印检测中,主要是从待检测数据库中按照ZWMC存储的决策树建树,并按照属性划分最后得到多组数值序列,与注册的零水印进行相关性检测。

3. 2 算法分析

关系数据库的零水印算法的评价标准主要是: 隐蔽性、安全性、鲁棒性、较大的水印容量和较低复杂度。针对改进型C4. 5算法的关系库零水印算法,从这几个标准进行定性分析如下:

( 1) 隐蔽性由于采用零水印技术,主要从关系数据库中提取数值序列存储在ZWMC中,对原数据库数据没有改动。

( 2) 安全性零水印算法安全性体现在能够有效抵抗关系数据库的子集采样、子集增加和子集更新等攻击方式。

子集采样攻击: 攻击者只使用关系数据库中部分子集或元组,试图去除水印信息。本算法能够对不同属性分类子树和不同元组数据建立多个相同的水印进行存储,能够有效对抗子集采样攻击。

子集增加攻击: 攻击者通过向关系数据库添加元组,试图去除水印信息。本算法水印记录的是关系数据库中MSA属性的经hash变换后的水印序列,增加子集不会更改原有MSA属性,能够很好对抗子集增加攻击。

子集更新攻击: 攻击者通过向关系数据库更改某些元组数据,试图去除水印信息。本算法通过对不同属性划分建立多个水印序列进行存储,当数据在一定限度范围更新后能够通过提取的多个水印序列,进行大数选举实现真实水印信息提取,在一定程度能够有效对抗子集采样攻击。

( 3) 鲁棒性关系数据库水印的鲁棒性是指水印数据库不因数据的某种变动而导致水印信息丢失的性能,是数字水印最关键特性。本算法为了提高水印鲁棒性主要从三个方面着手: 一是提高分割属性Ai的个数,增加同一水印的不同提取数值序列个数; 二是控制决策树构建中分割阈值的模糊系数λ ,确保数据允许在一定范围中变化; 三是在ZWMC中注册同一水印的多个数值序列,并采用大数选举方法,从而允许部分元组数据的变化。

( 4) 水印容量本算法的水印容量主要通过选择分割属性Ai的在决策树中层次决定,在牺牲部分水印鲁棒性的可忍受范围内,分割属性所处层次越高水印容量越大,从而具备较高水印容量。

( 5) 复杂度本算法采用零水印基本方法,计算复杂度主要集中在零水印构造中,在零水印检测中计算量较少,通过改进型C4. 5算法的子树剪切方法能够有效控制计算量。本算法具备相对较低的计算复杂度。

3. 3 实例分析

针对某试验检验标准数据库的标准表4000个元组,32 000个对象属性数据,对本算法进行模拟零水印构建算法,主要测试在不同参数水印构建划分属性个数i,阈值分割模糊系数λ ,对于三种不同子集攻击方式测试算法安全性。

对于子集采样攻击,对标准数据库进行随机抽取10% 、40% 、70% 、100% 的元组集合进行水印提取,测试在不同的参数值i和λ提取水印比例。当λ = 1时,参数i变化数据库水印提取比例如表1所示。

可以发现随着构建水印属性i个数增加,在不同采样比例中提取水印可识别率逐渐增加。

当i = 1时,参数λ变化数据库水印提取比例如表2所示。

可以发现随着阈值分割模糊系数λ增加,在不同采样比例中提取水印识别率基本不变。综合表1、表2所以可以发现对抗子集采样攻击,提高划分属性个数i具有很好效果,而阈值分割模糊系数λ作用不大。

采用同样方法可以发现在子集增加攻击中,参数i和λ影响都不大,对于子集更新攻击,当λ = 1时,参数i变化数据库水印提取比例如表3所示。

可以发现随着构建水印属性i个数增加,在不同更新比例中提取水印可识别率逐渐增加。

当i = 1时,参数λ变化数据库水印提取比例如表4所示。

可以发现随着阈值分割模糊系数λ = 0. 8时具有最好的抵抗子集更新攻击性能。

通过实例分析发现,参数i越大能够更好提高算法安全性,但同时会降低水印容量,参数λ = 0. 8时算法具有最好的抗攻击性能。

3. 4 性能结论

本算法通过在C4. 5算法中引入模糊三角函数并根据水印信息量制定剪切子树原则,提高决策树构建灵活度和速度。并利用改进型C4. 5算法对关系数据库属性进行分割构建决策树,通过对属性分割子树的MSA属性变换排列构成水印信息,相对于其他更改LSB( 最低有效位) 方法数据库水印算法和提取元组数值属性第i位构建数据库零水印算法等常见数据库水印算法,分析优点在于:

( 1) 适用范围广: 本算法适用于数值型、文本型等不同数据类型属性水印算法构建,具有更加广泛适用性。

( 2) 数据精度高: 通过零水印方法从原始数据库中提取相关属性数据,而不进行任何修改,确保了原数据库数据的高精确度。

( 3) 具有较高的隐蔽性、安全性、鲁棒性和较大的水印容量、较低复杂度。

4 结 语

本文提出了一种新的关系数据库零水印模型,该模型是基于改进型C4. 5决策树算法进行关系数据库零水印,重点研究了零水印构建算法实现,并定性分析了该算法优点。通过研究分析发现,对比传统的关系数据库水印算法,本文提出新的关系数据库零水印算法具备适用性强、较高的精度、隐蔽性、安全性和鲁棒性。

参考文献

[1]王育民,张彤,黄继武.信息隐藏——理论与技术[M].北京:清华大学出版社,2006:189-194.

[2]胡斌.关系数据库数字水印技术的研究与应用[D].长沙:中南大学图书馆,2007:23-25.

[3]Agraw R,Kieman J.Watermarking relation database[C]//Proceeding of the 28th VLDB Conference.Hong Kong:Hong Kong University of Science&Technology,2002:155-166.

[4]Radu S,Mikhail A,Suni P.Rights protection for relational data[C]//Proceeding of the 2003 ACM SIGMOD International Conference on Management of Data.San Diego,California:ACM SIGMOD,2003:98-109.

[5]牛夏牧,赵亮,黄文军,等.利用数字水印技术实现数据库的版权保护[J].电子学报,2003,31(12A):2050-2054.

[6]蒙应杰,吴超,苏仕平,等.一种关系数据库零水印方案的探讨[C]//中国第二十二界数据库学术会议论文集.计算机科学,2005,32(7增刊B):381-383.

[7]蒙应杰,吴超,是垚,等.关系数据库零水印的构造算法[J].兰州大学学报,2007,43(6):51-55.

[8]蒙应杰,吴超,张文,等.关系数据库零水印注册方案的研究[J].计算机工程,2007,33(2):133-136.

[9]Quinlan J R.Induction of decision tree[J].Machine learning,1986(1):81-86.

[10]Quinlan J R.C4.5:Programs for machine learning[M].San Mateo:Morgan Kaufmann Publishers Inc,1993:17-42.

[11]杨纶标,高英仪.模糊数学原理及应用[M].广州:华南理工大学出版社,2001:50-55.

上一篇:报道重点下一篇:电视节目体系