基于SURF的图像多区域复制粘贴篡改检测

2018-08-17 03:17陈辉映张大兴杨珊珊郭家伟
计算机工程与设计 2018年8期
关键词:复制粘贴粘贴方向

陈辉映,张大兴,杨珊珊,郭家伟

(杭州电子科技大学 图形图像研究所,浙江 杭州 310018)

0 引 言

研究人员将复制粘贴篡改检测技术分成两类:基于分块统计的算法和基于特征点匹配的算法。现有基于分块统计的算法主要有基于矩的Zernike[1]算法,基于降维的PCA[2]算法、SVD[3]算法,基于灰度值的Circle[4]算法以及基于频率的DCT[5]算法、DWT[6]算法。基于分块统计的算法对不经过任何后处理操作的篡改图片检测具有一定效果,但普遍存在无法抵抗旋转、缩放等几何变换操作,且计算杂度高的问题。针对前述问题,有学者提出基于特征点匹配的检测算法,如SIFT(scale-invariant feature transform)[7]算法、ORB(oriented brief)[8]算法和MIFT算法等。现有基于特征点匹配的算法相对基于分块统计的算法而言,提高了抗后处理操作的鲁棒性,但大多只针对单处复制粘贴篡改,对于多处复制粘贴篡改图像检测效果较差,且检测速度慢。针对这些问题,本文提出一种基于SURF的图像复制粘贴篡改检测方法,下文简称为SURF算法。该算法基于SURF描述符,利用了其不受旋转、缩放等影响的特性,并提出k-g2NN方法对特征点进行匹配,最后根据几何约束进行聚类以消除误匹配,实验结果表明了SURF算法的有效性。

1 SURF

SURF(speeded-up robust features)特征提取算法由Bay等提出,它能够快速高效地提取图像中的特征点并将其表达成描述符。算法使用方框滤波器代替二阶高斯滤波器,用二阶Hessian矩阵的近似值做特征点检测,并在计算过程中引进积分图像,提高了计算效率。

1.1 快速Hessian矩阵检测

Hessian矩阵是SURF特征提取的基础。假设X=(x,y)为图像I的某个像素点,则尺度为σ的Hessian矩阵H(X,σ)的定义如下

(1)

det(Hessian)=DxxDyy-(wDxy)2

(2)

式中:w为权值系数,用于平衡二阶高斯滤波与方框滤波器的能量之差。

图1 SURF使用的方框滤波器

将输入图像与不同参数值的方框滤波模版进行卷积,可以得到不同的响应结果,即尺度空间中的响应图。在尺度空间中,通过非极大值抑制方法可以找出图像的兴趣点。最后采用三维线性插值法对尺度空间进行插值,以得到特征点的位置值和尺度值。

1.2 特征点描述

SURF算法通过计算特征点邻域内的点在x、y方向上的Harr小波响应生成描述子。

首先以检测到的特征点为圆心划一个半径为4s(s为该特征点所在的尺度)的圆,计算圆内的点在x、y方向的Haar小波响应,并按照距离特征点的远近对响应赋上不同的高斯权值,距离越近的权重越大。然后取圆心角为60°的扇形以一定步长旋转覆盖整个圆形区域,叠加计算扇形内的响应得到矢量,并将最长矢量的方向作为特征点的主方向。

确定了特征点的主方向以后,以该点为中心建立直角坐标系,y轴与主方向对齐以保证特征点不受旋转的影响。在以该点为中心的20s范围内取一个正方形块,并将其均匀分成4×4的子块,如图2所示。对每个子块计算其对应的Harr小波响应,将水平方向的Harr小波响应记为dx,垂直方向记为dy,为增加抗几何形变和定位误差的鲁棒性,需要对dx和dy进行加权,然后对每个子块的x、y方向的Harr小波响应值及其绝对值进行求和,得到的四维向量表示如下

(3)

图2 特征描述符

将每个子区域的四维向量连接在一起,可以得到该特征点的64维描述符向量。

2 复制粘贴篡改检测算法

2.1 图像预处理及SURF特征点提取

RGB颜色空间十分常用,但其3个分量独立性较低,同时容易受光照变化影响,若存在复制粘贴区域较小或明暗差异较大等因素,会导致在RGB颜色空间图像的特征提取效果不理想。LAB颜色空间与RGB颜色空间不同,它将彩色图像的色度和亮度分开,消除了RGB模型3个分量高度相关的缺陷。基于以上考虑,算法将图像转换到LAB颜色空间后对3个分量值赋予不同权值并相加,再运用SURF算法提取图像特征点和特征描述符。

2.2 特征点匹配

提取SURF特征点后,本文在I Amerini等[9]提出的g2NN方法的基础上进行改进,提出k-g2NN方法对特征点进行匹配。g2NN方法采用搜索多近邻的方法解决了多处复制粘贴篡改的问题。假设对图像I提取SURF特征,得到特征点集S={s1,s2,…,sn}和对应的特征描述符,对某个特征点si求它与余下的特征点对应的描述符的欧式距离,对得到的欧式距离进行升序排列,得到距离向量D={d1,d2,…,dn}。图像特征匹配过程中,若满足

(4)

则表示特征点与距其最近的特征点匹配,即2NN准则。τ表示取值为0到1之间的阈值,取值越小误匹配就越少,但可能会出现漏匹配的现象。g2NN是广义的2NN,循环2近邻准则进行搜索,依次计算

(5)

若存在z(1<=Z<=n-2),满足Tz≤τ且Tz+1>τ,则特征点si和距其{d1,d2,…,dz}的z个特征点均匹配,遍历所有的特征点得到匹配对集合P={p1,p2,…,pm},其中p1=(si,sj)即特征点与匹配点组成的二维向量。在匹配过程中,提取的特征点数量较多,g2NN方法在排序和阈值比较上需要花费大量的时间,效率较低。

本文提出的k-g2NN方法在g2NN方法的基础上进行改进来提高匹配效率。改进主要分3点:第一,不对得到的欧式距离进行排序,而是直接选取与该特征点对应描述符的欧式距离最近的k个特征点,k的取值与得到的特征点个数成比例且满足k

2.3 剔除误匹配

图像中距离较近的点,往往因为纹理属性或颜色亮度相似而使得两点的特征描述符也很相似,进而导致了大量误匹配的出现[10]。为解决匹配过程中常发生的误匹配现象,算法采用对特征的匹配对进行聚类的方法剔除误匹配。聚类基于几何约束,先对得到的匹配对进行基于方向的聚类,然后对得到的结果进行基于距离的再聚类。

(1)基于方向的粗聚类

对匹配对集合P中的元素按照不同方向自然分组,构成方向集合R={R1,R2,…,Rn},其中Rn为这一子方向的匹配对集合。对于新的匹配对,依次计算它与现有方向子集合的主方向的夹角,若小于某个阈值,则将匹配对加入该子集合中。若当前匹配对与现有方向子集合均匹配失败,则创建一个新的方向子集Ri。选择子集中所有元素方向的均值作为方向子集的主方向,并随着元素的加入不断更新

(6)

(2)基于距离的再聚类

按照方向对匹配对进行粗聚类之后,集合中仍然可能存在匹配对的两个特征点之间的距离太近或太远的情况,而这些点并不是所求的篡改区域的点,因此需要对方向集合中的元素进行基于距离的再聚类。即对于每一个方向子集合Rj进行进一步细分生成距离集合H={H1,H2,…,Hm}。从方向子集合Rj中逐个取匹配对与距离子集合Hj的元素比较特征点间的距离,若距离小于某个阈值则把其添加到这个距离子集合当中,否则与下一个距离子集的元素进行比较,若匹配对不属于任何一个现有子集,则生成一个新的距离子集。

2.4 后处理操作

剔除误匹配后对检测结果进行后处理操作。先将剩下的匹配对所包含的特征点在篡改图像上标示出来,并对标示的篡改图进行二值化处理,其中白色区域表示篡改图的复制和粘贴区域,然后利用腐蚀和膨胀操作进一步消除误判,最终将定位的复制粘贴篡改检测结果以二值图像的形式输出。

3 实验结果与分析

3.1 测试图库集

实验使用的图库集I由来自CASIA v2.0(Chinese aca-demy of sciences institute of automation)[11]图库的图片组成。CASIA v2.0图库由中国科学院提供,在国内外被广泛使用,具有一定权威性,使用者可以根据自身算法在其中选择不同类别的一组或多组篡改图片进行测试。CASIA v2.0图库包括7491张原始图以及5123张篡改图,其中篡改图包括JPEG、BMP以及TIFF这3种格式,分辨率从240×160到900×800之间。根据不同的篡改行为,该图库又对篡改图进行了更细的分类,比如拼接篡改类、复制-粘贴篡改类、缩放篡改等等。图库集I由两个子库组成。子库IA由未经篡改的200张原图组成。子库IB包括复制-粘贴篡改类中的共300张图片,包括两种多处复制粘贴篡改图像,部分图像篡改区域经过旋转和缩放后处理操作。

3.2 准确率与虚警率

实验选择Amerini等提出的一种基于SIFT的复制粘贴篡改检测算法作为对比算法,该算法是目前基于特征点匹配的篡改检测算法中性能最好的算法之一。并选择准确率TPR(true positive rate)和虚警率FPR(false positive rate)作为算法比对的测评标准,TPR表示篡改图像被检测成功的比率,FPR表示原始图像被误检测为篡改图的比率,定义如下

(7)

(8)

其中,Nforged表示篡改图像的总数,Noriginal表示原始图像的总数,Nfalse表示检测错误的图像的数量。对子库IA中的原始图像进行检测得到算法的虚警率,对子库IB中的篡改图像进行检测得到算法的准确率。SURF算法和SIFT算法对两个子库进行检测得到的虚警率和准确率见表1,可以看到两个算法的虚警率相差不大且都很低,但SURF算法检测的准确率要比SIFT高6个百分点。

表1 SURF算法和SIFT算法检测准确率和虚警率

3.3 多处平移复制粘贴篡改检测

多处复制粘贴篡改技术可以分为两种。第一种为一处复制多处粘贴篡改,如图3所示,图3(a)和图3(d)是两幅原始图像,图3(b)和图3(e)是分别在两幅图像的基础上将一处区域复制多次粘贴在图像别的区域得到的图像,篡改区域未经过后处理操作,图3(c)和图3(f)是基于SURF算法对这两幅篡改图进行检测得到的结果。检测结果中的白色区域其中一处表示原图被复制区域,剩下几处表示被粘贴篡改的区域。

图3 一处复制多处粘贴篡改检测实验

第二种为多处复制多处粘贴篡改,如图4所示,图4(a)和图4(d)是两幅原始图像,图4(b)和图4(e)是分别在两幅图像的基础上进行多处复制多处粘贴得到的篡改图像,图3(c)和图3(f)是基于 SURF算法对这两幅篡改图进行检测得到的结果。实验表明本文SURF算法能有效检测两种多处复制粘贴篡改图片。

图4 多处复制多处粘贴篡改检测实验结果

3.4 抗旋转、缩放后处理操作

旋转和缩放是图像复制粘贴篡改技术对篡改区域常用后处理操作手段。缩放操作如图5所示,在原图5(a)的基础上对粘贴副本进行放大20%和缩小20%操作后分别粘贴在原复制区域的左侧和右侧,可以得到篡改图5(b),图5(c)是SURF算法对经过缩放操作的篡改图进行检测得到的结果。在原图5(d)的基础上对粘贴副本顺时针旋转30°和50°操作后分别粘贴在原复制区域的上侧和右侧得到篡改图5(e),图5(f)是SURF算法对经过旋转操作的篡改图进行检测得到的结果。

图5 抗旋转和缩放检测实验结果

对子库IB中包含不同攻击的篡改图分别进行检测,总体检测结果如图6所示,其中综合表示同时对篡改区域进行旋转和缩放操作。图6中每组数据的左侧柱形表示SURF算法的检测结果,右侧柱型是SIFT算法的检测结果。从图中可以看出,对包含不同几何攻击的篡改图的检测结果,SURF算法的检测准确率都要高于SIFT算法,且SURF算法在抗几何变换攻击方面有较强的鲁棒性。

图6 SURF算法和SIFT算法针对不同攻击检测结果

3.5 抗JPEG压缩

对图像进行JPEG压缩会影响图像的质量,进而影响检测结果,抗JPEG压缩也是复制粘贴篡改检测算法重要的性能之一。对图库I中的图像JPEG压缩后,使用SURF算法和SIFT算法对图像进行验测,二者在不同压缩因子下TPR和FPR变化如图7所示。随着JPEG压缩质量的下降,两者的FPR变化不大,而TPR会受一定影响,但SURF算法的TPR保持比较高的比率且始终高于SIFT算法,稳定性较好。实验结果表明,SURF算法在抗JPEG压缩方面具有较强的鲁棒性。

3.6 检测时间

实验分别使用SURF算法和SIFT进行检测对子库IB的所有图片进行检测,然后分别计算特征提取时间,特征匹配时间以及总检测时间的平均值。两个算法的检测时间比较结果见表2。

在检测速度上,无论是特征提取还是特征匹配过程,本文SURF算法都要优于SIFT算法。单一图像的平均检测时间SURF算法需要2.6 s,而SIFT算法需要7.3 s,前者的检测速度比后者提高了64%。实验结果表明,SURF算法的检测速度相比SIFT算法得到了较大的提高。

图7 JPEG压缩对SURF算法和SIFT算法的影响

算法名称特征提取时间特征匹配时间总检测时间SIFT算法58728947266SURF算法13377352553

4 结束语

复制-粘贴是常用的图像内容篡改手段之一。现有检测算法大多只在单处复制粘贴篡改检测保持一定的检测性能,但对多区域复制粘贴篡改图像的检测效果差,且检测速度慢。本文提出一种高效的基于SURF的多区域复制粘贴篡改检测算法。在保留SURF算法高效的优点基础上结合k-g2nn算法和聚类方法,能够进一步提高检测的精确性和稳定性。实验结果验证,算法在保持良好鲁棒性的情况下,不仅能够精确定位出图像的多处复制粘贴篡改区域,检测速度也得到了较大的提高。

猜你喜欢
复制粘贴粘贴方向
2022年组稿方向
复制,粘贴
2021年组稿方向
2021年组稿方向
帖脸谱
全面复制
《猫头鹰》小粘贴
Win10小技巧 复制粘贴多段不连续文字
A ski trip to Japan
What Would I Change It To