论文链接:TransForensics: Image Forgery Localization with Dense Self-Attention
翻译水平有限,建议看原文。
目前,先进的图像编辑工具和技术技能可以更真实地产生被篡改的图像,这可以很容易地逃避图像取证系统,使图像的真实性验证更加困难。为了解决这一具有挑战性的问题,我们引入了转换取证,一种受Transformer启发的新的图像伪造定位方法。在我们的框架中的两个主要组成部分是密集的自注意编码器和密集的校正模块。前者是建模全局上下文和所有成对交互,后者用于提高隐藏层的透明度和校正不同分支的输出。
与以往的传统学习方法和深度学习方法相比,转换取证不仅可以捕获判别表示,获得高质量的掩码预测,而且不受篡改类型和补丁序列顺序的限制。通过在主要基准上进行实验,我们证明了转换取证的性能大大优于最先进的方法。
图像取证的关键是描述不同的缓和伪影,这些伪影通常隐藏在图像的微小细节中。
之前的方法如下所示,其从不可见的痕迹中学习局部不一致性,但它们通常只适用于特定的操作类型。
事实上,图像中篡改(更平滑)和真实区域(更清晰)的边界形成是不同的。
提出一个空间注意网络用于图像篡改定位。建模一个图像块(包括丰富的统计特征)之间的所有成对交互,同时保持了全局结构,减轻了排序技术和操作类型的限制。(model all pairwise interactions between patches of an image)
在本文中,我们的系统的目标是预测二值掩模的图像伪造定位。
首先,我们使用一个完全卷积网络(FCN)作为特征提取的骨干。
然后,利用自注意编码器模拟不同尺度特征图中点之间丰富的交互。
为了提高性能,在我们的网络中使用了密集的校正模块,这有助于从早期的层学习更有区别的表示,并执行结果校正。
这项工作的主要贡献如下:
在图像取证领域,目前试图引入注意力机制的研究还比较少。
深度监督旨在加强对隐藏层的直接监督。深度监督网络(DSN)[21]使隐层的学习过程透明,提高了分类性能,有效避免了梯度的爆炸和消失。
我们设计了一个网络来捕获识别特征,以便在潜在的伪造图像中寻找可疑区域。以前的工作只是使用手工制作的排序技术来建模补丁关系,这不能保留空间信息。
自注意力机制可用于建模图像中像素或补丁之间的丰富的交互,为视觉任务提供了更全面和有用的信息。在本工作中,我们使用了图像取证中的自注意编码器,其动机是:
特征图中的每个点都相当于输入图像中对应的补丁,在深度学习中称为各自的域(见图3)。因此,通过建模特征图中点之间的关系,可以提取出图像块之间的区分特征。
图3说明:特征映射与输入图像之间的对应关系。特征图中各点之间的相互作用等价于数字图像中各图像块之间的关系。
在本文中,我们没有将整个图像分割成一系列的补丁。我们使用ResNet50[16]作为骨干(包括5个阶段)进行特征提取,然后我们将最后四个阶段的输出输入自我注意编码器,每个编码器负责在不同的尺度上学习补丁关系。
在这里,我们使用一个标准的transformer encoder结构来学习注意力映射,细节如下描述。
一般来说,高度区分的特征将产生强大的性能。
在本工作中,我们考虑在篡改定位系统中添加深度监督。如图2所示,网络有四个分支,每个输出分别用于计算定位损失。
该结构的优点是:
在这项工作中的深度监督使模型能够从所有的本地化分支中选择一个合适的模式,从而决定网络修剪的程度和速度增益。
图4说明:网络修剪。在训练阶段中,比较 \(\hat{\mathbf{y}}_{i}(i=2, \ldots, 5)\) 的结果,选择最优结果。
完全卷积网络(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说明:图像伪造定位网络的体系结构。整个图像是输入信号。
在这项工作中,我们使用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:待补充
在这项工作中,我们选择了三个常见的图像取证数据集:CASIA[13]、COVERAGE[37]和IMD2020[30]。详情如下:
在数据准备过程中,我们将整个数据集分成三个子集,训练、验证和测试的比例为8:1:1。注意这些子集是随机选择的。
该网络包含三个主要组成部分:
具体来说,我们使用ResNet-50作为骨干。我们用Adam将初始学习速率设置为1e-4来训练网络。我们将输入图像的大小调整为512×512,并使用随机水平翻转作为唯一的数据增强方法。为了训练模型,我们使用Pytorch1.6.0来定义定位网络,并利用多gpu设置。我们将批处理大小设置为2,并对不同数据集的两个NVIDIATeslaV100gpu进行超过50个epoch的训练模型。我们在训练中选择[0.1、0.2、0.3、0.4]内的权重衰减。
我们提供了一个详细的研究来说明选择特征融合和网络剪枝如何影响最终的性能。
结构分析
自注意机制是建模集合元素之间丰富的交互的关键组成部分,其中位置编码是非常重要的。如上表所示:
网络修剪
密集的校正使网络修剪成为可能。如图4所示,我们可以比较 \(\hat{\mathbf{y}}_{i}(i=2, \ldots, 5)\) 在训练阶段的结果,并选择最优结果,最终结果在测试阶段中产生。
如上表4所示:低层次特征比深度特征对最终定位性能的贡献更大,这意味着我们的模型可以学习到通常隐藏在图像微小细节中的不可见痕迹。我们可以看到C3分支(即\(\hat{\mathbf{y}}_{3}\) )在性能和相对耗时方面都优于其他分支。
特征融合类型
如下表6所示,特征融合有两种类型:乘法和加法。在我们的实验中,我们同时尝试了加法和乘法,实验结果表明,该乘法类型更适合于篡改定位任务,这与预期一致。
我们提出了图像取证,它使用密集的自注意编码器来建模全局上下文和在不同规模上的图像块之间的所有成对交互。这是第一个引入transformers的自注意机制来定位被篡改区域的工作。
此外,密集校正模块通过乘法重新纠正掩模预测,以获得更好的结果。我们演示了该系统检测篡改痕迹的能力,并实现了性能和耗时之间的平衡。实验表明,该系统可以为图像伪造提供一个强大的模型。我们的方法可以作为一个可靠但简单的图像取证基线,也可以作为防御数据中毒攻击来保护我们的学习系统。在未来的工作中,密集的自注意架构将是其他任务的一种新方法,如目标检测和语义分割。