基于SIFT和Harris角点检测的鲁棒可逆水印算法

未命名 08-27 阅读:106 评论:0
基于sift和harris角点检测的鲁棒可逆水印算法
技术领域
:1.本发明涉及信息隐藏,数字水印
技术领域
:,特别涉及一种基于sift和harris角点检测的鲁棒可逆水印算法。
背景技术
::2.多媒体信息的广泛应用,使得在网络传输和共享平台使用下图像版权问题日益突出。为解决这个问题,数字水印技术应运而生。可逆水印技术是一个属于数字水印技术的新兴分支,被应用在如医学、遥感和军事等特殊领域,其技术要求水印在被提取后,载体图像能够完全被恢复。对可逆图像水印技术而言,抗几何攻击算法研究是极富挑战性的工作之一,主要原因在于几何攻击破坏了水印信息与载体图像之间的同步关系,使水印信息的检测变得十分困难。基于特征的水印方法是目前抗几何失真的鲁棒水印方法之一,它将水印位置与图像内容绑定在一起,而不是与图像坐标绑定在一起,以便水印检测能没有同步误差地被执行。3.基于图像特征的水印方法是目前较有效的抗攻击鲁棒水印方法。朱等人(朱丹丹,吕鲤志.基于伪zernike矩和contourlet变换的抗几何攻击图像水印算法[j].计算机科学,2016,43(06):131-134)运用sift算法提取载体图像特征点,估计受攻击载体图像的仿射参数并进行校正,提取出水印虽具有较高鲁棒性,但其运行效率低。berchtold等人(berchtoldw,schaferm,steinebachm.maximalstableextremalregionsforrobustvideowatermarking[j].electronicimaging,2017,2016(8):1-8)提出使用mser(maximalstableextremalregions)提取感兴趣区域构建鲁棒水印,虽使用mser保证选取区域具有一定鲁棒性,但该方法运用在医学图像则无法完全找到精确的实质区域进行有力保护。[0004]不同于大部分可逆水印算法,李智等人(李智,周旭阳,殷昕旺等.基于深度残差网络的医学图像鲁棒可逆水印算法[j].贵州大学学报(自然科学版),2020,37(03):58-68)提出了一种基于深度残差网络(resnet)的鲁棒可逆水印算法。该算法是通过原始图像的深层特征点找出适合水印嵌入的最佳强度,将水印自适应嵌入到特征区域。在提取水印时,使用聚类算法等分类算法实现水印的提取。[0005]上述方法在实现可逆图像水印的基础上,大多存在运行效率低,水印嵌入难度大以及鲁棒性、抗攻击能力较弱的问题。本发明在研究大量资料的基础上,提出基于图像归一化技术,并结合sift和harris角点检测,实现鲁棒可逆水印嵌入。技术实现要素:[0006]发明目的:针对现有技术中存在的问题,本发明公开一种基于sift和harris角点检测的鲁棒可逆水印算法,降低了水印嵌入的难度,并提高可逆水印的鲁棒性和抗攻击能力。[0007]技术方案:本发明公开一种基于sift和harris角点检测的鲁棒可逆水印算法,包括有以下步骤:[0008]步骤1:获取待处理图像,对图像进行归一化处理,得到归一化图像nf;[0009]步骤2:在归一化图像nf中进行角点检测,采用harris算法与sift算法分别检测图像中的关键点,再取出共同的关键点作为嵌入水印的最终角点集r;[0010]步骤3:按序选取角点集r中的一个角点区域,构建所述角点区域图像的直方图,找到零点z和峰值点p;[0011]步骤4:p《z时,按照由上到下、由左到右的顺序,对图像中的各个像素点进行扫描,选取次峰值点和次零点之间的像素用于水印嵌入;若p》z,按照由上到下、由右到左的顺序,对图像中的各个像素点进行扫描,选取次峰值点和次零点之间的像素用于水印嵌入;[0012]步骤5:将水印信息w进行arnold变换得到w′,再将其转变为一维二进制序列sk,并将其顺序嵌入各个像素点的灰度值vij,则v′ij=vij+sk;[0013]步骤6:重复执行步骤3到步骤5,直至角点集r中所有角点区域均被处理,水印嵌入完成,并得到嵌入水印后的图像。[0014]进一步地,所述步骤2中确定最终角点集r的过程为:[0015]步骤2.1:首先进行初始化操作,对角点检测过程中的模版大小进行设定;[0016]步骤2.2:利用harris角点检测出角点集r1,再利用sift特征点检测出角点集r2;[0017]步骤2.3:计算角点集r2中角点圆形区域γ,获得各区域的纹理特征,按照纹理的重要性,对角点集r2中各角点进行从大到小排列;从纹理最大的角点r2-max开始,在其圆形区域γ2-max内删除无用的角点;[0018]步骤2.4:在除r2-max外的角点集r2内,继续选择纹理最大的角点进行判断,直到所有角点判断完毕后,再根据与γ域内质心的距离取得新的角点集r3;[0019]步骤2.5:取角点集r1与角点集r3的共同角点集作为最终角点集r。[0020]进一步地,所述步骤2.3中在其圆形区域γ2-max内删除无用的角点,具体操作为:[0021]假设角点集r2中的某个角点c圆心为(xc,yc),圆形区域γ半径为r,γ的质心为(x0,y0),具体表示为:[0022][0023][0024]角点c圆心与圆形区域γ之间的距离dist表示为:[0025][0026]设d为阈值,若dist≤d,则取此角点,反之则删除该角点。[0027]进一步地,所述步骤4中当p《z时,选取次峰值点和次零点具体操作为:[0028]当p《z时,次峰值点为p+1;次零点为:[0029]1)从左到右,若在峰值点右侧第一次出现两个及以上零点,则以第二个零点为零点z,第一个零点作为次零点z-1;[0030]2)从左到右,若在峰值点右侧第一次出现一个零点,则以零点邻近左侧一位置作为次零点z-1,出现的零点即为零点z;[0031]3)从左到右,若在峰值点右侧无零点,则以最小值作为零点z,其左邻近一位置作为次零点z-1;[0032]当各个像素点的灰度值vij》z-1或vij《p+1时,vij保持不变;否则vij=vij+1,即:[0033][0034]进一步地,所述步骤4中当p》z时,选取次峰值点和次零点具体操作为:[0035]当p》z时,次峰值点为p-1;次零点为:[0036]1)从右到左,若在峰值点左侧第一次出现两个及以上零点,则以第二个零点为零点z,第一个零点作为次零点z+1;[0037]2)从右到左,若在峰值点左侧第一次出现一个零点,则以零点邻近右侧一位置作为次零点z+1,出现的零点即为零点z;[0038]3)从右到左,若在峰值点左侧无零点,则以最小值作为零点z,其右邻近一位置作为次零点z+1;[0039]当各个像素点的灰度值vij《z+1或vij》p-1时,vij保持不变;否则vij=vij-1,即:[0040][0041]进一步地,所述步骤5中对传统的arnold变换进行改进,改进公式如下:[0042][0043]其中,c和d为随机生成的置乱次数,m表示图像大小,n为图像的高度或宽度,原始像素坐标(x,y)经过变换arnold变换后,得到变换后的坐标为(x′,y′)。[0044]进一步地,对于零点z和峰值点无需以密钥的形式保存。[0045]进一步地,还包括水印提取方法,具体包括如下步骤:[0046]步骤8.1:对待提取水印图像进行归一化处理,得到归一化图像nf′;[0047]步骤8.2:归一化图像nf′进行直方图变换,得到嵌入水印时零点z和峰值点p的值;[0048]步骤8.3:利用harris角点检测出角点集r1,再利用sift特征点检测出角点集r2,取角点集r1与角点集r2的共同角点集作为最终角点集r;[0049]步骤8.4:对角点集r构成的每个角点区域图像进行逐行扫描,选取次峰值点和次零点之间像素用于水印提取;[0050]步骤8.5:对提取的水印信息i′进行置乱的逆运算,得到最终的水印信息i;[0051]步骤8.6:对图像进行恢复,即可得到原始图像;[0052]进一步地,所述步骤8.4中选取次峰值点和次零点之间像素具体包括:[0053]根据零点z和峰值点p之间的关系确定次峰值点和次零点之间像素,具体为:[0054]1)若p《z,若各个像素点的灰度值vij=p+1或vij=p+2,则说明该点为水印信息嵌入的像素点;当vij=p+1时,提取的水印信息i′为0,且vij保持不变;当vij=p+2时,提取的水印信息i′为1,且令vij=vij-1,即:[0055][0056][0057]2)若p》z,若vij=p-1或vij=p-2,则说明该点为水印信息嵌入的像素点;当vij=p-1时,提取的水印信息i′为0,且vij保持不变;当vij=p-2时,提取的水印信息i′为1,且令vij=vij+1,即:[0058][0059][0060]进一步地,所述步骤8.6中对图像进行恢复具体操作如下:[0061]在p《z时,当各个像素点的灰度值vij》z-1或vij《p+1时vij保持不变,否则vij=vij-1,然后按照从上到下、从左到右的顺序重新排列,即可得到原始图像;[0062]在p》z时,当vij》p-1或vij《z+1时vij保持不变,否则vij=vij+1,然后按照从上到下、从右到左的顺序重新排列,即可得到原始图像。[0063]有益效果:[0064]本发明鲁棒可逆图像水印算法在提取出水印后能完全恢复出原载体图像,实现了算法可逆。在水印嵌入时,首先对原始图像进行归一化,然后通过harris角点检测和sift两种算法得到特征点,取出这两种算法检测到的相同特征点作为嵌入对象,再通过这些点对应区域构造直方图,最后在次峰值点处嵌入置乱后的水印信息生成含水印图像。该算法不仅实现水印的较高不可见性,同时也提高了水印的抗攻击能力。利用尺度不变特征转换sift解决harris算法不具有尺度不变性的问题,并且针对sift算法具有多量性,就算只有单个物体,也能检测出大量的关键点,而由此可能导致最终通过两种算法得到的共同角点集的角点区域会产生重合,并且大量的角点也会加大水印嵌入的难度。因此为了保证提取的角点具有更好的抵抗性,进一步的对角点集进行筛选,降低了水印嵌入的难度。附图说明[0065]图1为本发明水印嵌入流程图;[0066]图2为本发明实施例原始载体图像;[0067]图3为本发明实施例的水印图像。具体实施方式[0068]下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。[0069]本发明公开一种基于sift和harris角点检测的鲁棒可逆水印算法,包括水印嵌入与水印提取部分,水印嵌入部分包括有以下步骤:[0070]步骤1:获取待处理图像,对图像进行归一化处理,得到归一化图像nf。[0071]图像归一化算法根据图像本身特征来获取图像的旋转、平移和缩放参数,按照一种标准形式对图像进行几何变换。如果把水印嵌入到归一化后的图像中,就能保证图像发生几何攻击后水印所在的区域不变,从而也保证了嵌入水印对几何攻击的鲁棒性。为使归一化过程简单化,把仿射变换矩阵分解为3个简单变化矩阵相乘的形式:[0072][0073]其中,α,β,δ∈r,φ∈(0,π]。从右至左,分别把3个变换矩阵称之为图像的剪切、缩放与旋转变换。[0074]步骤2:在归一化图像nf中进行角点检测,采用harris算法与sift算法分别检测图像中的关键点,再取出共同的关键点作为嵌入水印的最终角点集r。[0075]步骤2.1:首先进行初始化操作,对角点检测过程中的模版大小进行设定。模板是根据需要建立的一个具有某种特性的小的二维矩阵。根据角点在图像边缘中的局部特征建立的,反映了图像边缘局部点阵组合的特性。这里采用4×4像素的模板。[0076]步骤2.2:利用harris角点检测出角点集r1,再利用sift特征点检测出角点集r2。[0077]harris角点检测受到信号处理中自相关函数的启发,是一种基于信号的特征点提取算子的角点检测算法。其基本思想是通过利用局部窗口在图像上进行移动,来判断灰度是否发生较大的变化。当窗口发生移动时,滑动前与滑动后对应的窗口中的像素点灰度变化分为三种情况:当在平坦区域时,窗口向任意方向移动,无灰度变化;在边缘区域时,沿着边缘方向移动,无灰度变化;在角点区域时,沿着任意方向移动,有明显灰度变化。[0078]根据上述算法思想,可以构建数学模型,图像窗口平移[u,v]产生灰度变化e(u,v)为:[0079][0080]在上式中,i(x,y)表示窗口移动前的灰度值,i(x+u,y+v)表示窗口移动后的灰度值;而w(x,y)是一种对图像进行加权的窗口函数,根据像素的不同,该函数可以赋予图像不同的权重,称为高斯窗口。将上式进行泰勒展开并进行化简,当窗口距离移动很小时,e(u,v)可近似为一个二次项函数:[0081][0082]其中,矩阵m是一个2x2的对角矩阵,可由图像i(x,y)的偏导ix,iy求得,并将其进行对角化:[0083][0084]λ表示矩阵m的两个特征值。而二次项函数本质上为一个椭圆,椭圆方程可表示为:[0085][0086]对该椭圆进行分析,可知椭圆的扁率和尺寸由λ1,λ2决定,这两个特征值表示了每个像素点的变换激烈程度,而椭圆的方向由特征向量决定。将椭圆函数的特征值和特征向量与像素点灰度变化的区域进行比较,可得到如下关系:当λ1>>λ2或λ2>>λ1时,对应图像中的边缘区域;当两个特征值λ1,λ2较小且近似相等时,对应图像中的平坦区;而在两个特征值λ1,λ2较大且近似相等时,对应图像的角点区域。[0087]但在实际运算时,并不是直接计算具体的特征值,而是引入角点响应函数r,其计算公式为:[0088]r=detm-k(tracem)2[0089]其中,detm为矩阵m的行列式,tracem为矩阵m的迹,k是人为设置的经验常数。我们根据r是否大于0,判断该点是否为角点:当r为大数值时,若r》0则为角点,若r》0则为边缘区域;当r为小数值时,则该区域为平坦区。[0090]harris算法虽然具有旋转不变性,但其仍存在不足之处。harris算法的核心是使用窗口去检测角点,当图像被放大时,使用同样的窗口则有可能无法检测到角点,即harris算法不具有尺度不变性。而尺度不变特征转换sift(scale-invariantfeaturetransform)可以解决该问题。因此,本发明将采用harris算法与sift算法分别检测图像中的关键点,再取出共同的关键点作为嵌入水印的角点集。[0091]首先需要对尺度空间进行极值检测,通过搜索所有尺度上的图像位置,使用高斯函数来识别潜在关键点,这些关键点往往具有尺度不变性和旋转不变性。为了在不同的尺度空间上使用不同的窗口检测极值点,需要使用尺度空间滤波器。假设一个图像的尺度空间l(x,y,σ),其可以通过原始图像i(x,y)与一个可变尺度的2维高斯函数g(x,y,σ)的卷积运算表示,即:[0092]l(x,y,σ)=i(x,y)*g(x,y,σ)[0093]其中,2维高斯函数g(x,y,σ)为:[0094][0095]在上式中,尺度空间因子σ决定了图像模糊的程度。接着,采用高斯函数对图像进行模糊以及降采样处理,构建图像的高斯差分金字塔。其构建过程如下:首先将图像扩大一倍,在扩大的图像的基础之上构建高斯金字塔;然后对该尺寸下图像进行高斯模糊,几幅模糊之后的图像集合构成了一个octave;接着对该octave下选择一幅图像进行下采样,长和宽分别缩短一倍,图像面积变为原来四分之一;将其作为下一个octave的初始图像,以此类推完成所有八度构建,得到高斯金字塔;最后,将每个octave中相邻两层相减得到高斯差分金字塔。通过高斯差分金字塔计算dog,将图像中的像素点与其周围的八邻域以及在尺度空间中的上下两层中相邻的点进行比较,在不同的尺度空间中搜索局部最大值。[0096]其次,进行关键点定位,其选择的依据是它们的稳定程度。在每个候选的位置上,确定其位置和尺度。由于dog对噪声和边缘比较敏感,因此在上面高斯差分金字塔中检测到的局部极值点需经过进一步的检验才能精确定位为特征点。使用尺度空间的泰勒级数展开来获得极值的准确位置,将低对比度和边界的关键点去除后,得到感兴趣的关键点。[0097]为了实现旋转不变性,需要进行关键点方向的确定。对于任一关键点,我们采集其所在高斯金字塔图像以r为半径的区域内所有像素计算梯度方向与赋值,并统计所有梯度方向对应的赋值和,作出关键点周围邻域梯度方向直方图。梯度方向直方图中最高的bin对应的方向即定义为该关键点的主方向,获得图像关键点主方向后,每个关键点都具有位置(x,y)、尺度σ、方向θ三个信息。最后,为了使关键点不受光照、视角等变化的影响,对关键点进行特征描述,以便于提高特征点正确匹配的概率。[0098]步骤2.3:计算角点集r2中角点圆形区域γ,获得各区域的纹理特征,按照纹理的重要性,对角点集r2中各角点进行从大到小排列;从纹理最大的角点r2-max开始,在其圆形区域γ2-max内删除无用的角点。[0099]步骤2.4:在除r2-max外的角点集r2内,继续选择纹理最大的角点进行判断,直到所有角点判断完毕后,再根据与γ域内质心的距离取得新的角点集r3。[0100]sift算法具有多量性,就算只有单个物体,也能检测出大量的关键点,而由此可能导致最终通过两种算法得到的共同角点集的角点区域会产生重合,并且大量的角点也会加大水印嵌入的难度。因此为了保证提取的角点具有更好的抵抗性,需要对角点集进行以下筛选。假设角点集r2中的某个角点c圆心为(xc,yc),圆形区域γ半径为r,γ的质心为(x0,y0),具体表示为:[0101][0102][0103]角点c圆心与圆形区域γ之间的距离dist表示为:[0104][0105]设d为阈值,若dist≤d,则取此角点,反之则删除该角点。[0106]步骤2.5:取角点集r1与角点集r3的共同角点集作为最终角点集r。[0107]步骤3:按序选取角点集r中的一个角点区域,构建所述角点区域图像的直方图,找到零点z和峰值点p。对于零点z和峰值点无需以密钥的形式保存。[0108]步骤4:p《z时,按照由上到下、由左到右的顺序,对图像中的各个像素点进行扫描,选取次峰值点和次零点之间的像素用于水印嵌入;若p》z,按照由上到下、由右到左的顺序,对图像中的各个像素点进行扫描,选取次峰值点和次零点之间的像素用于水印嵌入。[0109]当p《z时,次峰值点为p+1;次零点为:[0110]1)从左到右,若在峰值点右侧第一次出现两个及以上零点,则以第二个零点为零点z,第一个零点作为次零点z-1;[0111]2)从左到右,若在峰值点右侧第一次出现一个零点,则以零点邻近左侧一位置作为次零点z-1,出现的零点即为零点z;[0112]3)从左到右,若在峰值点右侧无零点,则以最小值作为零点z,其左邻近一位置作为次零点z-1;[0113]当各个像素点的灰度值vij》z-1或vij《p+1时,vij保持不变;否则vij=vij+1,即:[0114][0115]当p》z时,次峰值点为p-1;次零点为:[0116]1)从右到左,若在峰值点左侧第一次出现两个及以上零点,则以第二个零点为零点z,第一个零点作为次零点z+1;[0117]2)从右到左,若在峰值点左侧第一次出现一个零点,则以零点邻近右侧一位置作为次零点z+1,出现的零点即为零点z;[0118]3)从右到左,若在峰值点左侧无零点,则以最小值作为零点z,其右邻近一位置作为次零点z+1;[0119]当各个像素点的灰度值vij《z+1或vij》p-1时,vij保持不变;否则vij=vij-1,即:[0120][0121]步骤5:将水印信息w进行arnold变换得到w′,再将其转变为一维二进制序列sk,并将其顺序嵌入各个像素点的灰度值vij,则v′ij=vij+sk。[0122]对传统的arnold变换进行改进,改进公式如下:[0123][0124]x′,y′∈{0,1,2,…,n-1}[0125]其中,c和d为随机生成的置乱次数,m表示图像大小,n为图像的高度或宽度,原始像素坐标(x,y)经过变换arnold变换后,得到变换后的坐标为(x′,y′)。[0126]步骤6:重复执行步骤3到步骤5,直至角点集r中所有角点区域均被处理,水印嵌入完成,并得到嵌入水印后的图像。[0127]对于上述的水印嵌入方法,对应的水印提取方法,具体包括如下步骤:[0128]步骤1:对待提取水印图像进行归一化处理,得到归一化图像nf′。[0129]步骤2:归一化图像nf′进行直方图变换,得到嵌入水印时零点z和峰值点p的值。[0130]步骤3:利用harris角点检测出角点集r1,再利用sift特征点检测出角点集r2,取角点集r1与角点集r2的共同角点集作为最终角点集r。该确定最终角点集r和上述的步骤2.3原理相同,此处不做过多赘述。[0131]步骤4:对角点集r构成的每个角点区域图像进行逐行扫描,选取次峰值点和次零点之间像素用于水印提取。[0132]根据零点z和峰值点p之间的关系确定次峰值点和次零点之间像素,具体为:[0133]1)若p《z,若各个像素点的灰度值vij=p+1或vij=p+2,则说明该点为水印信息嵌入的像素点;当vij=p+1时,提取的水印信息i′为0,且vij保持不变;当vij=p+2时,提取的水印信息i′为1,且令vij=vij-1,即:[0134][0135][0136]2)若p》z,若vij=p-1或vij=p-2,则说明该点为水印信息嵌入的像素点;当vij=p-1时,提取的水印信息i′为0,且vij保持不变;当vij=p-2时,提取的水印信息i′为1,且令vij=vij+1,即:[0137][0138][0139]步骤5:对提取的水印信息i′进行置乱的逆运算,得到最终的水印信息i。置乱的逆运算此处不做过多赘述。[0140]步骤6:对图像进行恢复,即可得到原始图像。[0141]在p《z时,当各个像素点的灰度值vij》z-1或vij《p+1时vij保持不变,否则vij=vij-1,然后按照从上到下、从左到右的顺序重新排列,即可得到原始图像;[0142]在p》z时,当vij》p-1或vij《z+1时v保持不变,否则vij=vij+1,然后按照从上到下、从右到左的顺序重新排列,即可得到原始图像。[0143]本发明可逆图像水印算法通常要求在提取水印后原始图像能完整被恢复,因此可用原始图像与提取水印后恢复出的载体图像的相关系数(normalizedcorrelation,nc)进行衡量。[0144]表1无攻击时完整性评估表[0145][0146]表1显示了基于该算法的4种不同类型的含水印图像在不受任何攻击的情况下结果的完整性。结果表明,该算法能够在不受攻击的情况下完全恢复原始图像。这表明该算法是可逆的。[0147]对原载体图像进行归一化特征提取后,利用本算法与文献一(ummuyyam,asifullahk.robustimagewatermarkingtechniqueusingtriangularregionsandzernikemomentsforquantizationbasedembedding[j].multimediatoolsandapplications,2017,76(6):8695-8710)算法进行视觉质量分析,如表2所示。[0148]表2算法视觉质量分析对比结果[0149][0150]该发明算法针对上述原载体图像嵌入水印信息后,其含水印图像的psnr值最可高达52.34db,较文献一算法有更高的视觉质量。另较文献一算法,其含水印图像的ssim值也更高。由表2可见,在嵌入同量水印时,本算法相比文献一算法具有更高psnr和ssim值,这也就阐明通过提出算法将等量水印嵌入到不同类型图像生成的含水印图像具有较高视觉质量,人眼几乎感觉不到含水印图像中水印的存在,平均psnr值高达51.40db。[0151]表3为利用该算法对上述生成的含水印图像进行常规攻击(高斯滤波、jpeg压缩等)后生成的结果数据,其含水印图像psnr值和被提取出水印nc2值均已列出。这里nc2(normalizedcorrelation,nc)作为水印鲁棒性的衡量标准。[0152]表3本算法的常规攻击实验与性能评估表[0153][0154][0155]由表3中nc2结果数据可知,本发明提出算法对抵抗常规攻击具有较高抗攻击能力,可用来客观评价算法鲁棒性能。由此可见,该提出算法能有效抵抗常规攻击,尤其在lena经高斯滤波(3×3,σ=0.3)过滤攻击时,psnr达到44.24db,在受此攻击下其nc2值仍可达0.982,说明提出算法不仅抗攻击能力强,鲁棒性高,而且能较完整提取出水印。[0156]利用提出的算法,对嵌入水印的图像进行几何攻击(旋转、裁剪等),得到表4的数据结果,其生成的含水印图像psnr值和被提取出水印nc2值均已列出。[0157]表4抗几何攻击性能对比结果[0158][0159]根据表4列出结果数据可见,本发明提出算法对几何攻击同样具有较强的抗攻击能力,图像视觉质量较好,整体性能较高。[0160]表5本发明算法与其它算法在视觉质量和鲁棒性方面比较[0161][0162][0163]表5中,10%、30%、70%、90%和100%均指待嵌入水印量占最大水印嵌入量的比重。在嵌入最大嵌入量的10%、30%、70%、90%和100%时,采用nc2来评测生成的含水印图像的抗攻击性能。由表5易分析出,该提出算法在鲁棒性能方面要好于文献二(summuyyam,asifullahk.robustimagewatermarkingtechniqueusingtriangularregionsandzernikemomentsforquantizationbasedembedding[j].multimediatoolsandapplications,2017,76(6):8695-8710)、文献三(r.rajkumar,a.vasuki.reversibleandrobustimagewatermarkingbasedonhistogramshifting[j].clustercomputing,2019,22(3):12313-12323)算法,并且也具有较高ssim和psnr值。由表5显示的结果数据可知,本发明提出的基于不变特征的可逆图像水印技术大大提高了抗攻击鲁棒性能,同时仍具有较高的图像视觉质量。[0164]上述实施方式只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。当前第1页12当前第1页12
技术特征:
1.一种基于sift和harris角点检测的鲁棒可逆水印算法,其特征在于,包括有以下步骤:步骤1:获取待处理图像,对图像进行归一化处理,得到归一化图像nf;步骤2:在归一化图像nf中进行角点检测,采用harris算法与sift算法分别检测图像中的关键点,再取出共同的关键点作为嵌入水印的最终角点集r;步骤3:按序选取角点集r中的一个角点区域,构建所述角点区域图像的直方图,找到零点z和峰值点p;步骤4:p<z时,按照由上到下、由左到右的顺序,对图像中的各个像素点进行扫描,选取次峰值点和次零点之间的像素用于水印嵌入;若p>z,按照由上到下、由右到左的顺序,对图像中的各个像素点进行扫描,选取次峰值点和次零点之间的像素用于水印嵌入;步骤5:将水印信息w进行arnold变换得到w

,再将其转变为一维二进制序列s
k
,并将其顺序嵌入各个像素点的灰度值v
ij
,则v

ij
=v
ij
+s
k
;步骤6:重复执行步骤3到步骤5,直至角点集r中所有角点区域均被处理,水印嵌入完成,并得到嵌入水印后的图像。2.根据权利要求1所述的基于sift和harris角点检测的鲁棒可逆水印算法,其特征在于,所述步骤2中确定最终角点集r的过程为:步骤2.1:首先进行初始化操作,对角点检测过程中的模版大小进行设定;步骤2.2:利用harris角点检测出角点集r1,再利用sift特征点检测出角点集r2;步骤2.3:计算角点集r2中角点圆形区域γ,获得各区域的纹理特征,按照纹理的重要性,对角点集r2中各角点进行从大到小排列;从纹理最大的角点r
2-max
开始,在其圆形区域γ
2-max
内删除无用的角点;步骤2.4:在除r
2-max
外的角点集r2内,继续选择纹理最大的角点进行判断,直到所有角点判断完毕后,再根据与γ域内质心的距离取得新的角点集r3;步骤2.5:取角点集r1与角点集r3的共同角点集作为最终角点集r。3.根据权利要求2所述的基于sift和harris角点检测的鲁棒可逆水印算法,其特征在于,所述步骤2.3中在其圆形区域γ
2-max
内删除无用的角点,具体操作为:假设角点集r2中的某个角点c圆心为(x
c
,y
c
),圆形区域γ半径为r,γ的质心为(x0,y0),具体表示为:具体表示为:角点c圆心与圆形区域γ之间的距离dist表示为:设d为阈值,若dist≤d,则取此角点,反之则删除该角点。4.根据权利要求1所述的基于sift和harris角点检测的鲁棒可逆水印算法,其特征在于,所述步骤4中当p<z时,选取次峰值点和次零点具体操作为:当p<z时,次峰值点为p+1;次零点为:1)从左到右,若在峰值点右侧第一次出现两个及以上零点,则以第二个零点为零点z,
第一个零点作为次零点z-1;2)从左到右,若在峰值点右侧第一次出现一个零点,则以零点邻近左侧一位置作为次零点z-1,出现的零点即为零点z;3)从左到右,若在峰值点右侧无零点,则以最小值作为零点z,其左邻近一位置作为次零点z-1;当各个像素点的灰度值v
ij
>z-1或v
ij
<p+1时,v
ij
保持不变;否则v
ij
=v
ij
+1,即:5.根据权利要求1所述的基于sift和harris角点检测的鲁棒可逆水印算法,其特征在于,所述步骤4中当p>z时,选取次峰值点和次零点具体操作为:当p>z时,次峰值点为p-1;次零点为:1)从右到左,若在峰值点左侧第一次出现两个及以上零点,则以第二个零点为零点z,第一个零点作为次零点z+1;2)从右到左,若在峰值点左侧第一次出现一个零点,则以零点邻近右侧一位置作为次零点z+1,出现的零点即为零点z;3)从右到左,若在峰值点左侧无零点,则以最小值作为零点z,其右邻近一位置作为次零点z+1;当各个像素点的灰度值v
ij
<z+1或v
ij
>p-1时,v
ij
保持不变;否则v
ij
=v
ij-1,即:6.根据权利要求1所述的基于sift和harris角点检测的鲁棒可逆水印算法,其特征在于,所述步骤5中对传统的arnold变换进行改进,改进公式如下:x

,y

∈{0,1,2,...,n-1}其中,c和d为随机生成的置乱次数,m表示图像大小,n为图像的高度或宽度,原始像素坐标(x,y)经过变换arnold变换后,得到变换后的坐标为(x

,y

)。7.根据权利要求1所述的基于sift和harris角点检测的鲁棒可逆水印算法,其特征在于,对于零点z和峰值点无需以密钥的形式保存。8.根据权利要求1至7任一所述的基于sift和harris角点检测的鲁棒可逆水印算法,其特征在于,还包括水印提取方法,具体包括如下步骤:步骤8.1:对待提取水印图像进行归一化处理,得到归一化图像nf

;步骤8.2:归一化图像nf

进行直方图变换,得到嵌入水印时零点z和峰值点p的值;步骤8.3:利用harris角点检测出角点集r1,再利用sift特征点检测出角点集r2,取角点集r1与角点集r2的共同角点集作为最终角点集r;步骤8.4:对角点集r构成的每个角点区域图像进行逐行扫描,选取次峰值点和次零点之间像素用于水印提取;步骤8.5:对提取的水印信息i

进行置乱的逆运算,得到最终的水印信息i;步骤8.6:对图像进行恢复,即可得到原始图像。
9.根据权利要求8所述的基于sift和harris角点检测的鲁棒可逆水印算法,其特征在于,所述步骤8.4中选取次峰值点和次零点之间像素具体包括:根据零点z和峰值点p之间的关系确定次峰值点和次零点之间像素,具体为:1)若p<z,若各个像素点的灰度值v
ij
=p+1或v
ij
=p+2,则说明该点为水印信息嵌入的像素点;当v
ij
=p+1时,提取的水印信息i

为0,且v
ij
保持不变;当v
ij
=p+2时,提取的水印信息i

为1,且令v
ij
=v
ij-1,即:1,即:2)若p>z,若v
ij
=p-1或v
ij
=p-2,则说明该点为水印信息嵌入的像素点;当v
ij
=p-1时,提取的水印信息i

为0,且v
ij
保持不变;当v
ij
=p-2时,提取的水印信息i

为1,且令v
ij
=v
ij
+1,即:+1,即:10.根据权利要求9所述的基于sift和harris角点检测的鲁棒可逆水印算法,其特征在于,所述步骤8.6中对图像进行恢复具体操作如下:在p<z时,当各个像素点的灰度值v
ij
>z-1或v
ij
<p+1时v
ij
保持不变,否则v
ij
=v
ij-1,然后按照从上到下、从左到右的顺序重新排列,即可得到原始图像;在p>z时,当v
ij
>p-1或v
ij
<z+1时v
ij
保持不变,否则v
ij
=v
ij
+1,然后按照从上到下、从右到左的顺序重新排列,即可得到原始图像。

技术总结
本发明公开了一种基于SIFT和Harris角点检测的鲁棒可逆水印算法,包括水印嵌入与水印提取两个部分,水印嵌入方法包括:首先对原始图像进行归一化,然后通过Harris角点检测和SIFT两种算法得到特征点,取出这两种算法检测到的相同特征点作为嵌入对象,再通过这些点对应区域构造直方图,找到零点z和峰值点p,根据零点z和峰值点p之间的大小关系,选择不同的像素用于水印嵌入,嵌入置乱后的水印信息生成含水印图像。水印提取为水印嵌入的逆过程,最终通过逆过程获取水印提取后的原始图像和水印信息。与现有技术相比,本发明结合SIFT和Harris角点检测不仅实现水印的较高不可见性,同时也提高了水印的鲁棒性和抗攻击能力。同时也提高了水印的鲁棒性和抗攻击能力。同时也提高了水印的鲁棒性和抗攻击能力。


技术研发人员:张正伟 黄瑶 叶露露 于艾 樊默 李芬芬 马甲林 陈礼青 金圣华 魏太林
受保护的技术使用者:淮阴工学院
技术研发日:2023.04.20
技术公布日:2023/8/24
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐