APP下载

基于自适应提点鲁棒定位的图像复制粘贴篡改检测①

2021-01-21杨红颖

计算机系统应用 2020年12期
关键词:鲁棒性阈值像素

于 亮,杨红颖

(辽宁师范大学 计算机与信息技术学院,大连 116029)

数字图像是人们日常生活中获取信息的重要渠道,在新闻、学术、法庭等领域有着重要的应用.然而随着智能手机等电子设备的日益普及,和图像处理软件的普遍应用,越来越多的图像被篡改成混淆视觉的伪造图像.图像篡改事件层出不穷,严重影响着人们的生活.图像复制-粘贴篡改是最普遍的篡改方式.复制-粘贴篡改(CMF)是将一幅图像的一部分复制并粘贴到同一幅图像的另一个位置,覆盖图像的内容以达到混淆视觉并隐藏信息的作用.复制-粘贴篡改检测(CMFD)过程可分为4 步:(1)预处理:将RGB 图像转换成灰度图像,将图像分割成块等;(2)特征提取:提取图像的局部或全局特征;(3)特征匹配:对已有的图像特征进行匹配;(4)后处理:对匹配结果进一步处理,剔除异常值、定位篡改位置等.主流的CMFD 算法分为两方向:(1)基于图像块的算法;(2)基于图像高熵位置的特征点算法.基于图像块的算法是将图像分为重叠块或非重叠块,利用图像变换、图像不变矩、颜色等方法提取图像块特征,匹配特征并得到匹配对,使用一系列后处理操作定位篡改区域.基于图像块的算法时间复杂度较高,在图像遭受缩放等攻击下算法鲁棒性较差.基于特征点的算法首先提取图像的高熵区域作为特征点,描述特征点或其对应区域的特征并匹配,得到疑似匹配点对.通过聚类或分割等算法,筛除误匹配点对,最后定位篡改区域.基于特征点的算法在篡改区域为平滑区域或小区域时检测效果较差.此外,已有算法对受到攻击的图像(如白噪声攻击和JPEG 压缩攻击)的检测效果较差.

为解决上述问题,本文提出一种鲁棒的复制-粘贴篡改检测算法.在特征点提取阶段,使用尺度不变的SURF[1]特征点和特征,引入波动函数的思想,提出一种自适应的特征点提取方法,该方法能够在图像的平滑区域或小区域提取足够多的特征点.在特征匹配阶段,引入了双比特迭代量化局部敏感哈希(DBQ-LSH)[2,3]算法.在后处理阶段,提出了一种不变矩LBP[4]定位算法,即使图像受到严重攻击也能对其检测并精准定位篡改区域.

本文贡献如下:

(1)提出一种自适应提点算法,在图像小区域或平滑区域能提取足够的特征点,使特征点分布更均匀.

(2)引入DBQ-LSH 算法,降低了匹配成本.

(3)提出一种鲁棒的后处理算法,对受到攻击的图像,检测结果更精准.

本文在第1 节介绍了图像复制-粘贴篡改检测.在第2 节详细描述所提出的复制-粘贴篡改检测算法.在第3 节通过一系列的仿真实验和对比实验,验证本方案的有效性和鲁棒性.

1 图像复制-粘贴篡改检测

主流图像复制-粘贴篡改检测算法可分为两方向:基于图像块的方法和基于特征点的方法.它们都试图提取局部图像块或关键点的图像特征,并评估不同图像区域之间特征的相似性.

1.1 基于图像块的方法

基于块的复制粘贴篡改检测算法将宿主图像分割为重叠或非重叠图像块,计算并匹配每个图像块特征,得到疑似匹配对.Fridrich 等[5]提出了一种基于块的图像复制粘贴篡改检测算法,将图像分割成重叠子块,引入离散余弦变换(DCT)特征对每个子块进行特征描述,匹配所有特征得到可疑匹配对.但该方法时间消耗大,且无法检测旋转攻击伪造图像.一些研究者利用旋转不变特征来解决这个问题.Ryu 等[6]利用旋转不变的不变矩特征进行检测,且对白噪声等攻击具有较强的鲁棒性.为了提高匹配效率,Cozzolino 等[7,8]提出了一种基于重叠图像块的CMFD 方法,使用Zernike 矩(ZM)、Fourier-Mellin 变换(FMT)等特征,改进Patch Match(PM)近邻搜索算法并将其应用与篡改检测中,大大降低了时间复杂度.Bi 等[9]提出了一致敏感哈希(CSH)算法,该算法集PM 算法和局部敏感哈希(LSH)算法于一身,比PM 算法具有更快的处理速度和更高的精度.PM 算法和CSH 算法需要多次迭代来传播和搜索匹配,这也导致了时间消耗的极大增加,基于此,Zhong 等[10]使用极性余弦变换(PCT)来提取图像块特征,将块特征转换为哈希特征,提出了双程哈希特征表示和搜索算法,无需迭代,提高了检测性能和运算效率.然而由于计算的复杂性,基于变换或矩特征的方法的时间消耗大,此外它们使用固定的图像块来计算特征,其特征仅在在一定范围内只具有尺度不变性,这使得基于块的篡改检测算法的鲁棒性较差.

1.2 基于特征点的方法

为了解决基于块的方法计算复杂度较高,尺度不变性较差等问题,部分学者提出了基于特征点的算法.基于特征点的篡改检测算法识别宿主图像中的高熵区域(特征点),与基于块的篡改检测算法相比,可以减少特征数目和计算时间.Amerini 等[11]引入尺度不变特征变换(SIFT)特征,提出了g2NN 匹配算法,利用层次聚类进行多目标篡改检测,不仅能确定图像是否被篡改,且能得到被篡改区域的几何变换,但其在篡改区域较小或篡改区域发生在图像平滑区域时的检测效果较差.Zandi 等[12]提出了一种适合于CMFD 的特征点检测算法,该算法可以将关键点均匀地分布在整个图像上,利用SLIC 对图像进行分割,并根据对应子块的关键点数目过滤去除错误的匹配点对,根据先验信息调整子块关键点的密度,迭代定位篡改区域.Li 等[13]提出了一种分层的特征点匹配策略,利用颜色信息来定位被篡改的区域.基于特征点的算法除使用SIFT 特征点外,部分学者使用了加速鲁棒特征(SURF)算法[14,15]、Harris 算法[16]、KAZE 算法[17]、A-KAZE 算法[18]等.

基于关键点的方法时间复杂度较低,对缩放等攻击的鲁棒性强,但对小区域复制粘贴或发生在图像平滑区域的复制粘贴篡改,检测效果并不理想,且抗噪声攻击、JPEG 压缩攻击能力有待提高.

2 本文算法

为了改善图像小区域和平滑区域提取特征点数量不足,受攻击图像的检测精度低等问题,本文提出一种自适应提取特征点、快速匹配和鲁棒篡改区域定位的复制移动篡改检测算法.图1表明本算法结构框架.第一步将图像分割成不重叠的块,构造波动函数,根据波动函数在图像内均匀提取SURF 特征点.第二步使用SURF 特征进行特征表示.第三步引入双比特量化局部敏感哈希(DBQ-LSH)快速匹配特征.第四步去除孤立匹配,利用k-多均值聚类方法对匹配点对进行聚类,将灰度图像转化为不变矩LBP 图像,定位篡改区域.

图1 算法流程

2.1 基于波动函数的自适应提取图像特征点

基于特征点的篡改检测算法主要问题为在复制-粘贴区域较小或其发生在平滑区域时的检测效果较差.余江[19]提出了一种构造波动函数并对图像块分类,选择复杂纹理块进行图像隐写的新方法.本文据此提出了一种基于波动函数确定提点阈值的自适应特征点提取方法.本文提点算法如算法1 所示.

算法1.自适应提取特征点输入:宿主图像输出:图像均匀分布的特征点1.根据条件对图像放大处理2.图像不重叠分块并延拓子块3.构造波动函数4.根据波动函数确定阈值并提取SURF 特征点及特征5.将子块特征点集合并筛除重复的特征点

2.1.1 SURF

SURF[1]基于尺度空间,对平移、缩放、旋转等具有很强的不变性,并在一定范围内对仿射变换和亮度变化也具有鲁棒性.使用盒型过滤器,通过增加窗口大小来构建不同比例的图像金字塔.在Hessian 矩阵中使用积分图像来获得两步特征,在保持较高描述能力的同时提高了计算效率.例如,在图像I中,一个点是X=(x,y),X在 σ尺度上的Hessian 矩阵是以下定义:

其中,Lxx(x,σ),Lxy(x,σ),Lyy(x,σ)是高斯滤波器在xx、xy、yy方向的二阶偏导数与图像I在点X处的卷积,为简化运算,使用Dxx(x,σ),Dxy(x,σ),Dyy(x,σ)分别代替Lxx(x,σ),Lxy(x,σ),Lyy(x,σ),为便于计算,Hessian 矩阵可近似表示为式(2):

一般设置4 组6 层尺度空间.与该尺度空间的上下层的尺度空间中的26 个点相比,如果该像素是极值,则该像素被确定为特征点.计算了特征点圆邻域的Haar小波响应.找出特征点的主要方向.沿着特征点主方向的邻域选取4×4×4 矩形小区域,计算每个小区域的Haar小波响应,得到每个区域的4 维特征向量.一个特征点有64 维特征向量作为SURF 特征的描述符.

2.1.2 图像不重叠分块并延拓

我们将图像分为不重叠的块,设图像像素值为M×N,将图像分为m0×n0(设置m0=n0=30)个子块,子块大小为(M/m0)×(N/n0).由于子块之间的连接处包含大量信息,为将子块连接处覆盖,将每个子块的长度和宽度分别扩展L1(设置L1=20)个像素,此时,子块大小为(M/m0+L1)×(N/n0+L1).

2.1.3 构造波动函数

构造波动函数,计算各子块的波动函数值.根据波函数的值确定特征点提取的阈值,从而得到一致的特征点提取结果.设子块的长度和宽度分别为r、s,定义如下:

xi,j是子块中的任一像素,xmea为该子块像素值的中值,P是该子块像素点的数量.则波动函数Fw定义如下:

2.1.4 提取特征点及特征

设初始SURF 特征点阈值为T0(T0=10),每个子块的阈值为Td.Td与T0之间的关系如下:

根据每个子块的Td阈值,均匀地提取每个子块的特征点,将结果汇总到原始图像中,去除同一位置的冗余特征点,即可得到在图像内均匀分布的特征点,在我们得到特征点的同时得到其64 维特征.图2显示了我们的提点算法与原始特征点提取方法之间的对比结果.如图2所示,传统的方法无法在平滑区域提取足够的特征点,而我们的方法可在平滑区域均匀提取特征点.

图2 特征点提取方法的比较

2.2 特征匹配

局部敏感哈希(LSH)是解决海量高维数据匹配问题的常用方法.我们引入了双比特量化局部敏感哈希(DBQ-LSH)算法[2,3],它比传统的LSH 算法匹配结果更精准,匹配效率更高.特征匹配过程如算法2 所示.

算法2.特征匹配输入:特征点集合X 与特征向量集合F输出:匹配点对集合P

1.对特征向量集 迭代量化分桶2.对任意特征向量fi,找到其对应的桶,并从对应桶内选取其K 个最近邻特征向量,组成fi 的最近邻集合Di fi∈Di Tsml Tdist si={xi,fi} sj={x j,fj} (xi−x j)2≥Tdist(fi−f j)2≤Tsml F={f1,f2,···,fu}3.对任意,按相似度阈值 和空间距离阈值 进行筛选.若 和 构成匹配,则需满足条件 且

2.2.1 双比特量化局部敏感哈希

主流的哈希方法通常采用两阶段策略.在第一步中,生成一些投影尺寸的实际值.在第二步中,将多个阈值量化为二进制码.双比特量化(DBQ)从数据中自适应地获得最佳阈值,并分别将a和b设置为左阈值和右阈值,a

将ui设为Si中的平均值,找到适当的a和b值以使E值最小化,如式(7)所示:

在得到a和b之后,我们可以用它们将整个集合划分为S1、S2和S3,然后量化子集中的点.双比特量化有两个优点:一是精度更好,二是时间消耗更低.采用双比特迭代量化,大大提高了二进制码在哈希过程中的性能.在复制-粘贴篡改检测中,该方法匹配更精准,时间复杂度更低.

2.2.2 快速特征匹配

在得到匹配点对集合和特征向量集合后,利用DBQLSH进行特征匹配.初步匹配对集为X=特征向量集为F={f1,f2,···,fu},fi与xi一 一对应.Tsml为相似阈值,Tdist为空间距离阈值.首先,我们将特征向量集F迭代量化到桶中,相似的特征被散列到同一桶中.对于一个特征向量fi,找到其对应的桶,并从对应的桶中选择其K个最近邻特征向量.若(xi−xj)≥Tdist且 (fi−fj)≤Tsml,则xi与xj匹配.我们得到初步匹配对集合P:

本文使用DBQ-LSH 与g2NN 和KD-Tree 匹配算法在匹配效果上进行对比,实验主观结果见图3.表1为客观匹配结果,本方法可得到更多匹配点对,且时间复杂度更低.

表1 不同匹配方法的对比结果

2.3 后处理

有效的后处理算法不仅可以减少误检测率,还可使篡改区域定位结果更精准.后处理算法步骤见算法3.

算法3.后处理输入:匹配点对集合P 与宿主图像输出:标记篡改位置的二值图像1.筛除误匹配2.匹配点对聚类3.RANSAC 估计仿射变换参数4.不变矩LBP 图像定位篡改区域

2.3.1 筛除误匹配

特征匹配过程常常会得到部分误匹配点对.由于篡改区域的连续性,正确匹配点对具有连续性,而误匹配点对通常是孤立存在的.我们在提取特征点阶段将图像分割为不重叠的块,在筛除误匹配对时利用各子块内特征点的数量性质,如果子块中匹配点对数小于K(K=6),则该子块中的匹配对为误匹配.

2.3.2 匹配点对聚类

本方案使用聚类算法解决多目标篡改问题.图像的原始区域和篡改区域或是相互接近的,使用传统的聚类方法,原始区域和篡改区域的特征点可能会聚为一类.引入K-multiple-means[20]聚类算法,该算法具有良好的聚类性能.K-multiple-means 定义了显示的目标函数.在给定总聚类数k和总样本数m的情况下,将m个样本和n个原始数据点自适应地划分为k类.K-multiplemeans 解决了原始区域与篡改区域之间空间距离过近的问题.

2.3.3 RANSAC 估计仿射变换参数

原始区域与篡改区域存在一定的几何关系[11],在得到聚类结果后,利用RANSAC 估计每一聚类结果的仿射变换参数.变换矩阵如式(9)、式(10):

其中,a11,a12,a21,a22表示旋转和各向异性缩放信息,tx和ty是平移因子.

2.3.4 定位篡改区域

LBP[4]具有亮度和旋转不变性等优点.本方案提出使用LBP 图像计算图像相似度.本文引入中值鲁棒扩展局部二值模式(MRELBP)[21],其具有很强的噪声鲁棒性.利用Zernike 矩[22]将像素值MRELBP 扩展到矩值MRELBP,用Zernike 矩代替图像像素值从而生成矩值MRELBP 图像,将空域LBP 拓展到变换域LBP,以提高算法的鲁棒性.

篡改区域(RD)像素与原始区域(RO)像素之间存在一致的相关性[23],我们称它为同一仿射变换参数T,H是它的矩阵形式.

对宿主图像进行仿射变换,得到仿射变换图像ID,计算得到ID的MRELBP 图像(见图4),计算两幅MRELBP图像的相似度并得到篡改区域(见图5).

图6为本方案与基于图像灰度的相似度计算算法的对比结果.所用宿主图像对篡改区域添加了白噪声,如图示本算法对噪声攻击更具鲁棒性.由于宿主图像的自相似性,得到篡改区域定位结果的二值图像包含了部分未篡改区域,这些区域很少且大部分为孤立存在,本方案删除像素值低于整幅图像0.05%的区域,并使用形态学方法填充孔洞.

图4 仿射变换图像转换为LBP 图像

图5 图像相似度计算

图6 噪声攻击图像对比实例

3 实验结果

通过对该方案进行图像级和像素级实验并与其他算法进行比较,验证了本算法在多个图像数据集的有效性.进行图像级实验,检测图像是否被篡改,确定算法的有效性;进行像素级实验,对检测结果进行细化,精准定位篡改区域.实验在Windows 7 64 位操作系统下进行,处理器为Inter(R) Corei7-4790 @3.6 GHz,内存16.0 GB,仿真软件Matlab R2016a 64 Bit.

3.1 评价标准与图像库

使用真阳性率(TPR)和假阳性率(FPR)评价算法的有效性.高TPR与低FPR代表理想的结果.分别定义:

TPR和FPR公式参数在不同情况下有不同含义[13].图像级实验,TP(True Positive),TN(True Negative),FN(False Negative),FP(False Positive)分别表示正确检测到的篡改图像数,正确检测到的真实图像数,未检测到的篡改图像数和错误检测为篡改图像的真实图像数;像素级实验,TP,TN,FN,FP分别表示正确检测到的篡改像素数,正确检测到的真实像素数,未检测到的篡改像素数和错误检测为篡改像素的真实像素数.本文在TPR和FPR的基础上用F1值来表明综合实验结果.F1定义见式(13),我们使用F-pixel 和 F-image 分别表示像素级和图像级的F1分数.

本方案选择FAU[24]、GRIP[8]和MICC-F600[23]3 个图像库验证算法的有效性.

3.2 普通图像实验

我们对3 个图像库[8,23,24]进行了实验,并与3 种算法[8,12,13]进行了对比,3 种算法的代码在对应文章中获得,实验结果见表5.我们得到满意的结果,有着较高的TPR、FPR、F1和FP值,证明本算法不仅能检测出图像是否被篡改,而且能更准确地定位篡改区域.值得注意的是,文献[13]算法的结果在某些情况下高于我们的算法,然而这只是对普通篡改图像的结果.本算法的优势是精准定位受攻击的图像,在下一小节我们将证明本算法的优越性.

表5 图像库对比实验结果

图7中3 个示例分别选自FAU、GRIP、MICCF600 图像库.图7(a)第一幅图选自FAU 图像库,不仅有多目标克隆,还包含小区域篡改.第二幅图选自GRIP 图像库,其具有高度自相似性.第三幅图选自MICC-F600图像库,篡改区域包含旋转和缩放攻击.图像中的绿色区域表示正确检测到的像素,红色区域表示错误检测到的像素.如图7所示,本算法能够准确定位篡改区域.在图7(g)中有部分红色区域,因宿主图像是具有高度自相似性,本算法在放大图像时,增加了图像的原始相似区域,使得误检测像素数量增多,这也是未来改进方向之一.

图7 篡改检测主观结果对比实例

3.3 攻击图像实验

部分攻击图像库选自FAU[24],余下图像使用FAU生成攻击图像的方法对FAU 基础数据集进行处理,得到一系列不同类型的攻击图像.以下为本实验所选攻击图像库:

(1)缩放:将原始区域缩放得到篡改区域,比值从90%到110%,步长为4%,同时补充使用50%、80%、120%和200%的缩放图像库,共480 张图像.

(2)旋转:将原始区域旋转0°、10°、30°、50°和180°得到篡改区域,共240 张图像.

(3)JPEG 压缩:篡改区域的JPEG 比例因子从20 到100,步长10.共392 张图像.

(4)噪声:篡改区域添加0.02,0.04,0.06,0.08,0.1 std 高斯白噪声.共240 张图像.

我们在图像级和像素级分别进行了对比实验,对比文献[8,12,13]的算法.图8、图9分别表示图像级与像素级实验结果.

如图8、图9所示,该算法在缩放、旋转、噪声和JPEG 压缩4 种攻击下的检测效果良好.不仅在图像级进行正确的检测,且在像素级得到精准的结果.在极端缩放攻击(50%和200%)下,文献[8]和文献[12]表现不佳,因其特征只有一定程度的尺度不变性,无法抵抗大比例缩放攻击,相反本方案选用的SURF 特征具有良好的尺度不变性.与其他3 种算法相比,本算法在噪声攻击和JPEG 压缩攻击下均具有更好的性能,这归功于后处理算法的鲁棒性.

图8 图像级对比结果

图9 像素级对比结果

4 结论

图像复制粘贴篡改是一种常见的数字图像篡改方式.我们将图像分割成不重叠的块并延拓,构造波动函数,根据波动函数值确定阈值均匀地提取图像特征点.使用尺度不变和强描述力的SURF 特征.引入DBQ-LSH匹配算法.提出了一种新的定位方法,不变矩LBP 定位方法.通过使用不变矩矩值代替像素值将LBP 算法从空间域拓展到变换域,比较两幅不变矩MRELBP 图像的相似度而不是两幅灰度图像的相似度,从而提高对攻击图像检测的鲁棒性.实验结果表明,该方案具有较好的检测性能,在检测效果得到提高的同时,定位精度也明显提升.在未来的工作中,我们将寻找更具鲁棒性的特征,并尝试引入软计算.

猜你喜欢

鲁棒性阈值像素
像素前线之“幻影”2000
改进的软硬阈值法及其在地震数据降噪中的研究
土石坝坝体失稳破坏降水阈值的确定方法
基于小波变换阈值去噪算法的改进
武汉轨道交通重点车站识别及网络鲁棒性研究
改进小波阈值对热泵电机振动信号的去噪研究
“像素”仙人掌
一种基于三维小波变换的鲁棒视频水印方案
电子节气门非线性控制策略
基于鲁棒性改进理论的大面积航班延误治理分析