专利名称:基于双流自注意力神经网络的图像篡改定位方法及系统
专利类型:发明专利
专利申请号:CN202210858439.2
专利申请(专利权)人:华南农业大学
权利人地址:广东省广州市天河区五山路483号
专利发明(设计)人:钟浩,梁炜健,黄远航
专利摘要:本发明涉及图像篡改定位技术领域,提出一种基于双流自注意力神经网络的图像篡改定位方法及系统,包括以下步骤:将待检测定位的输入图像进行约束卷积滤波处理,得到滤波图像;将输入图像和滤波图像分别进行重组编码后,分别输入基于自注意力的第一篡改图像编码器和第二篡改图像编码器中,分别输出第一特征图和第二特征图;其中,第一篡改图像编码器和第二篡改图像编码器中每个计算阶段包括若干堆叠设置的自注意力模块;将第一特征图和第二特征图进行拼接后,分别经过通道域和空间域解码,得到篡改区域定位结果。本发明通过自注意力神经网络捕获局部与全局不一致的能力,并通过RGB模态与异常噪声提取模态的互补,有效提高了篡改图像定位的精度。
主权利要求:
1.基于双流自注意力神经网络的图像篡改定位方法,其特征在于,包括以下步骤:将待检测定位的输入图像进行约束卷积滤波处理,得到滤波图像;
将所述输入图像和滤波图像分别进行重组编码后,分别输入基于自注意力的第一篡改图像编码器和第二篡改图像编码器中,分别输出第一特征图和第二特征图;其中,所述第一篡改图像编码器和第二篡改图像编码器中分别包括至少3个计算阶段,每个计算阶段包括若干堆叠设置的自注意力模块;
将第一特征图和第二特征图进行拼接后得到H×W×C的拼接矩阵Zori,拼接矩阵Zori分别经过通道域和空间域解码后相加处理,得到篡改区域定位结果;其步骤包括:(1)进行通道域加权:
将拼接矩阵Zori通过一个1×1的卷积核后,在长宽上进行展平,得到大小为(H×W)×C的二维矩阵ZC;
将二维矩阵ZC的转置矩阵与二维矩阵ZC相乘,得到大小为C×C的通道注意力矩阵,再经过softmax函数进行归一化;
将二维矩阵ZC与归一化的C×C通道注意力矩阵的转置矩阵进行相乘,得到每一像素通道加权后的输出,将输出经过重组处理后与拼接矩阵Zori进行残差连接,得到通道域加权结果OutputC;其表达式如下:ZC=ZoriWC
T T
OutputC=Reshape(ZC×softmax(ZCZC))+Zori式中,Reshape(·)表示重组处理;
(2)进行空间域加权:
将拼接矩阵Zori通过三个1×1的卷积核后,在长宽上进行展平,得到大小为(H×W)×C的二维矩阵ZSQ、ZSK、ZSV;
将二维矩阵ZSQ与二维矩阵ZSK的转置进行向量乘法,得到大小为(H×W)×(H×W)的空间注意力矩阵,并通过softmax函数进行归一化;
将经过归一化的空间注意力矩阵乘以二维矩阵ZSV得到每一像素通道加权后的输出,将输出经过重组处理后与拼接矩阵Zori进行残差连接,得到空间域加权结果OutputS;其表达式如下:ZSQ=ZoriWSQ,ZSK=ZoriWSK,ZSV=ZoriWSVT
OutputS=Reshape(softmax(ZSQZSK)×ZSV)+Zori式中,WSQ、WSK、WSV分别为三个1×1的可学习卷积核;
(3)将通道域加权结果OutputC和空间域加权结果OutputS进行相加处理,并通过一层卷积层降低通道数至1,再经过sigmoid函数的激活,得到二值掩码图作为篡改区域定位结果输出,其表达式如下:Mask=sigmoid(Conv1×1(OutputC+OutputS))式中,Mask为篡改区域定位结果,Conv1×1(·)表示进行1×1的二维卷积,sigmoid(·)表示sigmoid激活函数。
2.根据权利要求1所述的图像篡改定位方法,其特征在于,所述自注意力模块包括用于获取图像块间的关系信息的多头自注意力计算单元,和用于对图像各通道关系进行自学习加权的多层感知机;所述多头自注意力计算单元中包括若干并行的自注意力计算层,以及用于对并行的自注意力计算层的输出进行拼接和自学习的多头注意力层;
其中所述第一篡改图像编码器与所述第二篡改图像编码器之间不共享可学习参数。
3.根据权利要求2所述的图像篡改定位方法,其特征在于,所述输入图像进行重组编码后得到维度为N×C的二维矩阵Z;将二维矩阵Z输入自注意力计算层进行编码的步骤包括:将二维矩阵Z分别与三个由维度为C×C的可学习参数构成的自学习矩阵相乘,得到查询矩阵Q、键矩阵K和值矩阵V;
通过内积计算对查询矩阵Q与键矩阵K进行匹配并进行缩放,然后通过softmax函数激活得到归一化的权重矩阵;
通过权重矩阵对值矩阵V进行加权处理,得到自注意力特征图;其表达式如下:l‑1
式中,Z 为输入第l层自注意力模块的图像,WQ、WK、WV∈C×C分别为具有可学习参数的矩阵。
4.根据权利要求3所述的图像篡改定位方法,其特征在于,所述多头注意力层进行编码的步骤包括:将并行的自注意力计算层输出的自注意力特征图采用多头注意力机制在通道维度上进行拼接,并在通道维度上与可学习参数矩阵相乘,得到多头注意力特征图;其表达式如下:l‑1 l‑1
式中,SAm(Z )表示图像Z 在第m个通道维度的自注意力特征图;m为关系头数;
[...;...;...]表示拼接操作;W0为一个可学习参数矩阵。
5.根据权利要求4所述的图像篡改定位方法,其特征在于,所述多层感知机包括用于编码扩张的第一全连接层,以及用于编码恢复的第二全连接层;所述多层感知机进行编码的步骤包括:将多头注意力特征图输入所述多层感知机中对各通道关系进行自学习加权;其表达式如下:l‑1
式中, 表示图像Z 对应的多头注意力特征图;WL1、WL2分别为第一全连接层、第二全连接层中具有可学习参数的矩阵,且WL1∈C×4C,WL2∈4C×C;Conv3×3(·)表示进行二维展开后进行3×3的二维卷积;GELU(·)为GELU激活函数。
6.根据权利要求2~5任一项所述的图像篡改定位方法,其特征在于,所述自注意力模块中的多头自注意力计算单元和多层感知机采用残差连接方式连接;其表达式如下:l‑1
式中,Z 为输入第l层自注意力模块的图像, 为多头自注意力计算单元输出的多l头注意力特征图,Z为第l层自注意力模块输出的特征图;MSA(·)表示多头自注意力计算单元的编码处理,MLP(·)表示多层感知机的编码处理;LN(·)为归一化函数,用于进行通道上数据归一化。
7.根据权利要求1所述的图像篡改定位方法,其特征在于,将待检测定位的输入图像进行约束卷积滤波处理的步骤包括:采用约束卷积模块进行约束卷积滤波处理;其中,卷积核中心点的值固定为‑1,无法进行自学习;卷积核中其他坐标的参数相加的值限制为1,且卷积核中其他非中心点坐标的参数可自学习;其表达式如下:式中,ωk(0,0)表示约束卷积模块中第k个卷积核的中心点坐标对应的值,ωk(m,n)表示约束卷积模块中第k个卷积核的其他坐标对应的值。
8.基于双流自注意力神经网络的图像篡改定位系统,应用权利要求1~7任一项所述的图像篡改定位方法,其特征在于,包括:第一篡改图像编码器,包括至少3个计算阶段,每个计算阶段包括若干堆叠设置的自注意力模块;第一篡改图像编码器用于对待检测定位的输入图像基于自注意力机制进行编码,输出RGB通道上的第一特征图;
约束卷积滤波模块,用于对待检测定位的输入图像进行约束卷积滤波处理,得到滤波图像;
第二篡改图像编码器,包括至少3个计算阶段,每个计算阶段包括若干堆叠设置的自注意力模块;所述第二篡改图像编码器用于对滤波图像基于自适应空间域滤波和自注意力机制进行编码,输出第二特征图;
双流网络解码模块,用于将第一特征图和第二特征图进行拼接后,分别经过通道域和空间域解码,得到篡改区域定位结果。
9.根据权利要求8所述的图像篡改定位系统,其特征在于,所述自注意力模块包括:多头自注意力计算单元,所述多头自注意力计算单元中包括若干并行的自注意力计算层,以及与自注意力计算层输出端连接的多头注意力层;
l‑1
其中,所述自注意力计算层用于对经过重组编码的N×C的二维矩阵Z 基于自注意力机制进行编码,得到自注意力特征图;所述多头注意力层用于将并行的自注意力计算层输出的自注意力特征图采用多头注意力机制在通道维度上进行拼接,并在通道维度上与可学习参数矩阵相乘,得到多头注意力特征图;
多层感知机,用于对多头注意力特征图中对各通道关系进行自学习加权,输出特征图lZ;所述多头自注意力计算单元和多层感知机采用残差连接方式连接;
所述第一篡改图像编码器与所述第二篡改图像编码器之间不共享可学习参数。 说明书 : 基于双流自注意力神经网络的图像篡改定位方法及系统技术领域[0001] 本发明涉及图像篡改定位技术领域,更具体地,涉及一种基于双流自注意力神经网络的图像篡改定位方法及系统。背景技术[0002] 目前对于数字图像的篡改研究主要集中在对篡改图像的篡改区域进行定位上,基于深度学习方法在图像篡改定位任务上具有十分优异的效果,评价指标远远优于手工提取特征(如重采样特征、色彩滤波阵列(CFA、colorfilterarray)等)的传统算法。[0003] 目前大部分基于深度学习的取证算法是基于卷积神经网络的,卷积神经网络通过堆叠卷积层能够获得较长距离的感受野,但每一层还是通过多个卷积核采用滑动窗口的方式计算像素之间的关系,无法一次性捕获局部信息与全局信息之间的关系。如现有的图像篡改检测方法,提出对图像进行特征提取得到全局特征图,获取特征图对应的通道权重系数和空间权重系数;通过通道权重系数以及空间权重系数,对疑似篡改特征图进行重构,得到重构特征图;对重构特征图进行潜在篡改区域定位,得到篡改区域粗略位置信息;根据篡改区域粗略位置信息对所述全局特征图进行裁剪处理,获得对应位置的局部特征图;对局部特征图进行解码处理,得到待检测图像的篡改区域掩膜。其无法一次性捕获局部特征信息与全局特征信息,以及二者之间的关系,导致篡改图像定位精度效果难以满足使用需求。发明内容[0004] 本发明为克服上述现有技术所述的无法一次性捕获局部信息与全局信息之间的关系导致篡改图像定位准确率低的缺陷,提供一种基于双流自注意力神经网络的图像篡改定位方法及系统。[0005] 为解决上述技术问题,本发明的技术方案如下:[0006] 基于双流自注意力神经网络的图像篡改定位方法,包括以下步骤:[0007] 将待检测定位的输入图像进行约束卷积滤波处理,得到滤波图像;[0008] 将所述输入图像和滤波图像分别进行重组编码后,分别输入基于自注意力的第一篡改图像编码器和第二篡改图像编码器中,分别输出第一特征图和第二特征图;其中,所述第一篡改图像编码器和第二篡改图像编码器中分别包括至少3个计算阶段,每个计算阶段包括若干堆叠设置的自注意力模块;[0009] 将第一特征图和第二特征图进行拼接后,分别经过通道域和空间域解码,得到篡改区域定位结果。[0010] 进一步地,本发明还提出一种基于双流自注意力神经网络的图像篡改定位系统,应用上述技术方案提出的图像篡改定位方法,其中包括:[0011] 第一篡改图像编码器,包括至少3个计算阶段,每个计算阶段包括若干堆叠设置的自注意力模块;第一篡改图像编码器用于对待检测定位的输入图像基于自注意力机制进行编码,输出第一特征图;[0012] 约束卷积滤波模块,用于对待检测定位的输入图像进行约束卷积滤波处理,得到滤波图像;[0013] 第二篡改图像编码器,包括至少3个计算阶段,每个计算阶段包括若干堆叠设置的自注意力模块;第二篡改图像编码器用于对滤波图像基于自适应空间域滤波和自注意力机制进行编码,输出第二特征图;[0014] 双流网络解码模块,用于将第一特征图和第二特征图进行拼接后,分别经过通道域和空间域解码,得到篡改区域定位结果。[0015] 与现有技术相比,本发明技术方案的有益效果是:本发明通过自注意力神经网络捕获局部与全局不一致的能力,基于自注意力机制捕获RGB模态上存在的可疑篡改区域,并基于自注意力机制捕获在频率特征上存在的可疑篡改区域,实现RGB模态与异常噪声提取模态的互补,有效提高篡改图像定位的精度。附图说明[0016] 图1为本发明实施例的图像篡改定位方法的流程图。[0017] 图2为本发明实施例的自注意力模块的流程示意图。[0018] 图3为本发明实施例的通道域和空间域解码流程示意图。[0019] 图4为篡改图像示意图。[0020] 图5为篡改区域真实二值掩码图。[0021] 图6为本发明实施例的篡改区域定位结果图。[0022] 图7为本发明实施例的图像篡改定位系统的架构图。具体实施方式[0023] 附图仅用于示例性说明,不能理解为对本专利的限制;[0024] 对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。[0025] 下面结合附图和实施例对本发明的技术方案做进一步的说明。[0026] 实施例1[0027] 本实施例提出一种基于双流自注意力神经网络的图像篡改定位方法,如图1所示,为本实施例的图像篡改定位方法的流程图。[0028] 本实施例提出的基于双流自注意力神经网络的图像篡改定位方法中,包括以下步骤:[0029] S1、将待检测定位的输入图像进行约束卷积滤波处理,得到滤波图像;[0030] S2、将所述输入图像和滤波图像分别进行重组编码后,分别输入基于自注意力的第一篡改图像编码器和第二篡改图像编码器中,分别输出第一特征图和第二特征图;其中,所述第一篡改图像编码器和第二篡改图像编码器中分别包括至少3个计算阶段,每个计算阶段包括若干堆叠设置的自注意力模块;[0031] S3、将第一特征图和第二特征图进行拼接后,分别经过通道域和空间域解码,得到篡改区域定位结果。[0032] 本实施例中,第一篡改图像编码器的输入为RGB三通道图像,目的在于通过自注意力机制捕获RGB模态上存在的可疑篡改区域,第二篡改图像编码器的输入为经过频率域自适应滤波的特征,目的在于通过自注意力机制捕获在频率特征上存在的可疑篡改区域。[0033] 对双流输出的特征图进行通道拼接,再通过一个双域注意力模块(通道域与空间域)进行解码,得出预测为篡改区域的二值图像定位掩码图作为篡改区域定位结果进行输出,其中二值图像中标记为“1”的区域(白色区域)为定位的篡改区域。[0034] 在一可选实施例中,第一篡改图像编码器和第二篡改图像编码器中的任一自注意力模块包括用于获取图像块间的关系信息的多头自注意力计算单元,和用于对图像各通道关系进行自学习加权的多层感知机。[0035] 其中,多头自注意力计算单元中包括若干并行的自注意力计算层,以及用于对并行的自注意力计算层的输出进行拼接和自学习的多头注意力层。[0036] 其中,输入自注意力模块的待检测定位的输入图像为RGB通道图像。[0037] 将输入图像进行重叠卷积,并进行重组编码后,得到维度为N×C的二维矩阵Z,其中N=(H×W),即N个被编码为C通道的像素(对应于原图中的一个块)。然后作为第一篡改图像编码器中,第一个计算阶段中的首个自注意力模块的输入。[0038] 将输入图像进行约束卷积滤波处理后同样地进行重叠卷积和重组编码,同样得到维度为N×C的二维矩阵Z,然后作为第二篡改图像编码器中,第一个计算阶段中的首个自注意力模块的输入。[0039] 本实施例中,第一篡改图像编码器和第二篡改图像编码器中包括3个计算阶段,对于第一个计算阶段和第二个计算阶段,分别对任一计算阶段最终得到的自注意力模块输出进行维度重组,重整为三维矩阵(由N×C矩阵重整为H×W×C矩阵,以便后续卷积操作),并通过重叠卷积操作对图像进行卷积和通道数变化。进行重叠卷积操作后,图像三维矩阵被进行倍率为卷积步长大小的缩小,通道数也进行了改变,然后输入下一计算阶段的自注意力模块中进行编码。[0040] 对于第三个计算阶段,对第三计算阶段最终的自注意力模块输出进行维度重组,重整为三维矩阵。[0041] 进一步地,在任一计算阶段的任一自注意力模块中,将二维矩阵Z输入自注意力计算层进行编码的步骤包括:[0042] S2.1.1、将二维矩阵Z分别与三个由维度为C×C的可学习参数构成的自学习矩阵相乘,得到查询矩阵Q、键矩阵K和值矩阵V;[0043] S2.1.2、通过内积计算对查询矩阵Q与键矩阵K进行匹配并进行缩放,避免内积结果太大,然后通过softmax函数激活得到归一化的权重矩阵,其大小为N×N;[0044] S2.1.3、通过权重矩阵对值矩阵V进行加权处理,得到自注意力特征图;其表达式如下:[0045][0046] 式中,Zl‑1为输入第l层自注意力模块的图像,且Zl‑1∈N×C;WQ、WK、WV∈C×C分别为具有可学习参数的矩阵,SA(·)表示自注意力机制算法。[0047] 其中,本实施例为了避免矩阵相乘结果太大,在进行softmax激活前将计算结果除以编码维度C的开方。[0048] 进一步地,为了尽可能捕获输入图像Zl‑1中的关系信息,本实施例采用多头自注意力计算单元对自注意力计算单元的输出进行编码。[0049] 本实施例中,在任一计算阶段的任一自注意力模块中,多头注意力层进行编码的步骤包括:[0050] S2.2.1、将并行的自注意力计算层输出的自注意力特征图采用多头注意力机制(MSA,MultiheadSelfAttention)在通道维度上进行拼接。[0051] S2.2.2、在通道维度上与可学习参数矩阵相乘,得到多头注意力特征图。其表达式如下:[0052][0053] 式中,SAm(Zl‑1)表示图像Zl‑1在第m个通道维度的自注意力特征图;[...;...;...]表示拼接操作;W0为一个具有可学习参数矩阵,且W0∈C×C。[0054] m为关系头数,则每一头数的编码维度从C变为C/m,该C/m维度的信息由原来的C维度中分离出。[0055] 本实施例中,由于自注意力算法的输入与输出维度相同,即若输入维度为N×C/m,输出也为N×C/m,因此,将多头自注意力算法的m个维度为N×C/m的输出在通道维度上进行l‑1拼接,就能够得到N×C的输出,与图像Z 的大小一致,引入多头注意力机制能够使得算法在相同的计算量下捕获更丰富的关系信息。而后,为了使得多个关系头捕获的信息产生交互,在进行多头计算后,在通道维度上与矩阵W0相乘。[0056] 进一步地,在进行多头自注意力机制算法后,为了增强通道维度上的交互,本实施例通过多层感知机(MLP,MultilayerPerceptron),对各通道关系进行自学习加权。[0057] 本实施例中,所述多层感知机包括用于编码(通道)扩张的第一全连接层,以及用于编码(通道)恢复的第二全连接层。[0058] 在任一计算阶段的任一自注意力模块中,所述多层感知机进行编码的步骤包括:[0059] S2.3.1、将多头注意力特征图输入所述多层感知机中对各通道关系进行自学习加权;其表达式如下:[0060][0061] 式中, 表示图像Zl‑1对应的多头注意力特征图;WL1、WL2分别为第一全连接层、第二全连接层中具有可学习参数的矩阵,且WL1∈C×4C,WL2∈4C×C;Conv3×3(·)表示进行二维展开后进行3×3的二维卷积;GELU(·)为GELU激活函数。[0062] 本实施例采用加入了一层维度为3×3的二维卷积层使得自注意力模块能够避免没有引入块位置信息的影响。[0063] 进一步地,本实施例中的自注意力模块中的多头自注意力计算单元和多层感知机采用残差连接方式连接。其表达式如下:[0064][0065][0066] 式中,Zl‑1为输入第l层自注意力模块的图像, 为多头自注意力计算单元输出l的多头注意力特征图,Z 为第l层自注意力模块输出的特征图;MSA(·)表示多头自注意力计算单元的编码处理,MLP(·)表示多层感知机的编码处理;LN(·)为归一化函数,用于进行通道上数据归一化,避免通道上的数据分布太离散。[0067] 本实施例引入了残差连接与数据归一化的方法,使得自注意力模块能够更好训练,避免遗忘问题和梯度消失问题。[0068] 如图2所示,为本实施例的自注意力模块的流程示意图。[0069] 本实施例中,第一篡改图像编码器与第二篡改图像编码器之间不共享可学习参数。[0070] 在一可选实施例中,本实施例对篡改区域定位结果进行八倍上采样与真实掩码进行损失计算,并进行反向传播更新参数,对第一篡改图像编码器和第二篡改图像编码器中的各可学习参数进行训练更新。[0071] 在一可选实施例中,将待检测定位的输入图像进行约束卷积滤波处理的步骤包括:采用约束卷积模块进行约束卷积滤波处理;其中,卷积核中心点的值固定为‑1,无法进行自学习;卷积核中其他坐标的参数相加的值限制为1,且卷积核中其他非中心点坐标的参数可自学习;其表达式如下:[0072][0073] 式中,ωk(0,0)表示约束卷积模块中第k个卷积核的中心点坐标对应的值,ωk(m,n)表示约束卷积模块中第k个卷积核的其他坐标对应的值。[0074] 在一可选实施例中,将第一特征图和第二特征图进行拼接后得到H×W×C的拼接矩阵Zori,拼接矩阵Zori分别经过通道域和空间域解码后相加处理的步骤包括:[0075] S3.1、进行通道域加权:[0076] 将拼接矩阵Zori通过一个1×1的卷积核后,在长宽上进行展平,得到大小为(H×W)×C的二维矩阵ZC;[0077] 将二维矩阵ZC的转置矩阵与ZC相乘,得到大小为C×C的通道注意力矩阵,再经过softmax函数进行归一化;[0078] 将二维矩阵ZC与归一化的C×C通道注意力矩阵的转置矩阵进行相乘,得到每一像素通道加权后的输出,将输出经过重组处理后与拼接矩阵Zori进行残差连接,得到通道域加权结果OutputC;其表达式如下:[0079] ZC=ZoriWC[0080] OutputC=Reshape(ZC×softmax(ZCTZC)T)+Zori[0081] 式中,Reshape(·)表示重组处理。[0082] 本步骤中,归一化的C×C通道注意力矩阵编码了各通道的相关关系。[0083] S3.2、进行空间域加权:[0084] 将拼接矩阵Zori通过三个1×1的卷积核后,在长宽上进行展平,得到大小为(H×W)×C的二维矩阵ZSQ、ZSK、ZSV;[0085] 将二维矩阵ZSQ与二维矩阵ZSK的转置进行向量乘法,得到大小为(H×W)×(H×W)的空间注意力矩阵,并通过softmax函数进行归一化;[0086] 将经过归一化的空间注意力矩阵乘以二维矩阵ZSV得到每一像素通道加权后的输出,将输出经过重组处理后与拼接矩阵Zori进行残差连接,得到空间域加权结果OutputS;其表达式如下:[0087] ZSQ=ZoriWSQ,ZSK=ZoriWSK,ZSV=ZoriWSV[0088] OutputS=Reshape(softmax(ZSQZSKT)×ZSV)+Zori[0089] 式中,WSQ、WSK、WSV分别为三个1×1的可学习卷积核。[0090] 本步骤中,归一化的(H×W)×(H×W)矩阵编码了通道间像数点之间的相关关系。[0091] S3.3、将通道域加权结果OutputC和空间域加权结果OutputS进行相加处理,并通过一层卷积层降低通道数至1,再经过sigmoid函数的激活,得到二值掩码图作为篡改区域定位结果输出,其表达式如下:[0092] Mask=sigmoid(Conv1×1(OutputC+OutputS))[0093] 式中,Mask为篡改区域定位结果,Conv1×1(·)表示进行1×1的二维卷积,sigmoid(·)表示sigmoid激活函数。[0094] 如图3所示,为本实施例的通道域和空间域解码流程示意图。[0095] 本实施例通过自注意力神经网络捕获局部与全局不一致的能力,并通过RGB模态与异常噪声提取模态的互补,有效提高篡改图像定位的精度。[0096] 实施例2[0097] 本实施例应用实施例1提出的基于双流自注意力神经网络的图像篡改定位方法,提出一具体实施过程。[0098] 本实施例中涉及的流程将训练、测试的图像都放缩为512×512的分辨率,以平衡篡改取证效果与训练算力的消耗。[0099] 本实施例中第一篡改图像编码器和第二篡改图像编码器中包括3个计算阶段,每一个计算阶段包括由不同数量的且为堆叠设置的自注意力模块组成。其中,第一阶段输入图像大小为64×64×128(H×W×C),其中64为矩阵的横纵大小,128为矩阵的通道数。每阶段图像矩阵的长宽大小分别为H/4×W/4、H/8×W/8、H/8×W/8。[0100] 本实施例中,对于第一篡改图像编码器和第二篡改图像编码器中的最后一个计算阶段,通过对最后一个自注意力模块输出的矩阵进行维度重组,使编码器保持图像三维矩阵大小不变,将输出通道减小,以减少后续双域注意力模块的计算量。[0101] 本实施例中,对于第一个计算阶段和第二个计算阶段,分别对任一计算阶段最终得到的自注意力模块输出进行维度重组,重整为三维矩阵(由N×C矩阵重整为H×W×C矩阵,以便后续卷积操作),并通过重叠卷积操作对图像进行卷积和通道数变化。进行重叠卷积操作后,图像三维矩阵被进行倍率为卷积步长大小的缩小,通道数也进行了改变,然后输入下一计算阶段的自注意力模块中进行编码。[0102] 本实施例中的篡改图像编码器的配置如下表1所示。[0103] 表1篡改图像编码器的配置[0104][0105] 本实施例中的第二篡改图像编码器采用卷积核大小为5×5,输入通道数为3、输出通道数也为3的约束卷积模块,其通过卷积操作的方式对输入的RGB通道图像进行预处理,进行此预处理后、也就是进行空间域滤波后的图像再输入第二篡改图像编码器。[0106] 第一篡改图像编码器和第二篡改图像编码器最终输出H/8×W/8×64的图像(特征图)三维矩阵,需要进一步对这两个编码器中不同模态的注意力关注信息进行解码。[0107] 进一步地,本实施例应用实施例1提出的基于双流自注意力神经网络的图像篡改定位方法在CASIAv2篡改数据集上进行训练,将多个篡改数据集作为测试集。[0108] 在具体实施过程中,通过python语言编程实现,使用的神经网络框架为pytorch,操作系统为Ubuntu20.04,在配置有英伟达A6000的服务器上进行训练。训练采用的数据集为CASIAv2,训练采用的优化器为AdamW,初始学习率为0.0001,每20论迭代学习率会降低至原来0.8倍;训练时采用旋转、翻转、裁切、随机裁切放缩、色调变换等数据增强方式。网络输入为多张放缩为512×512×3的RGB三通道篡改图像,最后输出为64×64×1的篡改区域的二值图像定位掩码,将输出进行八倍上采样与真实掩码进行损失计算,并进行反向传播更新参数。[0109] 如图4~6所示,为本实施例的篡改图像示意图、篡改区域真实二值掩码,以及经过本实施例的图像篡改定位方法得到的篡改区域定位结果。[0110] 测试时设置篡改阈值为0.5,即某像素被以下算法输出大于0.5时,认为该像素为篡改像素。[0111] 评价指标为像素级别F1,像素级别F1为查准率P与查全率R的调和平均,该指标能够指示某方法的篡改定位性能。F1指标计算方式为:[0112][0113] 其中,查准率P与查全率R的统计尺度为单张篡改图像中的所有像素,篡改像素为正样本。在某个篡改数据集上的F1指标为该数据集中的所有篡改图像像素级别F1的平均。由此得到如下表2所示的测试结果。[0114] 表2测试结果[0115][0116] 由表2可知,本方法在四个测试数据集上的F1指标均高于三种经典的基于深度学习的篡改定位算法。在篡改方式较为简单的CASIAv1数据集,本方法的F1指标为0.488,大幅度领先次优方法SPAN,该方法在CASIAv1数据集上仅取得0.184的F1指标。在存在多种篡改与后处理方式的NIST数据集上,本方法的F1指标比次优方法SPAN高0.042,表明了本方法在较为困难的定位样本上有更优的性能。[0117] 实施例3[0118] 本实施例提出一种基于双流自注意力神经网络的图像篡改定位系统,应用实施例1提出的图像篡改定位方法。如图7所示,为本实施例的图像篡改定位系统的架构图。[0119] 本实施例提出的基于双流自注意力神经网络的图像篡改定位系统中,包括第一篡改图像编码器、约束卷积滤波模块、第二篡改图像编码器和双流网络解码模块。[0120] 其中,第一篡改图像编码器包括至少3个计算阶段,每个计算阶段包括若干堆叠设置的自注意力模块,用于对待检测定位的输入图像基于自注意力机制进行编码,输出第一特征图。[0121] 约束卷积滤波模块用于对待检测定位的输入图像进行约束卷积滤波处理,得到滤波图像。[0122] 第二篡改图像编码器与第一篡改图像编码器架构相同,包括至少3个计算阶段,每个计算阶段包括若干堆叠设置的自注意力模块,用于对滤波图像基于自适应空间域滤波和自注意力机制进行编码,输出第二特征图。[0123] 双流网络解码模块用于将第一特征图和第二特征图进行拼接后,分别经过通道域和空间域解码后相加处理,得到篡改区域定位结果。[0124] 其中,所述第一篡改图像编码器与所述第二篡改图像编码器之间不共享可学习参数。[0125] 在一可选实施例中,对于任一计算阶段中的任一自注意力模块,其中包括:[0126] 多头自注意力计算单元,所述多头自注意力计算单元中包括若干并行的自注意力计算层,以及与自注意力计算层输出端连接的多头注意力层。[0127] 其中,所述自注意力计算层用于对经过重组编码的N×C的二维矩阵Zl‑1基于自注意力机制进行编码,得到自注意力特征图;所述多头注意力层用于将并行的自注意力计算层输出的自注意力特征图采用多头注意力机制在通道维度上进行拼接,并在通道维度上与可学习参数矩阵相乘,得到多头注意力特征图。[0128] 多层感知机,用于对多头注意力特征图中对各通道关系进行自学习加权,输出特l征图Z;所述多头自注意力计算单元和多层感知机采用残差连接方式连接。[0129] 进一步地,在一个计算阶段中还包括:[0130] 维度重组单元,用于对当前计算阶段中最后一个自注意力模块输出的特征图进行维度重组为三维矩阵。[0131] 和,重叠卷积单元,用于对经过维度重组的三维矩阵进行卷积和通道数变化处理,输出该计算阶段的特征图。[0132] 需要说明的是,对于第一篡改图像编码器和第二篡改图像编码器中最后一个计算阶段中,仅设置有维度重组单元,用于对当前计算阶段中最后一个自注意力模块输出的特征图进行维度重组为三维矩阵,然后输入双流网络解码模块。[0133] 在一具体实施过程中,待检测定位的输入图像为RGB通道图像。[0134] 将输入图像进行重叠卷积,并进行重组编码后,输入第一篡改图像编码器;将输入图像通过约束卷积滤波模块,然后进行重叠卷积及重组编码后,输入第二篡改图像编码器。[0135] 在任一计算阶段的任一自注意力模块中,自注意力计算层将经过重组编码的N×C的二维矩阵Z分别与三个由维度为C×C的可学习参数构成的自学习矩阵相乘,得到查询矩阵Q、键矩阵K和值矩阵V。通过内积计算对查询矩阵Q与键矩阵K进行匹配并进行缩放,然后通过softmax函数激活得到归一化的权重矩阵,再通过权重矩阵对值矩阵V进行加权处理,得到自注意力特征图。[0136] 在任一计算阶段的任一自注意力模块中,多头自注意力计算单元中的多头注意力层将并行的自注意力计算层分别输出的自注意力特征图采用多头注意力机制在通道维度上进行拼接,并在通道维度上与可学习参数矩阵相乘,得到多头注意力特征图。[0137] 多层感知机将多头注意力特征图输入所述多层感知机中对各通道关系进行自学习加权,且将多头自注意力计算单元和多层感知机采用残差连接方式连接,得到该层自注意力模块的输出,使得自注意力模块能够更好训练,避免遗忘问题和梯度消失问题。[0138] 进一步地,在任一计算阶段的最后一个自注意力模块中,多层感知机输出的特征l图Z依次经过维度重组单元的维度重组处理,以及重叠卷积单元的卷积和通道数变化处理后输出。[0139] 在一可选实例中,双流网络解码模块包括拼接单元、通道域加权单元、空间域加权单元和卷积单元。[0140] 其中,拼接单元用于对输入的第一特征图和第二特征图进行拼接后得到H×W×C的拼接矩阵Zori。[0141] 通道域加权单元将拼接矩阵Zori通过一个1×1的卷积核在长宽上进行展平,得到大小为(H×W)×C的二维矩阵ZC;将二维矩阵ZC的转置矩阵与二维矩阵ZC相乘,得到大小为C×C的通道注意力矩阵,再经过softmax函数进行归一化;然后将二维矩阵ZC与归一化的C×C通道注意力矩阵的转置矩阵进行相乘,得到每一像素通道加权后的输出,将输出经过重组处理后与拼接矩阵Zori进行残差连接,得到通道域加权结果OutputC。[0142] 空间域加权单元将拼接矩阵Zori通过三个1×1的卷积核在长宽上进行展平,得到大小为(H×W)×C的二维矩阵ZSQ、ZSK、ZSV;将二维矩阵ZSQ与二维矩阵ZSK的转置进行向量乘法,得到大小为(H×W)×(H×W)的空间注意力矩阵,并通过softmax函数进行归一化;然后将经过归一化的空间注意力矩阵乘以二维矩阵ZSV得到每一像素通道加权后的输出,将输出经过重组处理后与拼接矩阵Zori进行残差连接,得到空间域加权结果OutputS。[0143] 卷积单元将通道域加权单元输出的通道域加权结果OutputC与空间域加权单元输出的空间域加权结果OutputS进行相加处理,并通过一层卷积层降低通道数至1,再经过sigmoid函数的激活,得到二值掩码图作为篡改区域定位结果输出。[0144] 相同或相似的标号对应相同或相似的部件;[0145] 显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
专利地区:广东
专利申请日期:2022-07-20
专利公开日期:2024-07-26
专利公告号:CN115082774B