基于边缘引导和多层级搜索的图像篡改检测方法
技术领域
本发明涉及计算机视觉及深度学习领域,尤其涉及一种基于边缘引导和多层级搜索的图像篡改检测方法。
背景技术
对图像的篡改会改变图像本身的意义和内涵,被不法分子利用制造虚假新闻和谣言,危害个人和社会安全。图像篡改检测是利用计算机视觉技术检测出一幅图像中的篡改区域,在打击谣言和虚假新闻方面发挥重要作用。随着深度学习领域的发展,更多地利用神经网络去提取图像的内在统计特征,取代了基于手工设计的特性,使得模型具有更强的鲁棒性和泛化性,常用的神经网络有EfficientNet,ResNet,Swin Transformer等。
在深度学习取得发展以前,大多数方法采用手工设计的特性去做图像篡改检测,其中包括:(1)模式噪声估计算法,不同的成像设备有不同的模式噪声,该算法根据图像内的模式噪声是否一致来判断图像是否经过篡改;(2)CFA插值算法,设备在成像时通常只采集RGB三色通道中的一种,然后在利用CFA算法得出其他两种通道,不同的设备有不同的CFA插值算法,该方法根据这一属性判断图像是否经过篡改;(3)光照不一致特性,成像设备在成像时,一幅图像的光照是一致的,图像篡改会改变这一特性,因此该方法通过判断光照一致性来判断图像是否经过篡改。但是成像设备的这些特性会被新的篡改方法屏蔽;例如,把图像内的一部分复制粘贴到另一部分,由于篡改区域来自同一幅图像,这种篡改不会改变图像内的模式噪声、CFA插值算法和光照属性。基于成像设备固有属性的图像篡改检测方法就会失效。
基于深度学习的方法关注篡改操作留下的痕迹,各种篡改方法和图像后期处理在篡改区域的边缘处都会产生边界不一致性伪影,这是篡改操作本身产生的结果,通过标签监督让深度神经网络去捕获这种边界不一致性伪影。不同的篡改方法也会带来图像内部噪声的不一致,深度神经网络能学习到各种噪声差异。深度学习方法从图像本身自适应地学习各种篡改特性。
发明内容
本发明针对传统图像篡改检测方法在检测篡改区域时存在的边缘模糊问题、篡改区域特征不足的问题,本发明提供了一种基于边缘引导和多层级搜索的图像篡改检测方法,利用图像的RGB特征和噪声特征全面挖掘图像中篡改区域和非篡改区域的不一致性,利用边缘检测模块学习图像中篡改区域和非篡改区域的边缘不一致性,利用篡改区域的边缘信息分割图引导模型对图像篡改区域的预测,利用多层级搜索模块探索更多的图像篡改区域特征。
本发明解决技术问题的技术方案为:
一种基于边缘引导的多层级搜索图片篡改检测方法,包括以下步骤:
S1.卷积神经网络提取图像的RGB特征和噪声特征:
S2.通过边缘提取模块得到图像中篡改区域的边缘信息分割图:
把图像的RGB特征和噪声特征输入到边缘提取模块得到图像的边缘分割图;
S3.通过边缘信息分割图引导图像篡改区域特征的提取:
把篡改区域的边缘信息分割图和主干网络提取的特征图逐像素相乘,得到的结果在与特征图相加,然后经过一个卷积核大小为3的二维卷积操作,得到篡改区域的边缘信息分割图与主干网络提取的特征图的逐步融合;
把初步融合的特征图经过全局平均池化操作,使得特征图的高和宽变为1x1,得到特征图的全局上下文信息;
把特征图的宽这一维度抹掉,把通道这一维度和高这一维度交换位置,然后经过一个卷积核大小为3的一维卷积操作,得到每个通道与其相邻3个通道的关系,把特征图还原形状,在经过一个sigmoid激活函数然后为每一个通道分配权重;
使用篡改区域的边缘信息分割图分别引导五个层级的特征,高层次的低分辨率特征图经过上采样操作和低层次的高分辨率特征图相乘,得到的结果与低层次特征沿着通道维度拼接,经过二维卷积操作,最终得到包含篡改区域边缘信息的篡改区域特征;
S4.从高层级到低层级逐层补充图像篡改区域特征:
把得到的初始的图像篡改区域取反,把已经识别出的篡改区域遮住,暴露出未识别到的图像区域;
把主干网络提取的特征沿通道维度拼接上初始图像篡改区域取反的结果,经过卷积操作,把未识别出的图像篡改区域特征嵌入到主干网络已知的图像篡改区域特征中;把主干网络提取的特征沿通道维度分为6组,在每组特征后面沿通道维度拼接上已知的图像篡改区域取反的结果,经过卷积操作,又一次把未识别出的图像篡改区域特征嵌入到主干网络已知的图像篡改区域特征中;把主干网络提取的特征每一个通道后面拼接上已知的图像篡改区域取反的结果,经过卷积操作,再一次把未识别出的图像篡改区域特征嵌入到主干网络已知的图像篡改区域特征中;
每一层级经过三次未识别出的图像篡改区域的特征嵌入,从高层级到低层级逐层级向主干网络已知的篡改区域中嵌入未识别出的篡改区域特征;
S5.联合损失函数约束网络进行训练:
在网络中设置了两条链路,分别学习图像的RGB特征和噪声特征;损失函数分为三部分,一部分损失函数计算篡改区域边缘分割产生的分类损失,另一部分损失函数计算图像篡改区域分割产生的分类损失,另一部分损失函数计算图片级篡改和非篡改分类产生的分类损失;
S6.利用训练好的模型进行图片篡改区域的检测:
利用训练好的主干网络提取图像的RGB特征和噪声特征,利用训练好的边缘提取模块提取出篡改区域的边缘信息分割图,把提取出的边缘信息分割图送入到图像篡改区域检测模块用于引导篡改区域的检测,把经过检测的特征图经过sigmoid激活函数,得到的每个像素值介于0和1之间,以0.5为阈值,大于0.5的像素视为篡改像素,把其值赋值为1;小于0.5的像素视为非篡改像素,把其值赋值为0,然后计算分类的分数。
上述基于边缘引导和多层级搜索的图像篡改检测方法基础上, S1具体过程如下:利用在ImageNet上预训练的EfficientNet-B4网络提取图像的RGB特征;通过把图像转换为灰度图以此来屏蔽图像的语义信息,然后经过一个高通滤波器BayarConv过滤出高频信息,最后再把得到信息送入另一条在ImageNet上预训练的EfficientNet-B4网络来提取图像的噪声特征。
上述基于边缘引导和多层级搜索的图像篡改检测方法基础上,S2具体过程如下:
将两个主干网络提取的RGB特征r1,r2,r3,r4,r5和噪声特征n1,n2,n3,n4,n5相加,相加后的特征记为h1,h2,h3,h4,h5;
把这些信息沿着通道方向做一个拼接操作,在经过一个卷积核大小为3的卷积操作来融合这些特征;
把融合后的特征经过一个通道注意力的加权,记为ca;
经过卷积核大小为1的卷积操作和sigmoid激活函数得到篡改区域边缘信息分割图;
边缘信息分割公式如下:,,此过程采用主要考虑浅层特征包含丰富的纹理特征,深层特征包含丰富的语义,因此语义信息和纹理信息的拼接融合更有助于定位篡改区域的边缘信息,用篡改区域的边缘标签对其进行监督,以此来让模型学习到图像篡改区域和非篡改区域边缘处的特征,从而得到篡改区域的边缘信息分割图。
其中hk代表RGB特征和噪声特征相加的结果,k=1,2,3,4,5;cat代表拼接操作,把特征沿着通道维度拼接;conv3代表卷积核大小为3的卷积;ca代表通道注意力,为每个通道赋予不同的权重;conv1代表卷积核大小为1的卷积操作;sigmoid代表激活函数;fe代表边缘信息分割图。
上述基于边缘引导和多层级搜索的图像篡改检测方法基础上,边缘引导模块引导篡改区域特征提取公式如下:;其中hk代表RGB特征和噪声特征相加的结果,k=1,2,3,4,5;fek代表边缘信息分割图;/>代表逐元素相乘;/>代表逐元素相加;代表经过边缘初步引导后的特征,k=1,2,3,4,5。
经过一个全局平均池化gap和卷积操作和激活函数然后为每一个通道分配权重得到的特征公式:,其中gap为全局平均池化;conv为二维卷积操作;/>代表经过边缘初步引导后的特征;/>代表经过边缘引导后的最终特征,k=1,2,3,4,5。
篡改区域初始特征公式如下:,/>,,/>为上采样操作,fi代表经过边缘引导后的最终特征,f1代表最高层的特征,f5代表最低层的特征;/>代表逐元素相乘;cat代表拼接操作;conv代表卷积操作;mask1代表生成的最初的篡改区域分割图。
上述基于边缘引导和多层级搜索的图像篡改检测方法基础上,S4过程中公式如下:
;,fi代表经过边缘引导后的第i层特征,/>代表激活函数,E代表元素全是1的矩阵,⊕代表逐元素相加,maski代表上一阶段预测的篡改区域,chunk代表对矩阵进行特征分组, cat是沿着通道的拼接操作,conv代表卷积操作,wi+1代表从已知篡改区域以外的发现的未知的篡改特征;/>,/>;其中⊕代表逐元素相加,maski代表上一阶段预测的篡改区域,maski+1代表下一阶段预测的篡改区域,wi+1由上方公式得出。
上述基于边缘引导和多层级搜索的图像篡改检测方法基础上,损失函数如下:,/>、/>和/>为三部分损失的权重,,
;pre代表篡改区域边缘预测图,target代表篡改区域边缘标签,/>和r是系数,分别是0.25和2,/>是根据二元交叉熵损失BCELOSS得来的,
;pre代表篡改区域预测图,target代表篡改区域标签,/>和r是系数,分别是0.25和2,/>是根据二元交叉熵损失BCELOSS得来的;
;N代表总的样本数即一张图像中总的像素数,/>代表第i个像素所属的类别,/>代表第i个像素所属类别的预测值,log是自然对数,
; N代表总的样本数即训练集中总的图片数,/>代表第i个图片所属的类别,/>代表第i个图片所属类别的预测值,log是自然对数。
上述基于边缘引导和多层级搜索的图像篡改检测方法基础上,S6中,/>,其中TP代表真阳性的样本,即实际是篡改像素被预测为篡改像素的个数;FP代表假阳性的样本,即实际是非篡改像素被预测为篡改像素的个数;FN代表假阴性的样本,即实际是篡改像素被预测为非篡改像素的个数。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案具有如下优点或有益效果:
1)针对图像篡改检测问题,提出边缘引导的多层级搜索网络学习泛化的图像篡改痕迹和特征,能有效应对各种的图像篡改手段。
2)利用生成的篡改区域边缘特征图,引导篡改区域的预测,使得篡改区域的预测在边缘信息的约束下进行,有效的解决了篡改区域预测时存在的边缘模糊问题。
3)本发明采用的多层级搜索方法,通过已知篡改区域取反的操作,从高层级到低层级逐层搜索未被发现的篡改区域特征。
4)本发明的基于边缘引导网络的多层级搜索图像篡改检测方法,在相关的图像篡改数据集中达到了优秀的效果。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
图1为本发明的流程图。
图2为本发明设计的边缘引导网络的框架图。
图3为图像篡改示例。
图4为CASIAV1、NIST和IMD2020数据集上本发明与目前先进方法F1分数的对比。
图5为CASIAV1数据集上的图像Image、本发明的图像篡改检测结果Prediction和实际上的图像篡改区域Target。
具体实施方式
为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。
如图1所示,一种基于边缘引导和多层级搜索的图像篡改检测方法,包括以下步骤:
S1.卷积神经网络提取图像的RGB特征和噪声特征:
利用在ImageNet上预训练的EfficientNet-B4网络提取图像的RGB特征;通过把图像转换为灰度图以此来屏蔽图像的语义信息,然后经过一个高通滤波器BayarConv过滤出高频信息,最后再把得到信息送入另一条在ImageNet上预训练的EfficientNet-B4网络来提取图像的噪声特征;
S2.通过边缘提取模块得到图像中篡改区域的边缘信息分割图:
具体过程如下:
将两个主干网络提取的RGB特征r1,r2,r3,r4,r5和噪声特征n1,n2,n3,n4,n5相加,RGB特征包含丰富的语义信息,噪声特征包含丰富的边缘不一致信息和纹理信息,通过相加的操作充分利用这些信息,相加后的特征记为h1,h2,h3,h4,h5;
把这些信息沿着通道方向做一个拼接操作,在经过一个卷积核大小为3的卷积操作来融合这些特征;
把融合后的特征经过一个通道注意力的加权,记为ca;
经过卷积核大小为1的卷积操作和sigmoid激活函数得到篡改区域边缘信息分割图;
边缘信息分割公式如下:
,/>;其中hk代表RGB特征和噪声特征相加的结果,k=1,2,3,4,5;cat代表拼接操作,把特征沿着通道维度拼接;conv3代表卷积核大小为3的卷积;ca代表通道注意力,为每个通道赋予不同的权重;conv1代表卷积核大小为1的卷积操作;sigmoid代表激活函数;fe代表边缘信息分割图。
S3.通过边缘信息分割图引导图像篡改区域特征的提取:
将两个主干网络提取的RGB特征r1,r2,r3,r4,r5和噪声特征n1,n2,n3,n4,n5相加,把相加后的特征记为h1,h2,h3,h4,h5;边缘提取模块预测边缘信息分割图记为,把篡改区域的边缘信息分割图和主干网络提取的特征图逐像素相乘,得到的结果在与特征图相加得/>,然后经过一个卷积核大小为3的二维卷积操作,得到篡改区域的边缘信息分割图与主干网络提取的特征图的逐步融合;
把初步融合的特征图经过全局平均池化操作,使得特征图的高和宽变为1x1,得到特征图的全局上下文信息;
把特征图的宽这一维度抹掉,把通道这一维度和高这一维度交换位置,然后经过一个卷积核大小为3的一维卷积操作,得到每个通道与其相邻3个通道的关系,把特征图还原形状,在经过一个sigmoid激活函数然后为每一个通道分配权重,更加关注融合了篡改区域边缘信息的特征通道,最终得到的特征记为,/>;,/>;
其中hk代表RGB特征和噪声特征相加的结果,k=1,2,3,4,5;fek代表边缘信息分割图;代表逐元素相乘;⊕代表逐元素相加;fsk代表经过边缘初步引导后的特征,k=1,2,3,4,5。
gap为全局平均池化;conv为二维卷积操作;fsk代表经过边缘初步引导后的特征;fzk代表经过边缘引导后的最终特征,k=1,2,3,4,5。
使用篡改区域的边缘信息分割图分别引导五个层级的特征,高层次的低分辨率特征图经过上采样操作和低层次的高分辨率特征图相乘,得到的结果与低层次特征沿着通道维度拼接,经过二维卷积操作,最终得到包含篡改区域边缘信息的篡改区域特征;
S4.从高层级到低层级逐层补充图像篡改区域特征:
把得到的初始的图像篡改区域取反,把已经识别出的篡改区域遮住,暴露出未识别到的图像区域;
把主干网络提取的特征沿通道维度拼接上初始图像篡改区域取反的结果,经过卷积操作,把未识别出的图像篡改区域特征嵌入到主干网络已知的图像篡改区域特征中;把主干网络提取的特征沿通道维度分为6组,在每组特征后面沿通道维度拼接上已知的图像篡改区域取反的结果,经过卷积操作,又一次把未识别出的图像篡改区域特征嵌入到主干网络已知的图像篡改区域特征中;把主干网络提取的特征每一个通道后面拼接上已知的图像篡改区域取反的结果,经过卷积操作,再一次把未识别出的图像篡改区域特征嵌入到主干网络已知的图像篡改区域特征中;
每一层级经过三次未识别出的图像篡改区域的特征嵌入,从高层级到低层级逐层级向主干网络已知的篡改区域中嵌入未识别出的篡改区域特征,本步骤把已知篡改区域以外得到的特征加到已知的篡改区域上,使新的篡改区域特征更加丰富,得到新的篡改区域特征,实现了基于多层级搜索的方法;
S5.联合损失函数约束网络进行训练:
在网络中设置了两条链路,分别学习图像的RGB特征和噪声特征;损失函数分为三部分,一部分损失函数计算篡改区域边缘分割产生的分类损失,另一部分损失函数计算图像篡改区域分割产生的分类损失,另一部分损失函数计算图片级篡改和非篡改分类产生的分类损失;
S6.利用训练好的模型进行图片篡改区域的检测:
利用训练好的主干网络提取图像的RGB特征和噪声特征,利用训练好的边缘提取模块提取出篡改区域的边缘信息分割图,把提取出的边缘信息分割图送入到图像篡改区域检测模块用于引导篡改区域的检测,把经过检测的特征图经过sigmoid激活函数,得到的每个像素值介于0和1之间,以0.5为阈值,大于0.5的像素视为篡改像素,把其值赋值为1;小于0.5的像素视为非篡改像素,把其值赋值为0,然后计算分类的分数。
本实施例中,边缘引导模块引导篡改区域特征提取公式如下:
;其中hk代表RGB特征和噪声特征相加的结果,k=1,2,3,4,5;/>代表边缘信息分割图;/>代表逐元素相乘;/>代表逐元素相加;/>代表经过边缘初步引导后的特征,k=1,2,3,4,5。
经过一个全局平均池化gap和卷积操作和激活函数然后为每一个通道分配权重得到的特征公式:,其中gap为全局平均池化;conv为二维卷积操作;/>代表经过边缘初步引导后的特征;/>代表经过边缘引导后的最终特征,k=1,2,3,4,5。
篡改区域初始特征公式如下:,/>,/>,/>为上采样操作,fi代表经过边缘引导后的最终特征,f1代表最高层的特征,f5代表最低层的特征;/>代表逐元素相乘;cat代表拼接操作;conv代表卷积操作;mask1代表生成的最初的篡改区域分割图。
本实施例中,S4过程中公式如下:,/>,fi代表经过边缘引导后的第i层特征,/>代表激活函数,E代表元素全是1的矩阵,/>代表逐元素相加,maski代表上一阶段预测的篡改区域,chunk代表对矩阵进行特征分组, cat是沿着通道的拼接操作,conv代表卷积操作,wi+1代表从已知篡改区域以外的发现的未知的篡改特征;
,/>,其中⊕代表逐元素相加,maski代表上一阶段预测的篡改区域,maski+1代表下一阶段预测的篡改区域,wi+1由上方公式得出。
本实施例中,本发明在网络中设置了两条链路,分别学习图像的RGB特征和噪声特征,本发明利用篡改区域的边缘信息分割图引导图像篡改检测,损失函数分为三部分,一部分损失函数计算篡改区域边缘分割产生的分类损失,另一部分损失函数计算图像篡改区域分割产生的分类损失,另一部分计算图像级真假分类产生的分类损失,损失函数公式如下:
,/>、/>和/>为三部分损失函数的权重,,
;pre代表篡改区域边缘预测图,target代表篡改区域边缘标签,/>和r是系数,分别是0.25和2,/>是根据二元交叉熵损失BCELOSS得来的,
;pre代表篡改区域预测图,target代表篡改区域标签,/>和r是系数,分别是0.25和2,/>是根据二元交叉熵损失BCELOSS得来的;
;N代表总的样本数即一张图像中总的像素数,/>代表第i个像素所属的类别,/>代表第i个像素所属类别的预测值,log是自然对数,
;N代表总的样本数即训练集中总的图片数,/>代表第i个图片所属的类别,/>代表第i个图片所属类别的预测值,log是自然对数。
本实施例中,S6中,/>,其中TP代表真阳性的样本,即实际是篡改像素被预测为篡改像素的个数;FP代表假阳性的样本,即实际是非篡改像素被预测为篡改像素的个数;FN代表假阴性的样本,即实际是篡改像素被预测为非篡改像素的个数。
为了证明本发明的有效性,在公开的图像篡改数据集CASIAV1、NIST和IMD2020上进行了实验。实验的评价指标采用F1分数。
不同算法与本发明的性能比较如图所示,从图中可以看出,本发明提出的基于边缘引导网络的多层级搜索图像篡改检测方法具有优良的性能。
上述虽然结合附图对发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。