数字图像处理论文-基于DCT的数字水印技术的图像识别_第1页
数字图像处理论文-基于DCT的数字水印技术的图像识别_第2页
数字图像处理论文-基于DCT的数字水印技术的图像识别_第3页
数字图像处理论文-基于DCT的数字水印技术的图像识别_第4页
数字图像处理论文-基于DCT的数字水印技术的图像识别_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于DCT的数字水印技术的图像识别摘要:随着信息技术,特别是网络技术的发展与普及,信息的传输、存储、发布等过程都面临着安全问题、版权保护问题和认证问题等,而数字水印就是解决这些问题的一种有效的技术手段。数字水印技术近年来得到了较大的发展,基于变换域的水印技术是目前研究的热点。数字水印是利用数字作品中普遍存在的冗余数据和随机性,把标识版权的水印信息嵌入到数字作品中,从而可以起到保护数字作品的版权或其完整性的一种技术。关键词:数字水印;DCT变换;Matlab程序一、数字水印技术的概念、特性1.1数字水印技术的基本概念数字水印技术是指用信号处理的方法,在数字化多媒体数据中嵌人某些能证明版权归属或跟踪侵权行为的数字信息,如作者签名、日期、公司的商标或随机序列等,用以证明作者的版权,并可作为解决版权冲突、起诉非法侵犯的证据,从而有效地保护作者的合法利益。1.2数字水印的特性

1)嵌人有效性。水印作品是输入到检测器后能检测出水印的作品。根据此定义,水印系统的有效性是指嵌入器的输出被水印化的概率。

2)不可感知性。不可感知性是针对不可见水印而言的。该特性要求经过嵌入算法加入水印处理后的产品,即使采用统计的方法也不能提取或确定水印的存在。3)虚警率。虚警是指在实际不含水印的作品中检测出水印。虚警率是指在给定的检测次数中,虚警发生的次数。4)鲁棒性。鲁棒性是指经过常规信号处理操作后,水印算法仍能检测到水印的能力。5)安全性。安全性是指所采用水印的嵌入算法依赖于水印嵌入时所使用的密钥,而不是依赖于对所采用算法的保密。6)易恢复性。这主要是针对一些实时性要求较强的用途(如视频水印的验证等)提出的。只要拥有正确的水印算法和密钥,就能很容易地从隐藏载体中提取出水印信息,而不必耗费大量时间做水印鉴定。1.3数字水印的定义和基本特点目前虽有许多文献讨论有关数字水印技术的问题,但数字水印始终没有一个明确统一的定义。Cox等把水印定义为“不可感知地在作品中嵌入信息的操作行为”;杨义先等认为“数字水印是永久镶嵌在其它数据(宿主数据)中具有鉴别性的数字信号或模式,而且并不影响宿主数据的可用性”。我个人认为后一种说法更为确切一些,因为可见水印是可以感知到的,但它的存在并不影响宿主数据的可用性,嵌入的水印同样可以起到鉴别的目的。不同的应用对数字水印的要求不尽相同,一般认为数字水印应具有如下特点:(1)不可见性。在宿主数字媒体中嵌入一定数量的附加信息后,不能引起明显的将质现象,隐藏的数据不易觉察,即无法人为的看见或听见。(2)稳健性。数字水印必须对施加于宿主媒体的变化或操作具有一定的免疫力,不能因为某种变换操作导致水印信息的丢失,即水印被迫坏,从而失去商用价值。常用的变换操作有:信道噪声、滤波、有损压缩、重采样等。(3)安全性。数字水印应该能够抵抗各种蓄意的攻击,同时应很难被他人复制和伪造。(4)有效性。水印提取算法应高效,提取出的水印应能唯一标识版权所有者。(5)抗窜改性。与抗毁坏的鲁棒性不同,抗窜改性是指水印一旦嵌入到载体中,攻击者就很难改变或伪造。鲁棒性要求高的应用,通常也需要很强的抗窜改性,在版权保护中,要达到好的抗窜改性是比较困难的。1.4数字水印技术的一些局限1.不知道能够隐藏多少位。尽管非常需要知道指定大小载体信息上可以隐藏多少比特的水印信息,但这个问题还没有得到圆满解决。事实上,对给定尺寸的图像或者给定时间的音频,可以可靠隐藏信息量的上界,目前还不清楚。对图像水印,只能说目前使用的算法可以隐藏几百比特位的水印信息。2.还没有真正健壮的盲图像水印算法。对图像水印鲁棒性还是个问题,目前还没有能够在经过所有普通图像处理变换后,仍能幸免的盲水印算法。尤其是能够抵抗几何处理的攻击,被认为是很难实现的目标。3.所有者能去除标记。迄今为止提出的所有盲图像水印,实际上都是可逆的。已知水印的准确内容!以及水印的嵌入和检测算法,则总能在没有严重损坏资料的前提下,使水印不可读取。目前还不清楚这个缺点在将来还是否存在;同时在设计版权保护系统时,必须考虑如下问题:一旦水印内容已知,则有可能去除水印或者部分水印。此外,迄今为止提出的水印算法,其可逆性使人们提出极大的疑问,即设计能够抗篡改的健壮公开水印技术是否可能?事实上,如果允许任何人读取水印,则任何人只要知道水印嵌入算法,就可以消除水印。二.基于DCT的数字水印技术的图像识别2.1.数字水印的一般模型如图所示:水印信息水印信息原始图像含水印信号嵌入过程如上图所示,频域法检测水印的原理是将原始信号与待检测信号同时进行变换域变换,比较两者的区别,进行嵌入水印的逆运算,得出水印信息。如果是可读的水印,那么就此结束,如果是不可读水印,如高斯噪声,就将得出的水印与已知水印作比较,由相关性判断,待检测信号含不含水印,故水印的检测有两个结束点。2.2可实现数字水印技术的高效实用工具——MATLAB(1)Matlab的应用:1.数字水印技术a.集成了DFT、DCT、DWT等函数有丰富的小波函数和处理函数,这不仅方便了研究人员,而且使源程序简洁明了、易于实现。b.强大的数学运算功能。能够方便、高效地实现音频、视频中的大量矩阵运算。提供了图像处理工具箱、小波分析工具箱、数字信号处理工具箱。c.用来编制跨数字图像处理技术、数字信号处理等多学科的数字水印技术是非常好的选择。MATLAB与目前最强大的编程工具——VisualC++具有良好的接口。(2)图像分析处理Matlab的ImageProcessingToolbox提供了大量用于图像处理的工具函数,利用这些函数,可以分析图像数据,获取图像细节信息,并且设计相应的滤波算法,滤出图像数据所包含的噪声。当然,滤波器的设计是通过Matlab产品提供的交互式工具完成的,这些工具还能够完成选取图像区域,测量图像误差和获取、统计像素信息等功能。图象处理工具箱还提供了Radon变换来重够图像,而离散余弦变换可以作为实现新的压缩算法的核心。工具箱中还包含了边缘检测算法,用于表示图像中具体物体的边缘等。在图象处理工具箱还包含了众多数学形态学函数,这些函数可以用于处理灰度图像或二值图像,可以快速实现边缘检测、图像去噪、骨架抽取等算法。此外还包含一些专用的数学形态学函数,例如填充处理、峰值检测等.2.3离散余弦叶变换的简介2.3.1二维DCT的实现数字图像水印算法选择二值化灰度图像作为水印信息,根据水印图像的二值性选择不同的嵌入系数,并将载体图像进行8×8的分块,将数字水印的灰度值直接植入到载体灰度图像的DCT变换域中,实现水印的嵌入。具体方法如下:设I是M×N大小的原始图像,J是水印图像大小为P×Q,M和N分别是P和Q的偶数倍,把水印J加载到图像I中,算法分以下几步进行:1.将I分解为(M/8)×(N/8)个8×8大小的方块B;同时,J也分解为(M/8)×(N/8)个(8P/M)×(8Q/N)大小的方块V;2.对每一个B进行DFT变换:DB=DFT(B);3.加载水印对每一个DB和V,s(i)为从DB的中频选出的加载的位置,1≤i≤(8P/M)×(8Q/N),t(i)为水印V的位置坐标,1≤i≤(8P/M)×(8Q/N),DB’(s)=A×V,其中A是加权系数,用DB’(s)来代替DB,得到加载水印后的图像DBC;4.对以上得到的每一个DBC进行逆DCT变换:IDBC=IDCT(DBC)并将各方块IDBC合并为一个整图I’,即加载了水印的新图像。2.3.2离散余弦变换水印嵌入算法数字图像水印算法选择二值化灰度图像作为水印信息,根据水印图像的二值性选择不同的嵌入系数,并将载体图像进行8×8的分块,将数字水印的灰度值直接植入到载体灰度图像的DCT变换域中,实现水印的嵌入。具体方法如下:设I是M×N大小的原始图像,J是水印图像大小为P×Q,M和N分别是P和Q的偶数倍,把水印J加载到图像I中,算法分以下几步进行:1.将I分解为(M/8)×(N/8)个8×8大小的方块B;同时,J也分解为(M/8)×(N/8)个(8P/M)×(8Q/N)大小的方块V;2.对每一个B进行DCT变换:DB=DCT(B);3.加载水印对每一个DB和V,s(i)为从DB的中频选出的加载的位置,1≤i≤(8P/M)×(8Q/N),t(i)为水印V的位置坐标,1≤i≤(8P/M)×(8Q/N),DB’(s)=A×V,其中A是加权系数,用DB’(s)来代替DB,得到加载水印后的图像DBC;4.对以上得到的每一个DBC进行逆DCT变换:IDBC=IDCT(DBC)并将各方块IDBC合并为一个整图I’,即加载了水印的新图像。2.3.3离散余弦变换水印提取算法设图像D为已经加载了水印的载体图像,现要将所加载的水印从D中提取出来,其过程为上述加载水印算法的逆运算:1.将D分解为(M/8)×(N/8)个8×8大小的方块BD;2.对每一个BD进行二维DFT变换:DBD=DCT(BD);3.提取数据对每一个DBD,按照式V’=1/A×DBD得到V’;4.将上面得到的所有V’合并成一个水印整图J’。2.3.4实验步骤1.写入程序:size=722;block=8;I_w=zeros(size);I=imread('C:\wch\a.jpg');W=imread('C:\wch\b.jpg');subplot(1,3,1),imshow(I);title('原始图像');subplot(1,3,2),imshow(W);title('水印图像');forp=1:size/blockforq=1:size/blockx=(p-1)*block+1;y=(q-1)*block+1;block_dct=I(x:x+block-1,y:y+block-1);block_dct=dct2(block_dct);if0W(p,q)a=-1;elsea=1;endblock_dct=block_dct*(1+a*0.01);block_dct=idct2(block_dct);I_w(x:x+block-1,y:y+block-1)=block_dct;endendiii=mat2gray(I_w);subplot(1,3,3),imshow(iii);title('嵌入水印后的图像');2.3.5数字水印攻击技术数字水印技术在实际应用中必然会遭到各种各样的攻击。人们对新技术的好奇、盗版带来的巨额利润都会成为攻击的动机,即恶意攻击;而且数字制品在存储、分发、打印、扫描等过程中,也会引入各种失真,即无意攻击。攻击的目的在于使相应的图像水印系统的检测工具无法正确地恢复水印信号,或不能检测到水印信号的存在。常用的攻击方法有四种:(l)简单攻击简单攻击也称为波形攻击或噪声攻击即只是通过对水印图像进行某种操作,削弱或删除嵌入的水印,而不是试图识别或分离水印。这些攻击方法包括线性或非线性滤波、基于波形的图像压缩(JPEG、MPEG)、添加噪声、图像裁减、图像量化、模拟数字转换等。(2)同步攻击同步攻击也称检测失效攻击即试图使水印的相关检测失效或使恢复嵌入的水印成为不可能。这种攻击一般是通过图像的集合操作完成的,如图像放大、空间位移、旋转、图像裁减、重采样以及一些几何变形等。这类攻击的一个特点是水印实际上还存在于图像上,但水印检测函数已不能提取水印或不能检测水印的存在。对图像的“碎片攻击”就属于表述性攻击,其基本思想是将一幅图像分解成许多“碎片”,然后再将这些“碎片”拼凑成一幅完整的图像而不影响图像的使用效果。例如在Web页中,使用原始图像和使用“碎片”拼凑起来的图像相比,用户视觉效果是一样的。(3)迷惑攻击迷惑攻击即试图通过伪造原始图像和原始水印来迷惑版权保护。例如,在水印图像上再加第二个水印,使得第一个水印不确定。另一个迷惑攻击就是将水印倒置而在插入一个新的假水印之前去除原始水印。(4)删除攻击删除攻击即针对某些水印方法通过分析水印数据,估计图像中的水印,然后将水印从图像中分离出来并使水印检测失效。例如合谋攻击。即在某些水印方案中,如果图像在不同的密钥下被加多次水印,就可通过“平均”这些水印图像,获得一个合成图像,与原始图像很相似但不含任何有用的水印图像。另外还有倒置攻击。即如果攻击者熟悉水印嵌入过程,他就会简单地检测出水印并颠倒插入过程而较好地去除水印。为了防止这种特别的攻击,许多水印方案中都用密钥来设计水印嵌入算法,没有密钥,就很难了解水印的嵌入。(5)法律攻击法律性攻击不同于其他攻击,因为它不考虑水印系统方案的技术细节。法律性攻击中,攻击者使用内容所有者的名誉、身份或其他非技术信息等办法,使得法庭怀疑水印中是否确实包含所有者声称的证据。故法律攻击不易进行技术防御。size=512;N=32;K=8;D=zeros(size);E=0.01;I=imread('f:\lena.bmp');subplot(2,2,1);imshow(I);title('原始图像');I=double(I)/512;%读入水银J=imread('f:\1234.bmp');subplot(2,2,2);imshow(J);title('水印图像');1%对水印缩放J=double(imresize(J,[64,64]));subplot(2,2,3);imshow(J);title('缩放水印图像');%嵌入水印forp=1:size/Kforq=1:size/Kx=(p-1)*K+1;y=(q-1)*K+1;I_dct=I(x:x+K-1,y:y+K-1);I_dct1=dct2(I_dct);ifJ(p,q)==0alfa=-1;elsealfa=1;endI_dct2=I_dct1+alfa*E;I_dct=idct2(I_dct2);D(x:x+K-1,y:y+K-1)=I_dct;endendsubplot(1,3,3);mshow(D,[]);Title('含水印的图象');%%%低通滤波攻击hh=fspecial('gaussian',3,0.2);hh=fspecial('gaussian',3,0.35);hh=fspecial('gaussian',3,0.4);QQ=filter2(hh,D);%提取水印forp=1:size/Kforq=1:size/Kx=(p-1)*K+1;y=(q-1)*K+1;I1=I(x:x+K-1,y:y+K-1);I2=QQ(x:x+K-1,y:y+K-1);I_dct1=dct2(I1);I_dct2=dct2(I2);ifI_dct2>I_dct1W(p,q)=1;60elseW(p,q)=0;endendendfigure,subplot(1,2,1);imshow(R,[]);title('低通滤波攻击');subplot(1,2,2);imshow(W,[]);title('图像中提取的水印');%%%%%%前后水印相似比较J=double(J);W=double(W);sumJ=0;sumW=0;forj=1:Nfori=1:NsumJ=sumJ+J(j,i)*W(j,i);sumW=sumW+W(j,i)*W(j,i);endendCH=(sumW-sumJ)/sumJ其它一些攻击产生的图像:旋转攻击剪切攻击三.实验结果总结分析首先,离散余弦变换在图像处理中的作用非常重要,在本设计中,运用离散余弦变换嵌入水印,是嵌入在原图像的低频部分。其次,应该说嵌入水印的图像还是比较清晰的,这说明离散余弦变换法还是具有实用价值的。最后,程序使用了最一般的循环语句,而没有考虑到代码的优化。在本论文中,程序的执行花销时间很少,但若是图像比较大的话,是一定要考虑代码优化问题的。特别是for循环,当采用向量化循环方法将使运行时间成百上千倍的缩减!另外也没有考虑预分配数组的问题,当加入预分配数组后,运行时间也会明显缩短,而且会使内存有较大的连续空间,而不会使存储器出碎片。四、数字水印技术的应用领域数字水印技术作为一种有效的数字产品所有权保护技术,它有着巨大的应用市场。数字水印技术主要应用于以下5个方面。1)数字作品的版权保护。2)电子商务的发展。3)商务交易中的票据防伪。4)音像数据的隐藏标识和篡改保护。

5)数字指纹。五、数字水印技术的发展前景数字水印的研究以计算机科学、密码学、通讯理论、算法设计和信号处理等理论为基础。围绕数字水印技术需研究解决的关键问题包括:具体应用中的水印选择与宿主容量估计;水印检测差错率估计与快速检测算法;包含人眼视觉系统、人耳听觉系统特性利用在内的水印系统模型等。如下几方面将可能成为未来数字水印技术的主要发展方向:1)结合智能体技术。开发基于移

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论