随着计算机技术的高速发展,出现了各种新兴的图像处理技术,这些技术发展的同时也带来了一些弊端。例如,图像处理软件的广泛使用产生了大量篡改图像。篡改图像可以影响人们对图像内容的理解,并且篡改区域往往难以发现。一些恶意篡改的图像往往会影响社会舆论、干涉司法取证甚至影响国家安全[1],因此,图像真伪鉴别方法的研究有着重大的现实意义,已成为网络空间安全领域的一个重要研究方向。
目前在图像真伪鉴别领域,国内外的研究主要分为主动鉴别技术和被动鉴别技术2个方向:所谓主动鉴别技术,就是预先主动地对图像数据进行处理,对图像加入某种信息,在接收端通过事先约定好的方式判断中间图像数据是否经过改动;被动鉴别技术是指不需要对图像进行任何预处理,直接根据待检测图像本身具有的特性进行分析取证的鉴别过程。虽然主动鉴别技术研究较为成熟,并已投入应用,但该技术需要对图像进行水印嵌入或数字签名等预处理[2],处理过程繁琐,并且生活中大部分的照片是没有经过这些处理的,适用范围较窄。因此,被动鉴别技术具有更广阔的研究意义和研究空间。
针对被动鉴别技术,国内外相关领域研究人员进行了研究。Mahmood等[3]提出了一种通过平稳小波的低逼近分量上的局部二进制模式方差(local binary pattern variance, LBPV)进行复制-粘贴伪造检测的方法,并将其应用于圆形区域的检测。Sadeghi等[4]提出基于尺度不变特征变换(scale-invariant feature transform, SIFT)关键点最近邻搜索的算法,该算法对一些常见的后处理具有一定的鲁棒性。Saini等[5]采取了一种结合了SIFT和快速鲁棒性特征(speeded up robust features, SURF)的方法。Selvaraj等[6]结合SIFT和聚类算法很好地解决了图像复制-粘贴篡改的问题。Wu等[7]提出用ManTra-net网络检测图像篡改,取得了较好的效果。针对复制-粘贴篡改检测,张震等[8]提出了基于LPP-SIFT和向量角度比率的检测方法。李子健等[9]为了解决SIFT算法中特征向量维数过高的问题,使用LPP(locality preserving projections)算法对SIFT特征点描述子进行降维处理,然后利用层次聚类算法定位复制-粘贴的篡改区域。马伟鹏等[10]基于SIFT特征描述子的图像复制-粘贴篡改检测算法,在降维处理上选取了感知哈希的方式,提升了算法的匹配速度。巩家昌[11]提出了可以对SIFT算法进行改进的OpponentSIFT算法,利用局部颜色不变性描述子特征进行盲取证,然后利用仿射变换估计和随机抽样一致性避免误匹配。汪涛[12]采用Affine SIFT仿射不变特征点的匹配来进行复制-粘贴区域的检测定位。骆伟祺等[13]提出一种基于块匹配的图像复制-粘贴篡改盲取证算法,该算法对加噪声、JPEG压缩等后处理操作具有较好的鲁棒性。柴新新等[14]提出一种基于图像小波变换特征的图像块匹配算法来进行复制-粘贴篡改取证。
在图像复制-粘贴篡改检测方面,利用特征匹配是常见且有效的方法,因为复制-粘贴篡改检测的核心就是找出图像中高度相似部分。目前有很多基于SIFT的算法,但是它们对于图中篡改区域的定位不够明确,并且SIFT误匹配现象会对篡改区域分辨造成干扰。本文对上述问题进行改进,提出了一种新的基于特征匹配的篡改区域定位算法,能够在一定程度上更准确清晰地确定复制-粘贴篡改的区域。
SIFT算法是由Lowe[15]提出的一种非常优秀的图像特征提取算法。SIFT算法主要具有以下3种优势:
(1)SIFT算法提取的特征关键点具有独特性,每个特征关键点有一个128维向量进行详细描述,所以非常适合用于图像匹配的场合。
(2)SIFT算法提取的特征关键点具有大量性,也就是说在一幅图像中使用该算法可以找到许多关键点,为我们对图像特征进行分析提供了充足的信息。
(3)SIFT算法提取的特征关键点具有很好的稳定性,主要表现在对光照变化、仿射变换、大小缩放、图像旋转、图像噪声、视角变化有着非常好的鲁棒性。
SIFT算法主要分为以下4步:
(1)在尺度空间上进行极值检测。首先对原图像进行高斯模糊处理,然后构造高斯金字塔,使用高斯差分算子DOG构造高斯差分金字塔,最后寻找出空间极值点。
(2)对图像特征关键点进行定位。上一步已经确定了若干个极值点的侯选位置,通过泰勒展开式来拟合DOG函数,之后跟据偏移量剔除不符合条件的候选点。
(3)确定图像梯度方向。对于图像的局部区域,计算区域内各个点的梯度幅值和方向,把它们归为8类(8个方向)。
(4)形成特征点描述子。在关键点周围的邻域内,Lowe[15]提出在关键点尺度空间内定义一个4×4的小型窗口,窗口内每一个元素都包含步骤(3)中8个方向的信息,所以最后形成一个128维(4×4×8=128)的特征描述子向量。
SIFT算法虽然精确度很高,但是由于提取关键点特征的处理步骤过于复杂,所以提取过程用时较长,并且特征向量维度过高,会使后续的匹配工作较为缓慢。
数学形态学是一门广泛应用于图像处理领域的学科。其主要目的是通过数学形态学的操作,去除图像中没有意义的部分,保留实际需要分析的部分,能够帮助我们抓住图像的本质信息[16]。
1.2.1 形态学腐蚀
数学形态学中的腐蚀操作,顾名思义,就是对图像中的内容进行“腐蚀”,如图1所示,其中图1(a)为腐蚀前的图像,图1(b)为腐蚀后的图像。腐蚀操作会对图像内容的边界进行消磨。形态学腐蚀的模型如式(1)所示,其中B被称为结构元素,选取合适的结构元素B对A进行腐蚀,A能够完全包含结构元素B时,(x,y)所组成的点集即为腐蚀之后的图像。
图1 形态学腐蚀
Figure 1 Morphological corrosion
AΘB={x,y|Bxy⊆A}。
(1)
1.2.2 形态学膨胀
数学形态学中的膨胀操作,顾名思义,就是对图像中的内容进行“膨胀”,如图2所示,其中图2(a)为膨胀前的图像,图2(b)为膨胀后的图像。膨胀操作会对图像内容的边界进行扩张。形态学膨胀的模型如式(2)所示。B被称为结构元素,选取合适的结构元素B对A进行膨胀,B在A上移动,满足A与结构元素B至少有一个像素重叠,这样形成的图像是膨胀之后的图像。
图2 形态学膨胀
Figure 2 Morphological expansion
A⊕B={x,y|Bxy∩A≠∅}。
(2)
目前基于SIFT算法的图像复制-粘贴盲取证算法普遍存在较多误匹配现象,如图3所示,导致定位效果不清晰、不明确,不能清晰划定篡改区域。本文提出一种基于形态学和特征匹配的方法,可以较清晰地定位篡改区域。
图3 SIFT误匹配
Figure 3 SIFT mismatch
图像复制-粘贴篡改是最常见的图像篡改方式之一。修图者通过复制原图像中的某个区域并将它粘贴到图像中的另一个区域,从而达到掩盖原图像某一重要特征的目的。
骆伟祺等[13]提出了图像区域复制-粘贴篡改的模型,认为篡改之后存在2个等大面积相似区域,且假设复制区域和粘贴区域对应位置的位移矢量相等。这样一来会导致基于该模型的算法对于图像复制-粘贴篡改后可能会进行的旋转、略微缩放等操作不具有适应性,所以该模型的普适性还不够高。王俊文等[17]提出的模型考虑了粘贴时图像可能的旋转,但假设复制区域和粘贴区域一样大。本文参考文献[13]和文献[17],对图像复制-粘贴篡改模型进行修改,使得基于此模型的算法可以适应复制-粘贴篡改后可能会进行的旋转、缩放操作,如图4所示。
图4 复制-粘贴图像篡改示意图
Figure 4 Copy-move image tampering diagram
算法模型假设如下:
(1)假设篡改区域是连通区域,且连通区域面积不算太小。
(2)假设复制区域和粘贴区域有一定的距离,距离不算太近并且两区域不重合。
(3)假设在复制-粘贴后可以适当在粘贴区域旋转、缩放复制的图像部分。
模型的数学表达如式(3)所示,在一幅被篡改图像f′(pic)中,存在区域(pick,pic′k),pick、pic′k∈pic (k=1,2,…,n),其中k为复制-粘贴图像对的序号。
s.t. ∀(i,j)∈pick,f2 (i,j)=f1 (i′,j′ ),(i′,j′)=
(i,j)+(mk,nk ),(i′,j′)∈pick′,mk2+nk2≥
thx2+thy2,Spick≥Sth,Spic′k≥Sth。
(3)
式中:Sth为最小面积阈值;向量(thx,thy)为位移矢量阈值;向量(mk,nk)为位移矢量;(i,j)为图像中的位置坐标;f1(i,j)为原图像的灰度值函数;pic′k为被复制的图像部分;pick为遮盖部分。
本文改进算法具体步骤如下。
步骤1 基于SIFT算法,对图像进行特征提取,找出所有关键点的位置,每个关键点形成一个128维的特征描述子向量。
步骤2 基于欧式距离对特征描述子向量进行两两匹配,按匹配关键点的位置形成图像块,形成块匹配,并根据块匹配来进行篡改区域粗略定位。由于一般情况下,复制-粘贴篡改区域(即高度相似的区域)中特征点比较集中,因此基于关键点的图像块之间可以相互连接形成一个较大的连通分量,而误匹配的特征点一般相对分散,较难形成较大的连通分量,所以可以根据这一点排除部分误匹配特征点的干扰,粗略地确定复制-粘贴篡改区域。
步骤3 在匹配完成后,通过数学形态学方法进行处理,保留最大的2个连通分量,其他部分为冗余匹配块,将其去除。
为了最后确定的定位区域可以较完整地包括复制-粘贴的区域,将连通分量对应的疑似区域定义为一个面积为该连通分量4倍的正方形。正方形的质心(C1,C2)为原连通分量的质心(可使用数学形态学方法求出)。形成疑似区域对(Sp1,Sp2),接下来仅仅对疑似区域对进行分析即可,粗略定位结果如图5所示。
图5 粗略确定疑似区域
Figure 5 Suspected area roughly determine
步骤4 进行基于SIFT特征的细节匹配和区域重定位。因为疑似区域对只是对疑似复制-粘贴区域进行粗略定位,所以定位面积较大,而且实际复制-粘贴区域可能并不位于疑似区域粗略定位的中心,若不进行后续处理,区域定位效果较差,所以需要对定位区域进行矫正,并且对疑似区域对中两个区域的部分细节点进行匹配,使定位更加清晰。使用SIFT算法提取疑似区域的特征点,形成SIFT特征描述子(128维向量),由于疑似区域面积相对于整幅图来说一般不会太大,所以SIFT算法的特征提取执行时间较短。
然后将疑似区域对中2块区域的SIFT特征点描述子进行两两匹配。为了解决SIFT描述子维度过高的问题,可以对SIFT描述子矩阵进行PCA降维处理,用主成分分析的方法,可以使向量维度减少50%左右,这在一定程度上减少了匹配时间,并且可以提高匹配精度。匹配程度采用欧式距离来描述,欧式距离越小,表示2个特征点匹配度越好,依次寻找两区域内欧式距离最短的特征点对(pi,pj)。
在实验中发现,SIFT算法偶尔会存在“误匹配现象”,如图6所示,这会使定位效果和可视化效果欠佳,虽然先对图像进行粗略匹配可以大大减少这种情况发生,但是有时还是会存在误匹配现象,如图6中的绿色圈圈出的特征点对。
图6 SIFT误匹配点对
Figure 6 SIFT mismatch point pair
张宇等[18]提出,衡量2个向量的相似程度,通常通过距离度量方式和相似性函数方式。基于最小欧式距离的特征点匹配是距离度量方式。欧式距离只单纯考虑了两向量的距离,但未考虑向量各个分量之间的相关性,所以这里采用相关系数法设置阈值θ。θ取值为0~1,θ值越大,则筛选条件越苛刻,剩余的匹配点对就越少,设置时应在过滤错误匹配点对的基础上尽量保留正确的匹配点对。
(4)
按式(4)对匹配的特征点对进行“提纯”(其中p1、p2为特征向量)。提纯后形成n个特征点对((x1i,y1i),(x2i,y2i)),之后需要进行重定位来精确定位复制-粘贴区域。对于疑似区域Sp1,4个顶点的坐标从上至下从左至右令其为(u11,v11)、(u12,v11)、(u11,v12)、(u12,v12);对于疑似区域Sp2,4个顶点的坐标从上至下从左至右令其为(u21,v21)、(u22,v21)、(u21,v22)、(u22,v22),修正系数ξ∈(0,1),按照式(5)进行区域重定位修正。
(5)
最后确定复制-粘贴区域F1、F2,对于最终区域F1,4个顶点的坐标从上至下从左至右令其为对于最终区域F2,4个顶点的坐标从上至下从左至右令其为
在Windows10和MATLAB R2016的实验环境下,对本文提出的方法进行仿真实验。实验选取1组有代表性的图像,加入复制-粘贴和旋转缩放攻击后进行实验。将实验结果与文献[19]中的基于神经网络算法(调用“小花儿人工智能科技”提供的API进行测试)以及传统的SIFT算法匹配效果进行对比,检测三者在篡改区域定位方面的差异。
如图7所示,第1列为文献[19]中的基于神经网络算法运行结果,第2列为传统的SIFT匹配盲检测算法运行结果,第3列为本文定位方法运行结果。第1行是简单背景下进行复制-粘贴篡改的检测结果;第2行是较复杂背景下进行复制-粘贴篡改的检测结果;第3行是简单背景下进行复制-粘贴篡改并缩放旋转攻击后的检测结果;第4行是较复杂背景下进行复制-粘贴篡改并缩放旋转攻击后的检测结果。
图7 不同算法仿真实验结果对比
Figure 7 Comparison of simulation experimental results of different algorithms
实验中根据经验将最小面积阈值设置为5 000,位移矢量阈值设置为(可以根据实际情况加以调整)。对比结果可以发现,文献[19]中的方法在定位区域上经常会出现篡改区域定位不准确的现象;传统的SIFT匹配盲检测算法中误判点较多,容易干扰人们对篡改区域的分辨,并且区域定位不够清晰;本文算法可以在一定程度上避免误匹配对于篡改区域定位的弊端,在区域的定位效果上看是比较清晰准确的。
本文针对图像复制-粘贴篡改问题,就传统基于SIFT关键点欧式距离匹配算法未能清晰地对篡改区域进行定位的问题,提出了基于形态学和特征匹配的篡改区域定位方法。经实验对比,基于形态学和特征匹配的篡改区域定位方法能够更清晰地定位复制-粘贴篡改区域。
[1] 王金磊.基于SIFT关键点的新闻图像复制粘贴篡改检测算法[J].中国传媒科技,2020(12):117-118.
[2] 葛琳琳,韦梦文,张威,等.基于混沌映射图像篡改检测的脆弱水印方案[J].辽宁石油化工大学学报,2020,40(6):91-96.
[3] MAHMOOD T,MEHMOOD Z,SHAH M,et al.A robust technique for copy-move forgery detection and localization in digital images via stationary wavelet and discrete cosine transform[J].Journal of visual communication and image representation,2018,53:202-214.
[4] SADEGHI S,JALAB H A,WONG K,et al.Keypoint based authentication and localization of copy-move forgery in digital image[J].Malaysian journal of computer science,2017,30(2):117-133.
[5] SAINI G K,MAHAJAN M.Improvement in copy-move forgery detection using hybrid approach[J].International journal of modern education and computer science,2016,8(12):56-63.
[6] SELVARAJ P,KARUPPIAH M.Enhanced copy-paste forgery detection in digital images using scale-invariant feature transform[J].IET image processing,2020,14(3):462-471.
[7] WU Y,ABDALMAGEED W,NATARAJAN P.ManTra-net:manipulation tracing network for detection and localization of image forgeries with anomalous features[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).Piscataway: IEEE,2019:9535-9544.
[8] 张震,苏白娜,喻宙.一种新的图像拷贝篡改检测方法[J].郑州大学学报(工学版),2012,33(6):15-18.
[9] 李子健,阮秋琦.基于LPP和改进SIFT的copy-move篡改检测[J].信号处理,2017,33(4):589-594.
[10] 马伟鹏,林敏锐,吴泽宇,等.基于SIFT和感知哈希的图像复制粘贴篡改检测方法[J].现代计算机,2019(15):56-59.
[11] 巩家昌.基于局部颜色不变性特征的图像复制粘贴篡改取证研究[D].天津:天津大学,2016.
[12] 汪涛.数字图像复制粘贴篡改的被动认证方法研究[D].合肥:安徽大学,2014.
[13] 骆伟祺,黄继武,丘国平.鲁棒的区域复制图像篡改检测技术[J].计算机学报,2007,30(11):1998-2007.
[14] 柴新新,邱晓晖.基于提升小波变换的图像篡改检测算法[J].计算机技术与发展,2016,26(4):78-81.
[15] LOWE D G.Distinctive image features from scale-invariant keypoints[J]. International journal of computer vision, 2004, 60(2):91-110.
[16] SOILLE P.形态学图像分析原理与应用[M]. 王小鹏,等译.2版.北京:清华大学出版社,2008.
[17] 王俊文,刘光杰,张湛,等.图像区域复制篡改快速鲁棒取证[J].自动化学报,2009,35(12):1488-1495.
[18] 张宇,刘雨东,计钊.向量相似度测度方法[J].声学技术,2009,28(4):532-536.
[19] ZHOU P,HAN X T,MORARIU V I,et al.Learning rich features for image manipulation detection[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Piscataway: IEEE,2018:1053-1061.