一种基于卷积神经网络的图像篡改检测方法

未命名 10-19 阅读:136 评论:0


1.本发明属于计算机技术领域,尤其是计算机视觉、数字图像处理技术领域,具体涉及基于卷积神经网络的图像篡改检测方法。


背景技术:

2.图像作为传播信息的载体,在生活中的运用越来越广泛。而当人们把图片作为信息获取的重要来源,图片的真实性也就变得越发重要。在舆论报道和法律取证等领域,图像也往往被视为重要并且确凿的证据。但是随着图像编辑软件的迅猛发展,图片的真实性也不再坚不可摧,非专业的人员也可以很容易地对图片进行篡改。而且,由于图像篡改的成本低,隐蔽性强,肉眼难以分辨,传递虚假消息的恶意篡改越发猖獗,这对社会和个人都带来很大的安全隐患。
3.随着计算机深度学习技术的发展,近年来,神经网络在图像领域做出了很多优异的成果,图像分类,语义分割,目标检测都有很突出的表现。图像篡改检测在一定程度上也是一种二分类的语义分割,那么能否使用深度学习算法进行数字图像的篡改检测也自然而然成为了一个值得探究的课题。目前基于深度学习的算法进行篡改检测已经有了一定的进展,但是还存在一些问题:(1)篡改图像取不完整,边缘取得模糊;(2)小型篡改目标难以被检测到;(3)图像篡改后,如果进了后处理,检测效果也会容易失效。


技术实现要素:

4.本发明目的是针对现有技术的不足,提供一种基于卷积神经网络的图像篡改检测方法。
5.本发明方法具体是:
6.步骤(1)搜集并整理公开的图像篡改数据集;通过开源社区寻找篡改检测领域的篡改图像数据集,每个篡改图像数据集包括篡改图像和篡改标签图像(ground-truth图像),分别放在两个文件夹中,对于有原始图像的数据集,建立原始图像文件夹,存放未被篡改的原始图像。所述的篡改图像数据集包括casia数据集、columbia数据集和nist16数据集。
7.步骤(2)通过python脚本对对搜集到的篡改图像数据集进行数据增强;首先提取出篡改图像中的篡改区域,然后将篡改区域进行放缩,旋转并粘贴到未篡改的原始图像。
8.步骤(3)将数据增强后的篡改图像数据集输入多尺度集成注意力卷积网络进行网络模型训练。
9.所述的多尺度集成注意力卷积网络的组成包括u-net网络框架,多尺度特征图处理,位置和通道注意力机制;
10.所述的u-net网络框架,在输入256
×
256图像上进行5次下采样,得到1024幅8
×
8的特征图;然后再进行5次上采样,输出原尺寸256
×
256的图像。具体操作是:在基础u-net框架中,对输入的图像首先进行编码处理,经过2个3
×
3的卷积核,再由一个4
×
4步长为2的
卷积核进行下采样,获得64通道的特征图,下一层则获得128通道的特征图;接下来的三层中,先将输入的特征图切分为多个图块,分别送入注意力机制。然后再进行卷积和下采样的操作。经历了编码器的5层操作之后,进行解码操作。网络的解码器由四对上采样层和卷积层组成。上采样层用双线性插值对特征图进行上采样。经过上采样层后,特征图在宽度和高度上都增加一倍。上采样层后是一个卷积核大小为1
×
1、步幅为1的卷积层,然后是一个bn层和一个relu层对上采样的特征图进行处理。编码器和解码器的同一层级之间建立跳跃连接,将编码器的特征图级联到解码器的特征图后面,通道数加倍,弥补了解码器信息的丢失。
11.所述的多尺度特征图处理,具体操作是:使用奇数序列划分特征图,获取图块,第三层是5
×
5,第四层是3
×
3,第五层是1
×
1。
12.所述的位置和通道注意力机制,是从通道和位置两个角度进行设计,通过自注意力的算法,扩大篡改区域和非篡改区域的差别。
13.多尺度集成注意力卷积网络的具体训练过程如下:
14.①
将数据增强后的篡改图像数据集输入多尺度集成注意力卷积网络。
15.②
编码器的前两层进行如下处理:
16.对于卷积神经网络,输入图像经过多个由卷积层,归一化层和激活层所构成的组件,最终得到1024个特征图。
17.卷积层是使用k个卷积核对图像进行卷积,生成k个新特征图;对于第n层的第j个输出特征图具体操作为:其中,和分别表示卷积核和偏置,为输入特征图,为输出特征图。
18.卷积层之后为归一化层,采用批归一化层,将数据变成均值为0,方差为1的分布。通过超参数{α,β}实现数据批次b={x1,

,xi,

,xn}中的每个xi转换为yi的计算更新,xi表示从上一层输入进来的第i层通道,yi表示进行批归一化操作后的第i层通道的数据。
19.其中,μb和分别表示批次b中的均值和方差,ε是为了避免除数为0而使用的微小正数。
20.归一化层之后为激活层,激活层是通过非线性映射对输入特征映射进行转换,使用relu激活函数,激活函数处理后的数据结果f(zi)=max(0,zi),zi是卷积操作后的结果,若zi<0,f(zi)=0,若zi>0,f(zi)=zi。
21.③
编码器的后三层进行如下处理:
22.输入f
k,x
经由位置和通道注意力机制进行并行处理,进行融合得到完整结果,k=3,4,5,表示层数序号:首先将输入f
k,x
划分为5
×
5个子区域f
k,x
;针对每一个子区域,将其输入位置注意力机制进行计算,得到子块f
k,y
,各个子块f
k,y
再组合回原来的尺寸,得到f
k,y
;然后是输入通道注意力机制,f
k,x
输入通道自注意力后不再切分,直接进行通道自注意力的计算,得到输出f
k,z
;最后将f
k,y
和f
k,z
相加,得到一个1024层的特征向量。
23.④
将具有全局特征的特征图通过解码器进行解码,得到最后预测结果。整个卷积网络通过随机梯度下降优化算法进行最小化交叉熵损失函数,从而对预测结果进行优化,
交叉熵损失函数公式如下:其中p
(w,h)
是拼接区域中坐标(w,h)处像素取对的概率,y
(w,h)
是当前像素的真值掩膜的标签,w为图像的宽,h为图像的高,w=1,

,w,h=1,

,h。
24.步骤(4)利用上一步训练好的模型对输入图像进行测试,得到最终的篡改定位结果。
25.本发明有益效果包括:
26.(1)本发明方法是一个端到端的方法,输入一张篡改图就可以得到篡改区域,无需任何预处理和后处理操作,方便快捷;
27.(2)本发明方法利用pycharm软件进行代码编写,训练、测试成本较低;
28.(3)本发明方法通过自注意力扩大篡改区域和非篡改区域的差异,实现了篡改目标更精细的检测;
29.(4)本发明方法通过多尺度设计,对于小型篡改也有较好的效果。
附图说明
30.图1为本发明的系统流程图;
31.图2为数据集中篡改图像示意图;
32.图3为图2对应的篡改标签图像示意图;
33.图4为针对图2篡改图像的检测结果示意图。
具体实施方式
34.下面通过具体实施例,对本发明的技术方案做进一步说明。
35.为了验证该方法的效果,进行如下验证。验证在linux环境的电脑进行,显卡是12g的nvidia geforce rtx 3060显卡。系统流程图如图1所示。
36.搜集并整理了多种公开的图像篡改数据集,包括casia数据集,nist16数据集和columbia数据集,每个篡改图像数据集包括篡改图像和篡改标签图像,分别放在两个文件夹中,对于有原始图像的数据集,建立原始图像文件夹,存放未被篡改的原始图像。篡改图像如图2所示,篡改标签图像如图3所示,白色部分表示篡改区域,黑色部分表示非篡改区域。
37.通过python脚本对分别对这3个数据集进行图像增强处理,首先提取出篡改图像中的篡改区域,然后将篡改区域进行放缩,旋转并粘贴到未篡改的原始图像。将各自数据集其中的80%作为训练集来训练多尺度注意力卷积神经网络,其中的20%作为测试集测试多尺度注意力卷积神经网络的检测精度。通过训练和测试,得到模型在不同数据集的表现。
38.在pycharm上运行程序,将训练集图片和对应的标签输入到多尺度注意力卷积神经网络中去,经过150次迭代训练后,得到最终训练好的模型。
39.多尺度集成注意力卷积网络的组成包括u-net网络框架,多尺度特征图处理,位置和通道注意力机制;
40.所述的u-net网络框架,在输入256
×
256图像上进行5次下采样,得到1024幅8
×
8的特征图;然后再进行5次上采样,输出原尺寸256
×
256的图像。具体操作是:在基础u-net
框架中,对输入的图像首先进行编码处理,经过2个3
×
3的卷积核,再由一个4
×
4步长为2的卷积核进行下采样,获得64通道的特征图,下一层则获得128通道的特征图;接下来的三层中,先将输入的特征图切分为多个图块,分别送入注意力机制。然后再进行卷积和下采样的操作。经历了编码器的5层操作之后,进行解码操作。网络的解码器由四对上采样层和卷积层组成。上采样层用双线性插值对特征图进行上采样。经过上采样层后,特征图在宽度和高度上都增加一倍。上采样层后是一个卷积核大小为1
×
1、步幅为1的卷积层,然后是一个bn层和一个relu层对上采样的特征图进行处理。为了弥补上采样造成的特征损失,编码器和解码器的同一层级之间建立跳跃连接,将编码器的特征图级联到解码器的特征图后面,通道数加倍,弥补了解码器信息的丢失。
41.所述的多尺度特征图处理,编码器的深层处理图像高层语义时,对特征图进行多尺度处理,拆分特征图,从而突出小型篡改目标,提高检测效果。具体操作是:使用奇数序列划分特征图,获取图块,第三层是5
×
5,第四层是3
×
3,第五层是1
×
1。通过对图块的划分,让小尺度的图块凸显特征图各个部分,从而检测小尺度的篡改目标。
42.所述的位置和通道注意力机制,通过自注意力的计算方式扩大篡改区域和非篡改区域的差异性,提高检测效果。具体是从通道和位置两个角度进行设计,通过自注意力的算法,扩大篡改区域和非篡改区域的差别,从而更好地取到篡改区域。
43.具体训练过程如下:
44.(1)将数据增强后的篡改图像数据集输入多尺度集成注意力卷积网络。
45.(2)编码器的前两层进行如下处理:
46.对于卷积神经网络,输入图像经过多个由卷积层,归一化层和激活层所构成的组件,最终得到1024个特征图。
47.卷积层是使用k个卷积核对图像进行卷积,生成k个新特征图;对于第n层的第j个输出特征图具体操作为:其中,和分别表示卷积核和偏置,为输入特征图,为输出特征图;
48.采用批归一化层,将数据变成均值为0,方差为1的分布;通过超参数{α,β}实现数据批次b={x1,

,xi,

,xn}中的每个xi转换为yi的计算更新,xi表示从上一层输入进来的第i层通道,yi表示进行批归一化操作后的第i层通道的数据;其中,μb和分别表示批次b中的均值和方差,ε是为了避免除数为0而使用的微小正数;
49.归一化层之后为激活层,激活层是通过非线性映射对输入特征映射进行转换,使用relu激活函数,激活函数处理后的数据结果f(zi)=max(0,zi),zi是卷积操作后的结果,若zi<0,f(zi)=0,若zi>0,f(zi)=zi。
50.(3)编码器的后三层进行如下处理:
51.输入f
k,x
经由位置和通道注意力机制进行并行处理,进行融合得到完整结果,k=3,4,5,表示层数序号:首先将输入f
k,x
划分为5
×
5个子区域f
k,x
;针对每一个子区域,将其输入位置注意力机制进行计算,得到子块f
k,y
,各个子块f
k,y
再组合回原来的尺寸,得到f
k,y
;然后是输入通道注意力机制,f
k,x
输入通道自注意力后不再切分,直接进行通道自注意力的计算,得到输出f
k,z
;最后将f
k,y
和f
k,z
相加,得到一个1024层的特征向量。
52.(4)将具有全局特征的特征图通过解码器进行解码,得到最后预测结果;整个卷积网络通过随机梯度下降优化算法进行最小化交叉熵损失函数,交叉熵损失函数p
(w,h)
是拼接区域中坐标(w,h)处像素取对的概率,y
(w,h)
是当前像素的真值掩膜的标签,w=1,

,w,h=1,

,h,w为图像的宽,h为图像的高。
53.使用训练好的模型来测试测试集中的图像并根据对应的篡改区域标签计算出检测的精确度。具体来说,分别输入篡改图像和相应篡改区域,经过训练好的模型检测之后,会得到检测结果,如图4所示,预测的篡改区域标记为白色,非篡改区域标记为黑色。
54.由此可见,多尺度集成注意力卷积神经网络在经过训练后,可以有效地检测出篡改图像的篡改区域。casia数据集iou正确率可以达到60.8%,columbia数据集iou正确率可以达到91%。
55.以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

技术特征:
1.一种基于卷积神经网络的图像篡改检测方法,其特征在于:步骤(1)搜集并整理公开的图像篡改数据集;通过开源社区寻找篡改检测领域的篡改图像数据集,每个篡改图像数据集包括篡改图像和篡改标签图像,分别放在两个文件夹中,对于有原始图像的数据集,建立原始图像文件夹,存放未被篡改的原始图像;步骤(2)通过python脚本对对搜集到的篡改图像数据集进行数据增强;首先提取出篡改图像中的篡改区域,然后将篡改区域进行放缩,旋转并粘贴到未篡改的原始图像;步骤(3)将数据增强后的篡改图像数据集输入多尺度集成注意力卷积网络进行网络模型训练;所述的多尺度集成注意力卷积网络的组成包括u-net网络框架,多尺度特征图处理,位置和通道注意力机制;多尺度集成注意力卷积网络的具体训练过程如下:

将数据增强后的篡改图像数据集输入多尺度集成注意力卷积网络;

编码器的前两层进行如下处理:对于卷积神经网络,输入图像经过多个由卷积层,归一化层和激活层所构成的组件,最终得到1024个特征图;卷积层是使用k个卷积核对图像进行卷积,生成k个新特征图;对于第n层的第j个输出特征图具体操作为:其中,和分别表示卷积核和偏置,为输入特征图,为输出特征图;采用批归一化层,将数据变成均值为0,方差为1的分布;通过超参数{α,β}实现数据批次b={x1,

,x
i
,

,x
n
}中的每个x
i
转换为y
i
的计算更新,x
i
表示从上一层输入进来的第i层通道,y
i
表示进行批归一化操作后的第i层通道的数据;其中,μ
b
和分别表示批次b中的均值和方差,ε是为了避免除数为0而使用的微小正数;归一化层之后为激活层,激活层是通过非线性映射对输入特征映射进行转换,使用relu激活函数,激活函数处理后的数据结果f(z
i
)=max(0,z
i
),z
i
是卷积操作后的结果,若z
i
<0,f(z
i
)=0,若z
i
>0,f(z
i
)=z
i


编码器的后三层进行如下处理:输入f
k,x
经由位置和通道注意力机制进行并行处理,进行融合得到完整结果,k=3,4,5,表示层数序号:首先将输入f
k,x
划分为5
×
5个子区域f
k,x
;针对每一个子区域,将其输入位置注意力机制进行计算,得到子块f
k,y
,各个子块f
k,y
再组合回原来的尺寸,得到f
k,y
;然后是输入通道注意力机制,f
k,x
输入通道自注意力后不再切分,直接进行通道自注意力的计算,得到输出f
k,z
;最后将f
k,y
和f
k,z
相加,得到一个1024层的特征向量;

将具有全局特征的特征图通过解码器进行解码,得到最后预测结果;整个卷积网络通过随机梯度下降优化算法进行最小化交叉熵损失函数,交叉熵损失函数p
(w,h)
是拼接区域中坐标(w,h)处像素取对的概率,y
(w,h)
是当前像素的真值掩膜的标签,w=1,

,w,h=1,

,h,w为图像的宽,h为
图像的高;步骤(4)利用上训练好的模型对输入图像进行测试,得到最终的篡改定位结果。2.如权利要求1所述的一种基于卷积神经网络的图像篡改检测方法,其特征在于:所述的篡改图像数据集包括casia数据集、columbia数据集和nist16数据集。3.如权利要求1所述的一种基于卷积神经网络的图像篡改检测方法,其特征在于:所述的u-net网络框架,在输入256
×
256图像上进行5次下采样,得到1024幅8
×
8的特征图;然后再进行5次上采样,输出原尺寸256
×
256的图像;具体操作是:在基础u-net框架中,对输入的图像首先进行编码处理,经过2个3
×
3的卷积核,再由一个4
×
4步长为2的卷积核进行下采样,获得64通道的特征图,下一层则获得128通道的特征图;接下来的三层中,先将输入的特征图切分为多个图块,分别送入注意力机制;然后再进行卷积和下采样的操作;经历了编码器的5层操作之后,进行解码操作;网络的解码器由四对上采样层和卷积层组成;上采样层用双线性插值对特征图进行上采样;经过上采样层后,特征图在宽度和高度上都增加一倍;上采样层后是一个卷积核大小为1
×
1、步幅为1的卷积层,然后是一个bn层和一个relu层对上采样的特征图进行处理;编码器和解码器的同一层级之间建立跳跃连接,将编码器的特征图级联到解码器的特征图后面。4.如权利要求1所述的一种基于卷积神经网络的图像篡改检测方法,其特征在于:所述的多尺度特征图处理,具体操作是:使用奇数序列划分特征图,获取图块,第三层是5
×
5,第四层是3
×
3,第五层是1
×
1。5.如权利要求1所述的一种基于卷积神经网络的图像篡改检测方法,其特征在于:所述的位置和通道注意力机制,是从通道和位置两个角度进行设计,通过自注意力算法,扩大篡改区域和非篡改区域的差别。

技术总结
本发明公开了一种基于卷积神经网络的图像篡改检测方法。本发明方法首先搜集并整理公开的图像篡改数据集,通过python脚本对对搜集到的篡改图像数据集进行数据增强;然后将数据增强后的篡改图像数据集输入多尺度集成注意力卷积网络进行网络模型训练,多尺度集成注意力卷积网络的组成包括U-net网络框架,多尺度特征图处理,位置和通道注意力机制,利用训练好的模型对输入图像进行测试,得到最终的篡改定位结果。本发明采用端到端的方法,输入一张篡改图就可以得到篡改区域,无需任何预处理和后处理操作,方便快捷。本发明通过自注意力扩大篡改区域和非篡改区域的差异,实现了篡改目标更精细的检测,训练、测试成本较低。训练、测试成本较低。训练、测试成本较低。


技术研发人员:严彩萍 魏华建 李红
受保护的技术使用者:杭州师范大学
技术研发日:2022.12.16
技术公布日:2023/10/15
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐