数字图像篡改的检测方法研究毕业作品.docx
- 文档编号:9864816
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:35
- 大小:1.22MB
数字图像篡改的检测方法研究毕业作品.docx
《数字图像篡改的检测方法研究毕业作品.docx》由会员分享,可在线阅读,更多相关《数字图像篡改的检测方法研究毕业作品.docx(35页珍藏版)》请在冰豆网上搜索。
数字图像篡改的检测方法研究毕业作品
毕-设
业-计
(20届)
数字图像篡改的检测方法研究
所在学院
专业班级计算机科学与技术
学生姓名学号
指导教师职称
完成日期年月
【摘要】随着计算机的普及,软件和硬件的不断发展,照相技术的深入,人们对数字图像的要求越来越高。
而各种图像处理软件的问世和普及,使得人们可以随心所欲的篡改图像。
这些篡改图像虽然一定程度上丰富了人们的日常生活,但是如果篡改图像被用在某些地方,如法律证据,军事等,则会带来不可想象的危害。
因此,对于数字图像的取证变的极为重要。
本文针对一种常见的图像篡改方式——复制/粘贴,即从原图像的某个区域复制来遮盖本图像的另一区域以达到篡改的目的,进行了研究和分析,总结了对于该篡改方式的数字图像取证研究的基础和发展方向。
【关键词】篡改;复制/粘贴;取证。
【ABSTRACT】Withthepopularityofcomputer,andthedevelopmentofsoftwareandhardware,peoplebecomeincreasinglydemandingtodigitalimages.Andwiththeadventandpopularityofavarietyofimageprocessingsoftware,makesitpossibletotamperwiththeimagesarbitrary.Althoughthesetamperedimagesenrichpeople'sdailylives,butinotherhand,ifthetamperedimagesisusedinsomeplaces,justlikelawevidentiary,military,andsoon,itwillbringunimaginableharm.So,evidenceofthedigitalimagesbecomeveryimportant.
Inthisthesis,weproposeadetectionwayforacommonwayofimagetampering——copy-move,itiscopyoneareaintheimagetocoveranotherareainthesameimageinordertotamperingtheimage,toresearchandanalysis,andsummaryitsbasisanddevelopmentofdetectionofthistypeoftamperedimages.
【KEYWORDS】Tamper;Copy-move;Detection
。
目 录
1绪论
1.1研究背景与意义
计算机的问世,代表了信息时代的开始。
网络的全球化,软件硬件的发展,图像处理软件的开发,使的图像能够随心所欲的编辑修改,并且图像处理技术已经应用到了各种领域。
图像处理技术的发展,一定程度上丰富了人们的日常生活[1],人们可以根据自己的喜好修改图像,用最好的方式保留自己喜欢的瞬间;但是,在另一方面,数字图像的处理技术也带来了不利的一面[2]:
如果篡改图像被用在法律上充当证据,用在新闻媒体上当作虚假信息,就会对公共事业的公信力造成损害[3]。
图1.篡改的广场鸽照片(人民网)
图1照片的全名为《广场鸽接种禽流感疫苗》,该图像获得了2005年首届华赛自然及环保新闻类金奖。
07年该照片被质疑造假,到最后伪造者承认造假。
从图中我们可以看到画圈的两只鸽子极其相似,但是任意两只鸽子一模一样的概率趋于0,相同的两只鸽子飞行姿态一模一样的概率趋于0,相同鸽子在不同位置于镜头中成像相同的概率趋于0,在现实生活中,小概率事件如果接二连三的发生,则可以断定是假。
图2.原始图像(A)篡改图像(B)
图2中A为原始图像,但在B中左边的车被覆盖了,看上去就像只有一辆车似的,但是仔细观察就能发现该位置的树形和它左上处的树形如出一辙。
其实该图像就是用了那部分的树木遮盖了原本车的位置,来达到某种目的。
图3.导弹发射图像(人民网)
军事演习是一个国家军事实力的象征。
图中有4枚导弹发射,但是图中红色线框中的部分极其相似,尤其是地面上的烟雾,几乎一模一样。
该图像到底是不是篡改过的,篡改的成份有多少,就需要图像取证来得出结论了。
数字图像的篡改颠覆了人们眼见为实的传统观念,对图像真实性的研究变得尤为重要。
篡改图像的滥用,很有可能导致人们对真实图像失去信任,使得真实图像失去其可以发挥的作用。
因此,如何辨别图像的真实性,将成为一门相当有用的学科。
1.2国内外研究现状
图像取证技术是一项前沿的研究领域,国内外的研究均处于起步阶段,其较高的挑战性、较大的创新空间吸引了众多高等院校、科研机构及相关企业投入到该领域中来。
国际上,数字图像盲取证技术研究团队起步较早、数量较多且发展迅速,其中,以Dartmouth学院、Columbia大学为首的学校成立了专门的数字媒体取证研究小组,并取得了一些基础性的研究成果。
随后,Binghamton大学和美国Polytechnic大学等其他院校也陆续开展了图像取证方面的研究,进一步拓宽了研究空间,丰富了研究成果。
此外,Adobe公司已与Dartmouth学院合作,结合Photoshop软件开发出图片防伪工具。
国内在该领域的研究相比国外起步较晚一些,北京邮电大学、北京电子技术应用研究所、大连理工大学信息安全研究中心、中山大学、同济大学、宁波大学等已经开始从事这方面的研究。
近年来,数字图像被动取证在国内会议上也逐渐受到重视。
自2006年数字取证(Digitalforensics)首次被列入第六届全国信息隐藏暨多媒体信息安全学术研讨会(CIHW2006)征文项目以后,2009年在湖南召开的第八届全国信息隐藏暨多媒体信息安全学术研讨会上,数字取证类的文章数目有较大幅度地增长,出现了许多优秀的文章和精彩的报告。
同年,在上海召开的全国数字水印与数字取证专题研讨会,首次将数字图像取证的研究纳入专题会议,与会专家学者互相交流研究进展,对该学科的发展进行了深入的讨论。
近年来数字图像取证受到了极大的关注。
1.2.1国外成果
图像篡改常用的一种方法是复制粘贴(copy-move)操作,所以图像中的复制区域和对应的粘贴区域基本相似,基于这个特点,就可以通过寻找图像中是否存在相似区域来检测图像有无伪造痕迹。
其中穷举搜索法最为简单,易于实现,但运算量大。
为了减少运算量,J.Fridrich把对图像块操作代替像素的点操作,提出了一种对图像块的DCT量化系数[4]进行字典排序的算法,来检测图像复制伪造区域。
在其基础上,Farid提出基于主成份分析(PCA)法[5],来获得降维后的特征向量,但是每次移动一个像素的滑窗分块操作使得排序矩阵的规模相当大,而且字典排序又是计算复杂度的主要原因。
为了进一步减小计算量,Li提出了基于离散小波变换[6](DWT)的方法,该方法是通过分析图像小波变换后的低频分量,再利用奇异值分解来获得小波低频图像的降维后的特征,然后对形成的特征矩阵进行字典排序[8],最后根据图像块的偏移频率信息,检测出复制伪造区域。
再者,Johnson提出估计图像块二维光源方向的方法[9],该方法通过提取图像闭合边界,并沿着闭合边界将图像分成若干局部块,然后计算局部块的二维光源方向,根据光源方向的一致性情况来检测图像是否被篡改。
还有根据双压缩现象而提出的基于双JPEG压缩统计特性[7][10]的图像篡改检测方法。
再有,借鉴图像匹配技术中的SIFT(scaleinvariantfeaturetransform)[11]特征匹配算法,提出了基于SIFT算法的图像复制-粘贴篡改操作的检测。
该方法对图像旋转、缩放、亮度调整等后处理操作具有鲁棒性。
1.2.2国内情形
在国内,对于数字图像取证的研究,要从计算机取证技术说起[12]。
首届开放的中国计算机取证技术研讨会于2004年11月在北京召开。
会议由北京人民警察学院、中国科学院软件研究所及北京市公安局网络信息安全监察处主办,参加此次会议的有来自全国各地的近100名代表。
这次研讨会对计算机取证技术的理论与实践的研究产生积极的影响,推动了我国计算机取证技术的发展。
第二年,即2005年4月1日在北京人民警察学院成立了中国电子学会计算机取证专家委员会并召开工作会议,这是值得关注的一件大事。
两年后,2007年6月2—3日再次在北京人民警察学院召开工作会议,调整了专家委员会成员,并就知识产权保护和网络欺诈中的计算机取证问题进行学术研讨。
除了学术专家的工作外,由一群计算机信息安全、计算机取证技术爱好者自发组成的一个技术团体——中国计算机取证技术研究组,也活跃在我国数字取证领域。
我国政府日益重视开展数字取证这一领域的工作,今后还会继续立项支持。
而鉴于中国的需求和国际参与国内市场的愿望,国内外技术交流前景是可观的。
1.3本文研究内容及安排
对于复制/粘贴的篡改图像,复制块和粘贴块是极其相似的,要检测出某图像是否为篡改图像,就是要比较某2个区域内的小块是否存在高度相似。
将该图像分成若干个小块,每个块提取一个特征值作为比较的依据,因此,选择好的特征值就尤其重要。
奇异值分解svd就是一个好的特征值提取方法。
其目的是找那些变化大的元素,即方差大的那些维,而去除掉那些变化不大的维,从而使特征留下的都是“精品”,而且计算量也变小了。
有了特征值,如何来比较也是很重要的,好的比较方法可以有效缩短运算时间。
字典排序法就是一种比较方法,排序之后可以防止盲目比较。
有了这两个因素,就可以比较出图像中是否存在相似区域,这两个或多个区域中的块是否高度相似。
本文针对复制粘贴类型的篡改图像的取证这一主题,分4个章节进行阐述。
第一章为绪论,介绍数字图像取证的背景和意义,国内外研究现状;第二章为基于奇异值分解的图像检测,介绍奇异值分解(SVD)的原理和优点,以及图像的奇异值分解情况;第三章为基于小波变换和奇异值分解的检测方法研究,并对这两种方法做了比较;第五章为总结和展望,是对全文的总结概括,并对于数字图像取证之路进行了展望和遐想。
2基于SVD奇异值分解的图像取证技术分析
2.1数字图像
数字图像(digitalimage)的定义为:
以二维数字组形式表示的图像,其数字单元为像素。
通常,像素在计算机中保存为二维整数数组的光栅图像,这些值经常用压缩格式进行传输和存储。
每个图像的像素通常是对应于一个二维空间中的一个特定的“位置”的,并且是由一个或者多个该个点相关的采样值所组成的数值。
根据这些采样数目和特征的不同,数字图像可以划分为:
二值图像,即图像中的每个像素的值只能取自0到1;灰度图像,也称为灰阶图像,即图像中的每个像素由0(黑)到255(白)的亮度值表示[4]。
0到255之间的数表示不同的灰度级;彩色图像,三幅不同颜色的灰度图像组合而成彩色图像,分别为红色,蓝色,绿色。
2.1.1自然图像的生成过程
自然图像的获取设备不同,就会有一些特有的属性带入到生成的自然图像中,在对原始图像进行修改时,就会改变这些特有的属性。
Fridrich将数码相机对自然场景图像的处理以及生成数字图像的过程描述如下[4]:
数码相机的核心是图像传感器,传感器分为很多很小排列的图像单位——像素。
这些图像单位收集光机并转化为电压,在A/D转化器中信号被采样。
在场景中的光到达传感器之前,会通过相机镜头,还有一个blurring滤波器,然后通过颜色滤波器阵列,得到的信号进一步通过颜色修正,最后数字图像被用户用一定的文件格式写到相机的储存设备中。
2.1.2复制粘贴的篡改图像
复制/粘贴篡改是复制图像中的一个区域,粘贴到原图像的另一个区域,以达到篡改目的。
因为篡改区域,既粘贴块来自图像本身,所以它与图像其他部分有一致的噪音,纹理和颜色等信息,所以难以辨别。
而且,篡改者往往会对图像进行滤波,有损压缩等处理,使得篡改图像更加难以辨别。
2.2针对复制粘贴篡改图像取证的现有方法分析
对于复制粘贴的篡改图像,国内外学者已经提出了多种方法来进行检测,比如穷举搜索法,自相关算法,精确匹配法,基于DCT变换取证法,基于主成份分析(PCA)法等。
而对于复制粘贴的篡改图像,检测的主要依据是图像中是否存在两块完全相同或相似的区域。
在本节,将大概介绍这些算法。
2.2.1穷举搜索法
对于图像块的匹配检测,穷举法是最简单的方法。
该方法的思想是:
将图像分块,把每一块图像当作一个模板,遍历图像的所有剩余块,查找是否存在跟模板完全相同或相似块。
如果存在,则增大图像块,直到搜索不到完全相同过相似的块为止。
2.2.2自相关算法
图像块的自相关算法是根据图像复制块和粘贴块有很强的自相关性来进行搜索的。
它的算法思路是:
首先设置一个自相关判别阈值,然后进行图像块遍历,如果找到超过设置的阈值的两个图像块,则认为这两个图像块为匹配对。
该算法相对与穷举法的优点是运算量相对较小,但是其缺点是只能检测较大的图像复制粘贴块。
2.2.3精确匹配法
精确匹配法可以避免以上两种方法的缺点,它的算法思路是:
有一幅M*N的图像,先将其分成b*b的图像块,然后根据从左到右,从上到下的光栅扫描法进行排列,然后将每一块图像的像素值储存到(M-b+1)(N-b+1)的二维数组中,使数组的每个元素对应图像块的像素值。
然后,寻找数组矩阵中相同的两行,对应原图像,就是两个相同的b*b的图像块。
如果存在这样的两行,就说明对应的图像块是匹配块。
2.2.4基于DCT变换检测法
基于DCT变换检测法的主要思想是在DCT变换后的系数有一定规律,低频能量高,处于左上角;高频能量低,处于右下角。
在8*8的图像块中,左上角的第一个元素是直流分量(DC),它具有较大的能量和重要性;而其余63个元素是交流分量(AC),并且其重要性从左上角到右下角为递减。
待测图像块的主要低频分量集中于变换系数的左上角,因此,左上角的系数能较大程度反应图像块的性质。
开始和精确匹配法一样,将DCT系数存于(M-b+1)(N-b+1)的二维数组中,然后在进行每个元素间的匹配,并找到图像匹配块。
2.2.5基于主成份分析法
基于主成份分析法来检测复制粘贴篡改图像的思路为:
对图像块矩阵进行主成份分解,用该矩阵的每一行或每一列的主成份表示对应图像块的特征,然后进行相似块匹配。
该方法对于DCT变换的区别在于:
该方法对图像块的特征值进行降维表示,从而降低了排序的维度。
2.3基于SVD奇异值分解的图像检测法分析
对于复制粘贴篡改图像,如何比较两个图像块,就必须要选取一个合适的特征值。
本节,我们介绍SVD奇异值分解。
2.3.1奇异值分解原理
奇异值分解法是线性代数和矩阵论中一种重要的矩阵分解法,其定义为:
设A为复数域内m*n阶矩阵,A'表示A的共轭转置矩阵,A'*A的n个非负特征值的平方根叫作矩阵A的奇异值。
记为σi(A)。
对于矩阵A(m*n),存在U(m*m),V(n*n),S(m*n),满足A=U*S*V’。
U和V中分别是A的奇异向量,而S是A的奇异值。
AA'的正交单位特征向量组成U,特征值组成S'S,A'A的正交单位特征向量组成V,特征值(与AA'相同)组成SS'。
因此,奇异值分解和特征值问题紧密联系。
2.3.2奇异值分解的性质
用奇异值分解来得出图像块的特征值有一下几点优点:
(1)奇异值[1]的稳定性:
当一个矩阵有较小的扰动时,它的奇异值的变化不是很大。
(2)奇异值特征向量转置不变,即矩阵A和它的转置矩阵有相同的奇异值特征向量。
(3)奇异值特征向量平移不变,即矩阵A进行行或列的置换运算所得到的矩阵的奇异值特征向量与矩阵A的相同。
(4)奇异值特征向量缩放不变,即对矩阵A进行整数倍放大缩小变换时,得到的奇异值特征向量不变。
2.4图像的奇异值分解
在第二章对数字图像的介绍中我们知道,数字图像在计算机中就是以矩阵形式保存的,换言之,我们把图像认为是一个大的矩阵,把各个图像块认为是各个小矩阵。
而奇异值分解(SVD)则是将矩阵对角化的数值方法。
2.4.1用奇异值分解法检测图像的优点
要检测图像,需要对各个图像块提取特征值,为什么选择奇异值分解来获得特征值,原因有一下几点:
(1)图像的奇异值很稳定,当图像受到小的扰动时,奇异值不会有很大变化。
(2)奇异值对应于图像的亮度特征,而奇异值向量则对应于图像的几何特征。
往往,对于一张经过复制粘贴的篡改图像,并不是光用肉眼就能确定其篡改区域的,而用奇异值分解,就能得到图像的内蕴特征,非视觉特性,它所反应的是图像矩阵中元素的关系。
(3)图像块进行奇异值分解得到的奇异值特征向量的第一个元素要比其他的大得多。
忽略这些较小的项所构成的图像质量不会有很大的退化,但是,如果改变了其中较大的项,那它所重新构成的图像就会发生大的变化。
对矩阵进行奇异值分解所得出的奇异值向量比较稳定,并且有计算优势,可以直接解决非方矩阵,将其用作图像的特征向量是不错的选择。
2.5算法描述
基于SVD奇异值分解的复制粘贴的篡改图像检测法,其算法的步骤主要有以下几个:
图像分块,图像块特征值提取,特征值排序,匹配,显示。
本节将详细的介绍每个步骤的实现及其功能。
2.5.1数字图像分块方法
通过对数字图像的介绍,我们知道,图像是以像素值的方式储存的。
在计算机中,就是多个数值以矩阵的形式保存一副图像。
所以,对数字图像的分块方法,就是将一个大的矩阵分成多个小矩阵。
2.5.1.1简单分块法
简单分块法比较容易理解,比如一张512*512的图像,将其分成64*64个块,则每块为8*8像素。
这种分块方式比较简单,但是它也有弊端:
如果每个块太大,就会影响检测的精度;如果原图像的行不能被每个小块的行整除,则就会多出图像右边和下边两个边缘处不能分块,比如一张514*514的图像,如果每个块为8*8,则在图像的右边和下边两处边缘剩余2*514的像素不能分块。
这个时候就必须对原图像进行处理,在图像的右边和下边补上6*514的像素,拼成一副520*520的图像,这样就可以被8*8的块平分了。
2.5.1.2窗口划动分块法
窗口划动分块法对于简单分块法来说稍微复杂些。
给定一副图像,自己设置一个合适大小的窗口,将窗口的左上角对准图像的左上角,这时窗口中的图像块标记为第一块。
保持窗口上边缘与图像上边缘对齐,将窗口向右平移一个像素,这时窗口中的块为第二块。
依次类推,当窗口右边缘第一次与图像右边缘重合后,将窗口移动至第一块图像向下平移一个像素处,接着再向右平移来分块,直至所有像素点都分到块中。
比如,有一张512*512的图像,我们将窗口设置为8*8大小,则图像左上角的8*8像素就分为第一块,再向右平移一个像素,即图像的1到8行,2到9列组成的像素值分为第二块。
所以图像的2到9行,1到8列则为第506块。
用这种方法分出来的块,每一个块总存在一些块与它有很高的重合区域,用这种分块方法来检测可以得到更高的精确度。
但是,这种方法分的块较多,如果原图像为M*N,窗口为m*n,则分的块个数为(M-m+1)*(N-n+1),所以它的复杂度也高了。
2.5.2图像块的特征值提取
我们已知计算机中的图像是以矩阵形式储存的,第二步工作就是将图像块进行奇异值分解,得出奇异值向量,每一个奇异值向量代表了各个图像块的内部特征。
2.5.3特征值排序
2.5.3.1为什么要排序
在上面的小节,我们已经完成了对图像的分块和各个小块的特征值提取。
而在进行特征值比较之前,还有一个步骤,它可以有效的降低处理时间,那就是排序。
无序的比较,不仅需要花费更多的运行时间,而且占据更多内存空间。
所以,对于特征值的排序是非常有用的一步。
这样可以去掉一些盲目的比较,只比较与自己最相似的特征值,不仅省时,也省空间,不会杂乱无章。
2.5.3.2排序
排序是计算机内经常进行的一种操作,它的目的是,调整将一组“无序”的记录序列为“有序”的记录序列。
排序可以分为内部排序和外部排序。
如果在整个排序过程,cpu不需要访问外存就能够完成排序,则此类排序称为内部排序。
反之,如果参加排序的记录数量很大,整个排序过程不可能只在内存中完成,那么这类排序问题称为外部排序。
内部排序的过程是一个逐步扩大记录的有序序列长度的过程。
2.5.3.3排序的种类
排序方法有很多种,常用的有:
(1)冒泡排序:
已知一组无序数列a[1]到a[n],需将其按升序排列。
首先比较a[1]与a[2],如果a[1]大于a[2],则将a[1]与a[2]互换,这时,a[1]中存放的数为原a[2]中的数,a[2]中为原a[1]的数。
如果a[1]不大于a[2],则不变。
接着,用同样的方法比较a[2]和a[3],直至a[n]。
这样第一轮过后,a[n]中存放的为数组中最大的数,接着进行第二轮比较,直到所有数都为升序排列为止。
(2)选择排序:
选择排序是冒泡排序的改进版,每一轮从待排序的数组中选择出一个最大或最小的数,顺序放在已排好序的数列的最后,直到全部待排序的数组完成。
选择排序流程图:
(3)快速排序:
已知一组无序数组a[1]到a[n],要对其进行升序排序。
首先任意选取数据a[x]作为基准。
比较a[x]与其他数据并排序,把比a[x]小的数据摆在a[x]的左边,把比a[x]大的数据摆在a[x]右边。
然后在用相同的方法分别对a[x]左边和右边进行排序,直到所有数据按升序排列。
快速排序C++代码(代码来源:
基于Agent的人才供求信息双向多级匹配模型的设计与实现[14]):
2.5.3.4矩阵的排序
在上一小节中,介绍了一些对数据的排序方法。
对于矩阵的特征向量的排序也是一个道理,相当于将一个向量替换一个数。
2.5.3.5向量的比较
在第二步中,我们已经对图像块进行了奇异值分解,并得到了奇异值向量,每个奇异值向量中的元素是降序排列的,且第一个数比其他的要大的多。
如何排序向量,一般的,我们只要比较奇异值向量的第一个元素就可以将向量排序了。
如果存在第一个元素相同,对于整个排序和最后的图像匹配并不影响很大。
因为在第一个元素相同的向量会排在相邻或很相近的位置,匹配的时候总是比较相邻的两个向量。
本文,我们选择冒泡排序法对向量进行降序排序,从第一个奇异值特征向量开始,每一次比较两个相邻的向量的第一个元素,如果第一个向量的第一个元素比第二个向量的小,则交换个两个向量。
依次比较,直到所有向量进行降序排列。
2.5.4向量的匹配
前面,我们已经完成了图像的分块,图像块特征值的提取,并对特征向量做了降序排列。
如何寻找相似匹配对,如何认为两个向量相似,在这里我们引入欧氏距离这一概念。
利用欧氏距离来比较两个向量是否相似。
3.4.4.1欧氏距离
欧氏距离,是一个通常采用的距离定义,它是在m维空间中两个点之间的真实距离。
在二维和三维空间中的欧氏距离就是两点之间的距离。
欧氏距离的计算公式:
本文将采用欧氏距离作为两个向量相似性的度量。
3.4.4.2图像匹配
在了解了欧氏距离之后,我们开始对图像块进行比较。
比较排序之后的两个特征向量,首先,利用公式计算出这两个向量的欧氏距离,这里我们设置一个阈值d,如果这两个向量的欧氏距离D(P1,P2) 对所有相邻奇异值向量两两比较之后,得出了一些匹配对。 3.4.5图像块位置定位 当图像块的奇异值特征进行排序之后,就相当于图像块的顺序进行了排序。 那如何找到图像块原本的位置呢。 这里,我们需要重新定义一个数组,定义
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 篡改 检测 方法 研究 毕业 作品
![提示](https://static.bdocx.com/images/bang_tan.gif)