首页> 中国专利> 一种实现篡改区域精确定位的图像脆弱水印算法

一种实现篡改区域精确定位的图像脆弱水印算法

摘要

在一些应用场合,图像容易遭到篡改,从而难以辨别图像的真实内容。因此,有必要通过篡改检测对图像内容进行认证。本发明提出一种基于离散余弦变换的能够实现篡改区域精确定位的图像脆弱水印算法。对原始图像进行分块离散余弦变换,调整图像子块离散余弦变换高频系数的数值大小建立同一子块两个不同离散余弦变换系数之间数值大小的线性关系,通过逆离散余弦变换得到系数调整后的图像。内容认证时,利用离散余弦变换的可逆性,通过判断遭篡改图像每个子块两个相应离散余弦变换系数之间是否存在所设定的数值大小线性关系实现篡改检测。本发明能够精确定位出图像遭篡改的区域。

著录项

  • 公开/公告号CN102096894A

    专利类型发明专利

  • 公开/公告日2011-06-15

    原文格式PDF

  • 申请/专利权人 浙江工商大学;

    申请/专利号CN201010620112.9

  • 发明设计人 叶天语;

    申请日2010-12-30

  • 分类号G06T1/00(20060101);

  • 代理机构

  • 代理人

  • 地址 310018 浙江省杭州市下沙高教园区学正街18号

  • 入库时间 2023-12-18 02:34:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-02-22

    未缴年费专利权终止 IPC(主分类):G06T1/00 授权公告日:20121003 终止日期:20151230 申请日:20101230

    专利权的终止

  • 2012-10-03

    授权

    授权

  • 2011-08-10

    实质审查的生效 IPC(主分类):G06T1/00 申请日:20101230

    实质审查的生效

  • 2011-06-15

    公开

    公开

说明书

技术领域

本发明涉及图像处理及信息安全领域。本发明设计一种能够实现篡改区域精确定位的图像脆弱水印算法,实现对图像内容进行精确认证的目的。

背景技术

在一些应用场合,图像容易遭到篡改,从而难以辨别图像的真实内容。因此,有必要通过篡改检测对图像内容进行认证。数字水印技术不仅可以实现对多媒体进行版权保护,又可以实现对多媒体进行内容认证。多媒体内容认证是指确认数据是否完整,有无篡改,是否真实和来源是否可靠。脆弱水印技术和半脆弱水印技术可用于实现对多媒体进行内容认证,但由于性能稍有不同从而有各自应用场合。

自嵌入脆弱图像数字水印算法[1]是一类特殊的脆弱图像数字水印算法,其特殊之处在于水印是由编码端提取原始图像的某种特征量来产生并被嵌入到原始图像,而不是额外的水印信息被嵌入到原始图像。较常见的一类自嵌入脆弱图像数字水印算法的做法是将水印嵌入在原始图像的最低比特位(LeastSignificant Bit,LSB)。即,在嵌入端,首先将原始图像的LSB置0,从LSB置0后的图像提取某种特征量来产生水印,然后将水印嵌入在原始图像的LSB得到含水印图像。这样就在含水印图像的高7比特位内容和其LSB之间建立映射关系。在检测端,首先提取出遭篡改图像的LSB,然后将遭篡改图像的LSB置0,再从置0后的遭篡改图像提取相同的特征量产生水印,最后通过对比提取出的LSB和产生的水印是否一致进行篡改检测。如果两者一致,则一般认为没有遭到篡改,反之一般认为遭到篡改。由此可见,自嵌入脆弱图像数字水印算法篡改检测的依据是在检测端判断是否存在嵌入端所设定的映射关系。

研究者们已经提出一些比较经典的图像认证水印算法。Barreto[2]提出一个基于公钥的分块脆弱水印算法,将公钥加密应用到脆弱水印算法中,具有良好的安全性;Lin[3]利用JPEG压缩前后一个块对间相应位置的离散余弦变换(Discreet Cosine Transformation,DCT)系数大小关系不变性提出一种能区分JPEG压缩和恶意篡改的图像认证算法;李春[4]根据图像相邻小波高频系数之间的大小关系在JPEG压缩后大多数没有发生变化这一事实,提出一种新的抗JPEG压缩的半脆弱水印算法;丁科[5]提出一种基于地址码的脆弱水印技术,利用置乱后的水印生成地址码,根据地址码在载体图像的DCT域块上找到对应的参考位置,并根据一个混沌序列改变参考位置领域的系数值,有效地减少了修改载体图像DCT系数的个数;张宪海[6]提出一种基于脆弱水印的图像认证算法,使用SHA512算法和基于背包问题的单向函数来产生水印,使用滑动窗口技术和层次结构来嵌入水印,能够将篡改定位到2×2大小的像素块。

图像认证水印算法往往要求对篡改保持敏感,并且要求定位出遭到篡改的区域。因此,是否能够精确定位出遭到篡改的区域是衡量认证水印算法性能的一个重要指标。本发明通过调整图像子块DCT高频系数的数值大小建立同一子块两个不同DCT系数之间数值大小的线性关系,从而提出一种能够实现篡改区域精确定位的图像脆弱水印算法。本发明的实验结果表明能够精确定位出遭篡改的区域。

参考文献

[1]张鸿宾,杨成.图像的自嵌入及窜改的检测和恢复算法[J].电子学报,2004,32(2):196-199.

[2]Barreto P S L M,Kim H Y,Rijmen V.Toward Secure Public-key BlockwiseFragile Authentication Watermarking[A].In:Proceedings of 2001International Conference on Image Proceedings[C].Piscataway(NJ):IEEESignal Processing Sac,2002.2:494-497.

[3]Lin C Y,Chang S F.A Robust Image Authentication Method DistinguishingJPEG Compression From Malicious Manipulation[J].IEEE Trans.on Circuitsand Systems of Video Technology,2001,11(2):153-168.

[4]李春,黄继武.一种抗JPEG压缩的半脆弱图像水印算法[J].软件学报,2006,17(2):315-324.

[5]丁科,何晨,蒋铃鸽,王宏霞.基于地址码的脆弱数字水印技术[J].上海交通大学学报,2004,38(4):620-623.

[6]张宪海,杨永田.基于脆弱水印的图像认证算法研究[J].电子学报,2007,35(1):34-39.

发明内容

本发明的目的是设计一种能够实现篡改区域精确定位的图像脆弱水印算法,实现对图像内容进行精确认证。

一种实现篡改区域精确定位的图像脆弱水印算法,包括以下两个过程:

A、嵌入端DCT高频系数调整;

B、检测端篡改检测。

步骤A进一步包括以下内容:

A1:将大小为M×M的原始图像划分为互不重叠的大小为m×m的子块;

A2:每个子块进行DCT;

A3:按照如下规则调整DCT高频系数,从而在两个不同DCT系数间建立数值大小的线性关系:依次令

D′(k1,l1)=τ*D(x1,y1)+μ

D′(k2,l2)=τ*D(x2,y2)+μ

          .

          .

          .  

D′(kn,ln)=τ*D(xn,yn)+μ

其中,τ为权重系数,μ为增量,n为每个子块被调整的DCT高频系数个数,D(xj,yj)(1≤xj≤m,1≤yj≤m,1≤j≤n)表示每个子块处于(xj,yj)位置的原始DCT系数,D′(kj,lj)(1≤kj≤m,1≤lj≤m,1≤j≤n)表示每个子块处于(kj,lj)位置的被调整后的DCT高频系数。D′(kj,lj)所处的位置要求两两不同,即kp=kq与lp=lq(1≤p≤n,1≤q≤n,p≠q)不能同时成立。而且,D′(kp,lp)与D(xq,yq)所处的位置也要求两两不同,即kp=xq与lp=yq(1≤p≤n,1≤q≤n)不能同时成立。这样可以在D(xj,yj)与D′(kj,lj)之间建立数值大小的线性关系。每个子块被调整的DCT高频系数个数n可以根据每个子块的特点自适应调整。

A4:通过IDCT得到DCT系数调整后的图像。

步骤B进一步包括以下内容:

B1:将大小为M×M的遭篡改图像划分为互不重叠的大小为m×m的子块;

B2:每个子块进行DCT;

B3:通过判断每个子块两个相应DCT系数之间是否存在所设定的数值大小线性关系来检测是否遭到篡改。D″(kj,lj)和D″(xj,yj)代表遭篡改图像每个子块的两个相应DCT系数。如果

D″(k1,l1)=τ*D″(x1,y1)+μ

D″(k2,l2)=τ*D″(x2,y2)+μ

          .

          .

          .

D″(kn,ln)=τ*D″(xn,yn)+μ

都成立,那么认为该子块没有遭到篡改;反之,其中的等式有一个或一个以上不成立,则认为遭到篡改。将检测出的遭篡改子块用全黑标记。检测端τ、μ、n、xj、yj、kj、lj的取值与嵌入端一致。

本发明为实现图像内容精确认证提供了一个新途径。本发明通过调整图像子块DCT高频系数的数值大小建立同一子块两个不同DCT系数之间数值大小的线性关系,从而提出一种能够实现篡改区域精确定位的图像脆弱水印算法。本发明的实验结果表明能够精确定位遭篡改的区域。

附图说明

图1是嵌入端DCT高频系数调整的流程图,图2是检测端篡改检测的流程图。

图3是原始Lena图像,图4是系数调整后经IDCT得到的Lena bmp图像。

图5是Kids图像,图6是篡改图像,图7是篡改检测图像。

图8是篡改图像,图9是篡改检测图像。

图10是篡改图像,图11是篡改检测图像。

具体实施方式

下面结合附图和实施例对本发明的技术方案做进一步描述。

1、DCT的定义和特性

DCT是一种实数域变换,变换核为实数的余弦函数。DCT广泛应用于JPEG、MPEG、H.261等国际通用编码标准。一个M×N原始信号A的二维DCT定义如下:

Cpq=apaqΣm=0M-1Σn=0N-1Amncosπ(2m+1)p2Mcosπ(2n+1)q2N---(1)

其中0≤p≤M-1,0≤q≤N-1,Amn为原始信号分量,Cpq为DCT系数。二维逆离散余弦变换(Inverse Discrete Cosine Transformation,IDCT)定义如下:

Amn=Σp=0M-1Σq=0N-1apaqcpqcosπ(2m+1)p2Mcosπ(2n+1)q2N---(2)

其中0≤m≤M-1,0≤n≤N-1。

原始信号经DCT被变换成直流系数、低频系数、中频系数和高频系数。DCT具有“能量集中”特性,即原始信号的能量主要集中在直流系数和低频系数,高频系数的能量最少。DCT具有去相关性,即当原始信号的统计特性接近马尔科夫过程(Markov processes)时,其去相关性接近于K-L(Karhunen-Loève)变换。在视频压缩中,DCT被认为是性能接近K-L变换的准最佳变换。另外,从二维DCT定义式(1)和二维IDCT定义式(2)可以看出DCT的可逆性,即原始信号分量Amn经式(1)变换成DCT系数Cpq,再经过式(2)可以无失真还原到原始信号分量Amn。同理,原始DCT系数Cpq经式(2)变换成信号分量Amn,再经过式(1)可以无失真还原到原始DCT系数Cpq

本发明利用DCT的可逆性实现内容认证。首先调整原始图像子块DCT高频系数的数值大小建立同一子块两个不同DCT系数之间数值大小的线性关系,然后通过IDCT得到系数调整后的图像。如果该子块没有遭到篡改,那么经过DCT后,该子块的两个相应DCT系数之间依然保持所设定的数值大小线性关系。如果该子块遭到篡改,那么经过DCT后,该子块的两个相应DCT系数之间将很难保持所设定的数值大小线性关系,从而可以检测出篡改。

2、DCT高频系数调整规则

根据DCT的可逆性,本发明通过调整原始图像每个子块的DCT高频系数来设计篡改检测规则。之所以选择每个子块的DCT高频系数进行调整的原因是:(1)原始图像进行分块DCT后,DCT高频系数含有原始图像最少的能量。为了保证系数调整后经IDCT的图像与原始图像相比具有相近的视觉效果,选择对DCT高频系数进行调整。(2)相比于其他系数,DCT高频系数对外在干扰最敏感,有利于篡改检测。

图1是嵌入端DCT高频系数调整的流程图,包括以下几个过程:

Step1:将大小为M×M的原始图像划分为互不重叠的大小为m×m的子块;

Step2:每个子块进行DCT;

Step3:按照如下规则调整DCT高频系数,从而在两个不同DCT系数间建立数值大小的线性关系:依次令

D′(k1,l1)=τ*D(x1,y1)+μ

D′(k2,l2)=τ*D(x2,y2)+μ

          .

          .

          .

D′(kn,ln)=τ*D(xn,yn)+μ                      (3)

其中,τ为权重系数,μ为增量,n为每个子块被调整的DCT高频系数个数,D(xj,yj)(1≤xj≤m,1≤yj≤m,1≤j≤n)表示每个子块处于(xj,yj)位置的原始DCT系数,D′(kj,lj)(1≤kj≤m,1≤lj≤m,1≤j≤n)表示每个子块处于(kj,lj)位置的被调整后的DCT高频系数。式(3)的含义是将τ倍的处于(xj,yj)位置的原始DCT系数D(xj,yj)与增量μ之和作为新的处于(kj,lj)位置的DCT高频系数D′(kj,lj)。D′(kj,lj)所处的位置要求两两不同,即kp=kq与lp=lq(1≤p≤n,1≤q≤n,p≠q)不能同时成立。而且,D′(kp,lp)与D(xq,yq)所处的位置也要求两两不同,即kp=xq与lp=yq(1≤p≤n,1≤q≤n)不能同时成立。通过式(3)可以在D(xj,yj)与D′(kj,lj)之间建立数值大小的线性关系。DCT高频系数调整后经IDCT得到的图像的视觉效果取决于τ、μ、n、xj、yj、kj、lj的取值。每个子块被调整的DCT高频系数个数n可以根据每个子块的特点自适应调整,但为了说明简单起见,本发明将各个子块的n取值一致。

Step4:通过IDCT得到DCT系数调整后的图像。

3、篡改检测算法

图2是检测端篡改检测的流程图,包括以下几个过程:

Step1:将大小为M×M的遭篡改图像划分为互不重叠的大小为m×m的子块;

Step2:每个子块进行DCT;

Step3:通过判断每个子块两个相应DCT系数之间是否存在所设定的数值大小线性关系来检测是否遭到篡改。D″(kj,lj)和D″(xj,yj)代表遭篡改图像每个子块的两个相应DCT系数。如果

D″(k1,l1)=τ*D″(x1,y1)+μ

D″(k2,l2)=τ*D″(x2,y2)+μ

          .

          .

          .

D″(kn,ln)=τ*D″(xn,yn)+μ                  (4)

都成立,那么认为该子块没有遭到篡改;反之,如果式(4)中的等式有一个或一个以上不成立,则认为遭到篡改。将检测出的遭篡改子块用全黑标记。式(4)中τ、μ、n、xj、yj、kj、lj的取值与式(3)一致。

4、篡改检测虚警概率和漏警概率的理论分析

根据第3部分的篡改检测算法对篡改检测虚警概率和漏警概率进行理论分析。

虚警概率是指在没有遭到篡改的情况下检测器报告发生篡改的概率。根据DCT的可逆性,如果子块没有遭到篡改,那么D″(kj,lj)与D″(xj,yj)之间仍然保持着数值大小线性关系,所以每个子块的虚警概率PFA等于0。

漏警概率是指在遭到篡改的情况下检测器报告没有发生篡改的概率。遭到篡改后,设D″(kj,lj)与D″(xj,yj)之间依然保持数值大小线性关系的概率为δ,那么n对DCT系数都保持数值大小线性关系的概率为δn。因此,每个子块的漏警概率PM等于δn。DCT高频系数代表原始图像的高频部分,即使在空域对原始图像做很小的改动,但反应在DCT域上高频系数也会发生变化,所以DCT高频系数比较敏感容易被改变。所以当子块遭到篡改时,D″(kj,lj)与D″(xj,yj)之间依然保持数值大小线性关系的概率δ趋近于0,因此每个子块的漏警概率PM将以n次指数趋近于0。

实施例:

1、嵌入端DCT高频系数调整

原始Lena图像是大小为512×512的256灰度级bmp图像,见图3。将原始Lena图像分割成互不重叠的8×8子块。令τ=1、μ=0.05和n=6,在嵌入端根据DCT高频系数调整规则调整每个子块相应的DCT高频系数。调整方案具体如下:

D′(5,6)=D(3,5)+0.05

D′(8,4)=D(5,8)+0.05

D′(7,8)=D(8,7)+0.05

D′(8,6)=D(7,6)+0.05

D′(8,5)=D(7,7)+0.05

D′(8,3)=D(7,5)+0.05                (5)

将调整后的DCT高频系数与其他不做调整的原始DCT系数一起做IDCT,得到大小为512×512的数值矩阵,然后将该数值矩阵存为数据类型为unit8类型的bmp图像,见图4。保存该数值矩阵与图4之间的差值矩阵用于篡改检测。原始图像与图4之间的PSNR为40.7178,因此算法具有良好的不可见性。

2、检测端篡改检测

由于matlab数值计算存在舍入误差,实际进行篡改检测时需要对式(4)进行修正。式(4)修正为:

|D″(ki,li)-τ*D″(xi,yi)-μ|≤λ                (6)

其中λ为很小的正数。实验时,λ取值为0.000000001。相应地,根据式(5)和式(6),篡改检测规则修正为:

|D″(5,6)-D″(3,5)-0.05|≤λ

|D″(8,4)-D″(5,8)-0.05|≤λ

|D″(7,8)-D″(8,7)-0.05|≤λ

|D″(8,6)-D″(7,6)-0.05|≤λ

|D″(8,5)-D″(7,7)-0.05|≤λ

|D″(8,3)-D″(7,5)-0.05|≤λ              (7)

当式(7)的所有不等式都成立时,则认为此子块没有遭到篡改;反之,如果式(7)中的不等式有一个或一个以上不成立,则认为此子块遭到篡改。用原始Lena图像作为背景,将检测出的遭篡改子块用黑色进行标记。

a1:将64×64大小的灰度图像Kids(见图5)替换图4的(78:141,187:250)区域的内容,篡改后的图像见图6。将篡改后的图像加上所保存的差值矩阵,然后进行篡改检测。篡改检测出的图像见图7。可见,可以精确检测出篡改区域。

a2:产生一个128×128大小的{0,1}随机矩阵,叠加在图4的(370:497,125:252)区域的内容,篡改后的图像见图8。可以看出,叠加{0,1}随机矩阵对于图像的视觉效果影响很小。将篡改后的图像加上所保存的差值矩阵,然后进行篡改检测。篡改检测出的图像见图9。可见,可以精确检测出篡改区域。

a3:用图4的(69:164,45:140)区域内容替换(121:216,121:216)区域的内容,篡改后的图像见图10。将篡改后的图像加上所保存的差值矩阵,然后进行篡改检测。篡改检测出的图像见图11。可见,可以精确检测出篡改区域。

从a1-a3可以看出,篡改区域可以精确地被检测出来,从而也验证了前文关于篡改检测虚警概率和漏警概率的理论分析的正确性。

3、总结

在一些应用场合,图像容易遭到篡改,从而难以辨别图像的真实内容。因此,有必要通过篡改检测对图像内容进行认证。本发明为实现图像内容精确认证提供了一个新途径。本发明对原始图像进行分块DCT,调整图像子块DCT高频系数的数值大小建立同一子块两个不同DCT系数之间数值大小的线性关系,通过IDCT得到系数调整后的图像。由于只有高频系数被调整,算法具有良好的不可见性。内容认证时,利用DCT的可逆性,通过判断遭篡改图像每个子块两个相应DCT系数之间是否存在所设定的数值大小线性关系实现篡改检测。理论分析表明,每个子块篡改检测的虚警概率等于0,漏警概率以n次指数趋近于0。本发明进行了一些篡改检测实验,实验结果表明能精确定位遭篡改的区域。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号