Deformable ConvNets v2: More Deformable, Better Results 是 Deformable Convolutional Networks 研究的续作,发表在 CVPR 2019上。
作者对 DCNv1 的自适应行为进行研究,观察到虽然其神经特征的空间支持比常规的卷积神经网络更符合物体结构,但这种支持可能远远超出感兴趣区域,导致特征受到不相关图像内容的影响。为此,作者提出了改进版的 DCNv2,通过增加建模能力和更强的训练来提高其聚焦于相关图像区域的能力。
研究方法
改进策略
利用这3种可视化方式,我们考察了conv5阶段最后一层节点的空间支持度,如图 Figure 1 (a) ∼ \sim ∼(b)。同时展示了在 DCNv1 中分析的采样位置。
从这些可视化中,我们得出以下观察结果:
常规 ConvNet 可以在一定程度上建模几何变化,图像内容的空间支持度的变化就证明了这一点。得益于深度卷积神经网络强大的表示能力,网络权重被学习以适应某种程度的几何变换。
通过引入可变形卷积,网络对几何变换建模的能力得到显着增强,即使在具有挑战性的 COCO 基准测试中也是如此。空间支持更多地适应图像内容,前景节点具有覆盖整个物体的支持,而背景节点具有扩展的支持,包含更大的上下文。然而,空间支持的范围可能不精确,前景节点的有效感受野和误差估计显著性区域包括与检测无关的背景区域。
所提出的三种空间支持可视化比 DCNv1 中使用的采样位置信息更丰富。例如,常规 ConvNet 虽然沿着网格具有固定的采样位置,但实际上能够通过网络权重调整其有效的空间支持。Deformable ConvNet 也是如此,其预测受学习的偏移量和网络权重的共同影响。如在 DCNv1 中所做的那样,仅检查采样位置可能会导致关于 Deformable ConvNet 的误导性结论。
图 Figure 2 (a) ∼ \sim ∼(b) 显示了每个 roi 检测头中分类和边界框回归分支前的2个 fc 节点的空间支撑。有效 bin 位置的可视化表明,目标前景上的 bin 通常从分类分支接收更大的梯度,因此对预测产生更大的影响。这一观察结果适用于对齐的 RoIpooling 和 Deformable RoIpooling。由于引入了可学习的 bin 偏移,在 Deformable RoIpooling 中,bin 覆盖目标前景的比例比在对齐 RoIpoolng 中大得多。因此,下游 Fast R-CNN 头可以获得更多的相关 bin 信息。同时,对齐 RoIpool 和 Deformable RoIpooling 中的误差估计显著性区域都没有完全聚焦到目标前景上,说明 RoI 之外的图像内容会影响预测结果。根据 Revisiting RCNN 中的研究,这种特征干扰可能对检测有害。
可见,Deformable ConvNet 相对于常规 ConvNet,其适应几何变化的能力显著提高,但也可以看出其空间支持范围可能超出感兴趣区域。因此,我们寻求对 Deformable ConvNet 进行升级,使其能够更好地聚焦于相关的图像内容,并提供更高的检测精度。
由于观察到 Deformable ConvNet 可以在具有挑战性的基准上有效地对几何变换建模,我们大胆地将更多的常规卷积层替换为可变形的对应层。我们期望通过堆叠更多的可变形卷积层,进一步加强整个网络的几何变换建模能力。
在本文中,可变形卷积应用于 ResNet-50 中 conv3、conv4和 conv5阶段的所有 3 × 3 3\times 3 3×3 conv 层。因此,在网络中有12层可变形卷积。相比之下,DCNv1 中只在 conv5阶段使用了三层可变形卷积。在 DCNv1 中观察到,对于相对简单和小规模的 PASCAL VOC 基准测试,当堆叠超过三层时性能会饱和。此外,COCO 上误导性的偏移可视化可能阻碍了对更具挑战性的基准的进一步探索。在实验中,我们观察到在 conv3-conv5 阶段使用可变形层可以在 COCO 上实现目标检测的准确性和效率之间的最佳权衡。有关详细信息,请参见第 5.2 节 Enriched Deformation Modeling。
为了进一步加强 Deformable ConvNets 处理空间支撑区域的能力,引入了调制机制。有了它,Deformable ConvNets 模块不仅可以调整感知输入特征的偏移量,还可以调制来自不同空间位置/仓的输入特征幅度。在极端情况下,模块可以通过将其特征幅度设置为零来决定不感知来自特定位置/仓的信号。对应空间位置的图像内容对模块输出的影响会大幅降低或无影响。因此,调制机制为网络模块提供了另一个维度的自由度来调整其空间支持区域。
给定一个包含 K K K 个采样位置的卷积核,令 w k w_k wk 和 p k p_k pk 分别表示第 k k k 个位置的权重和预先指定的偏移量。例如, K = 9 K=9 K=9 和 p k ∈ { ( − 1 , − 1 ) , ( − 1 , 0 ) , … , ( 1 , 1 ) } p_k\in \{(- 1,- 1), (- 1, 0), \ldots, (1, 1)\} pk∈{(−1,−1),(−1,0),…,(1,1)} 定义了一个膨胀为1的 3 × 3 3\times 3 3×3 卷积核。令 x ( p ) x(p) x(p) 和 y ( p ) y(p) y(p) 分别表示输入特征图 x x x 和输出特征图 y y y 中位置 p p p 处的特征。则调制可变形卷积可以表示为
y ( p ) = ∑ k = 1 K w k ⋅ x ( p + p k + Δ p k ) ⋅ Δ m k , y(p) = \sum_{k=1}^{K} w_k \cdot x(p+p_k+\Delta p_k)\cdot \Delta m_k, y(p)=k=1∑Kwk⋅x(p+pk+Δpk)⋅Δmk,
其中 Δ p k \Delta p_k Δpk 和 Δ m k \Delta m_k Δmk 分别是第 k k k 个位置的可学习偏移量和调制标量。调制标量 Δ m k \Delta m_k Δmk 位于 [ 0 , 1 ] [0, 1] [0,1] 范围内,而 Δ p k \Delta p_k Δpk 是一个范围不受约束的实数。由于 p + p k + Δ p k p+p_k+\Delta p_k p+pk+Δpk 是小数,因此在计算 x ( p + p k + Δ p k ) x(p+p_k+\Delta p_k) x(p+pk+Δpk) 时应用双线性插值,如 DCN_v1 中。 Δ p k \Delta p_k Δpk 和 Δ m k \Delta m_k Δmk 都是通过在相同的输入特征图 x x x 上施加一个单独的卷积层得到的。该卷积层与当前卷积层具有相同的空间分辨率和膨胀系数。输出为 3 K 3K 3K 个通道,其中前 2 K 2K 2K 个通道对应于学习到的偏移量 { Δ p k } k = 1 K \{\Delta p_k\}_{k=1}^{K} {Δpk}k=1K,剩余的 k k k 个通道被进一步馈送到 sigmoid 层,以获得调制标量 { Δ m k } k = 1 K \{\Delta m_k\}_{k=1}^{K} {Δmk}k=1K。这个单独的卷积层中将核权重初始化为零。因此, Δ p k \Delta p_k Δpk 和 Δ m k \Delta m_k Δmk 的初始值分别为 0 和 0.5。添加的用于学习偏移和调制的卷积层的学习率设置为现有层的 0.1 倍。
调制可变形 RoIpooling 的设计与之类似。 给定一个输入 RoI,RoIpooling 将其划分为 K K K 个分箱(例如 7 × 7 7\times 7 7×7)。 在每个分箱中,应用均匀空间间隔的采样网格(例如 2 × 2 2\times 2 2×2)。对网格上的采样值进行平均以计算分箱输出。令 Δ p k \Delta p_k Δpk 和 Δ m k \Delta m_k Δmk 为第 k k k 个分箱的可学习偏移量和调制标量。输出分箱特征 y ( k ) y(k) y(k) 的计算公式为
y ( k ) = ∑ j = 1 n k x ( p k j + Δ p k ) ⋅ Δ m k / n k , y(k) = \sum_{j=1}^{n_k}x(p_{kj}+\Delta p_k)\cdot \Delta m_k/n_k, y(k)=j=1∑nkx(pkj+Δpk)⋅Δmk/nk,
其中, p k j p_{kj} pkj 是第 k k k 个分箱中第 j j j 个网格单元的采样位置, n k n_k nk 表示采样网格单元的数量。采用双线性插值获取特征 x ( p k j + Δ p k ) x(p_{kj}+\Delta p_k) x(pkj+Δpk)。 Δ p k \Delta p_k Δpk 和 Δ m k \Delta m_k Δmk 的值由输入特征图上的同级分支生成。在这一分支中,RoIpooling 在 RoI 上生成特征,然后是两个 1024-D 的 f c \mathit{fc} fc 层(使用标准差为0.01的高斯分布初始化)。除此之外,一个额外的 f c \mathit{fc} fc 层产生 3 K 3K 3K 个通道的输出(权重初始化为零)。前 2 K 2K 2K 个通道是归一化的可学习偏移量,与 RoI 的宽度和高度逐元素相乘可以获得 { Δ p k } k = 1 K \{\Delta p_k\}_{k=1}^{K} {Δpk}k=1K。剩余的 K K K 个通道由 sigmoid 层归一化以产生 { Δ m k } k = 1 K \{\Delta m_k\}_{k=1}^{K} {Δmk}k=1K。添加的用于偏移学习的 f c \mathit{fc} fc 层的学习率与现有层的学习率相同。
如图 Figure 2 所示,对于常规 ConvNet 和 Deformable ConvNet,每个 RoI 分类节点的误差估计显著性区域都可以延伸到 RoI 之外。因此,RoI 之外的图像内容可能会影响提取的特征,从而降低目标检测的最终结果。
在 Revisiting RCNN 中,作者发现冗余上下文可能是 Faster R-CNN 的检测错误来源。结合其他动机(例如,在分类和边界框回归分支之间共享更少的特征),作者建议结合 Faster R-CNN 和 R-CNN 的分类分数来获得最终的检测分数。由于 R-CNN 分类分数聚焦于从输入 RoI 中裁剪的图像内容,因此包含它们将有助于缓解冗余上下文问题并提高检测准确性。然而,由于 Faster R-CNN 和 R-CNN 分支在训练和推理中都需要应用,因此组合系统的速度较慢。
同时,Deformable ConvNet 具有强大的空间支撑区域调整能力。特别是对于 Deformable ConvNet v2,调制的可变形 RoIpooling 模块可以简单地设置 bin 的调制标量,以排除冗余上下文。然而,我们在5.3节中的实验表明,即使使用调制可变形模块,也无法通过标准的 Faster R-CNN 训练程序很好地学习此类表示。我们怀疑这是因为传统的 Faster R-CNN 训练损失不能有效地驱动这种表示的学习。需要额外的指导来控制训练。
受最近关于特征模仿的工作[2, Knowledge Distillation, Mimick]的启发,我们在 Deformable Faster R-CNN 的每个 RoI 特征上加入了特征模拟损失,以迫使它们与从裁剪图像中提取的 R-CNN 特征相似。这个辅助训练目标旨在驱动 Deformable Faster R-CNN 像 R-CNN 一样学习更多“聚焦”的特征表示。我们注意到,基于图 fig:visualize_regular_deformable_roi 中的可视化空间支持区域,聚焦特征表示对于图像背景上的负 RoI 可能不是最佳的。 对于背景区域,可能需要考虑更多上下文信息,以免产生假阳性检测。因此,特征模拟损失仅在与真实目标充分重叠的正 RoI 上实施。
训练 Deformable Faster R-CNN 的网络架构如图 Figure 3 所示。除了 Faster R-CNN 网络之外,还添加了一个额外的 R-CNN 分支用于特征模仿。给定用于特征模仿的 RoI b b b,则裁剪对应的图像块并将其调整为 224 × 224 224 × 224 224×224 像素。在 R-CNN 分支中,主干网络对调整大小后的图像块进行操作,并生成空间分辨率为 14 × 14 14 × 14 14×14 的特征图。在特征图上应用一个(调制的)可变形 RoIpooling 层,其中输入的 RoI 覆盖整个缩放后的图像块(左上角位于 ( 0 , 0 ) (0, 0) (0,0),高度和宽度均为224像素)。之后,应用两个1024维的 fc 层,为输入图像块生成 R-CNN 特征表示,记为 f RCNN ( b ) f_{\text{RCNN}}(b) fRCNN(b)。接着采用 ( C + 1 ) (C+1) (C+1) 路的 Softmax 分类器进行分类,其中 C C C 表示前景类别的数量,加上一个背景类别。在 R-CNN 特征表示 f RCNN ( b ) f_{\text{RCNN}}(b) fRCNN(b) 和 Faster R-CNN 中的对应物 f FRCNN ( b ) f_{\text{FRCNN}}(b) fFRCNN(b) 之间执行特征模拟损失, f FRCNN ( b ) f_{\text{FRCNN}}(b) fFRCNN(b) 也是1024维,由 Faster R-CNN 头的两个 fc 层产生。特征模拟损失定义为 f RCNN ( b ) f_{\text{RCNN}}(b) fRCNN(b) 和 f FRCNN ( b ) f_{\text{FRCNN}}(b) fFRCNN(b) 之间的余弦相似性,计算如下
L mimic = ∑ b ∈ Ω [ 1 − cos ( f RCNN ( b ) , f FRCNN ( b ) ) ] , L_{\text{mimic}} = \sum_{b \in \Omega} [1-\cos(f_{\text{RCNN}}(b), f_{\text{FRCNN}}(b))], Lmimic=b∈Ω∑[1−cos(fRCNN(b),fFRCNN(b))],
其中 Ω \Omega Ω 表示为特征模拟训练采样的 RoI 集合。在 SGD 训练中,给定一幅输入图像,将 RPN 生成的 32 个正候选区域随机采样到 Ω \Omega Ω 中。 分别在 R-CNN 分类头和 Ω \Omega Ω 中的 RoI 上计算交叉熵分类损失。网络训练由特征模拟损失、R-CNN 分类损失以及 Faster R-CNN 中的原始损失项驱动。新引入的两个损失项的损失权重是原始 Faster R-CNN 损失项的0.1倍。 R-CNN 和 Faster R-CNN 分支中相应模块之间的网络参数是共享的,包括主干网络、(调制的)可变形 RoIpooling 和2-fc 头(两个分支中的分类头未共享)。在推理中,只对测试图像应用 Faster R-CNN 网络,没有辅助 R-CNN 分支。因此,因此,R-CNN 特征模拟在推理中没有引入额外的计算。
通过表 Table 1 中所示的消融来检验丰富变形建模的效果。使用常规 CNN 模块的基线对于 Faster R-CNN 获得了 34.7% 的 AP bbox ^{\text{bbox}} bbox 分数,而 Mask R-CNN 的 AP bbox ^{\text{bbox}} bbox 和 AP mask ^{\text{ mask}} mask 得分分别为 36.6% 和 32.2%。为了获得 DCNv1 基线,我们遵循原始 Deformable ConvNet 的论文,将 conv5阶段中的最后三层 3 × 3 3\times 3 3×3 卷积和对齐的 RoIpooling 层替换为其可变形对应层。此 DCNv1 基线对于 Faster R-CNN 的 AP bbox ^{\text{bbox}} bbox 得分为 38.0%,Mask R-CNN 的 AP bbox ^{\text{bbox}} bbox 和 AP mask ^{\text{ mask}} mask 得分分别为 40.4% 和 35.3%。正如在 DCNv1 中观察到的,可变形模块显著提高了精度。
通过用可变形对应物替换更多 3 × 3 3\times 3 3×3 常规卷积层,Faster R-CNN 和 Mask R-CNN 的准确性稳步提高,当替换 conv3-conv5 中的卷积层时,AP bbox ^{\text{bbox}} bbox 的增益在2.0%和3.0%之间。进一步替换 conv2阶段的常规卷积层,在 COCO 基准测试中没有观察到额外的改进。通过将可变形模块升级为调制可变形模块,我们在 AP bbox ^{\text{bbox}} bbox 和 AP mask ^{\text{mask}} mask 得分上获得了0.3~0.7% 之间的进一步增益。总的来说,丰富的变形建模能力在 Faster R-CNN 上产生了 41.7% AP bbox ^{\text{bbox}} bbox 分数,比 DCNv1 基线高 3.7%。在 Mask R-CNN 上,使用丰富形变建模得到了43.1%的 AP bbox ^{\text{bbox}} bbox 和37.3 %的 AP mask ^{\text{mask}} mask 得分,分别比 DCNv1 基线提高了2.7%和2.0%。值得注意的是,与整个网络相比,用于丰富变形建模的附加参数和 FLOP 较小。
如图 Figure 1 (b) ∼ \sim ∼ ©所示,与 DCNv1 相比,丰富可变形建模的空间支持对图像内容具有更好的适应性。
表 Table 2 给出了输入图像分辨率为800像素时的结果,它遵循 Detectron 代码库中的默认设置。同样的结论也成立。
R-CNN 特征模仿在设计时的消融选择如表 Table 3 所示。 在丰富的变形建模之上,R-CNN 特征模仿在 Faster R-CNN 和 Mask R-CNN 系统中进一步将 AP bbox ^{\text{bbox}} bbox 和 AP mask ^{\text{mask}} mask 分数提高了大约 1% 到 1.4% 。实验发现在目标前景上模仿正框的特征特别有效,而模仿所有框或仅模仿负框时的结果要低得多。 如图 Figure 2 © ∼ \sim ∼(d)所示,特征模仿可以帮助网络特征更好地聚焦于目标前景,这对正框是有益的。对于负框,网络倾向于利用更多的上下文信息(见图~ fig:visualize_regular_deformable_roi),特征模仿将无济于事。
实验中还将 R-CNN 特征模仿应用于没有任何可变形层的常规 ConvNet。几乎没有观测到精度增益。可视化的空间支持区域如图 Figure 2 (e)所示,即使在辅助模拟损失的情况下也不会聚焦于目标前景。这很可能是因为将特征聚焦于目标前景超出了常规卷积神经网络的表征能力,因而无法学习。