基于直方图不变矩和奇异值分解的图像认证方法

时间:2022-04-13 02:22:56

基于直方图不变矩和奇异值分解的图像认证方法

摘要:该文提出了一种能够对图像进行篡改检测与篡改定位的新方法。首先对图像进行分块,分别提取每块图像的直方图不变矩,组合起来作为数字水印,然后利用奇异值分解的方法将这些水印嵌入到原图像中。试验结果表明这种算法适用于BMP图像篡改检测,并可准确确定被篡改的位置,并且该算法抗几何攻击性的能力强。

关键词:图像认证;数字水印;直方图不变矩;奇异值分析;几何攻击

中图分类号:TP753文献标识码:A文章编号:1009-3044(2008)26-1805-04

Image Authentication Algorithm Based on Moment Invariant of Histogram and SVD

JIANG Xue-si1, HAN Xiu-li1, LIU Ning2

(1. Computer-assisted Education Center in Shandong University at Weihai, Weihai 264209, China; 2. Section of Electronic Engineering, Yantai Automotive Engineering Vocational College, Yantai 265500, China)

Abstarct: This paper proposes a new algorithm that could detect a image whether it is tempered and ascertain where the image is tempered. First we go on blocking to image an extract moment invariant of histogram from the blocking image and combine it as the digital watermarking.Those digital watermarking are embedded into the orginal image by using singual value decomposition(SVD). Experimental results show that this algorithm can detect BMP image whether it is tempered and ascertain where the image is tempered exactly. At the same time this algorithm performs well in robusthness, when it goes through geometric distortion.

Key words: image authentication; digtial watermarking; moment invariant of histogram; Singular value decomposition(SVD); geometric distortion

1 引言

现代数字技术的发展把人们带进了一个崭新的世界, 然而任何事物都有正反两方面。 数字媒体在带给人们方便的同时,也引入了一些潜在的风险,它们很容易被修改。虽然大多数情况下人们修改文件都有合法的目的,但有些时候也有人不注意甚至是怀着恶意改变原来作品的内容,并造成严重的后果,因此我们需要对多媒体数据的真实性(也称完整性)进行验证。

多本文提出了一种新的图像认证方法,利用直方图不变矩[2]和奇异值分解[1]相结合的图像认证方法。图像的直方图不变矩具有很好的不变特性[2],奇异值分解的嵌入水印方法具有很好的抗几何失真的特性,这种方法能够更好的检测图像数据的真实性和完整性。

2 图像直方图的不变矩

当图像发生相似变化,甚至扭曲等变化时,在相当大的范围内直方图是不会有太大的变化的。因此可以利用直方图信息来定义不变量。直方图的定义如下:h(x)=n(x)/N,x=0,1,…,255,式中,n(x)是灰度级为x的象素点个数;N为图像的像素点总数。

当图像存在亮度和对比度变化时,其对应的直方图将发生平移和尺度变化(即灰度范围发生变化,这时为了保持h(x)dx=1, 幅度也将线性变化)。因此直方图不变矩的定义在直方图发生平移、比例变换和幅度线性变换时应保持不变。

下面给出一种简单的一维信号不变量(即直方图不变矩)的定义。

设有一维信号f(x)则其一维k阶矩定义如下:

Mk=f(x)dx,k=0,1, …,

k阶中心矩定义为:

uk=∫(x-x)kf(x)dx,k=0,1, …,

式中 x=m1/mo 显然,uk满足平移不变性。将其归一化后可以满足比例不变性。归一化的中心矩定义为:

ηk=μk/μγ0,γ=k+1(1)

在这里我们用七个不变矩定义了六个不变量,这六个不变量不仅满足平移、旋转和比例不变性,而且它们关于对比度变化(即∫'(x)= αf(x), α为常数)也是不变的。基于同样的思想, 吴晏在文献[2]中将ηk进行组合定义了以下4个不变量:

3 数字图像的奇异值分解

从线性代数的角度看,一幅数字图像可以看成是一个非负矩阵。用A∈Rm×n来表示这样一个图像矩阵,其中R表示实数域。矩阵A的奇异值分解如下:

A=USVT

其中U∈Rm×m和V∈Rm×m都是正交矩阵,S=diag(d1,d2,…,dn),且d1≥d2≥…≥dr>dr+1=dn=0。di(i=1,2,…,r)是 的奇异值,其中r是A的秩,di(i=1,2,…,r)是AAT或ATA特征值的平方根。U,V分别是A的左奇异向量和右奇异向量。因为

AAT=USVTVSTUT=USSTUT

ATA=VSTUTUSVT=VSTSVT

所以U的列向量是AAT的特征向量,V的列向量是ATA的列向量,并且它们所对应的特征值都是A的奇异值的平方。由于A和AT有相同的奇异值,因此d也是AT的奇异值。

4 图像认证方法

由于直方图的不变矩具有很好的稳定性,故我们可以把图像的直方图不变矩看作图像的不变特征,这些不变特征构成了图像认证码,把这些认证码作为水印嵌入原始图像中,形成认证图像,过程如图1所示。

图1 图像嵌入特征过程

4.1 认证信息的提取与认证码的生成

把图像分成若干个图像块,与篡改图像内容相比,正常操作(如压缩、比例缩放)并不会对每个图像块的直方图的不变矩产生较大影响,因此可以将其每块图像的直方图的不变矩作为不变特征提取,将提取的不变矩特征进行顺序排列,然后作为数字水印嵌入到原图中,得到含不变特征的图像。设原始图像为X=[x(i,j)]m×n,大小为m×n。从原始图像提取不变特征的算法如下:

第一步:将图像X=[x(i,j)]m×n从上到下,从左到右分成相互不覆盖、大小均为a×b的图像块Y(r,s),r=1,2…m/a;s=1,2…n/b ,其中,(r,s)表示图像块所在的位置,这里为简单记。不妨设m和n分别能被a,b整除。图像块共有L1×L2个L1=m/a,L2=n/b

第二步: 提取每块图像的不变矩特征。

①求每块图像Y(r,s)的直方图fr,s(x),r=1,2…m/a;s=1,2…n/b

②把直方图fr,s(x)看作0至255之间的离散一维信号,由mk, μk的定义,求得fr,s(x)的k阶矩及中心矩mk, μk。

③根据不变矩的定义,求第(r,s)块的l1(r,s), l2(r,s), l3(r,s), l4(r,s)不变矩,作为该图像块的不变特征。把所有图像块的不变特征顺序组合起来,得到由不变矩组成的矩阵:

W=[w(r,s)]L1×L2,其中:

所以W的大小为2L1×2L2,得到了认证信息。

4.2 认证信息的嵌入

将原图像从上到下,从左到右分成大小为2L1×2L2的小块A(表示原图像中的任意一块),对每块进行奇异值分解,利用文献[1]方法把不变特征作为水印嵌入到每一块中:

A=>USVT

S+αW=>U'S'V'T

A’=US'VT

其中U,V,U',V'为正交矩阵,S,S'为每块分解的奇异值矩阵,α是比例参数,用来调节嵌入水印的强度。使得到的水印图像在鲁帮性(所谓的鲁帮性也称之为健壮性,是指水印嵌入方法最终应该能够抵抗由非恶意的或恶意的数据处理所引起的任何类型的失真)和不可察觉性(所谓的布可察觉性是指原始的数据文档和添加水印后的数据文档对人的感觉器官是一样的)之间达到一个平衡。

把这些含有不变矩的分块矩阵A'按照原来的位置组合起来,得到了大小为m×n,含有不变矩的图像X',同时把每块的U'、S及V'按照原来图像块的相应位置组合起来也得到U''、S''、V'',大小都为m×n。

4.3 图像的认证

在需要对图像的所有权和图像数据的真实性和完整性进行认证时,通过提取出待认证图像的相应特征,与原图像的不变特征比较,根据判决规则确认图像是否已经被篡改。在图像的认证过程中,如果给出矩阵U''、S''、V''及W和可能被篡改的待认证图像X*,通过简单的逆过程就可以认证图像是否被篡改了,进而可以确定是哪块被篡改了。

方法是:把待认证的图像分成2L1×2L2小块,同时也把U''、S''、V''分成与之对应的大小为2L1×2L2小块U'''、S'''、V'''利用奇异值分解方法对每一小块进行逆运算,即:

W*是从每块提取出的不变矩的矩阵。我们给出两种判断某一块是否被篡改的原则,令 W''=W*-W,其中W是原始图像的不变矩,W''表示从待认证图像中提取的不变矩矩阵与原始图像的不变矩矩阵之差,设

其中Y(k)表示第k个差矩阵中的所有元素的绝对值之和,k=1,2…,(m/2L1×2L2);i=1,2,…2L1;j=1,2…,2L2。

5 实验结果

在本文中,我们以256×256的lena图像为例,来说明本文提出的方法有效性。将原图像分成32×32的小块,分别求得每块的l1,l2,l3,l4。按照上文提到的排列方法组成一个矩阵,大小为16×16,再把原图像分成16×16的小块,利用svd的方法,把不变矩作为水印嵌入到各小块中去,得到含有不变矩的水印的图像。

为了使水印在鲁棒性与不可见性达到一个平衡,我们取α=0.3来进行测试。

其中,横轴表示第几小块的图像,纵轴表示这小块图像的Y值。

从此图我们可以看出未被篡改的图像的Y值为0,即从未被篡改的图像中提取的水印与原水印是一样的。

下面,我们给船被窜给的图象的认证方法。

通过实验结果,我们可以准确地知道哪块图像被篡改了,而且检测结果非常准确。

接下来,我们对被篡改的图像,施加几项常见的几何攻击:

(1)转置:

(2)旋转90度:

尽管我们对被篡改的图像进行了转置,旋转等几何攻击,但是根据算法我们仍然可以准确的检测图像是否被篡改,并且可以确定被篡改的位置。

6 结论

本文提出了一种基于直方图不变矩与奇异值相结合的图像认证方法,提取原始图像的不变矩作为水印,利用奇异值分解的方法将水印嵌入到原始图像中,进行图像认证时,利用不变矩之间的相对差值或相关系数来判断图像块是否被篡改,并能准确地确定出被篡改图像的位置。该方法能够对篡改的图像认证其数据的真实性和完整性,对常见的几何失真具有很好的抵抗能力。

参考文献:

[1] 刘瑞祯, 谭铁牛. 基于奇异值分解的数字图像水印方法[J]. 电子学报,2001,29(2):168-171.

[2] 吴晏, 丁明跃, 彭嘉雄. 基于图像直方图的一维不变矩研究[J]. 华中理工大学学报,1996,24(2):66-68.

[3] 侯启槟, 杨晓帆, 王海涛, 等. 奇异值分解与PKI结合的鲁棒图像认证方法[J]. 计算机科学,2004,31(3):145-149.

[4] 李新. 矩阵理论及其应用[M]. 重庆:重庆大学出版社,2001:146-149.

上一篇:G.729A语音压缩算法的研究与实现 下一篇:消除键抖动的各种方法