CN107067363A - 一种基于像素序关系不变的非盲鲁棒空域图像水印方法 - Google Patents
一种基于像素序关系不变的非盲鲁棒空域图像水印方法 Download PDFInfo
- Publication number
- CN107067363A CN107067363A CN201710253044.9A CN201710253044A CN107067363A CN 107067363 A CN107067363 A CN 107067363A CN 201710253044 A CN201710253044 A CN 201710253044A CN 107067363 A CN107067363 A CN 107067363A
- Authority
- CN
- China
- Prior art keywords
- watermark
- image
- space
- embedded
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/005—Robust watermarking, e.g. average attack or collusion attack resistant
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
本发明属于信息技术领域,具体涉及一种基于像素序关系不变的非盲鲁棒空域图像水印方法,包括版权水印嵌入和版权水印提取检测两部分,其中,版权水印嵌入包括原图像I和水印W的排序、随机选取嵌入水印的位置、嵌入水印、获得公开图像等;版权水印提取检测包括、数据排序、生成水印提取参数、获取二维水印W’、将W和W’按图像方式显示并加以对比,证实版权权益所属;或按既有水印检测方式来确认。本发明通过利用空域图像相对稳定的像素序关系,在图像质量满足的条件下其容量及嵌入深度可以任意调节,能够抵抗常见的图像攻击,具有容量大、鲁棒性强、可抗组合攻击等特点,为多媒体数字作品版权权益保护提供了坚实的技术支持。
Description
技术领域
本发明属于信息技术领域,具体涉及一种基于像素序关系不变的非盲鲁棒空域图像水印方法。通过本方法,可以在图像中嵌入空域鲁棒版权水印以保护数字作品的版权归属。本发明方法充分利用图像相对稳定的像素序关系使其具有较强的鲁棒性,能够抵抗常见的图像处理攻击、歧义攻击以及上述组合攻击,为在社交媒体及网络中的传播的多媒体数字作品版权权益保护提供了坚实的技术支持。
背景技术
随着计算机网络和多媒体技术的迅速发展,图像、音视频等数字作品得到了广泛的应用传播,相关数字作品的版权保护和认证等问题也随之变得极其重要。现代生活中任何用户都可以通过网络便捷地获取到各种数字作品,而如果在没有得到授权许可的情况下,对数字作品加以复制、修改和传播,往往会侵害到数字作品作者的合法权益。
数字水印技术通过对数字作品的数据(空域或变换域系数值)进行一定的修改,将某种信息(如签名、版权标识、序列号等)作为数字水印嵌入其中,能够有效地解决数字作品的版权保护和认证等权益保护管理问题。因此,面向版权保护的数字水印技术一般要求拥有鲁棒性,即指数字作品在经过数字信号处理或者外来攻击之后,嵌入的数字水印仍然具有较好的可检测性或者说仍能够反映出数字作品的版权等方面信息。
一般而言,鲁棒数字水印技术依据其水印嵌入空间不同而分为两类,即空域水印和频域水印。
空域水印是直接在图像空间域上嵌入数字水印,具有水印容量大、算法简单、不可见性、易控等特点。既有的空域水印方法按信息嵌入方式一般分为两种:(1)直接嵌入法,即直接在指定图像像素上与对应的水印图像做嵌入融合,典型算法为LSB算法。这种方式缺乏像素之间的关联关系,因此极易受到噪声、剪切、旋转、仿射变换等攻击方法的影响,导致其中水印信息丢失或者使提取的水印信息与原水印信息失去同步而无法被检测,从而表现出其鲁棒性较差的一面;(2)间接嵌入法,即通过构建某种关系特征如统计关系来嵌入水印信息,这种方式具有明确的像素之间的关联关系,鲁棒性较强,但容量往往较小,典型算法为patchwork算法,其嵌入信息仅仅为1bit。目前尽管可以通过分块采取patchwork算法增加可嵌入信息容量,但仍然极其有限,难以满足实际应用需求。
频域水印是通过某种数学变换将图像数据投射至变换域,然后在变换域上嵌入水印。由于频域系数都在一定程度上与所有图像像素相关联,其特点是计算较为复杂、水印容量较小,但鲁棒性较强。因此,目前常见鲁棒水印均为频域水印。不过,即使从鲁棒性角度来看,当前频域水印算法也往往难以解决几何攻击问题,尤其是鲁棒性与容量取舍的平衡问题。
既有应对方法包括嵌入模版法、嵌入具有自同步特性的水印以及寻找图像特征进行水印同步等。虽然能够部分解决鲁棒性问题,但是仍具有以下不足之处:(1)计算步骤比较复杂、繁琐和难懂,不利于推广使用;(2)缺乏适于各种图像的统一算法,且无法保证嵌入水印的容量;(3)多数方法仅限于嵌入二值水印信息,对于灰度水印,通常效果很不好;(4)既有方法大多只能对抗某一个特定攻击,而对于其它攻击类型甚至组合攻击则无法抵御。
发明内容
本发明的目的是针对现有技术的不足而提供一种基于像素序关系不变的非盲鲁棒空域图像水印方法,通过利用空域图像相对稳定的像素序关系,对既有空域水印方法进行创新设计,使其具有广泛的像素之间的关联,在图像质量满足的条件下其容量及嵌入深度可以任意调节,能够抵抗常见的图像处理攻击、歧义攻击以及上述组合攻击,具有容量大、鲁棒性强、可抗组合攻击等特点,为在社交媒体及网络中的传播的多媒体数字作品版权权益保护提供了坚实的技术支持。
本发明在既有方法的基础上做了如下改进设计,即1)根据数字图像I以及版权数字水印的序关系进行嵌入,并对其嵌入水印后原图像像素值做恰当调整,确保水印嵌入前后的像素总体序关系保持不变;2)随机选取嵌入位置,使得在未知密钥种子和原始数字图像的前提下无法破坏和检测出水印;3)采用数据标准化方法调整像素动态范围以防溢出,同时对直方图中由于嵌入水印形成的人工“空隙”进行隐藏处理,使得基于直方图某些“空隙”特征猜测攻击成为不可能,既无法根据公开图像推测原图像信息,也无法推测出水印。
一般来说,版权水印图像由含有版权特征的徽标图像或文字图像构成。水印信息通常以二值图像方式表示,即像素值取0与1两种数值的图像,记为Wb;也可以灰度图像方式表示,其像素值取值一般在0~255之间,但为确保水印的不可见性,需要将灰度图水印经线性灰度变换至0~5的取值范围,记作Wg。水印图像大小要求一般不大于原始载体图像I并且内容清晰可辨即可。由于本发明方法采取随机选取水印嵌入位置的方法,在嵌入图像后已经呈现随机分布的特性,在不知道随机密钥的情况下无法猜测水印真实位置分布情况。
以下为简单计,除特别声明外,不再赘述:1)由于在本发明方法中二值水印和灰度图水印的嵌入和提取方式均一致,因此,水印统一用W表示,而不区分二值水印还是灰度水印;2)以下涉及到的原始图像、公开图像、攻击者的图像或者水印图像均视为已经将图像由二维矩阵数据按照逐行相连方式而转变为一维数组数据;3)水印嵌入系以一维数组形式进行,故其起始位置start与结束位置end均为一维数组的下标值。
本发明所采用的技术方案:
一种基于像素序关系不变的非盲鲁棒空域图像水印方法,包括版权水印嵌入和版权水印提取检测两部分,其过程如下:
一、版权水印嵌入
(1)原图像I和水印W的排序:将原图像和水印由二维矩阵数据按照逐行相连方式转化为一维数组,并将其按照从小到大的顺序排序,公式如下:
[Ist,Ixu]=sort(I)
[Wst,Wxu]=sort(W)
len_I=length(Ist)
len_W=length(Wst)
其中sort()为排序函数算法;length()为长度函数;Ist、Wst分别为按从小到大顺序排序后的原图像和水印一维数组数据;Ixu、Wxu为Ist、Wst在原始图像数据中的平面坐标信息;len_I和len_W分别为Ist和Wst的数组长度。
(2)随机选取嵌入水印的位置:
根据水印数组长度为len_W、随机种子密钥key1及取值范围为0~1之间的伪随机数生成器函数random(),来随机确定Ist中一个长度为len_W的伪随机一维数组β1(即嵌入位置)。具体步骤如下:
①生成一维伪随机数数组
随机数范围可以在1~len_I中任意选取,只要选取的起点start和终点end之间间隔大于len_W(即end–start+1>len_W)即可。当start=1,end=lenI,则所选范围为整个Ist;其它情况则只选用了Ist的一部分。具体公式如下:
β1=random(key1,len_W)×(end-start+1)+start
②取整
由于位置坐标是整数,需要按以下公式对β1进行取整,其中round()为对数组内每个元素实施四舍五入方法,即:
β1=round(β1)
③排序
将上述β1按从小到大顺序排序,最后结果作为嵌入位置信息β1:
β1=sort(β1)
其中sort()为排序函数算法,函数内变量β1为上一步骤生成的一维随机数嵌入位置序列。
(3)嵌入水印
按照下式,根据嵌入深度α1和嵌入位置信息β1将水印信息嵌入:
Ist'(β1)=Ist(β1)+α1×Wst
(4)调整Ist'的部分像素值,确保嵌入前后的总体序不变,具体方法如下:
①计算Ist'和Ist的差值:
diff_I=Ist'-Ist
②根据diff_I寻找嵌入不同水印数值的分界点。
a.对于二值水印,则从diff_I开头直接找到首次取值等于α1×1的数组下标i1即可,得到的分界点div为{1,i1,len_W}。
b.对于灰度水印,由于取值范围为[0,5],故从diff_I开头分别寻找首次取值为α1×1、α1×2、……、α1×5的数组下标i1,i2,i3,i4,i5,最后得到的分界点div为{1,i1,i2,i3,i4,i5,len_W}。
③根据嵌入水印分界点div进行以下操作来维持原序关系:
对于Ist'中位置坐标在1~i1之间的数值其实际嵌入水印为0,故对此部分不做处理;对于坐标在i1~i2(二值水印的i2实际上为len_W)的数值其实际嵌入水印为1,对这里的处理是加上1×α1,具体公式为:
Ist'(i1~i2)=Ist'(i1~i2)+α1×1-diff_I(i1~i2)
以此类推,对于灰度水印,需要对i2~i3,i3~i4,i4~i5之间的数据重复以上操作,直到坐标在i5~len_W之间的数据加上α1×5为止。
(5)直方图人工“空隙”调整:
按序嵌入不同像素值的水印,Ist'的直方图在嵌入水印数据的分界点div边侧将出现明显的人工“空隙”,即若干连续像素值出现的频次值均为0,表现在直方图上即为若干连续像素值纵向频次分布子图在横向上的整体后移,从而暴露嵌入位置信息。为避免攻击者被利用,故而采取将“空隙”随机分散的方法来从视觉上隐藏这些“空隙”。具体方法如下:
①确定范围:
对于某个具体“空隙”,可选取其左侧的若干像素值进行适当的右移以分散原密集的“空隙”。由步骤(4)可知第一个分界点位置为div中的i1,由于嵌入强度为α1,可知直方图“空隙”宽度为alpha=α1-1。将“空隙”左右两侧标记为left和right,则初始left=i1-1,right=i1,其对应的像素值即为Ist'(left)和Ist'(right)。
②人工空隙隐藏算法
为了避免本步骤处理时影响后续像素值及“空隙”的分布规律,处理时一律从本步骤处理“空隙”的左侧选取数值操作:
a.选取一个1~10之间的随机整数beta;
b.若Ist'(left)-beta频次为0或Ist'(left)-beta+1频次为0,则令beta=beta+1,重复直到Ist'(left)-beta和Ist'(left)-beta+1的频次都不为0为止;其中若Ist'(left)-beta<min(Ist'),则“空隙”已经移位至Ist'的最左侧,跳出循环。
c.将“空隙”左侧的beta个像素值纵向频次分布子图在横向上右移alpha-1,亦即将Ist'中所有像素值在Ist'(left)-beta到Ist'(left)之间的数据均增加alpha-1,具体公式如下。
Ist'(X)=Ist'(X)+alpha-1
and Ist'(left)-beta+1≤Ist'(X)≤Ist'(left)
d.更新相关数据:
经以上步骤处理后此时移位后“空隙”的宽度为alpha=alpha-1,移位后“空隙”左右的坐标为right=right-beta-1,left=right-alpha-1。
e.重复执行步骤a、b、c,直到alpha=1为止,即直方图“空隙”循环多次移位后的宽度为1,此时原来较大的“空隙”已经分散到直方图中。
③重复①、②,直到所有Ist'的分界点“空隙”(即i1~i5左右的部分数据)都处理完毕。这时,在图像灰度直方图上表现为原先集中的宽度较大的“空隙”被分散到直方图其它位置,成为分散的、宽度为1的窄小“空隙”,使得无法分辨这些空隙是自然存在的还是嵌入造成的,基本掩盖了嵌入位置(或分界点位置)。
(6)数据标准化:
注意到水印嵌入前后数据像素数据幅值变化范围有了改变,若此时Ist'最大值超出255,出现数据溢出,则需要采取数据标准化措施。这里,选用min-max标准化方法。具体算法如下。
计算:Amax=max(Ist');Amin=min(Ist')
其中:min()为取最小值函数,max()为取最大值函数,则标准化范围{Amin’,Amax’}可设置为{0,255},即Amax’=255;Amin’=0。
按下式对Ist'进行数据标准化处理,得:
一般情况下图像数据为整数,需要按以下公式对其进行取整。其中,round()为对数组内每个元素按四舍五入方法取整,即:
Ist'=round(Ist')
(7)对直方图人工“空隙”的进一步视觉隐藏处理:
由于经过上述步骤处理后,直方图存在众多分散的宽度为1的不连续人工“空隙”,因此当原载体图像直方图整体缺少或没有“空隙”时需要做进一步的视觉隐藏处理以填充、掩盖这些人工“空隙”;否则,可以跳过该步骤。
设accounts()为计算某像素值出现频次的函数,为了避免本步骤处理时影响后续像素值及“空隙”的分布规律,处理时一律从本步骤处理“空隙”的左侧选取数值操作,具体过程如下:
遍历Ist'中各个像素值,若某个像素值X的对应频次accounts(X)为0,或者accounts(X)<(accounts(X-1)+accounts(X+1))/4,则选取此像素值左右两侧相邻的5个像素值,将Ist'中这些像素值各取1/10将其赋值为像素值X,这只需要将相应量的像素值增加一个与X的差值即可。该步骤的具体处理程序可参考如下matlab代码,但不限定其实际程序语言使用。
其中:上述像素值X=i可以按Ist'从头到尾扫描来完成这一遍历检测过程。注意到该过程将改变Ist'中的元素次序,因此完成后需要对更新的Ist'重排序以获得保持原序关系的Ist'。
(8)获得公开图像I’:
①将Ist'按照原始图像顺序坐标信息Ixu根据下式将其重新排列,可以恢复图像一维数组空间顺序:
I'(Ixu)=Ist'
②将一维数组按照图像行列大小逐行抽取,可以得到二维公开图像I’。
二、版权水印提取检测
本方法为非盲水印,因此需要原始载体图像,另外由于嵌入过程中已经处理好了随机密钥和水印位置的关系,因此提取过程很简单。具体提取与检测方法详细描述如下:
(1)数据排序:将原始载体图像I和公开图像I'由二维数据逐行相连转化为相应的一维数组,并将其按照从小到大的顺序排序,公式如下:
I=sort(I)
I'=sort(I')
其中sort()为排序函数算法;将原始载体图像和公开图像的一维数组形式I、I'分别按从小到大顺序排序。
(2)生成水印提取参数KEY
a)由嵌入过程中Key1、end、start、len_W等参数计算β1:
β1=random(key1,len_W)×(end-start+1)+start
b)由版权水印图像W逐行连接转换为一维数组并排序得到对应的水印位置信息Wxu。
c)依公式KEY(Wxu)=β1按Wxu重排列β1得到提取水印位置KEY。
d)由KEY分别在原始图像和公开图像中提取对应位置的像素数据:
sub_I=I(KEY)
sub_I'=I'(KEY)
(3)将获取的数据进行相减处理,提取一维水印信息:
watermark=sub_I'-sub_I
(4)然后将watermark一维数组数据按水印图像大小逐行抽取,得到二维水印W’。
(5)将W和W’按图像方式显示并加以对比,根据两者相似性,并由此证实版权权益所属;或按既有水印检测方式来确认,例如计算两者相似度,两者相关系数,等等,均可达到同一目的。
本发明方法的安全性:
①水印在公开图像中的位置由随机密钥、伪随机数函数算法以及排序函数算法、原始图像以及水印图像内容等元素共同决定,单一元素的公开不会影响其安全性。
②本发明方法具有较强鲁棒性:
a.对于缩放、噪声、jpg压缩、平移变换、单一旋转攻击以及小范围的涂抹覆盖攻击和裁剪来说,由于都只是破坏了少量的像素值,而大部分的像素值都没有发生变化,尤其是图像的基本序关系依然存在,因而只要凭借原始图像和密钥就可以将水印高质量的恢复出来。
b.对于滤波类攻击,虽然一定程度上破坏了具体的像素值,但是其灰度直方图基本结构和相对序关系并没有被破坏。因而针对此类攻击其水印检测也可取得较好的结果。
c.对于组合类攻击,理由同上,破坏小则无法破坏水印和基本序关系和直方图结果;若破坏较大则导致图像质量大幅下降,而失去利用价值。
d.本方法也可以抵御歧义攻击,具体是原始载体图像能够根据密钥在攻击者宣称的图像和攻击者的公开图像上均能提取出来完整且清晰的版权水印信息。并且还可以根据攻击者密钥提取攻击者的水印;反之,由于序关系基本恒定,若以攻击者的“原始图像”为参照,只能从实际原始图像中提取质量低劣、部分内容反相(黑白翻转)的水印图片。
与现有技术相比,本发明的效果在于:
1、鲁棒性较强:本方法采用非盲水印检测技术,水印嵌入过程具有明显的时序特征,大量实验表明,在各种组合攻击下依然能够有效提取水印信息,能够有效地抗击歧义攻击以及各种组合攻击,充分实现版权权益的保护。
2、图像质量与嵌入深度(鲁棒性与不可见性)的高度可适应性:对不同大小水印嵌入的实验表明,只要水印图像本身具有可分辨的清晰结构,水印净荷载大小对图像质量和鲁棒性的影响非常有限;嵌入深度与图像质量具有近似反比关系,但嵌入深度大于某个阈值之后对水印鲁棒性几乎没有影响,这种特性使得本方法中鲁棒性与不可见性具备高度适应性。
3、具有高度安全性:本方法采用非盲水印检测技术,其安全性在算法公开的条件下依赖于原始载体信息、水印信息以及嵌入位置的随机种子密钥信息,在未知这些信息的前提下,任何基于容量以及嵌入位置的蛮力攻击都是徒劳的。
附图说明
图1为做为载体的原始lena数字图像I。
图2为版权水印图像海南大学校徽灰度图W。
图3为原始载体图像I的直方图。
图4为初步嵌入水印后未做序保持处理的图像直方图。
图5为对图4进行同向调整后的直方图。
图6为对图5进行分散“空隙”操作后的直方图。
图7为对图6进行数据标准化处理后的直方图。
图8为对图7进一步隐藏“空隙”处理后的直方图(即公开图像I’的直方图)。
图9为嵌入水印的公开图像I’。
图10为正常提取的版权水印。
图11为对公开图像I’进行旋转攻击。
图12为在图7中提取的版权水印。
图13为对公开图像I’进行缩放攻击。
图14为在图9中提取的版权水印。
图15为对公开图像I’进行高斯白噪声攻击。
图16为在图11中提取的版权水印。
图17为对公开图像I’进行椒盐噪声攻击。
图18为在图13中提取的版权水印。
图19为对公开图像I’进行JPG压缩。
图20为在图15中提取的版权水印。
图21为对公开图像I’进行行平移攻击。
图22为在图17中提取的版权水印。
图23为对公开图像I’进行裁剪并补0攻击。
图24为在图19中提取的版权水印。
图25为对公开图像I’进行裁剪并补随机数攻击。
图26为在图21中提取的版权水印。
图27为对公开图像I’进行随意裁剪+涂抹攻击。
图28为在图23中提取的版权水印。
图29为对公开图像I’进行旋转+裁剪补0区域+缩放攻击。
图30为在图25中提取的版权水印。
图31为对公开图像I’进行中值滤波。
图32为在图27中提取的版权水印。
图33为对公开图像I’进行线性平滑滤波。
图34为在图29中提取的版权水印。
图35为攻击者精心构造的“原始图像”I*。
图36为攻击者嵌入的水印W*(黑底白字“19”)。
图37为攻击者嵌入自己的水印得到的“公开图像”I*’。
图38为原图像I拥有者从攻击者“原始图像”I*中提取的版权水印。
图39为原图像I拥有者从攻击者“公开图像”I*’中提取的版权水印。
图40为原图像I拥有者从攻击者“公开图像”I*’中提取的攻击者水印。
图41为攻击者由I*从公开图像I’中提取的版权水印。
图42为攻击者由I*从公开图像I’中提取的攻击者水印。
图43为攻击者由I*从原始载体图像I中提取的攻击者水印。
图44为攻击者由I*从原始载体图像I中提取的版权水印。
具体实施方式
下面结合实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。下列实施例中未注明具体条件的实验方法,通常按照常规条件,或按照制造厂商所建议的条件。
(1)直方图人工痕迹的隐藏:假设某数字作品Lena如附图图1所示,版权灰度图水印为海南大学校徽灰度图如图2所示,嵌入版权水印后经过一系列相应处理得到公开图像,如图9所示。原图像直方图如图3所示,嵌入水印后未做序保持调整时如图4所示,经过对其序做相应保持处理后的直方图如图5所示,可以看出,此时具有明显的人工痕迹即人工“空隙”。按照前述步骤所对应的算法进行隐藏调整后,其直方图依次如图6~图8所示,人工痕迹已难以辨识。
(2)抗击各种攻击的能力:附图11~图34列举了一些对公开图像进行攻击和提取相应水印信息的结果。事实上,在图像质量下降幅度不大的前提下大部分攻击并未改变结果图像的序关系,大部分数据的改变都很小,因而几乎都可以提取出完整的水印,具有超强的水印检测与提取鲁棒性。
(3)抗击歧义攻击:附图35~图44列举了一种歧义攻击的结果,其中攻击者利用公开图像旋转并裁剪为零部分的方法来构造一副“原创”图像以达到歧义攻击的目的。可以看到,经处理后得到的任何“原创”图像都含有原始水印信息,反之,从原始图像提取出来的水印信息只能是内容反相且质量低下的水印图像。
实施例
下面以数字图象处理中常用的lena图像(大小为512*512)(见图1)为例进一步说明具体的实施结果。版权鲁棒水印选取海南大学校徽灰度图(大小为64*64)(见图2)。
具体的实验操作环境为操作系统windows7,仿真实验软件为matlab7.0。
其后的图像质量评判标准为图像处理中常用的PSNR即峰值信噪比(一般认为PSNR在30dB以上的图像质量就不错了),水印质量的评判标准为相关系数(即相似指数,数值越小则与原水印差异越大,最佳为1即完全相似)。
首先将原图像和水印均变换为一维数组数据,然后根据自定义的随机数种子生成大小等于64*64的一组随机数,并予以排序处理,然后根据公式(1)Ist'(β1)=Ist(β1)+α1×Wst嵌入,其中α1定为5;嵌入后重构得到含印图像(图3),此时水印是不可见的,此时公开图像质量为PSNR=41.409dB,公开图像与原始图像的相关系数为0.9996。
其中附图3~图8为嵌入过程中每一步调整后的直方图变化情况:图3为原始载体图像I的直方图,图4为初步嵌入水印后的直方图,进行同向调整后得到图5,进行分散“空隙”操作后得到图6,此时由于数据可能大于255而出现溢出,因此进行数据标准化处理得到图7,然后进行掩盖“空隙”处理后得到图8,即公开图像I’(图9)的直方图。
图10为正常提取的水印,由于公开图像进行了标准化处理,因此正常提取的水印有些许的不同,但总体上是不变的。图11~图34分别为一些对公开图像进行攻击和提取相应水印信息的结果,可以看出鲁棒性十分好。这些攻击后提取的水印质量效果如下表所示:
攻击类型 | 提取水印的相关系数 |
旋转攻击 | 0.70906 |
缩放攻击 | 0.87057 |
高斯白噪声攻击 | 0.87951 |
椒盐噪声攻击 | 0.88726 |
JPG压缩 | 0.88323 |
平移攻击 | 0.8686 |
裁剪补0攻击 | 0.91109 |
裁剪补随机数攻击 | 0.91809 |
随意裁剪+涂抹 | 0.88404 |
旋转+裁剪补0区域+缩放 | 0.89976 |
线性平滑攻击 | 0.90986 |
中值滤波 | 0.87679 |
对歧义攻击的测试:攻击者Bob选取公开图像I’(图9),通过旋转一个小角度5度,然后裁剪补0的区域,并缩放至原大小。如此构造一个攻击者的“原始图像”I*(图35),来宣称版权,并以嵌入强度α1为7来嵌入攻击者自己的水印W*(图36,二值水印黑底白字“19”),发布攻击者的“公开图像”I*’(图37)。则对于攻击者的歧义性,原图像拥有者Alice可以从“原始图像”I*中提取出版权水印(图38)。同时Alice还可以从攻击者Bob的“公开图像”I*’中提取出完整的版权水印(图39),以及利用Bob的密钥提取出攻击者嵌入的水印(图40)。而攻击者Bob从公开图像I’提取的版权水印(图41)和自己的水印(图42)却是反相且质量低下的;同理Bob也无法从原始载体图像中提取出正常水印信息(图43~图44)。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (1)
1.一种基于像素序关系不变的非盲鲁棒空域图像水印方法,其特征在于,包括版权水印嵌入和版权水印提取检测两部分,其过程如下:
一)、版权水印嵌入
(1)原图像I和水印W的排序:将原图像和水印由二维矩阵数据按照逐行相连方式转化为一维数组,并将其按照从小到大的顺序排序,公式如下:
[Ist,Ixu]=sort(I)
[Wst,Wxu]=sort(W)
len_I=length(Ist)
len_W=length(Wst)
其中sort()为排序函数算法;length()为长度函数;Ist、Wst分别为按从小到大顺序排序后的原图像和水印一维数组数据;Ixu、Wxu为Ist、Wst在原始图像数据中的平面坐标信息;len_I和len_W分别为Ist和Wst的数组长度;
(2)随机选取嵌入水印的位置:
根据水印数组长度为len_W、随机种子密钥key1及取值范围为0~1之间的伪随机数生成器函数random(),来随机确定Ist中一个长度为len_W的伪随机一维数组β1,具体步骤如下:
①生成一维伪随机数数组
随机数范围可以在1~len_I中任意选取,只要选取的起点start和终点end之间间隔大于len_W即可;当start=1,end=lenI,则所选范围为整个Ist;其它情况则只选用了Ist的一部分;具体公式如下:
β1=random(key1,len_W)×(end-start+1)+start
②取整
由于位置坐标是整数,需要按以下公式对β1进行取整,其中round()为对数组内每个元素实施四舍五入方法,即:
β1=round(β1)
③排序
将上述β1按从小到大顺序排序,最后结果作为嵌入位置信息β1:
β1=sort(β1)
其中sort()为排序函数算法,函数内变量β1为上一步骤生成的一维随机数嵌入位置序列;
(3)嵌入水印
按照下式,根据嵌入深度α1和嵌入位置信息β1将水印信息嵌入:
Ist'(β1)=Ist(β1)+α1×Wst
(4)调整Ist'的部分像素值,确保嵌入前后的总体序不变,具体方法如下:
①计算Ist'和Ist的差值:
diff_I=Ist'-Ist
②根据diff_I寻找嵌入不同水印数值的分界点:
a.对于二值水印,则从diff_I开头直接找到首次取值等于α1×1的数组下标i1即可,得到的分界点div为{1,i1,len_W};
b.对于灰度水印,由于取值范围为[0,5],故从diff_I开头分别寻找首次取值为α1×1、α1×2、……、α1×5的数组下标i1,i2,i3,i4,i5,最后得到的分界点div为{1,i1,i2,i3,i4,i5,len_W};
③根据嵌入水印分界点div进行以下操作来维持原序关系:
对于Ist'中位置坐标在1~i1之间的数值其实际嵌入水印为0,故对此部分不做处理;对于坐标在i1~i2(二值水印的i2实际上为len_W)的数值其实际嵌入水印为1,对这里的处理是加上1×α1,具体公式为:
Ist'(i1~i2)=Ist'(i1~i2)+α1×1-diff_I(i1~i2)
以此类推,对于灰度水印,需要对i2~i3,i3~i4,i4~i5之间的数据重复以上操作,直到坐标在i5~len_W之间的数据加上α1×5为止;
(5)直方图人工“空隙”调整:
按序嵌入不同像素值的水印,Ist'的直方图在嵌入水印数据的分界点div边侧将出现明显的人工“空隙”,即若干连续像素值出现的频次值均为0,表现在直方图上即为若干连续像素值纵向频次分布子图在横向上的整体后移,从而暴露嵌入位置信息。为避免攻击者被利用,故而采取将“空隙”随机分散的方法来从视觉上隐藏这些“空隙”,具体方法如下:
①确定范围:
对于某个具体“空隙”,可选取其左侧的若干像素值进行适当的右移以分散原密集的“空隙”;由步骤(4)可知第一个分界点位置为div中的i1,由于嵌入强度为α1,可知直方图“空隙”宽度为alpha=α1-1。将“空隙”左右两侧标记为left和right,则初始left=i1-1,right=i1,其对应的像素值即为Ist'(left)和Ist'(right);
②人工空隙隐藏算法
为了避免本步骤处理时影响后续像素值及“空隙”的分布规律,处理时一律从本步骤处理“空隙”的左侧选取数值操作:
a.选取一个1~10之间的随机整数beta;
b.若Ist'(left)-beta频次为0或Ist'(left)-beta+1频次为0,则令beta=beta+1,重复直到Ist'(left)-beta和Ist'(left)-beta+1的频次都不为0为止;其中若Ist'(left)-beta<min(Ist'),则“空隙”已经移位至Ist'的最左侧,跳出循环;
c.将“空隙”左侧的beta个像素值纵向频次分布子图在横向上右移alpha-1,亦即将Ist'中所有像素值在Ist'(left)-beta到Ist'(left)之间的数据均增加alpha-1,具体公式如下:
Ist'(X)=Ist'(X)+alpha-1
and Ist'(left)-beta+1≤Ist'(X)≤Ist'(left)
d.更新相关数据:
经以上步骤处理后此时移位后“空隙”的宽度为alpha=alpha-1,移位后“空隙”左右的坐标为right=right-beta-1,left=right-alpha-1;
e.重复执行步骤a、b、c,直到alpha=1为止,即直方图“空隙”循环多次移位后的宽度为1,此时原来较大的“空隙”已经分散到直方图中;
③重复①、②,直到所有Ist'的分界点“空隙”都处理完毕;这时,在图像灰度直方图上表现为原先集中的宽度较大的“空隙”被分散到直方图其它位置,成为分散的、宽度为1的窄小“空隙”,使得无法分辨这些空隙是自然存在的还是嵌入造成的,基本掩盖了嵌入位置或分界点位置;
(6)数据标准化:
注意到水印嵌入前后数据像素数据幅值变化范围有了改变,若此时Ist'最大值超出255,出现数据溢出,则需要采取数据标准化措施;这里,选用min-max标准化方法,具体算法如下。
计算:Amax=max(Ist');Amin=min(Ist')
其中:min()为取最小值函数,max()为取最大值函数,则标准化范围{Amin’,Amax’}可设置为{0,255},即Amax’=255;Amin’=0;
按下式对Ist'进行数据标准化处理,得:
<mrow>
<msup>
<msub>
<mi>I</mi>
<mrow>
<mi>s</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>&prime;</mo>
</msup>
<mo>=</mo>
<mfrac>
<mrow>
<msup>
<msub>
<mi>I</mi>
<mrow>
<mi>s</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>&prime;</mo>
</msup>
<mo>-</mo>
<mi>A</mi>
<mi>m</mi>
<mi>i</mi>
<mi>n</mi>
</mrow>
<mrow>
<mi>A</mi>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
<mo>-</mo>
<mi>A</mi>
<mi>m</mi>
<mi>i</mi>
<mi>n</mi>
</mrow>
</mfrac>
<mo>&times;</mo>
<mrow>
<mo>(</mo>
<msup>
<mi>Amax</mi>
<mo>&prime;</mo>
</msup>
<mo>-</mo>
<msup>
<mi>Amin</mi>
<mo>&prime;</mo>
</msup>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msup>
<mi>Amin</mi>
<mo>&prime;</mo>
</msup>
</mrow>
一般情况下图像数据为整数,需要按以下公式对其进行取整。其中,round()为对数组内每个元素按四舍五入方法取整,即:
Ist'=round(Ist')
(7)对直方图人工“空隙”的进一步视觉隐藏处理:
由于经过上述步骤处理后,直方图存在众多分散的宽度为1的不连续人工“空隙”,因此当原载体图像直方图整体缺少或没有“空隙”时需要做进一步的视觉隐藏处理以填充、掩盖这些人工“空隙”;否则,可以跳过该步骤;
设accounts()为计算某像素值出现频次的函数,为了避免本步骤处理时影响后续像素值及“空隙”的分布规律,处理时一律从本步骤处理“空隙”的左侧选取数值操作,具体过程如下:
遍历Ist'中各个像素值,若某个像素值X的对应频次accounts(X)为0,或者accounts(X)<(accounts(X-1)+accounts(X+1))/4,则选取此像素值左右两侧相邻的5个像素值,将Ist'中这些像素值各取1/10将其赋值为像素值X,这只需要将相应量的像素值增加一个与X的差值即可;
(8)获得公开图像I’:
①将Ist'按照原始图像顺序坐标信息Ixu根据下式将其重新排列,可以恢复图像一维数组空间顺序:
I'(Ixu)=Ist'
②将一维数组按照图像行列大小逐行抽取,可以得到二维公开图像I’;
二)、版权水印提取检测
(1)数据排序:将原始载体图像I和公开图像I'由二维数据逐行相连转化为相应的一维数组,并将其按照从小到大的顺序排序,公式如下:
I=sort(I)
I'=sort(I')
其中sort()为排序函数算法;将原始载体图像和公开图像的一维数组形式I、I'分别按从小到大顺序排序;
(2)生成水印提取参数KEY
a)由嵌入过程中Key1、end、start、len_W等参数计算β1:
β1=random(key1,len_W)×(end-start+1)+start
b)由版权水印图像W逐行连接转换为一维数组并排序得到对应的水印位置信息Wxu;
c)依公式KEY(Wxu)=β1按Wxu重排列β1得到提取水印位置KEY;
d)由KEY分别在原始图像和公开图像中提取对应位置的像素数据:
sub_I=I(KEY)
sub_I'=I'(KEY)
(3)将获取的数据进行相减处理,提取一维水印信息:
watermark=sub_I'-sub_I
(4)然后将watermark一维数组数据按水印图像大小逐行抽取,得到二维水印W’;
(5)将W和W’按图像方式显示并加以对比,根据两者相似性,并由此证实版权权益所属;或按既有水印检测方式来确认。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710253044.9A CN107067363B (zh) | 2017-04-18 | 2017-04-18 | 一种基于像素序关系不变的非盲鲁棒空域图像水印方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710253044.9A CN107067363B (zh) | 2017-04-18 | 2017-04-18 | 一种基于像素序关系不变的非盲鲁棒空域图像水印方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107067363A true CN107067363A (zh) | 2017-08-18 |
CN107067363B CN107067363B (zh) | 2018-09-04 |
Family
ID=59601343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710253044.9A Active CN107067363B (zh) | 2017-04-18 | 2017-04-18 | 一种基于像素序关系不变的非盲鲁棒空域图像水印方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107067363B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107749990A (zh) * | 2017-09-27 | 2018-03-02 | 深圳大学 | 一种基于数字水印的视频版权保护方法及装置 |
CN109214974A (zh) * | 2018-08-31 | 2019-01-15 | 广州洪荒智能科技有限公司 | 一种基于数字水印的人像照片处理方法 |
WO2019041769A1 (zh) * | 2017-08-31 | 2019-03-07 | 深圳壹账通智能科技有限公司 | 图片处理方法及应用服务器 |
CN112241931A (zh) * | 2020-10-22 | 2021-01-19 | 海南大学 | 一种面向图像易容的频域数字面纱设计方法 |
CN112579985A (zh) * | 2020-12-23 | 2021-03-30 | 合肥高维数据技术有限公司 | 基于频域特征排列的图像数字版权保护方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1455578A (zh) * | 2003-05-10 | 2003-11-12 | 合肥工业大学 | 用于版权保护的图像水印方法 |
CN101004830A (zh) * | 2006-12-20 | 2007-07-25 | 北京理工大学 | 一种空域图像选择的鲁棒数字图像水印技术 |
CN101105857A (zh) * | 2007-07-20 | 2008-01-16 | 北京交通大学 | 一种基于预测和压扩技术的高容量可逆水印方法 |
CN101908201A (zh) * | 2010-06-28 | 2010-12-08 | 宁波大学 | 一种鲁棒的数字图像自适应零水印方法 |
CN104091302A (zh) * | 2014-07-10 | 2014-10-08 | 北京工业大学 | 一种基于多尺度空间的鲁棒水印嵌入与提取方法 |
CN104303192A (zh) * | 2012-03-01 | 2015-01-21 | 系统科技解决方案公司 | 来自标记的特征的唯一识别信息 |
CN106408503A (zh) * | 2016-11-29 | 2017-02-15 | 海南大学 | 面向数字作品分级权益管理的免疫图像数字水印方法 |
-
2017
- 2017-04-18 CN CN201710253044.9A patent/CN107067363B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1455578A (zh) * | 2003-05-10 | 2003-11-12 | 合肥工业大学 | 用于版权保护的图像水印方法 |
CN101004830A (zh) * | 2006-12-20 | 2007-07-25 | 北京理工大学 | 一种空域图像选择的鲁棒数字图像水印技术 |
CN101105857A (zh) * | 2007-07-20 | 2008-01-16 | 北京交通大学 | 一种基于预测和压扩技术的高容量可逆水印方法 |
CN101908201A (zh) * | 2010-06-28 | 2010-12-08 | 宁波大学 | 一种鲁棒的数字图像自适应零水印方法 |
CN104303192A (zh) * | 2012-03-01 | 2015-01-21 | 系统科技解决方案公司 | 来自标记的特征的唯一识别信息 |
CN104091302A (zh) * | 2014-07-10 | 2014-10-08 | 北京工业大学 | 一种基于多尺度空间的鲁棒水印嵌入与提取方法 |
CN106408503A (zh) * | 2016-11-29 | 2017-02-15 | 海南大学 | 面向数字作品分级权益管理的免疫图像数字水印方法 |
Non-Patent Citations (2)
Title |
---|
姚孝明: "《信息隐藏技术相关产业发展的若干思考》", 《信息安全与技术》 * |
王忠军等: "《一种鲁棒的矢量地图数字水印算法》", 《测绘科学》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019041769A1 (zh) * | 2017-08-31 | 2019-03-07 | 深圳壹账通智能科技有限公司 | 图片处理方法及应用服务器 |
CN107749990A (zh) * | 2017-09-27 | 2018-03-02 | 深圳大学 | 一种基于数字水印的视频版权保护方法及装置 |
CN109214974A (zh) * | 2018-08-31 | 2019-01-15 | 广州洪荒智能科技有限公司 | 一种基于数字水印的人像照片处理方法 |
CN112241931A (zh) * | 2020-10-22 | 2021-01-19 | 海南大学 | 一种面向图像易容的频域数字面纱设计方法 |
CN112241931B (zh) * | 2020-10-22 | 2021-07-06 | 海南大学 | 一种面向图像易容的频域数字面纱设计方法 |
CN112579985A (zh) * | 2020-12-23 | 2021-03-30 | 合肥高维数据技术有限公司 | 基于频域特征排列的图像数字版权保护方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107067363B (zh) | 2018-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107067363B (zh) | 一种基于像素序关系不变的非盲鲁棒空域图像水印方法 | |
CN101847251B (zh) | 一种基于混沌序列的数字水印嵌入和提取方法 | |
Kumar et al. | Image transformation technique using steganography methods using LWT technique | |
CN102184519B (zh) | 水印图像的嵌入和提取方法 | |
Azeroual et al. | Real-time image tamper localization based on fragile watermarking and Faber-Schauder wavelet | |
CN104053074B (zh) | 基于深度图像和Otsu分割的视频水印方法 | |
Seyyedi et al. | A Secure Steganography Method Based on Integer Lifting Wavelet Transform. | |
CN104268823A (zh) | 一种基于图像内容的数字水印算法 | |
Liu et al. | Robust blind image watermarking based on chaotic mixtures | |
Jagadeesh et al. | Fuzzy inference system based robust digital image watermarking technique using discrete cosine transform | |
Anees et al. | A technique for digital watermarking in combined spatial and transform domains using chaotic maps | |
CN102024249A (zh) | 基于视觉感知特性的数字图像水印方法 | |
Kang et al. | A digital watermarking approach based on DCT domain combining QR code and chaotic theory | |
CN101887574B (zh) | 一种抗几何攻击的鲁棒指纹嵌入与提取方法 | |
Kumar et al. | A hybrid digital watermarking approach using wavelets and LSB | |
Gopalakrishnan et al. | Semi fragile watermarking using Gaussian mixture model for malicious image attacks | |
Nawaz et al. | A novel hybrid discrete cosine transform speeded up robust feature-based secure medical image watermarking algorithm | |
Radouane et al. | A Method of LSB substitution based on image blocks and maximum entropy | |
Walia et al. | A robust watermark authentication technique based on Weber’s descriptor | |
CN104036450A (zh) | 一种抗几何攻击的数字水印处理方法 | |
CN106295704B (zh) | 基于图像库空域和频域特征的图像摘要获取方法 | |
Saraswati et al. | A literature survey on stenography approach based on different LSB technique | |
Zhang et al. | A semi-fragile digital watermarking algorithm for 2D vector graphics tamper localization | |
Yuan et al. | A multiscale fragile watermark based on the Gaussian mixture model in the wavelet domain | |
CN116342358A (zh) | 一种基于K-means和DCT的医学图像鲁棒水印方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |