文章目录
🚀🚀🚀摘要
📗翻译
卷积神经网络(CNN)由于其构建模块中的固定几何结构而固有地限于模型几何变换。在这项工作中,我们引入了两个新的模块来增强CNN的变换建模能力,即可变形卷积和可变形RoI池化。两者都是基于这样的想法,即在模块中增加额外的偏移量并从目标任务中学习偏移量,而无需额外的监督。新的模块可以很容易地取代现有CNN中的普通模块,并且可以通过标准的反向传播很容易地进行端到端的训练,从而产生可变形的卷积网络。大量的实验验证了我们的方法的性能。我们首次证明,在深度CNN中学习密集空间变换对于复杂的视觉任务(如对象检测和语义分割)是有效的。
一、1️⃣ Introduction—介绍
📗翻译
视觉识别的一个关键挑战是如何适应物体尺度、姿态、视点和部分变形中的几何变化或模型几何变换。一般来说,有两种方法。首先是建立具有足够期望变量的训练数据集,这通常是通过增加现有数据样本来实现的,例如,通过仿射变换。可以从数据中学习鲁棒的表示,但通常以昂贵的训练和复杂的模型参数为代价。二是利用变换不变的特征和算法,该类别包含许多众所周知的技术,如SIFT(尺度不变特征变换)和基于滑动窗口的目标检测范式。
上述方法存在两个缺点。首先,假设几何度量变换是固定的并且已知的。这种先验知识用于扩充数据,并设计特征和算法。这种假设阻止了对具有未知几何变换的新任务的推广,这些任务没有正确建模。其次,手工设计的不变特征和算法对于过于复杂的转换来说可能是困难的或不可行的,即使它们是已知的。
近年来,卷积神经网络(cnn)在图像分类、语义分割、目标检测等视觉识别任务上取得了显著的成功。然而,它们仍然有上述两个缺点。它们对几何变换建模的能力主要来自于广泛的数据扩充、大的模型容量和一些简单的手工制作模块(例如,用于小平移不变性的最大池化)。
简而言之,cnn本质上局限于模拟大型未知变换。这种限制源于CNN模块的固定几何结构:卷积单元在固定位置对输入特征图进行采样;池化层以固定比例降低空间分辨率;RoI(兴趣区域)池化层将RoI分成固定的空间箱等等。缺乏处理几何变换的内部机制。这会引起明显的问题,例如,同一CNN层中所有激活单元的感受野大小是相同的,这对于在空间位置上编码语义的高级CNN层来说是不可取的。
由于不同的位置可能对应不同尺度或变形的物体,因此对于具有精细定位的视觉识别,例如使用全卷积网络的语义分割,需要自适应确定尺度或接受野大小。又如,虽然近年来目标检测取得了显著而快速的进展,但所有方法仍然依赖于基于原始边界盒的特征提取。这是次优的,特别是对于非刚性对象。
在这项工作中,我们引入了两个新的模块,极大地增强了cnn对几何变换的建模能力。
➤第一个是可变形卷积,它在标准卷积中为规则网格采样位置添加2D偏移量。它允许采样网格的自由变形。如图1所示。偏移量是通过附加的卷积层从前面的特征映射中学习到的。因此,变形以局部、密集和自适应的方式取决于输入特征。
➤第二个是可变形的 RoI 池化。,它为先前 RoI 池化的常规 bin 分区中的每个 bin 位置添加偏移量。类似地,偏移量是从前面的特征图和 RoI 中学习的,从而能够对不同形状的对象进行自适应部分定位。
两个模块重量都很轻,他们为偏移学习添加了少量参数和计算,它们可以很容易地取代深度cnn中的普通对应,并且可以通过标准反向传播轻松地进行端到端训练,由此产生的 CNN 称为可变形卷积网络或可变形 ConvNet。
我们的方法与空间变换网络和可变形部件模型具有相似的高层次精神。它们都有内部转换参数,并完全从数据中学习这些参数。可变形卷积神经网络的一个关键区别是,它们以一种简单、高效、深入和端到端的方式处理密集的空间变换。在3.1节中,我们详细讨论了我们的工作与之前工作的关系,并分析了可变形卷积神经网络的优越性。
🔥精读
🚀在深度学习中,ROI 通常指的是感兴趣区域(Region of Interest)。一种常见的应用是使用卷积神经网络(Convolutional Neural Network,CNN)进行目标检测。当处理图像或视频时,网络需要识别图中的物体,并且通常情况下,我们只对图像中的一些特定区域(ROI)感兴趣,而不是整个图像。
-
ROI池化:ROI池化是一种用于提取ROI特征的技术。它的目标是将不同大小的ROI映射成具有固定大小的特征图,以便于后续的分类或回归任务。在ROI池化过程中,通常需要将ROI区域划分成若干个小区域,每个小区域被称为一个“bin”。
-
bin区域:在ROI池化中,每个bin区域是ROI被分割成的一个小块。这些bin通常是通过将ROI区域等分成固定数量的子区域来获得的。每个bin区域内的特征会被汇总或聚合成一个值,通常是取最大值(Max pooling)或取平均值(Average pooling)等操作。
-
作用:划分ROI为多个bin区域的目的是为了更细粒度地捕获ROI内部的信息,以提高对目标的描述能力。通过在每个bin区域内进行池化操作,可以将ROI内的特征进行有效地提取和表示,从而为后续的任务提供更有意义的特征。
ROI 的概念在 Faster R-CNN(Region-based Convolutional Neural Network)等目标检测算法中得到了广泛的应用。这些算法通常包括两个主要步骤:
- 提取候选区域(Region Proposal): 使用区域提案网络(Region Proposal Network,RPN)生成可能包含物体的候选区域。
- 对候选区域进行分类和回归: 将提取的候选区域输入网络,进行目标分类和位置回归。这一步通常会有一个池化或裁剪的过程,以确保网络关注于真正感兴趣的区域。
ROI 池化(ROI Pooling)是一种用于关注图像中特定区域的技术,它允许在不同大小的候选区域上执行固定大小的池化操作,以获得固定大小的特征表示。这种技术有助于保持对感兴趣区域的空间信息,并在整个图像中更有效地识别和定位物体。
二、2️⃣Deformable Convolutional Networks—可变形卷积网络
📗翻译
☀️特征映射和卷积是3D的。可变形卷积和RoI池模块都在二维空间域上运行,该操作在通道维度上保持相同。为简单起见,这些模块以2D形式描述,扩展到3D很简单。
2.1 🎓 Deformable Convolution—可变形卷积
2D卷积由两个步骤组成:(1)在输入特征图
x
\mathbf{x}
x上使用规则网格
R
\mathcal{R}
R进行采样;(2)对由
w
\mathbf{w}
w加权的采样值求和。网格
R
\mathcal{R}
R定义了感受野的大小和扩张。比如说:
R
=
{
(
−
1
,
−
1
)
,
(
−
1
,
0
)
,
…
,
(
0
,
1
)
,
(
1
,
1
)
}
\mathcal{R}=\{(-1,-1),(-1,0),\ldots,(0,1),(1,1)\}
R={(−1,−1),(−1,0),…,(0,1),(1,1)}
定义一个扩展为1的3 × 3内核。
对于输出特征映射y上的每个位置
p
0
p_{0}
p0,
y
(
p
0
)
=
∑
p
n
∈
R
w
(
p
n
)
⋅
x
(
p
0
+
p
n
)
,
(
1
)
\mathbf{y}(\mathbf{p}_0)=\sum_{\mathbf{p}_n\in\mathcal{R}}\mathbf{w}(\mathbf{p}_n)\cdot\mathbf{x}(\mathbf{p}_0+\mathbf{p}_n),\quad(1)
y(p0)=pn∈R∑w(pn)⋅x(p0+pn),(1)
其中
p
n
p_{n}
pn枚举
R
\mathcal{R}
R中的位置。
在可变形卷积中,正则网格
R
\mathcal{R}
R用偏移量
{
Δ
p
n
∣
n
=
1
,
.
.
.
,
N
}
\{\Delta\mathbf{p}_{n}|n=1,...,N\}
{Δpn∣n=1,...,N}进行增强,其中
N
=
∣
R
∣
N=|\mathcal{R}|
N=∣R∣。式(1)变为::
y
(
p
0
)
=
∑
p
n
∈
R
w
(
p
n
)
⋅
x
(
p
0
+
p
n
+
Δ
p
n
)
.
(
2
)
\mathbf{y}(\mathbf{p}_0)=\sum_{\mathbf{p}_n\in\mathcal{R}}\mathbf{w}(\mathbf{p}_n)\cdot\mathbf{x}(\mathbf{p}_0+\mathbf{p}_n+\Delta\mathbf{p}_n).\quad(2)
y(p0)=pn∈R∑w(pn)⋅x(p0+pn+Δpn).(2)
现在,在不规则和偏移位置
p
n
+
Δ
p
n
\mathbf{p}_n+\Delta\mathbf{p}_n
pn+Δpn上进行采样。由于偏移量
Δ
p
n
\Delta\mathbf{p}_n
Δpn通常是分数,因此等式(2)通过双线性插值实现为:
x
(
p
)
=
∑
q
G
(
q
,
p
)
⋅
x
(
q
)
,
(
3
)
\mathbf{x}(\mathbf{p})=\sum_\mathbf{q}G(\mathbf{q},\mathbf{p})\cdot\mathbf{x}(\mathbf{q}),\quad\quad\quad(3)
x(p)=q∑G(q,p)⋅x(q),(3)
其中
p
\mathbf{p}
p表示任意(分数)位置(方程(2)中的
p
=
p
0
+
p
n
+
Δ
p
n
\mathbf{p}=\mathbf{p}_0+\mathbf{p}_n+\Delta\mathbf{p}_n
p=p0+pn+Δpn),
q
\mathbf{q}
q枚举特征图 x 中的所有积分空间位置,
G
(
⋅
,
⋅
)
G(\cdot,\cdot)
G(⋅,⋅)是双线性插值核,请注意,
G
G
G 是二维的,它被分成两个一维内核:
G
(
q
,
p
)
=
g
(
q
x
,
p
x
)
⋅
g
(
q
y
,
p
y
)
,
(
4
)
G(\mathbf{q},\mathbf{p})=g(q_x,p_x)\cdot g(q_y,p_y),\quad\quad(4)
G(q,p)=g(qx,px)⋅g(qy,py),(4)
其中 g ( a , b ) = m a x ( 0 , 1 − ∣ a − b ∣ ) g(a,b)=max(0,1-|a-b|) g(a,b)=max(0,1−∣a−b∣),等式(3) 计算速度很快,因为 G ( q , p ) G(\mathbf{q},\mathbf{p}) G(q,p)仅对于少数 q \mathcal{q} q不为零。
如图 2 所示,偏移量是通过在同一输入特征图上应用卷积层来获得的。卷积核与当前卷积层具有相同的空间分辨率和扩展(例如,图2中也是3 × 3,扩展为1)。输出偏移量字段与输入特征图具有相同的空间分辨率。通道维度2N对应于N个2D偏移量。在训练过程中,同时学习生成输出特征的卷积核和偏移量。为了学习偏移量,梯度通过公式(3)和公式(4)进行反向传播。
2.2 ✨Deformable RoI Pooling—可变形的RoI池
📗翻译
🚀在所有基于区域建议的目标检测方法中都使用RoI池,它将任意大小的输入矩形区域转换为固定大小的特征。
➤RoI池:给定输入特征图 x 和大小为
w
×
h
w×h
w×h 且左上角为
p
0
\mathbf{p}_{0}
p0 的
R
o
I
RoI
RoI,
R
o
I
RoI
RoI 池化将
R
o
I
RoI
RoI 划分为
k
×
k
k × k
k×k(k 是自由参数)个
b
i
n
bin
bin区域,并输出
k
×
k
k × k
k×k 特征图 y,对于第
(
i
,
j
)
(i, j)
(i,j)个
b
i
n
(
0
≤
i
,
j
<
k
)
bin (0 ≤ i, j < k)
bin(0≤i,j<k),
y
(
i
,
j
)
=
∑
p
∈
b
i
n
(
i
,
j
)
x
(
p
0
+
p
)
/
n
i
j
,
(5)
\mathbf{y}(i,j)=\sum_{\mathbf{p}\in bin(i,j)}\mathbf{x}(\mathbf{p}_0+\mathbf{p})/n_{ij},\quad\text{(5)}
y(i,j)=p∈bin(i,j)∑x(p0+p)/nij,(5)
其中 n i j n_{ij} nij是 b i n bin bin中的像素数,第 ( i , j ) (i, j) (i,j) 个 bin 的范围为 ⌊ i w k ⌋ ≤ p x < ⌈ ( i + 1 ) w k ⌉ \begin{aligned}\lfloor i\frac{w}{k}\rfloor\leq p_{x}<\lceil(i+1)\frac{w}{k}\rceil\end{aligned} ⌊ikw⌋≤px<⌈(i+1)kw⌉和 ⌊ i h k ⌋ ≤ p y < ⌈ ( j + 1 ) h k ⌉ \begin{aligned}\lfloor i\frac{h}{k}\rfloor\leq p_{y}<\lceil(j+1)\frac{h}{k}\rceil\end{aligned} ⌊ikh⌋≤py<⌈(j+1)kh⌉。
与式(2)相似,在可变形RoI池中,在空间分组位置上添加偏移量
{
Δ
p
i
j
∣
0
≤
i
,
j
<
k
}
\{\Delta\mathbf{p}_{ij}|0\leq i,j<{k}\}
{Δpij∣0≤i,j<k}。式(5)变为:
y
(
i
,
j
)
=
∑
p
∈
b
i
n
(
i
,
j
)
x
(
p
0
+
p
+
Δ
p
i
j
)
/
n
i
j
.
(6)
\mathbf{y}(i,j)=\sum_{\mathbf{p}\in bin(i,j)}\mathbf{x}(\mathbf{p}_0+\mathbf{p}+\Delta\mathbf{p}_{ij})/n_{ij}.\quad\text{(6)}
y(i,j)=p∈bin(i,j)∑x(p0+p+Δpij)/nij.(6)
通常, Δ p i j \Delta\mathbf{p}_{ij} Δpij是分数。公式(6)是通过等式(3)和(4)的双线性插值实现的。
图3说明了如何获得偏移量。首先,RoI池化(使用公式(5))生成池化的特征映射。从图中,fc层生成归一化偏移量
Δ
p
i
j
\Delta\mathbf{p}_{ij}
Δpij,然后通过与RoI宽度和高度的元素积将其转换为公式(6)中的偏移量
Δ
p
i
j
\Delta\mathbf{p}_{ij}
Δpij,如
Δ
p
i
j
=
γ
⋅
Δ
p
^
i
j
∘
(
w
,
h
)
\Delta\mathbf{p}_{ij}=\gamma\cdot\Delta\widehat{\mathbf{p}}_{ij}\circ(w,h)
Δpij=γ⋅Δp
ij∘(w,h)。这里γ是一个预定义的标量,用于调制偏移量的大小。它被经验地设定为γ = 0.1。为了使偏移量学习不受RoI大小的影响,偏移量归一化是必要的。
➤位置敏感(PS)RoI池化:它是完全卷积的,与 RoI pooling 不同,通过卷积层,所有输入特征图首先转换为每个对象类的
k
2
k^{2}
k2个分数图(对于
C
C
C 个对象类,总共为
C
+
1
C + 1
C+1),如图 4 中的底部分支所示。不需要区分类别,这样的分数图表示为 {
x
i
,
j
x_{i,j}
xi,j},其中
(
i
,
j
)
(i, j)
(i,j) 枚举所有 bin,在这些分数图上执行合并。第
(
i
,
j
)
(i, j)
(i,j) 个 bin 的输出值是通过对与该 bin 相对应的一个得分图
x
i
,
j
x_{i,j}
xi,j求和而获得的,简而言之,与等式(5)中的RoI池化的区别在于,一般特征图
x
x
x被特定的正敏感得分图
x
i
,
j
x_{i,j}
xi,j替代。
在可变形 PS RoI 池化中,方程的唯一变化是: (6) 将x也修改为 x i , j x_{i,j} xi,j,然而,偏移学习是不同的,它遵循“完全卷积”精神,如图 4 所示。在顶部分支中,卷积层生成全空间分辨率偏移场,对于每个 RoI(也适用于每个类),PS RoI 池化应用于这些字段以获得归一化偏移量 Δ p ^ i j \Delta\hat{\mathbf{p}}_{ij} Δp^ij,然后以与上述可变形 RoI 池化相同的方式将其转换为实际偏移量 Δ p i j \Delta{\mathbf{p}}_{ij} Δpij。
2.3 ⭐️Deformable ConvNets—可变形卷积网络
🔥可变形卷积和RoI池模块都具有与其普通版本相同的输入和输出。因此,它们可以很容易地取代现有cnn中的普通对应物。在训练中,这些用于偏移学习的卷积和fc层被初始化为零权重。它们的学习率被设置为现有层学习率的β倍(默认为β = 1, Faster R-CNN中的fc层为β = 0.01)。它们通过公式(3)和公式(4)中的双线性插值操作的反向传播进行训练。得到的cnn被称为可变形卷积神经网络。
为了将可变形卷积网络与最先进的 CNN 架构集成,我们注意到这些架构由两个阶段组成。首先,深度全卷积网络在整个输入图像上生成特征图,其次,浅层任务特定网络根据特征图生成结果,我们详细说明以下两个步骤。
➤用于特征提取的可变形卷积:我们采用两种最先进的架构进行特征提取:ResNet-101 和 InceptionResNet 的修改版本,两者都在 ImageNet数据集上进行了预训练。
最初的 Inception-ResNet 是为图像识别而设计的,它存在特征错位问题,并且对于密集的预测任务来说是有问题的,对其进行修改以解决对齐问题,修改后的版本被称为“Aligned-Inception-ResNet”。
这两个模型都由几个卷积块、一个平均池化和一个用于ImageNet分类的1000路fc层组成。平均池化和fc层被删除,最后加入随机初始化的1 × 1卷积,将通道维数降至1024。与通常做法一样,将最后一个卷积块的有效步幅从32像素减少到16像素,以提高特征图的分辨率。具体来说,在最后一个块的开始,stride从2变为1(对于ResNet-101和Aligned-Inception-ResNet都是“conv5”)。为了补偿,该块(内核大小为> 1)中所有卷积滤波器的扩展从1变为2。
或者,可变形卷积应用于最后几个卷积层(内核大小> 1),我们尝试了不同数量的此类层,发现 3 层是针对不同任务的良好权衡,如表 1 所示。
➤分割和检测网络:基于上述特征提取网络的输出特征映射,构建任务特定网络。下面,C表示对象类的数量。
DeepLab 是一种最先进的语义分割方法,它在特征图上添加 1 × 1 卷积层,以生成表示每像素分类分数的 (C + 1) 个图,接下来的 softmax 层然后输出每像素的概率。
类别感知 RPN 与区域提议网络几乎相同,只是将 2 类(对象或非对象)卷积分类器替换为 (C + 1) 类卷积分类器。
Faster R-CNN 是最先进的检测器,在我们的实现中,RPN 分支被添加到 conv4 块的顶部,在之前的实践中,RoI 池化层插入到 ResNet-101 中的 conv4 和 conv5 块之间,为每个 RoI 留下 10 层,该设计实现了良好的精度,但每 RoI 的计算量较高。相反,我们采用简化设计,RoI池化层是最后添加的,在池化 RoI 特征之上,添加了两个维度为 1024 的 fc 层,然后是边界框回归和分类分支,尽管这种简化(从 10 层 conv5 块到 2 个 fc 层)会稍微降低准确性,但它仍然可以提供足够强大的基线,并且不是本工作中关注的问题。
或者,可以将 RoI 池化层更改为可变形 RoI 池化。R-FCN是另一种最先进的探测器。它的每roi计算成本可以忽略不计。我们遵循原来的实现。可选地,它的RoI池层可以更改为可变形的位置敏感RoI池。
三、3️⃣Understanding Deformable ConvNets—理解可变形卷积网络
这项工作的想法是通过额外的偏移量来增强卷积和 RoI 池化中的空间采样位置,并从目标任务中学习偏移量。
当变形卷积叠加时,复合变形的效果是深刻的。这在图5中举例说明。标准卷积中的感受野和采样位置在顶部特征图(左)上都是固定的。它们根据可变形卷积中对象的规模和形状进行自适应调整(右)。更多示例如图6所示。表2提供了这种自适应变形的定量证据。
可变形 RoI 池化的效果类似,如图 7 所示。标准 RoI 池中网格结构的规律性不再适用。取而代之的是,部件会偏离 RoI 网格,并移动到附近的物体前景区域。这就增强了定位能力,尤其是对非刚性物体的定位能力。
3.1 🎓 In Context of Related Works—相关工作背景
我们的工作在不同方面与以前的工作相关,我们详细讨论其中的关系和差异。
➤空间变换网络(STN):这是第一个在深度学习框架中从数据中学习空间变换的工作,它通过全局参数变换(例如仿射变换)来扭曲特征图,这种变形的成本很高,而且学习变换参数也很困难。STN 在小规模图像分类问题上取得了成功,逆STN方法通过有效的变换参数传播代替了昂贵的特征扭曲。
可变形卷积中的偏移学习可以被认为是 STN 中的一种极轻量级的空间变换器,然而,可变形卷积不采用全局参数变换和特征扭曲。相反,它以局部和密集的方式对特征图进行采样,为了生成新的特征图,它有一个加权求和步骤,这是 STN 中所没有的。
可变形卷积很容易集成到任何 CNN 架构中,它的训练很容易,它对于需要密集(例如语义分割)或半密集(例如对象检测)预测的复杂视觉任务有效,这些任务对于 STN 来说是困难的(如果不是不可行的话)
➤主动卷积:这项工作是当代的。它还增加了卷积中的采样位置,并通过端到端的反向传播来学习偏移。该算法在图像分类任务中表现出较好的效果。
与可变形卷积的两个关键区别使得这项工作不那么通用和适应性。首先,它在不同的空间位置上共享偏移。第二,偏移量是静态模型参数,每个任务或每个训练都要学习。相比之下,可变形卷积中的偏移是动态模型输出,其随图像位置而变化。它们对图像中的密集空间变换进行建模,并且对于(半)密集预测任务(如对象检测和语义分割)是有效的。
➤有效感受野:它发现,并不是所有的像素在一个感受野同样有助于输出响应。靠近中心的像素具有大得多的影响。有效感受野仅占理论感受野的一小部分,并且具有高斯分布。虽然理论上的感受野大小随着卷积层的数量线性增加,一个令人惊讶的结果是,有效的感受野大小随数字的平方根线性增加,因此,比我们预期的要慢得多。
这一发现表明,即使是深层CNN中的顶层单元也可能没有足够大的感受野。这部分解释了为什么atrous卷积广泛用于视觉任务(见下文)。这表明了适应性感受野学习的需要。
变形卷积能够自适应地学习感受野,如图5、6和表2所示。
➤Atrous卷积:它将普通滤波器的步幅增加到大于1,并在稀疏采样位置保持原始权重。这增加了感受野的大小,并在参数和计算中保持相同的复杂性。它已被广泛用于语义分割(也称为扩张卷积),对象检测[6]和图像分类
可变形卷积是无环卷积的推广,如图1(c)所示。表3中给出了与atrous卷积的广泛比较。
➤变形零件模型(DPM):可变形 RoI 池化与 DPM 类似,因为这两种方法都学习对象部分的空间变形以最大化分类分数,可变形 RoI 池化更简单,因为不考虑部件之间的空间关系。
DPM是一种浅层模型,对变形的模拟能力有限。虽然它的推理算法可以通过将距离变换作为一种特殊的池化操作转换为cnns,但它的训练不是端到端,而是涉及启发式选择,如组件和部件尺寸的选择。相比之下,可变形卷积神经网络是深度的,并且执行端到端的训练。当多个可变形模块堆叠在一起时,建模变形的能力变得更强。
➤DeepID-Net:引入了变形约束池化层,该层还考虑了物体的局部变形。因此,它与可变形RoI池具有类似的精神,但要复杂得多。这项工作是高度工程化的,基于RCNN。目前尚不清楚如何以端到端方式使其适应最新的最先进的目标检测方法。
➤RoI池中的空间操作:空间金字塔池在尺度上使用手工制作的池区域。它是计算机视觉中的主要方法,也用于基于深度学习的目标检测。
学习池化区域的空间布局的研究很少。从一个大的超完备集中学习池化区域的稀疏子集,大型集合是手工设计的,并且学习不是端到端的。
可变形 RoI 池化是第一个在 CNN 中端到端学习池化区域的方法,虽然当前区域的大小相同,但如空间金字塔池化中那样扩展到多个大小是很简单的。
➤变换不变特征及其学习:人们在设计变换不变特征方面做了大量的工作。值得注意的例子包括尺度不变特征变换(SIFT)和ORB (O表示方向)。在 CNN 背景下有大量此类工作。 研究了 CNN 表示与图像变换的不变性和等价性。一些作品学习关于不同类型变换的不变 CNN 表示,例如散射网络、卷积丛林和 TI 池化。
有些作品致力于特定的变换,例如对称性 、尺度和旋转,正如第 1 节中分析的那样,在这些作品中,变换是先验已知的。
这些知识(如参数化)被用来手工制作特征提取算法的结构,要么是固定的,如SIFT,要么是可学习的参数,如基于cnn的参数。它们不能处理新任务中的未知转换。相反,我们的可变形模块概括了各种转换(参见图1)。转换不变性是从目标任务中学习的。
四、4️⃣Experiments—相关实验
➤语义分割: 我们使用PASCAL VOC和cityscape。对于PASCAL VOC,有20个语义类别。根据中的协议,我们使用VOC 2012数据集和附加掩码注释。训练集包括10,582张图像。对验证集中的1449张图像进行了评估。对于cityscape,遵循协议,分别对训练集中的2,975张图像和验证集中的500张图像进行训练和评估。有19个语义类别加上一个背景类别。
为了进行评估,我们使用在图像像素上定义的平均交并(mIoU)度量,遵循标准协议,我们分别对 PASCAl VOC 和 Cityscapes 使用 mIoU@V 和 mIoU@C。
在训练和推理中,图像大小调整为 PASCAL VOC 的短边为 360 像素,Cityscapes 的短边为 1, 024 像素,在 SGD 训练中,每个小批量中都会随机采样一张图像。PASCAL VOC 和 Cityscapes 分别执行总计 30k 和 45k 次迭代,每个迭代使用 8 个 GPU 和 1 个小批量,前 2/3 次迭代和后 1/3 次迭代中的学习率分别为 10−3 和 10−4。
➤物体检测:我们使用PASCAL VOC和COCO数据集。对于PASCAL VOC,按照中的协议,结合VOC 2007培训和VOC 2012培训进行训练。评价依据VOC 2007测试。对于COCO,遵循标准协议,分别对训练中的120k图像和测试开发中的20k图像进行训练和评估。
为了评估,我们使用标准平均精度(mAP)分数。对于PASCAL VOC,我们使用IoU阈值0.5和0.7报告mAP分数。对于COCO,我们使用mAP@[0.5:0.95]的标准COCO度量,以及mAP@0.5。
在训练和推理中,图像的大小被调整为短边为 600 像素,在 SGD 训练中,每个小批量中都会随机采样一张图像。对于类别感知 RPN,从图像中采样 256 个 RoI。对于 Faster RCNN 和 R-FCN,分别对区域提议和对象检测网络采样 256 个和 128 个 RoI。 RoI池化采用7×7 bin,为了促进 VOC 上的消融实验,我们遵循并利用预训练和固定的 RPN 提案来训练 Faster R-CNN 和 R-FCN,而区域提案和对象检测网络之间没有特征共享。 RPN 网络按照中过程的第一阶段进行单独训练。对于 COCO,执行中的联合训练,并启用特征共享进行训练。 PASCAL VOC 和 COCO 在 8 个 GPU 上分别执行了总共 30k 和 240k 次迭代,在前 2/3 次和最后 1/3 次迭代中,学习率分别设置为 10−3 和 10−4 。
➤可变形卷积的评估:表1评估使用ResNet101特征提取网络的可变形卷积的效果。当使用更多的可变形卷积层时,准确率稳步提高,尤其是用于 DeepLab 和类感知 RPN,当 DeepLab 使用 3 个变形层,其他变形层使用 6 个时,改进达到饱和,在剩下的实验中,我们在特征提取网络中使用 3 个。
我们通过经验观察到,在可变形卷积层中学习到的偏移量对图像内容具有高度的适应性,如图5和图6所示。为了更好地理解可变形卷积的机制,我们为可变形卷积滤波器定义了一个称为有效扩张的度量。它是滤波器中所有相邻采样位置对之间距离的平均值。这是对过滤器接受野大小的粗略测量。
我们在 VOC 2007 测试图像上应用具有 3 个可变形层的 R-FCN 网络(如表 1 所示),根据真实边界框注释和滤波器中心的位置,我们将可变形卷积滤波器分为四类:小、中、大和背景,表 2 报告了有效扩张值的统计数据(平均值和标准差)。它清楚地表明:
- (1)可变形滤波器的感受野大小与目标大小相关,表明变形是从图像内容中有效学习的;
- (2)背景区域的滤波器尺寸介于中型和大型物体之间,表明识别背景区域需要相对较大的感受野。这些观察结果在不同层中是一致的。
默认的ResNet-101模型对最后三个3 × 3卷积层使用膨胀为2的atrous卷积(参见第2.3节)。我们进一步尝试了扩张值4、6和8,并在表3中报告了结果。
它表明:(1)当使用较大的扩张值时,所有任务的准确性都增加,这表明默认网络具有太小的感受野;(2)最佳扩张值对于不同的任务而变化,例如,DeepLab为6,但Faster R-CNN为4; (3)可变形卷积具有最佳精度。这些观察结果验证了滤波器变形的自适应学习是有效和必要的。
➤可变形RoI池的评价:适用于Faster R-CNN和R-FCN。如表3所示,单独使用它已经产生了明显的性能提升,特别是在严格的mAP@0.7指标下。当同时使用可变形卷积和RoI池时,获得了显著的精度提高。
➤COCO上的目标检测:在表4中,我们对COCO测试开发集上的对象检测的可变形卷积神经网络和普通卷积神经网络进行了广泛的比较。我们首先使用ResNet-101模型进行实验。可变形版本的类别感知RPN、更快的R-CNN和R-FCN分别实现了25.8%,33.1%和34.5%的mAP@[0.5:0.95]分数,分别比普通ConvNets高出11%,13%和12%。通过在Faster R-CNN和R-FCN中用Aligned-InceptionResNet替换ResNet-101,由于更强大的特征表示,它们的普通ConvNet基线都得到了改善。可变形ConvNets带来的有效性能增益也是如此。通过对多个图像尺度(图像短边在[480,576,688,864,1200,1400]中)进行进一步测试并执行迭代边界框平均,R-FCN变形版本的mAP@[0.5:0.95]分数增加到37.5%。请注意,可变形卷积神经网络的性能增益与这些附加功能是互补的。
➤模型的复杂性和可扩展性:表5报告了建议的可变形卷积神经网络及其普通版本的模型复杂性和运行时间,可变形的卷积神经网络只增加了很小的模型参数和计算开销。这表明显著的性能改进来自于建模几何变换的能力,而不是增加模型参数。