论文解读-TransForensics: Image Forgery Localization with Dense Self-Attention
论文链接:TransForensics: Image Forgery Localization with Dense Self-Attention
翻译水平有限,建议看原文。
摘要
目前,先进的图像编辑工具和技术技能可以更真实地产生被篡改的图像,这可以很容易地逃避图像取证系统,使图像的真实性验证更加困难。为了解决这一具有挑战性的问题,我们引入了转换取证,一种受Transformer启发的新的图像伪造定位方法。在我们的框架中的两个主要组成部分是密集的自注意编码器和密集的校正模块。前者是建模全局上下文和所有成对交互,后者用于提高隐藏层的透明度和校正不同分支的输出。
与以往的传统学习方法和深度学习方法相比,转换取证不仅可以捕获判别表示,获得高质量的掩码预测,而且不受篡改类型和补丁序列顺序的限制。通过在主要基准上进行实验,我们证明了转换取证的性能大大优于最先进的方法。
1 Introduction
- 与语义对象分割方法[33,43]对所有有意义的对象区域进行预测不同,图像取证只对篡改位置进行预测。
- Bappy等人的工作。[3]还证明了语义分割方法在图像篡改检测方面表现不佳。
图像取证的关键是描述不同的缓和伪影,这些伪影通常隐藏在图像的微小细节中。
之前的方法如下所示,其从不可见的痕迹中学习局部不一致性,但它们通常只适用于特定的操作类型。
- error level analysis (ELA)
- discrete cosine transform (DCT)
- steganalysis rich model (SRM)
事实上,图像中篡改(更平滑)和真实区域(更清晰)的边界形成是不同的。
提出一个空间注意网络用于图像篡改定位。建模一个图像块(包括丰富的统计特征)之间的所有成对交互,同时保持了全局结构,减轻了排序技术和操作类型的限制。(model all pairwise interactions between patches of an image)
1.1 框架概述
在本文中,我们的系统的目标是预测二值掩模的图像伪造定位。
-
首先,我们使用一个完全卷积网络(FCN)作为特征提取的骨干。
-
然后,利用自注意编码器模拟不同尺度特征图中点之间丰富的交互。
-
为了提高性能,在我们的网络中使用了密集的校正模块,这有助于从早期的层学习更有区别的表示,并执行结果校正。
1.2 主要贡献
这项工作的主要贡献如下:
- 首先,我们提出了一种新的图像伪造定位方法,称为TransForensics。据我们所知,这是在图像取证中第一次尝试对所有的成对关系进行建模,同时通过自注意机制保持图像块之间的空间结构。
- 其次,我们引入了一个密集的校正架构,它增加了对隐藏层的直接监督,并通过乘法来校正来自不同分支的输出。实验结果表明,该方法大大优于SOTA方法。
2 相关工作
2.1 图像取证
- SRM[15,41,42]使用局部噪声残差来捕获被篡改区域和真实区域之间的不一致性。例如,弗里德里奇等人。[15]提出了阶梯分析器来构建丰富的噪声成分模型,以捕获图像中像素之间的大量定量关系。
- 深度学习方法的缺点是其性能在很大程度上依赖于补丁排序技术(patch ordering techniques)。在此基础上,我们提出了一种新的具有自注意机制的空间注意网络来建模不同尺度下图像块之间丰富的相互作用。
2.2 自注意力机制
在图像取证领域,目前试图引入注意力机制的研究还比较少。
- 在[17]中,设计了一个空间金字塔注意网络(具有不同的扩张距离),其中提取了RGB、Bayer[6]和SRM[15,41]特征。
- [18]使用GAN中的双阶(通道)注意模块[11],它只适用于特定的操作类型。
- 在这项工作中,我们试图利用自注意力机制来建模仅基于RGB特征的“补丁”之间的关系,以利用不同篡改工件的丰富统计特征。
2.3 深度监督
深度监督旨在加强对隐藏层的直接监督。深度监督网络(DSN)[21]使隐层的学习过程透明,提高了分类性能,有效避免了梯度的爆炸和消失。
- 基于此,Zhou等人[43]提出了用于医学图像分割的UNet++。该分割网络有一个关键的相似性:使用跳跃连接将解码器的语义特征图与编码器的浅层特征图结合起来,这有助于提高分割性能。
- 受此启发,我们提出了一种密集的校正架构,用于捕获粗粒度(高级、语义)和细粒度(低级、统计)的预测,并通过乘法纠正来自不同分支的细节。该架构使网络修剪和产生更好的结果。
3 思路方法
我们设计了一个网络来捕获识别特征,以便在潜在的伪造图像中寻找可疑区域。以前的工作只是使用手工制作的排序技术来建模补丁关系,这不能保留空间信息。
- 为了解决这个问题,受Transformer的启发,我们建议使用自注意力机制来学习隐藏在图像微小细节中的不可见的篡改痕迹,这是图像取证的第一次尝试。此外,我们提出了一个密集的校正架构来重新校正输出,产生了优秀的性能改进。
3.1 自注意力机制模型
自注意力机制可用于建模图像中像素或补丁之间的丰富的交互,为视觉任务提供了更全面和有用的信息。在本工作中,我们使用了图像取证中的自注意编码器,其动机是:
- 首先,不同操作类型产生的篡改伪影是不同的,它们通常隐藏在图像的细节中;
- 其次,用手工设计的图像块序列顺序建模图像块关系不能保持图像块的空间信息。如果我们将图像“分割”成H×W补丁,然后将它们输入自注意编码器,就可以提取出补丁之间的所有成对关系。这是使用自注意编码器进行篡改定位的理论基础。
特征图中的每个点都相当于输入图像中对应的补丁,在深度学习中称为各自的域(见图3)。因此,通过建模特征图中点之间的关系,可以提取出图像块之间的区分特征。
图3说明:特征映射与输入图像之间的对应关系。特征图中各点之间的相互作用等价于数字图像中各图像块之间的关系。
在本文中,我们没有将整个图像分割成一系列的补丁。我们使用ResNet50[16]作为骨干(包括5个阶段)进行特征提取,然后我们将最后四个阶段的输出输入自我注意编码器,每个编码器负责在不同的尺度上学习补丁关系。
在这里,我们使用一个标准的transformer encoder结构来学习注意力映射,细节如下描述。
- 首先,使用1×1卷积层将阶段输出的信道尺寸从C降低到d,其中C∈[256,512,1024,2048]和d=256。
- 其次,为了保持图像块的空间位置,在它们传递到transformer encoder之前,我们用图3中的正弦位置编码[34]来补充这些特征。
- 第三,一个transformer encoder有6个编码器层,每个编码器层由一个多头自注意模块和一个前馈网络(FFN)组成。前馈维度为2048,训练期间的 dropout率为0.1。这样,我们就可以捕获被篡改区域和真实区域之间的边界位置上的差异。
3.2 对网络修剪的深度监督
一般来说,高度区分的特征将产生强大的性能。
- 如果隐藏层的输出可以直接用于最终的分类,那么网络将同时获得语义、粗粒度和低级、细粒度的预测,这有助于最终的性能。
在本工作中,我们考虑在篡改定位系统中添加深度监督。如图2所示,网络有四个分支,每个输出分别用于计算定位损失。
该结构的优点是:
- 为特征融合提供更具表现力的特征(语义和浅层);
- 通过网络剪枝获得更高效的体系结构。
在这项工作中的深度监督使模型能够从所有的本地化分支中选择一个合适的模式,从而决定网络修剪的程度和速度增益。
图4说明:网络修剪。在训练阶段中,比较 \(\hat{\mathbf{y}}_{i}(i=2, \ldots, 5)\) 的结果,选择最优结果。
3.3 用于预测校正的特征融合
完全卷积网络(FCN)是由谢尔哈默等人提出的。[33]用于语义分割,其中上采样的特征与从编码器中跳过的特征进行求和。实验表明,该方法能有效地恢复模型输出时的全空间分辨率。
在这项工作中,我们带来了一个类似的,但新的特征融合策略的系统。我们没有选择使用这些特征,而是使用乘法操作(见图2和图5),结果表明,这是一个更好的选择(见Tab 6)。
我们把来自当前块的上采样输出与来自相邻的前一个块的输出进行融合,其中它们具有相同的大小。如图5所示,B表示高级别图像块的输出,A表示相邻低级别块的输出,C是A和B通过乘法融合的结果。
具体来说,在特征融合模块中,使用1×1卷积来改变不同分支的特征维数,上采样操作加上阈值为0.5的s型函数产生融合权值。最终的mask预测是通过3×3卷积与步幅1和填充来计算的。
图5说明:功能融合策略。A和B是两个相邻块的输出,C是特征通过乘法融合的结果。B是语义预测,可以帮助纠正A。
图2说明:图像伪造定位网络的体系结构。整个图像是输入信号。
- 首先,利用FCN骨干技术提取判别特征。
- 然后,将四个块(C2、C3、C4和C5)的特征结合位置编码分别输入到自注意编码器中,捕获输入图像中“补丁”之间丰富的丰富交互。
- 最后,通过乘法的特征融合策略对mask预测进行了修正。
3.4 损失函数
在这项工作中,我们使用DICE loss[29]和 Focal loss[24]来监督每个mask的预测:
\[L_{\text {dice }}(\mathbf{y}, \hat{\mathbf{y}})=1-\frac{2 \cdot \sum_{k}\left(y_{k} \cdot \hat{y}_{k}\right)}{\sum_{k}\left(y_{k}+\hat{y}_{k}\right)} \] \[L_{\text {focal }}\left(p_{t}\right)=-\alpha_{t}\left(1-p_{t}\right)^{\gamma} \log \left(p_{t}\right) \] \[L o s s=\sum \lambda_{i}\left(L_{d i c e}\left(\mathbf{y}_{i}, \hat{\mathbf{y}}_{i}\right)+L_{f o c a l}\left(p_{t}\right)\right) \]其中,y和 \(\hat{y}\) 为GT mask和预测的mask,k表示mask的像素点。
Todo:待补充
4 实验
4.1 数据集
在这项工作中,我们选择了三个常见的图像取证数据集:CASIA[13]、COVERAGE[37]和IMD2020[30]。详情如下:
- CASIA数据集包含了splicing和 copy-move的图像。它提供了被篡改区域的GT mask。该数据集包括CASIA v1.0约921张篡改图像和CASIA v2.0约5123张篡改图像。
- COVERAGE是一个为 copy-move而设计的相对较小的数据集。它提供了100张操作图像和相应的GT mask。
- IMD2020是一个“真实”图像篡改数据集,从互联网上收集。其具有明显数字操作痕迹的图像,并手动创建定位被篡改区域的GT mask。
在数据准备过程中,我们将整个数据集分成三个子集,训练、验证和测试的比例为8:1:1。注意这些子集是随机选择的。
4.2 Details
该网络包含三个主要组成部分:
- 用于特征提取的FCN主干;
- 用于不同尺度补丁间关系建模的密集自注意编码器
- 用于进一步性能优化的密集校正模块。
具体来说,我们使用ResNet-50作为骨干。我们用Adam将初始学习速率设置为1e-4来训练网络。我们将输入图像的大小调整为512×512,并使用随机水平翻转作为唯一的数据增强方法。为了训练模型,我们使用Pytorch1.6.0来定义定位网络,并利用多gpu设置。我们将批处理大小设置为2,并对不同数据集的两个NVIDIATeslaV100gpu进行超过50个epoch的训练模型。我们在训练中选择[0.1、0.2、0.3、0.4]内的权重衰减。
4.3 结果
4.4 消融实验
我们提供了一个详细的研究来说明选择特征融合和网络剪枝如何影响最终的性能。
结构分析
自注意机制是建模集合元素之间丰富的交互的关键组成部分,其中位置编码是非常重要的。如上表所示:
- 只有在同时使用自我注意和位置编码时,性能才会得到显著提高。
- 密集校正提高了隐层的透明度,更有效地使损失误差最小化,并根据不同注意图之间的语义依赖性重新校正了掩模预测。密集的校正是有助于最终的性能的。
网络修剪
密集的校正使网络修剪成为可能。如图4所示,我们可以比较 \(\hat{\mathbf{y}}_{i}(i=2, \ldots, 5)\) 在训练阶段的结果,并选择最优结果,最终结果在测试阶段中产生。
如上表4所示:低层次特征比深度特征对最终定位性能的贡献更大,这意味着我们的模型可以学习到通常隐藏在图像微小细节中的不可见痕迹。我们可以看到C3分支(即\(\hat{\mathbf{y}}_{3}\) )在性能和相对耗时方面都优于其他分支。
特征融合类型
如下表6所示,特征融合有两种类型:乘法和加法。在我们的实验中,我们同时尝试了加法和乘法,实验结果表明,该乘法类型更适合于篡改定位任务,这与预期一致。
5 结论
我们提出了图像取证,它使用密集的自注意编码器来建模全局上下文和在不同规模上的图像块之间的所有成对交互。这是第一个引入transformers的自注意机制来定位被篡改区域的工作。
此外,密集校正模块通过乘法重新纠正掩模预测,以获得更好的结果。我们演示了该系统检测篡改痕迹的能力,并实现了性能和耗时之间的平衡。实验表明,该系统可以为图像伪造提供一个强大的模型。我们的方法可以作为一个可靠但简单的图像取证基线,也可以作为防御数据中毒攻击来保护我们的学习系统。在未来的工作中,密集的自注意架构将是其他任务的一种新方法,如目标检测和语义分割。