Deformable Convolutional Networks 阅读笔记
Deformable Convolutional Networks(可变形卷积网络)
文章:https://arxiv.org/abs/1703.06211 link.
概述
在本研究工作中,作者新增设了两个新模块以增强常规卷积神经网络(CNN)的建模能力:可变形卷积(Deformable Convolution)与可变形区域兴趣池化(Deformable RoI Pooling)。这两种新模块均遵循以下理念:在模块内引入具有可调节位移量的空间采样点,并通过目标任务自动学习位移参数以实现空间变换效果;这一过程无需传统意义上的监督机制辅助即可完成。这些新模块能够轻松替代现有CNN中的相应组件,并通过反向传播实现端到端的学习过程以生成支持形变的卷积网络结构(值得注意的是,在非传统深度学习架构的存在下,则需单独完成模型优化)。对于依赖密集空间变换处理的任务而言(如目标检测与语义分割等复杂视觉任务),基于这些空间变换机制的传统二维卷积与池化操作基础之上扩展空间变换维度便能取得良好的效果。将这些新型卷积操作整合进网络所形成的模型即被称为可变形卷积神经网络(Deformable Convolutional Networks),而这种设计方式也使得在通道维度上进行相应的拓展就可还原出传统的常规 CNN 模型结构
deformable convolution
以3×3卷积层为例说明:

(a)标准卷积的采样点(3×3网格)(绿点)。(b)可变形卷积中具有额外偏移量(浅蓝色箭头)的采样位置(深蓝色点)。(c)(d)是(b)的特例,即规则分布的采样点。
这说明可变形卷积包含了比例、(各向异性的)长宽比和旋转等变换。偏移量是通过其他卷积层从前面的特征图中得到。因此,可变形卷积的采样方式(局部、密集、自适应)取决于输入特征。
二维的卷积操作可以分为两步:在输入feature map的规则的网格\mathcal{R}中进行采样;通过权重\mathcal{W}计算加权和;如
\mathcal{R}=\{\left(-1,-1\right),\left(-1,0\right),\ldots,\left(0,1\right),\left(1,1\right)\}
描述了一个3\times 3尺寸的卷积核及其1膨胀范围的应用场景;对于输出特征图y中的每个位置p_0而言
p_n代表规则的采样点位置。但是,在可变形卷积中,规则的网格\boldsymbol{\Re}上的采样点增加了偏移量集合\{\Delta p_n | n=1,2,\ldots,N\}(其中N=|\boldsymbol{\Re}|):输出向量\boldsymbol y(\boldsymbol p_0)等于所有位于网格中的采样点通过其权重函数与相应位移后的输入信号样本值之和
当前采样点的分布变得非均匀:p_n+∆p_n ,该方程借助双线性插值方法得以求解
p代表任意(分数)位置(p=p_0+p_n+\Delta p_n);q遍历特征图x中的全部整数空间坐标,并通过双线性插值计算得到结果,在二维域内进行操作时,则将其分解为沿着x轴和y轴的一维函数序列:
G(\mathbf{q}, \mathbf{p}) = g(q_x, p_x) \cdot g(q_y, p_y)
其中g(a, b) = maximum(0, 1 - distance(a, b)),由于在大多数情况下G(\cdot, \cdot)等于零,从而使得对x(p)进行估计变得高效。

偏移量是由同一feature map上的卷积操作生成;卷积核与当前层的核尺寸保持一致。其空间分辨率与输入保持一致;每个输出通道对应两个二维(X,Y方向)位移参数。在训练过程中,同时学习输出特征的卷积权重参数以及位移信息,并利用双线性插值完成梯度反向传播过程。
deformable RoI pooling
在该池化层的基础上对前面RoI pooling中的每个位置添加一个偏移量;该偏移量由前面的特征图和区域包围盒中提取。在目标检测任务中,ROI池化将任意尺寸的输入矩形区域映射到固定尺寸的特征空间。



对于给定输入特征图X、区域-of-interest(ROI)及其尺寸(w×h)和左上角点p_0 RoI Pooling通过划分k×k个子区域bin并输出对应的k×k大小的特征图y其中每个子区域内位于位置(i,j)的位置满足关系式\mathbf{y}(i, j)=\sum_{\mathbf{p} \in \operatorname{bin}(i, j)} \mathbf{x}\left(\mathbf{p}_{0}+\mathbf{p}\right) / n_{i j}
n_{ij}表示第(i,j)个bin区域内的元素数量;其跨度由\lfloor i \frac{w}{k} \rfloor \leq p_x < \lceil (i+1) \frac{w}{k} \rceil以及\lfloor j \frac{h}{k} \rfloor \leq p_y < \lceil (j+1) \frac{h}{k} \rceil确定;因此,在可变形的区域选择池化(Deformable RoI Pooling)中引入每个bin对应的偏移量集合\{\Delta p_{ij} | 0 ≤ i, j < k\}:输出结果y(i,j)则定义为:通过加权平均法计算得到的各位置特征值之和除以该区域中的元素数目。
\Delta\mathbf{p}_{\mathbf{ij}}是分数形式。

该图详细阐述了偏移量的获取流程:随后,在ROI池化步骤中生成标准化的特征图;接着,在全连接层中基于这些特征图计算出归一化的位移向量Δp̂_ij,并将其与相关区域的高度h和宽度w相结合进行计算以确定最终位移向量Δp_ij=γ值设定为0.1·Δp̂_ij ∘(w,h)
Position-Sensitive (PS) RoI Pooling:
R-FCN中提出的池化方式PS RoI Pooling:

为了实现平移敏感性捕捉的需求,在全卷积网络的最后一层之后增加了1×1尺寸的卷积层来生成position-sensitive score map。该score map具有k×k×(C+1)维度特征图(其中C表示类别数量并附加一个背景类别),其中k值代表后续ROI Pooling操作中将每个RoI划分为小格的数量。论文中设定k=3时会将每个RoI沿长宽方向均分成三等分形成9个小区域,在每张score map中存储对应目标某一部分特征图信息。在实际应用中,在后续的ROI池化操作时会对每个RoI划分为k×k的小区域(例如3×3=9个小区域)分别进行池化操作。然而,并不是对所有score map维度都执行池化操作而是仅在对应的(C+1)个维度上进行池化运算:例如左上角的小区域仅在前C+1个维度上进行池化运算而位于左中间位置的小区域则会在C+2到2C+2区间内的维度上执行池化操作依此类推最终生成一个大小为k×k且共(C+1)个维度的空间特征图这些特征图分别对应不同类别的得分值通过将各个类别得分相加或取平均得到各类别得分值(如上文所述投票过程)最终通过softmax函数计算各得分值的最大值并确定所属类别输出结果

在变形的PS RoI池化中,仍然遵循以下公式:其区别在于\mathbf{x}\rightarrow\mathbf{x}_{i,j}。
z\left(i,j\right)=\frac{\sum_{p\in bin\left(i,j\right)}{\mathbf{x}_{i,j}\left({p}_{0}+{p}+\Delta{p}_{{ij}}\right)}}{n_{{ij}}}
然而,在偏移量的学习过程中存在差异。如图所示,在这一分支结构中,卷积层能够生成完整的空间位移场。随后,在处理每个RoI时,通过PS RoI pooling方法获得归一化的位移量∆pij,并将其与deformable RoI pooling机制进行一致性的转换得到实际的变形参数\Delta\mathbf{p}_{\mathbf{ij}}。
Deformable ConvNets
Deformable Convolution for Feature Extraction:
该研究采用ResNet-101与Inception-ResNet作为基础网络进行实验研究。通过移除常规网络中的全局平均池化与全连接层,并在输出特征图后附加一个具有随机权重的  ¹×¹  卷积层以降低通道数量至  ¹⁰²⁴  个通道数。同时,在最后一个block块中将有效步长从  ³²  缩减至  ¹⁶  (从而提升feature map的空间分辨率)。
分割与检测网络架构包括:基于深度学习的整体框架(DeepLab)、基于类别意识的区域建议网络(Category-Aware RPN)、快速多尺度卷积检测网络(Faster R-CNN)以及区域竞争森林网络(R-FCN)。
表一展示了在ResNet-¹⁰¹架构中采用可变形卷积替代常规卷积后的性能评估结果

采用可变形区域池化技术将Deformable RoI Pooling集成到Fast RCNN架构和R-FCN架构中,并带来了显著的效果提升,在mAP@0.7指标上表现出色。

模型复杂度和运行时间的比较:

对于原模型而言,在引入新组件的过程中仅增添了一小部分参数量与运算时长(主要涵盖前向传播以及完整的后向传播过程)。在COCO数据集上进行的效果比较结果如下:其中M代表多尺度测试方案而B则指代迭代后的bbox均值计算方式。

Understanding Deformable ConvNets
主要思路在于,在卷积运算和RoI池化过程中引入了额外的偏移量,并基于目标任务学习到这些偏移量的变化,改变了采样位置。

(a)、(b)分别代表了常规卷积中的固定感受野与可变形卷积中的自适应感受野。(此处补充说明)即为:常规卷 convolution中感受野的位置在整个特征图(左半部分区域)是固定的;而可变形卷 convolution则能够根据目标的具体比例与形状进行相应的优化与适应(右侧展示)。

上图呈现了729个采样点,在同一幅图中分别对背景区域(左侧)、较小目标(中部)及较大目标(右侧)进行了采样分析,并可观察到采样点对目标区域的聚集效应。

其中3×3的池化区域(红色框)和ROI(黄色)。
