![一种基于自适应空间特征融合的图像篡改检测方法](https://img.xjishu.com/img/zl/2022/11/8/oinxsoluq.jpg)
1.本发明属于图像篡改检测领域,具体涉及一种基于自适应空间特征融合的图像篡改检测方法。
背景技术:2.伴随着时代的发展,各种各样的信息传递变的越来越容易,从文字演变成图片以及视频。比起文字,人们更愿意相信图片以及视频所直接传达的内容。但由于图像处理软件的普及,越来越多的虚假图片在网络以及社会中广泛传播,对国家产生了严重的负面影响。因此,篡改检测技术的研究具有着非常重要的意义。
3.传统的图像篡改检测算法多以自身特性为依据,根据篡改产生的特征进行检测。ferrara等提出利用颜色滤波阵列(cfa)算法获取图像中rgb三通道的关联性的方法,来捕获不同来源的图像之间的差异。bianchi等提出一种利用jpeg图像压缩后产生的压缩痕迹,与初始压缩特征相比较的方法,以检测定位篡改区域。近年来随着深度学习领域的快速发展,许多的研究者尝试将深度学习应用到图像篡改检测领域当中。zhou等提出一种基于faster-rcnn构建的双流网络方法,利用srm滤波器将rgb流与噪声流特征进行融合,有效提升了检测效果。
4.但上述这些方法在实际应用过程中,普遍存在对篡改区域检测精度低,定位不准确,速度较慢的技术缺陷。且面对复杂的篡改特征,无法有效地将其提取。
技术实现要素:5.本发明的目的是针对现有的图像篡改检测方法误差较大以及篡改区域定位不准确的技术问题,而提供的一种基于自适应空间特征融合的图像篡改检测方法。
6.一种基于自适应空间特征融合的图像篡改检测方法,它包括以下步骤:
7.步骤1:进行数据集的构建与整理;
8.步骤2:进行篡改检测网络的训练;
9.步骤3:进行篡改检测网络的测试;
10.步骤4:进行篡改图像的检测定位;
11.在步骤1中,批量生成合成篡改数据集,合成篡改数据集包括一定比例的训练集与测试集;
12.在步骤2中,由于当前公开的图像篡改数据集样本量普遍较少,无法对神经网络进行充分训练,故首先使用合成篡改数据集对改进后的yolox篡改检测网络进行预训练,获得预训练模型,在预训练模型的基础上,对公开篡改数据集进行训练;
13.在步骤3中,使用预先划分好的测试集对训练好的网络进行测试,得到测试结果;
14.在步骤4中,将待检测图像输入到训练好的网络中进行检测,输出篡改区域。
15.通过以上步骤获得图像中篡改后的区域。
16.所述改进后的yolox篡改检测网络结构如下:
17.输入层
→
focus模块
→
第一卷积模块
→
第一个csp模块
→
第二卷积模块
→
第二个csp模块
→
第三卷积模块
→
第三个csp模块
→
第四卷积模块
→
spp模块
→
第四个csp模块
→
第五卷积模块
→
第一次上采样
→
第一个cbam注意力模块
→
第一个cbam注意力模块处理后得到的特征图与第三个csp模块处理后得到的特征图进行通道融合
→
第五个csp模块
→
第六卷积模块
→
第二次上采样
→
第二个cbam注意力模块
→
第二个cbam注意力模块处理后得到的特征图与第二个csp模块处理后得到的特征图进行通道融合
→
第六个csp模块
→
第七卷积模块
→
第一次下采样
→
第三个cbam注意力模块
→
第三个cbam注意力模块处理后得到的特征图与第六卷积操作后得到的特征图进行通道融合
→
第七个csp模块
→
第八卷积模块
→
第二次下采样
→
第四个cbam注意力模块
→
第四个cbam注意力模块处理后得到的特征图与第五卷积操作后得到的特征图进行通道融合
→
第八个csp模块。
18.所述cbam注意力模块的结构为:
19.输入特征图
→
通道注意力模块
→
经通道注意力模块处理后得到的特征图与输入特征图相乘
→
通道特征图
→
空间注意力模块
→
经空间注意力模块处理后得到的特征图与通道特征图相乘
→
注意力特征图。
20.所述自适应空间特征融合模块的结构为:
21.网络中输出的三个不同大小的特征图
→
不同层次的特征图进行自适应融合
→
预测图。
22.在步骤2中,在进行篡改检测网络的训练时,包括以下子步骤:
23.步骤2-1)提取篡改图像中的篡改特征;
24.将待检测的篡改图像输入到主干网络中,进行特征提取;主干网络采用cspdarknet,将待检测图像输入cspdarknet中,(csp是cspdarknet中的模块),使用focus模块对输入的特征图进行切割以实现特征图维度的扩展,之后经过三次卷积操作与csp模块处理,增加网络深度,提升网络对于特征图中目标特征的学习能力;对经过上述处理的特征图再进行一次卷积操作,并经过spp空间金字塔池化,将特征图转换为固定大小的特征向量,提升网络的感受野;最后再进行一次csp模块处理,完成篡改特征的提取;
25.步骤2-2)融合提取的篡改特征;
26.将提取到的篡改特征传入panet颈部网络以进行特征融合,具体如下:panet在fpn的基础上增加了自下向上的路径,能更充分利用底层的特征信息;在自下向上的路径中,首先将提取到的篡改特征经过一次卷积操作,再进行一次上采样,将采样后得到的特征图经cbam注意力机制处理,处理后得到的特征图与步骤2-1)中的第三个csp模块处理后得到的特征图进行通道融合操作,得到特征图经csp模块做处理,之后重复上述流程,将经过第二次csp模块处理后的特征图传入自上向下的路径中,经过一次卷积操作之后,再进行一次下采样,之后将得到的特征图经cbam注意力机制处理,处理后得到的特征图与自下向上路径中的第二个卷积操作得到的特征图进行通道融合操作,将得到的特征图经csp模块处理,之后重复上述流程。其中,在自上向下的路径中,三个csp模块处理后得到的特征图经过自适应特征融合模块处理后,分别得到三个特征图,将三个特征图经过特征融合处理,得到最终的预测图。
27.在步骤3中,包括以下子步骤:
28.步骤3-1)对预训练模型进行消融实验;
29.步骤3-2)在图像篡改标准数据集上与现有篡改检测算法和yolox网络进行实验对比;
30.步骤3-3)进行数据增强实验。
31.与现有技术相比,本发明具有如下技术效果:
32.本发明以yolox为基础构建图像篡改检测网络,结合cbam注意力机制对特征图进行处理,加强对篡改特征的提取,并引入asff自适应特征融合机制对提取到的多尺度篡改特征进行更充分的融合,最后对网络中的损失函数进行优化,将iou_loss替换为eiou,使网络更快速准确的检测篡改区域。
附图说明
33.下面结合附图和实施例对本发明作进一步说明:
34.图1为本发明的流程图;
35.图2为本发明中cbam注意力模块的结构图;
36.图3为本发明中自适应空间特征融合模块的结构图;
37.图4为本发明中改进后的yolox网络结构示意图;
38.图5为本发明对篡改区域检测定位效果图。
具体实施方式
39.如图1所示,一种基于自适应空间特征融合的图像篡改检测方法,它包括以下步骤:
40.步骤1:进行数据集的构建与整理;
41.步骤2:进行篡改检测网络的训练;
42.步骤3:进行篡改检测网络的测试;
43.步骤4:进行篡改图像的检测定位;
44.在步骤1中,批量生成合成篡改数据集,合成篡改数据集包括一定比例的训练集与测试集;
45.在步骤2中,由于当前公开的图像篡改数据集样本量普遍较少,无法对神经网络进行充分训练,故首先使用合成篡改数据集对改进后的yolox篡改检测网络进行预训练,获得预训练模型,在预训练模型的基础上,对公开篡改数据集进行训练;
46.在步骤2中,“预训练”是本领域惯用技术手段,例如文献zhou p,han x,morariu v i,et al.learning rich features for image manipulation detection[c]//2018ieee/cvf conference on computer vision and pattern recognition(cvpr).ieee,2018.中的“预训练”;
[0047]
在步骤3中,使用预先划分好的测试集对训练好的网络进行测试,得到测试结果;
[0048]
在步骤4中,将待检测图像输入到训练好的网络中进行检测,输出篡改区域。
[0049]
通过以上步骤获得图像中篡改后的区域。
[0050]
上述改进后的yolox篡改检测网络结构如下:
[0051]
输入层
→
focus模块
→
卷积模块
→
第一个csp模块
→
卷积模块
→
第二个csp模块
→
卷积模块
→
第三个csp模块
→
卷积模块
→
spp模块
→
第四个csp模块
→
卷积模块
→
第一次上
采样
→
第一个cbam注意力模块
→
第一个cbam注意力模块处理后得到的特征图与第三个csp模块处理后得到的特征图进行通道融合
→
第五个csp模块
→
卷积模块
→
第二次上采样
→
第二个cbam注意力模块
→
第二个cbam注意力模块处理后得到的特征图与第二个csp模块处理后得到的特征图进行通道融合
→
第六个csp模块,其中,还包括信息流:经过自适应特征融合模块处理,获得大小为80
×
80的特征图
→
卷积模块
→
第一次下采样
→
第三个cbam注意力模块
→
第三个cbam注意力模块处理后得到的特征图与卷积操作后得到的特征图进行通道融合
→
第七个csp模块,其中,还包括信息流:经过自适应特征融合模块处理,获得大小为40
×
40的特征图
→
卷积模块
→
第二次下采样
→
第四个cbam注意力模块
→
第四个cbam注意力模块处理后得到的特征图与卷积操作后得到的特征图进行通道融合
→
第八个csp模块,其中,还包括信息流:经过自适应特征融合模块处理,获得大小为20
×
20的特征图
→
预测图。
[0052]
在步骤2中,包括以下子步骤:
[0053]
步骤2-1)提取篡改图像中的篡改特征;将待检测的篡改图像输入到主干网络中,进行特征提取;主干网络采用cspdarknet,将待检测图像输入cspdarknet中,使用focus模块对输入的特征图进行切割以实现特征图维度的扩展,之后经过三次卷积操作与csp模块处理,增加网络深度,提升网络对于特征图中目标特征的学习能力;对经过上述处理的特征图再进行一次卷积操作,并经过spp空间金字塔池化,将特征图转换为固定大小的特征向量,提升网络的感受野;最后再进行一次csp模块处理,完成篡改特征的提取。
[0054]
步骤2-2)融合提取的篡改特征;将提取到的篡改特征传入panet颈部网络以进行特征融合。panet在fpn的基础上增加了自下向上的路径,能更充分利用底层的特征信息。在自下向上的路径中,首先将提取到的特征经过一次卷积操作,再进行一次上采样,将采样后得到的特征图经cbam注意力机制处理,处理后得到的特征图与步骤2-1)中的第三个csp模块处理后得到的特征图进行通道融合操作,得到特征图经csp模块做处理,之后重复上述流程,将经过第二次csp模块处理后的特征图传入自上向下的路径中,经过一次卷积操作之后,再进行一次下采样,之后将得到的特征图经cbam注意力机制处理,处理后得到的特征图与自下向上路径中的第二个卷积操作得到的特征图进行通道融合操作,将得到的特征图经csp模块处理,之后重复上述流程。其中,在自上向下的路径中,三个csp模块处理后得到的特征图经过自适应特征融合模块处理后,分别得到大小为80
×
80、40
×
40、20
×
20的特征图,将三个特征图经过特征融合处理,得到最终的预测图。
[0055]
在步骤2中,对yolox网络进行了如下优化:
[0056]
(1)在颈部网络中的上采样与下采样后添加cbam注意力模块,使网络更加关注图像中的异常信息,提高对图像中的篡改特征的提取能力,并且避免了计算开销的大量增加。cbam注意力模块如图2所示。
[0057]
cbam注意力模块由通道注意力模块和空间注意力模块构成。通道注意力模块通过不同特征图之间的关联性,获取并关注每个特征图中的重要内容,从而强化重要特征并抑制非重要特征。通道注意力模块对空间维度特征图进行压缩,获得一维通道特征矢量后再继续操作。
[0058]
在通道注意力模块中,首先使用平均池化与最大池化提取特征图中的特征,将提取到的特征分别送入共享全连接层后进行相加操作,并经过sigmoid激活函数处理后生成通道注意力特征图。通道注意力的计算公式为:
[0059]
mc(f)=σ(mlp(avgpool(f))+mlp(maxpool(f)))
[0060]
其中,f为输入到通道注意力模块中的特征图,σ为sigmoid激活函数,mlp为多层感知器。
[0061]
空间注意力模块的作用是提升关键区域的特征表达能力,通过对图像中的关键位置生成掩码,以增强对目标区域的关注并减弱对不相关区域的感知。
[0062]
空间注意力模块接收通道注意力特征图与输入特征图做乘法后产生的特征图,分别基于通道维度做最大池化与平均池化,将得到的结果进行连接操作后,经过普通卷积与sigmoid激活函数获得空间注意力特征图,空间注意力的计算公式为:
[0063]ms
(f1)=σ(f7×7([avgpool(f1);maxpool(f1)]))
[0064]
其中,σ为sigmoid激活函数,f7×7指卷积核大小为7
×
7的卷积层。
[0065]
cbam模块将通道注意力与空间注意力结合并对输入特征进行加权融合,效果优于单一的通道注意力。cbam的公式如下:
[0066][0067]
式中f为输入到通道注意力模块中的特征图,f1为经过通道注意力得到的特征图,f2为经过空间注意力得到的特征图。
[0068]
(2)在特征融合部分引入自适应空间特征融合模块,在yolox中,特征融合部分采用panet实现特征融合,但该方法并不能够将提取到的不同尺度的篡改特征进行充分利用,只能够将特征图转换成同种尺寸并相加。故本文引入自适应空间特征融合模块,使网络可以直接过滤其他层次的特征,将需要的篡改特征进行保留,提高了特征的尺度不变性。自适应空间特征融合模块如图3所示。
[0069]
将yolox输出的三个不同尺度的特征图分别乘以对应的权重参数并进行求和操作,获得融合后三个对应尺度的特征图,具体可用下式来进行表示:
[0070][0071]
其中,为由asff处理后输出的特征图,为所使用的权重系数,分别为level1,level2,level3输出的特征。
[0072]
使用大小为1x1的卷积核将三个特征图处理成相同的通道数,然后进行上采样得到相同的维度,最后进行相加操作。
[0073]
在图像篡改检测任务中,有些篡改区域会相对较小,对于这些较小的目标,需要提取底层特征中的细微特征来进行辨别,引入自适应空间特征融合模块后,可剔除掉其他特征层中不相干的特征,保留所需要的篡改特征。
[0074]
(3)损失函数优化。yolox的损失函数为:
[0075]
l=l
cls
+l
obj
+l
reg
[0076]
其中,l
cls
为分类损失函数,l
obj
为置信度损失函数,均使用了二分类交叉损失函数,l
reg
为边界框损失函数,使用了iou损失函数。iou损失函数计算的是1减去预测框与真实框的交集与并集的比值,其公式如下:
[0077][0078]
式中b为预测框的面积,bi为真实框的面积。iou损失函数通常情况下能够较好表达出真实框与预测框的检测效果,但其无法判断真实框与预测框之间的位置关系。当iou大小相同时无法对不同相交情况的边界框进行优化。因此本发明使用eiou损失函数替换原有的iou损失函数。eiou损失函数在iou损失函数的基础上增加了两个框中心点间的距离和覆盖了预测框与真实框的最小外接框,并对目标框的宽高进行计算。eiou损失函数包含重叠损失,中心距离损失和宽高损失三部分,eiou损失函数公式如下:
[0079][0080]
式中,b和b
gt
分别为预测框和真实框的中心点坐标,ρ为中心点间的距离,d为外接框的对角线距离,ω和h为预测框的宽度和长度,ω
gt
和h
gt
为真实框的宽度和长度,c
ω
和ch为外接框宽度和长度。使用eiou损失函数有效提高了网络的收敛速度与精度。改进后的yolox网络结构如图4所示。
[0081]
在步骤3中,篡改检测网络测试结果如下:
[0082]
步骤3.1,对预训练模型进行消融实验。使用平均精度(ap)作为评价指标。实验结果如表1所示。
[0083]
表1
[0084][0085]
步骤3.2,在三个图像篡改标准数据集上与现有篡改检测算法和yolox网络进行实验对比,使用f1分数作为评价指标。结果如表2所示。
[0086]
表2
[0087][0088]
从表1和表2可以看出,由于本发明结合了自适应特征融合机制,充分利用了不同
尺度的篡改特征,同时引入了注意力机制和eiou损失函数,使得网络更加关注图像中的篡改信息,在预训练数据集和三个标准图像篡改检测数据集中均获得了更好的检测效果。
[0089]
步骤3.3,数据增强实验。本发明在三个标准数据集上进行了数据增强实验,以f1分数作为评价指标,分别对水平翻转、添加噪声以及hvs增强三种数据增强操作进行了对比。根据表3显示的结果,可发现在水平翻转数据增强方式下,能够获得最佳效果。
[0090]
表3
[0091][0092]
在步骤4中,本发明随机选取几张经过复制-移动、拼接和移除篡改方式修改过的篡改图像进行篡改区域的定位检测,测试结果如图5所示。