基于二代Bandelet变换与稳定特征检测的鲁棒图像水印算法
2019-04-15邵东
邵 东
(大连东软信息学院 辽宁 大连 116023)
0 引 言
随着网络和计算机技术的出现,促进了电子商务和在线服务在各个领域内的广泛应用,使得数字媒体的增长出现了爆炸性的增长[1]。图像因其具有良好的直观表达能力,被广泛应用于医疗、模式识别和教育等领域,但是,其容易被图像编辑软件复制和修改,导致用户无法对其真实性进行决策,对图像信息安全造成了隐患[2]。因此,保护图像信息安全传输,已成为各国学者的研究热点,而图像水印技术就是一种信息隐秘技术,它是通过把用户的水印数据植入到其他载体图像中,构成水印图像,使得整个图像只呈现载体图像信息,具有良好的不可感知性与鲁棒性[3]。如齐向明等[4]为了提高水印系统的抵御去同步攻击能力,设计了一种尺度空间特征区域的强鲁棒性水印算法,通过尺度空间特征点检测,提取靠近载体图像重心且互不重叠的特征区域,合成特征区域矩阵,用变换域水印算法嵌入水印,实验结果验证了其技术的有效性与先进性。但是,该技术构建的特征区域为矩形,对几何失真变换的不变性不高,使其鲁棒性不理想。Summuyya等[5]为了增强水印系统的鲁棒性,使其能够有效抵御几何失真,根据局部Zernike矩,提出了一种新的图像水印技术。通过引入Harris方法,获取载体图像的特征点,并基于Delaunay三角网,对初始图像完成三角划分,再计算所有区域的Zernike矩。随后,利用水印嵌入技术,把二值水印隐藏到这些Zernike矩的幅度系数中,从而获取水印图像。仿真结果表明该技术兼顾了良好的不可感知性与鲁棒性。但是,此技术是采用了普通的Harris算子来获取载体的特征点,无法充分获取载体的稳定特征点,存在较多的多冗余点,增加嵌入水印时间且错误率较高[4],降低了水印图像的鲁棒性。Niu等[6]为了提高水印算法的不可感知性与鲁棒性,提出了基于局部不变显著位平面直方图的鲁棒图像水印方案。通过利用概率密度与颜色方差来改进了SURF(Speeded Up Robust Features)特征检测算子,充分获取载体的稳定特征点,然后,利用特征点的奇异值来建立圆形局部特征区域,并引入位平面分解技术处理这些特征区域,获取对应的直方图,设计水印嵌入技术,将水印信息隐藏到这些直方图中,完成水印嵌入。虽然该技术改进了传统的SURF特征检测方法,能够得到载体的稳定特征点,但是,此技术是采用固定的值来构建特征区域,忽略局部图像特性,使其对尺度变换较为敏感。
对此,为了兼顾水印系统的视觉隐秘性与抵御几何攻击能力,本文二代Bandelet变换耦合稳定特征检测的鲁棒图像水印技术。首先,将多尺度与传统的尺度不变特征变换,构建稳定特征点检测机制,充分获取载体的稳定特征点;并根据特征点的特征尺度,其考虑了局部图像特性变化,来计算圆形半径,以稳定特征点为中心,从而建立局部特征不变区域;同时,为了尽可能地降低载体的修改范围,本文定义鲁棒特征区域选择规则,确定合适的水印嵌入位置。随后,利用二代Bandelet变换处理鲁棒特征区域,并确定出重要的Bandelet系数;根据水印嵌入方法,将加密后的二值水印隐藏到重要的Bandelet系数,获取水印图像;定义水印提取机制,完成二值水印的复原。最后,测试了该算法的不可感知性与鲁棒性。
1 算法设计
二代Bandelet变换耦合稳定特征检测的鲁棒图像水印技术过程见图1。其主要分为三个过程:(1) 载体图像的稳定特征点检测;(2) 基于二代Bandelet变换的水印嵌入;(3) 水印信息的提取。通过提取载体的稳定特征点,可充分描述图像,并减少了冗余点,有效改善水印性能。根据特征点的特征尺度构建局部特征不变区域,并利用二代Bandelet变换来获取这些区域的Bandelet系数,根据水印嵌入方法,把水印信息隐藏到这些系数中,增强了其抗几何变换能力。利用水印检测机制,用户可以准确提取初始水印,降低了失真度。
图1 本文水印算法的过程
1.1 载体图像的稳定特征点检测
在水印嵌入与检测过程中,载体图像的稳定特征点通常被视为这两个过程中的定位再同步的标记,从而提高水印图像的抵御几何变换攻击能力。因此,充分提取载体图像中的稳定特征点至关重要[7]。在当前的特征点检测技术中,尺度不变特征变换SIFT(scale invariant feature transform)算子[7]对旋转、平移、缩放以及投影变换具有理想的鲁棒性,因此,本文通过考虑尺度空间,基于SIFT技术[7],构建了稳定特征点检测机制。主要分为2个过程:(1) 候选图像特征点的检测;(2) 不稳定特征点的消除。对于任意的图像f(x,y),基于文献[8]可知,其对应的尺度空间被视为一个函数L(x,y,σ):
L(x,y,σ)=G(x,y,σ)*f(x,y)
(1)
式中:σ为尺度空间因子;*为卷积运算;G(x,y,σ)是可变尺度的高斯核函数:
(2)
为了充分检测出载体图像的稳定特征点,文献[8]在高斯差分函数中,将尺度空间极值与图像f(x,y)进行卷积,形成高斯差分图像:
D(x,y,σ)= (G(x,y,kσ)-G(x,y,σ))*f(x,y)=
L(x,y,kσ)-L(x,y,σ)
(3)
在构建D(x,y,σ)的过程中,本文利用了高斯差分函数来生成一个尺度空间,通过使用可变尺度(σ1,σ2,σ3)的高斯滤波来平滑图像,并将两个连续平滑图像实施减法操作,从而形成D(x,y,σ)。随后,通过比较同尺度上的8个相邻点和上下相邻尺度对应的9个点(见图2),可以检索到尺度空间内所有的局部极值,从而获取载体图像的潜在特征点。这些特征点由于考虑了尺度空间特征,使其对图像的尺度变换具有理想的稳健性。以图3(a)为例,利用SIFT技术对其特征点进行检测,形成的高斯差分图像见图3(b),特征点位置见图3(c)。依图可知,载体图像的潜在特征点被有效检测出来。
图2 高斯差分尺度空间内的特制的检测过程
(a) 初始图像 (b) 高斯差分图像
(c) 潜在特征点 (d) 稳定特征点图3 基于多尺度SIFT机制的特征点检测
虽然多尺度SIFT机制能够将载体图像的潜在特征点检测出来,但是,其中存在较多的不稳定特征点,如那些低对比度或者在边缘上的特征点,影响了水印图像的抗几何失真能力。为此,本文根据特征点的Hessian矩阵对应的特征值,以此构建不稳定特征点消除规则。对于坐标为(x,y)的特征,其对应的Hessian矩阵为[8]:
(4)
令Hessian矩阵H的特征值分别为α,β,其中α>β,则其对角线的特征值之和,以及行列式分别为[8]:
(5)
式中:Tr(H)分别为H的对角线元素之和;Det(H)是H的行列式。
令γ是α与β之间的比率,则Tr(H)与Det(H)满足:
(6)
(7)
因此,当某个特征点不满足式(7),则将其视为非稳定特征点,予以剔除;反之,则为稳定特征点,将其保留。通过大量的实验发现可得,当比值γ=10时,可以获得较为理想的稳定特征点检测效果。以图3(c)为例,取γ=10,根据上述过程,对其中的不稳定特征点完成检测与剔除,结果见图3(d)。依图可知,大部分边缘上的特征点被剔除。
1.2 基于二代Bandelet变换的水印嵌入
局部特征区域作为载体图像的子集,能够很好地反映图像的重要语义[10],一般来说,局部特征区域的几何形状可以是矩形、圆形、三角形或者椭圆形等。但是,如何确保局部特征区域对几何攻击具有理想的不变性是非常重要的。依据文献[10]可知,圆形特征区域的鲁棒性要显著强于矩形和三角形。因此,本文构建了圆形局部特征区域。但是,文献[10]中的圆形特征区域主要利用一个固定值来建立,忽略局部图像特性,使其对尺度变换较为敏感。为此,本文根据特征点的尺度因子来解决这个不足。由于特征点的特征尺度会随着图像内容的不同而发生变化,因此可以选择鲁棒性较好的特征点作为局部特征区域的中心,并利用特征点的尺度来计算该区域的半径R:
R=τ×round(σ)
(8)
式中:R是圆形局部特征区域的半径;round(·)是四舍五入操作;σ是特征点的特征尺度;τ是一个正整数,用于调整圆形大小。
在式(8)中,τ对水印性能影响较大。当τ值较大时,所构建的圆形局部特征区域较大,提高了水印容量,但是,削弱了水印图像的鲁棒性。反之,τ值越小,水印算法的抗几何攻击能力更强,但是,水印容量较小。为了平衡算法的鲁棒性与水印容量,本文通过多次试验,取τ=7时,可以较好地平衡二者,获取最优的水印质量,并将R严格限制为:
(9)
式中:M,N分别为载体图像的高与宽。
通过将稳定特征点为中心,根据半径R来构建一个圆形特征区域。以图3(d)为例,基于上述过程,获取的圆形特征区域见图4(a)。由图4(a)可知,初始的圆形特征区域含有较多的重叠部分,会影响水印图像的质量。因此,为了改善水印技术的鲁棒性与视觉质量,本文定义鲁棒特征区域选择方法,从图4(a)中找出非重叠特征区域,以确定较优的水印嵌入位置:
(a) 将噪声、旋转、平移、缩放和裁剪等几何变换作用于图4(a)中圆形特征区域;
(b) 再提取几何变换前后的图像直方图,将直方图保持不变对应的特征区域视为候选目标;
(c) 根据候选特征区域的面积大小,把面积较大的非重叠区域作为选择的圆形特征区域,见图4(b)。
(a) 所有的局部椭圆特征区域 (b) 选择的鲁棒特征区域图4 圆形局部特征区域的构建与选择
随后,引入二代Bandelet变换[11]处理所有的鲁棒特征区域。令选择的鲁棒特征区域集合为X={S1,S2,…,Sk},其中,k为特征区域的数量。再利用文献[11]的二代Bandelet变换过程,可以得到所有圆形特征区域Si的Bandelet系数,记为BSi(x,y)。为了缩小对载体图像的修改,本文定义如下规则,从BSi(x,y)中选择重要的Bandelet系数bk(x,y):
(10)
(11)
式中:bk(x,y)为重要的Bandelet系数;T1为阈值。
为了增强水印信息在载体中的不可感知性,在水印嵌入之前,本文首先利用仿射映射[12]来加密二值水印:
(12)
式中:(x,y)为初始二值水印的像素坐标;(x′,y′)为加密后的像素坐标;a、b、c、d均为变形系数;e、f是平移系数。
随后,根据重要的Bandelet系数bk(x,y),设计水印嵌入方法,将加密后的二值水印隐藏到这些系数中:
(13)
rk(xi,yj)=round(abs(bk(xi,yj))/Δ)i,j=1,2,…,K
(14)
以图5(a)为水印信息,根据文献[12],取a=b=c=1、d=2,e=f=1.5,对其完成加密,结果见图5(b)。依图可知,经过式(12)处理后,二值水印被充分扰乱,呈现一幅噪声图像,可以显著增强其不可感知性。随后,根据式(13),将加密后的水印嵌入到图4(b)中,结果见图5(c)。由图可知,水印图像几乎与初始载体相同,没有出现任何有关的二值水印的信息,如图5(d)与图5(e)所示,嵌入水印前后的载体直方图变化非常小。这说明二值水印不仅成功嵌入到载体图像中,而且具有较低的视觉感知度。
(a) 初始水印 (b) 加密后的水印 (c) 水印图像
(d) 初始载体的直方图 (e) 水印图像的直方图图5 水印嵌入结果
1.3 水印信息的提取
通过上述水印嵌入过程处理后,可形成水印图像I*。再根据相应水印提取机制,从水印图像I*中复原二值水印,步骤如下:
(5) 设计水印提取机制,复原加密后的二值水印:
(15)
i,j=1,2,…,K
(16)
(6) 利用逆仿射变换,对加密后的二值水印完成解密,获取水印信息。
根据上述水印提取过程,从图5(c)中复原的水印信息见图6。依图可知,所提取的二值水印质量较好,失真度较低。
图6 水印信息的提取
2 实验结果及分析
为了测试所提鲁棒水印方法的不可感知性与鲁棒性,利用MATLAB平台进行实验,同时,为了突出本文方案的优势,将文献[5]、文献[6]、文献[13]和文献[14]作为对照组。其中,文献[5]是借助Harris方法与Zernike矩来实现水印嵌入,Harris方法是特征点提取的经典算子,而Zernike矩也是当前水印嵌入较为常用的方法之一,且该方案采用了Delaunay三角网来确定水印嵌入位置,具有一定的新颖性,因此,该技术具有良好的代表性。文献[6]则是借助位平面分解与SURF方法来完成水印嵌入,SURF方法作为特征点提取的经典算子之一,在基于特征点的水印技术中,被国内外学者引用。另外,该方法利用概率密度与颜色方差来改进了经典的SURF方法,可以有效提取鲁棒特征点,增强水印系统的抗攻击能力。因此,该方案也具有一定的新颖性与代表性。文献[13]则是利用Harris算子来检测载体的鲁棒特征点,根据水印大小来选择合适的特征区域,借助离散小波分解来处理这些特征区域,将水印信息嵌入到区域对应的低频子带系数中。该技术采用了经典的Harris特征点检测算子,并考虑每个区域的水印容量来选择靠近图像中心附近的区域作为最佳水印嵌入位置,具有较好的新颖性与代表性。文献[14]则是联合3级离散小波变换与SVD方法来获取载体的低频系数,并利用改进的仿射SIFT算子来检测载体图像与受攻击图像的关键特征点,通过对这些特征点完成匹配完实现校正,具备理想的抗几何攻击能力,具有较高的新颖性。为此,本文将文献[5-6]、文献[13-14]这四种水印方案作为对照组。测试条件为:DELL vostro 1088, 3 GHz,双核CPU,400 GB硬盘、4 GB内存。考虑一般性,从USC-SIPI图像库[15]中随机挑选三幅图像,作为本次实验的载体,分别如图7(a)-(c)所示,大小都是256×256。另外,把图7(d)-(f)视为待嵌入的水印信息,其大小是64×64。实验参数为:阈值T1=35、比值γ=10、a=b=c=1、d=2、e=f=1.5;τ=7、步长Δ=12。衡量指标:(1) 不可感知性;(2) 鲁棒性。
(a) Airplane (b) Pappers
(c) Scenery(d) Characters (e) Tortoise (f) words图7 载体图像与二值水印信息
2.1 不可感知性能测试分析
利用本文算法、文献[5]和文献[6]的水印嵌入机制,把图7(d)-(f)所示的二值水印嵌入到载体中,形成的水印图像见图8。根据输出图像可知,所提方法与文献[5]、文献[6]的水印图像都具有良好的不可感知性,形成的水印图像没有泄露有关二值水印的相关信息,见图8。但是,主观测试难以反映出三者之间的优劣,对此,本文引入差分图[16]对其完成客观量化,将图7(a)、图7(c)-(e)作为测试目标,嵌入率为0.6 bpp,形成的差分图见图9。根据曲线数据可知,文献[13]的不可感知性最高,其输出的水印图像的差分图与载体之间的拟合度最高,见图9(d);而所提技术的水印视觉隐秘性要略低于文献[13],其水印图像的差分图与初始载体图像拟合度也较高,同样没有阶梯效应,见图9(a),而文献[5]、文献[6]以及文献[14]技术的不可感知性都要低于文献[13]和所提技术,其差分图存在阶梯效应,而且水印图像的像素分布与初始载体的拟合度不高,分别见图9(b)-(e)。原因是所提技术采用了SIFT方法构建了稳定特征点检测机制,充分获取载体图像的稳定特征点,而且考虑了特征点的尺度因子,计算圆形半径,建立了局部特征不变区域,通过定义鲁棒特征区域选择规则,确定合适的水印嵌入位置。并根据二代Bandelet变换,选择出这些鲁棒特征区域对应的重要的Bandelet系数,通过水印嵌入方法,将加密后的二值水印隐藏到重要的Bandelet系数,使其对载体图像的修改范围很小,增强了水印信息的不可感知性。而文献[5]则是直接将水印信息嵌入到载体图像对应的所有Zernike矩的幅度系数,使其对初始载体引起的修改范围较大,降低了水印图像的不可感知性。文献[6]则是通过获取载体图像的局部特征区域,将水印信息嵌入到这些区域的直方图中。相对于文献[5]而言,其对载体的修改范围较小,但是,该技术没有对这些局部特征区域进行优化选择,同样是将水印嵌入到所有的局部特征区域中,使其不可感知性要低于所提技术。文献[13]则是根据Harris检测到的特征点来建立特征区域,并根据水印大小对特征区域进行了筛选,将水印信息嵌入到合适的特征区域中。相对于文献[6]与文献[14]而言,其对载体内容的修改更小,而且是根据水印容量来确定嵌入位置,使其不可感知性要优于所提方案。文献[14]则是将水印信息嵌入到所有载体的离散小波系数对应的奇异值中,其在载体引起的修改范围低于文献[5],但是要高于文献[13]、文献[6]与所提算法,因此,其不可感知性有待提高。
(a) Airplane图像 (b) character (c) 本文算法
(d) 文献[5] (e) 文献[6]
(f) 文献[13] (g) 文献[14]
(h) Pappers(i) Tortoise(j) 本文算法
(k) 文献[5] (l) 文献[6]
(m) 文献[13] (n) 文献[14]
(o) Scenery(p) words(q) 本文算法
(r) 文献[5] (s) 文献[6]
(t) 文献[13] (u) 文献[14]图8 不同算法的水印图像
(a) 本文算法
(b) 文献[5]算法
(c) 文献[6]算法
(d) 文献[13]算法
(e) 文献[14]算法图9 各算法的差分图测试
2.2 鲁棒性测试
为了体现本文算法的抗几何攻击能力,以图8(c)-(e)为对象,对其施加于表1中的几何攻击类型,再利用所提技术和文献[5]、文献[6]对应的水印提取方法来复原水印,并根据峰值信噪比PSNR与相关系数NC[17]来客观评估不同水印技术的鲁棒性,测试数据见表2。由表中的测试数据可知,当水印图像遇到多种几何攻击时,5种水印方案得到的二值水印都出现失真,然而,所提水印方法的鲁棒性最好,复原的二值水印失真程度最低,而文献[14]技术也表现出较强的鲁棒性,其提取的水印质量与所提算法接近,二者的PSNR与NC值整体上要高于文献[5]、文献[6]、文献[13],但是,对于椒盐噪声攻击,本文算法的PSNR与NC值要略低于文献[5]、文献[6]与文献[14]。而文献[5]、文献[6]的鲁棒性不理想,面对表1中的几何攻击时,所得到的二值水印失真程度较大,其PSNR与NC值均要低于本文算法。原因是所提算法通过多尺度SIFT方法设计了稳定特征点检测,能够充分获取载体图像中的稳定特征点,消除了那些不稳定特征点,保证了局部特征区域的鲁棒性。通过定义鲁棒特征区域选择规则,选择出较为鲁棒的区域作为水印嵌入位置,将这些区域的重要Bandelet系数嵌入到鲁棒区域中,从整体上增强了水印图像的稳健性,使其能够更好地抵御几何变换能力。而文献[5]则是利用Harris方法来检测载体图像的特征点,使其存在一定数量的非稳定特征点,导致其建立的局部特征区域鲁棒性不理想。而且即使是将水印信息嵌入到所有的Zernike矩的幅度系数来形成水印图像,也并非都适合作为水印嵌入位置,从而导致其鲁棒性不理想。文献[6]则是利用改进的SURF特征检测算子来充分获取载体的稳定特征点,确保其建立的圆形局部特征区域具有足够的鲁棒性,但是,此技术是采用固定的值来构建特征区域,忽略局部图像特性,使其对尺度变换较为敏感。文献[14]则是利用改进的SIFT算子来检测载体与受攻击水印图像的特征点,并根据这些特征点来完成匹配,可以实现对受攻击水印图像的校正,从而提高复原水印的质量,使其对于常见的几何变换具有很好的鲁棒性。但是这种仿射SIFT方法的检测结果中仍然存在不稳定的特征点,在JPEG压缩与尺度攻击下,其复原水印质量要略低于所提技术。文献[13]则是通过提取靠近载体图像中心且互不重叠的特征区域,以此来提取鲁棒特征,但是,其提取的矩形特征区域也是采用固定的值来构建的,不能很好地适应图像内容的变化,且Harris算子提取的结果存在一定数量的伪特征点,使其椒盐噪声与旋转等攻击的鲁棒性较低。
表1 几何变换类型
表2 三种算法的鲁棒性测试结果
综上所述,虽然文献[13]的水印不可感知性最高,但其对几何攻击的鲁棒性较低,尤其是噪声与角度旋转攻击。文献[14]在噪声与旋转攻击下的鲁棒性要优于所提水印方案,但其不可感知性要低于所提方案。可见,所提方案不仅具有与文献[13]的相近水平的水印视觉隐秘性,而且还具有很好的抗几何失真能力。因此,所提水印方案较好地平衡了不可感知性与抗几何失真能力,总体上要优于其他四种水印技术。
3 结 语
为了兼顾水印方案的鲁棒性与视觉隐秘性,本文提出了设计了二代Bandelet变换耦合稳定特征检测的鲁棒图像水印算法。利用多尺度SIFT方法来建立稳定特征点检测机制,使其在多种攻击下仍然可以获取图像的稳定特征点,有助于实现水印嵌入与检测的再同步。引入尺度空间理论,并稳定特征点为中心,建立局部特征不变区域,增强其对尺度变换的稳健性;通过选择鲁棒特征区域,基于水印嵌入方法,将加密后的二值水印隐藏到鲁棒区域对应重要的Bandelet系数中,完成水印嵌入。测试数据显示了所提技术具备较高的不可感知性与抗几何攻击能力。
由于所提算法是选择部分鲁棒区域作为水印嵌入位置,限制了水印容量,而且采用了SIFT变换,增加了算法的时耗。后续将对所提算法进行优化,在兼顾不可感知性与鲁棒性的同时,尽可能降低算法的时耗,以提高效率。