文章目录
- Abstract
- 3.3. 双线性池
Abstract
图像篡改检测与传统的语义目标检测(semantic object detection)不同,因为它更关注篡改伪影(tampering artifacts)而不是图像内容,这表明需要学习更丰富的特征。我们提出了一个两流 Faster R-CNN network,并对其进行端到端训练,以检测给定被操纵图像的篡改区域。其中一个流是 RGB 流,其目的是从RGB图像输入中提取特征,以查找 tampering artifacts,如强烈的对比度差异、不自然的篡改边界等。另一个是噪声流,利用从隐写分析富模型滤波层(steganalysis rich model filter layer)提取的噪声特征来发现真实区域和篡改区域之间的噪声不一致。然后,我们通过双线性池化层融合来自两个流的特征,以进一步合并这两种模态的空间共现(incorporate spatial co-occurrence of these two modalities)。在四个标准的图像处理数据集上的实验表明,所提出的双流框架优于每个单独的流,并且与对缩放和压缩具有鲁棒性,也实现了最先进的性能。
3.3. 双线性池
最后,我们将RGB流与噪声流结合起来进行操作检测。在各种融合方法中,我们对来自两个流的特征应用了双线性池化(bilinear pooling)。双线性池化[23],首次提出用于细粒度分类,在保留空间信息(spatial information)的同时,结合双流CNN网络,以提高检测置信度。我们的双线性池化层的输出为 x = f R G B T f N x=f_{R G B}^{T} f_{N} x=fRGBTfN,其中 f R G B f_{R G B} fRGB 为RGB流的 Rol 特征, f N f_{N} fN 为噪声流的 Rol 特征。和池化在分类之前对空间特征进行挤压。然后我们在前向全连接层之前应用有符号平方根 ( x ← sign ( x ) ∣ x ∣ ) (x \leftarrow \operatorname{sign}(x) \sqrt{|x|}) (x←sign(x)∣x∣) 和 L 2 L_2 L2 归一化。
为了在不降低性能的情况下节省内存和加速训练,我们使用[17]中提出的紧凑双线性池化(compact bilinear pooling)。
在完全连接层和softmax层之后,我们得到了 RoI 区域的预测类,如图2所示。我们使用交叉熵损失进行操纵分类,使用平滑 L 1 L_1 L1 损失进行边界框回归。总损失函数为:
L total = L R P N + L tamper ( f R G B , f N ) + L b b o x ( f R G B ) , (2) L_{\text {total }}=L_{R P N}+L_{\text {tamper }}\left(f_{R G B}, f_{N}\right)+L_{b b o x}\left(f_{R G B}\right),\tag{2} Ltotal =LRPN+Ltamper (fRGB,fN)+Lbbox(fRGB),(2)
其中Ltotal表示总损失。LRPN为RPN网络中的RPN损耗。Ltamper表示最终的交叉熵分类损失,它基于RGB和噪声流的双线性池化特征。Lbbox表示最终的边界框回归损失。fRGB和fN是来自RGB和噪声流的RoI特征。所有项的总和产生总损失函数。