当前位置:首页 期刊杂志

基于单应性矩阵剔除SURF 错误匹配点的复制-移动伪造图像检测

时间:2024-08-31

宋 凯,吴建华

(沈阳理工大学 信息科学与工程学院,辽宁 沈阳 110159)

图像伪造检测方法分为两大类:数字图像主动取证和数字图像被动取证(盲数字图像盲取证)[1]。数字图像被动取证主要针对拼接图像和复制-移动伪造图像。

复制-移动伪造[2]是一种常见的篡改形式,通常是从图像中的某一部分复制一个区域来覆盖某一对象,从而使该对象从图像中消失。被复制-移动伪造所改变的区域通常是肉眼无法分辨的。因此,检测这些行为的证据是图像取证中的一个重要问题。复制-移动伪造检测的根本是检测伪造图像中各部分之间存在的特定联系,可以通过穷举搜索[3]方法直接检测。大多数的复制-移动伪造检测方法主要是检测伪造区域的边界变化。SHIVA‐KUMAR B L[4]提出了一种利用SURF 识别重复区域的方法,通过匹配测试图像中的两个关键点子集来获得匹配的关键点。然而,匹配之后的图像中存在错误匹配点。对伪造图像进行检测操作,如图1所示。

图1 图像伪造检测

HERBERT B 等人[5]提出了快速检测器和描述符,称为改进的SURF 算法。此算法在提高检测器和描述符速度的基础上,保留了良好的性能,如对噪声、位移几何变换等具有鲁棒性。

1 SURF算法

SURF算法是基于积分图像和Hessian矩阵,用来描述关键点检测器和描述符。该算法利用积分图像对给定图像中的像素点的强度进行计算,求得矩形区域像素强度,并通过快速Hessian 矩阵提取特征点。对于每个特征点,计算Haar 小波变换以确定其主方向,并确定特征点描述子,再根据描述向量之间的欧式距离实现图像间的特征点的匹配[6]。该方法计算速度快,匹配精确度高。

1.1 兴趣点检测

SURF 是基于Hessian 矩阵来检测特征点的。在图像中给定一个像素点X=(x,y),则尺度为σ的Hessian矩阵H(x,σ)的定义为

式中,Lxx(x,σ)是经过高斯滤波器、二阶微分在点X=(x,y)处和图像的卷积,类似的还有Lxy(x,σ)和Lyy(x,σ)。

在此基础上,计算出图像中每个像素的Hessian行列式,并用这些值找到兴趣点。SURF 采用方型滤波器,借此近似达到高斯糢糊。使用方型滤波器可使积分图像大幅提高运算速度,仅需计算位于滤波器方型的4 个角落值即可。采用不同尺寸的方型滤波器掩模对整幅图像中不同尺度层的所有强度值进行卷积。通过滤波后的图像相互相减,得到高斯(DoG)近似的差值。SURF 使用9×9 方型滤波器(图2)作为初始规模层(最底层),相当于高斯导数σ=1.2 的滤波器,越往上层的尺度滤波器的大小也就跟着增加。用Dxx、Dyy和Dxy近似表示斑点的响应映射。图2a 和图2b 分别为在y方向和xy方向上带盒型滤波器的二阶高斯偏导数。

图2 兴趣点检测

Hessian行列式的精确近似公式如下:

式中,ω≈0.9,保证了近似的能量守恒。

在确定了DoG 的近似值后,下一步是构造函数来选择极值点。

1.2 兴趣点描述符

SURF提取图像的描述符分为两步:

1)以检测到的兴趣点为中心构建圆形区域。根据检测圆形区域的信息来确定唯一方向,从而实现图像旋转不变性。通过计算x和y方向上的Haar小波响应求出方向。以兴趣点为中心计算Haar 小波响应,将计算出的响应用高斯(σ=2.5)加权。在下一步中,通过对旋转扇形的水平和垂直小波响应求和来估计主导方向,该旋转扇形在小波响应空间中覆盖π/3的角度。然后选择得到的最大值来描述兴趣点描述符的方向。

2)在选定特征点方向后,其周围像素点需要以此方向为基准来建立描述子。该区域被均匀地分割[7]成更小的正方形子区域,以5×5 个像素点为一个子区域,对每个子区域的水平和垂直小波响应进行求和,形成特征向量的第一组分量。为了提高对几何变形的鲁棒性,计算子区域内的x、y方向(此时以平行特征点方向为x,垂直特征点方向为y)的Haar 小波变换总和及向量长度总和共4 个量值,共可产生一个64 维特征描述符。将这4 个值作为每个子块区域的特征向量,一共有4×4×4=64 维向量作为SURF 特征的描述符。

2 算法实现及实验结果分析

该系统应用SURF 算法提取特征,然后利用KD-tree 对重复区域进行识别,最后利用相似三角形求出基准单应性矩阵,通过设定阈值剔除错误的匹配对。在复制-移动伪造中,被复制的部分与原部分的外观基本相同。因此,伪造区域提取的关键点与原始区域的关键点非常相似。SURF特征之间的匹配可以用于确定篡改区域。图3 为系统框图,第一步用SURF 提取特征,第二步进行关键点匹配,第三步剔除错误的匹配点。

图3 系统概览

2.1 描述符匹配

在该系统中,采用KD-tree 算法对复制区域进行识别[8],并对关键点进行匹配。KD-tree 是搜索最近邻的常用结构。KD-tree将数据预处理成数据结构,以便能够进行有效的范围查询。它是一个二叉树,在叶节点中存储k维空间的点,在每个空间点上,用k-1 维超平面将k维空间划分为两部分。假设KD-tree 由N个特征向量组成,需要构造O(Nlog2N)操作,搜索O(log2N)。

给定一个测试图像,一组关键点X={x1,…,xn}及其对应的SURF描述符{f1,…,fn}。在SURF空间中对每个关键点的fi向量进行匹配操作,识别出测试图像中相似的局部块。在SURF 空间中,利用最小欧几里得距离确定每个关键点X的最近邻,从而找到每个关键点X最佳候选匹配。KD-tree用阈值Th搜索最近的邻域。

2.2 剔除错误匹配

在寻找到描述符的最佳候选匹配后,通过相似三角形与单应性矩阵结合[9],剔除错误的匹配对。

首先,利用正确匹配点形成相似三角形的特点选取出正确匹配对(至少4 对)。对任意一对匹配点Ri和Si,利用KD-tree 找到相邻的两对匹配点Ri+1、Ri+2和Si+1、Si+2。判断三角形RiRi+1Ri+2和 三角形SiSi+1Si+2对边夹角是否近似相同,只需计算对边夹角的余弦值之差是否小于阈值C,如小于阀值C,则认为三角形相似。即对边夹角满足:

式中,阈值C=0.05。

如果满足式(4),就保留Ri+1、Ri+2和Si+1、Si+2作为基准点。在剩余匹配对中继续寻找满足相似三角形条件的匹配对,直到所有满足相似三角形的正确匹配点对被找到为止。

然后,根据已找到的正确匹配点对,估计几何变换的单应矩阵H,作为基准单应性矩阵。从剩余的匹配点对中找到满足欧式距离小于阈值的正确匹配对,选择对称转移误差作为距离函数d。

式中,x和x'分别为图像中的对应匹配点的矩阵;‖·‖为两点之间的欧式距离。

对于一对匹配点Rk和Sk,如果d(Rk,Sk)<δ,则认为Rk、Sk是一对正确的匹配点,否则将这对匹配点剔除。其中,根据实验经验取值,δ=1.8。

2.3 实验结果分析

该方法已在计算机上通过Matlab R2016 a 版本实现,该计算机的CPU为2.80 GHz,内存为8 GB。利用SURF 算法对关键字进行检测,得到关键字的描述符。实验中获取64-d SURF 描述符,采用KD-tree 算法进行关键点匹配,利用单应性矩阵对错误匹配点进行剔除。

实验图像来源于CHRISTLEIN V 等人[10]提出的数据集。对于不同分辨率的图像,考虑对其提取特征的个数也不同。对于高于3 000×2 000 像素的图像,提取特征点要更多,因此匹配错误块的概率要高得多。

如图4 所示,该方法可以检测从图像中提取的SURF关键点后的重复区域。本次实验阈值Th固定为0.045。当阈值相同时,高分辨率图像的匹配点更多。通过本实验的方法剔除错误匹配点后,动物的匹配点仍然多于建筑物的匹配点。

图4 单应性矩阵对错误匹配点进行剔除

从鲁棒性的角度对该方法的检测性能进行了测试,研究了旋转、缩放和噪声对建筑物性能的影响。考虑不同角度的旋转,对鲁棒性检测性能进行测试,如图5所示。

图5 鲁棒性检测性能测试

对在复制区域加入高斯噪声后产生畸变的图像进行了实验,检测结果如图6所示。

图6 高斯噪声的检测结果

对复制区域做缩放比例为90%和115%的图像进行检测,检测结果如图7所示。

图7 对缩放后的篡改图像进行检测

3 结论

本文提出了一种基于单应性矩阵剔除错误匹配的方法。通过SURF 算法对伪造图像进行检测,测试了SURF 的鲁棒性。实验结果表明,该方法能够剔除经过SURF 算法检测的错误匹配点,对高分辨率图像中的匹配点更加有效,同时保留更多的匹配对。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!