Proanimer-My personal website.

经典模型学习


经典模型学习

Deformable Convolutional Networks

摘要

由于卷积神经网络(CNN)的构建模块具有固定的几何结构,因此在几何变换建模方面存在固有的局限性

这篇文章提出可变形卷积和可变形 RoI 池。这两种方法都是基于在模块中的空间采样位置上增加偏移量,并从目标任务中学习偏移量,而不需要额外的监督

新模块可随时取代现有 CNN 中的普通模块,并可通过标准反向传播法轻松进行端到端训练,从而形成可变形卷积网络

首次证明在深度 CNN 中学习密集空间变换对物体检测和语义分割等复杂的视觉任务非常有效

image-20240509160106586

介绍

在目标检测和语义分割这类视觉任务中,关键就是学习物体本身固有特征.

视觉识别的一个主要挑战是如何适应物体比例、姿态、视角和部件变形的几何变化或几何变换模型。一般来说,有两种方法。第一种方法是建立具有足够所需变化的训练数据集。这通常是通过增强现有数据样本来实现的,例如仿射变换。这种方法需要高昂训练成本和模型参数.

第二种是使用变换不变特征和算法。这一类包含许多众所周知的技术,如 SIFT(尺度不变特征变换) 和基于滑动窗口的物体检测范例。这种方法需要人工设计以及先验知识.

最近,卷积神经网络(CNN)[35] 在图像分类[31]、语义分割[41]和物体检测[16]等视觉识别任务中取得了巨大成功。然而,它们仍然存在上述两个缺点。它们对几何变换的建模能力主要来自于广泛的数据增强、较大的模型容量以及一些简单的手工制作模块(例如,用于小翻译不变性的最大池化[1])。

这种限制源于 CNN 模块的固定几何结构:卷积单元在固定位置对输入特征图进行采样;池化层按固定比例降低空间分辨率;RoI(感兴趣区)池化层将 RoI 分离成固定的空间分区等。

例如,同一 CNN 层中所有激活单元的感受野大小相同。这对于编码空间位置语义的高级 CNN 层来说是不可取的。由于不同的位置可能对应不同尺度或变形的物体,因此自适应地确定尺度或感受野大小对于精细定位的视觉识别来说是可取的、

再比如,虽然物体检测最近取得了显著而快速的进展[16, 52, 15, 47, 46, 40, 7],但所有方法仍然依赖于基于边界框的原始特征提取。这显然不是最佳选择,尤其是对于非刚性物体

image-20240509145254487

(a) 标准卷积的常规采样网格(绿色点)。(b) 可变形卷积中带有增强偏移(浅蓝色箭头)的变形采样位置(深蓝色点)。(c)(d)是(b)的特例,表明可变形卷积对比例、(各向异性)长宽比和旋转的各种变换具有通用性。

第一种是可变形卷积。它在标准卷积的常规网格采样位置上增加了二维偏移。它可以实现采样网格的自由变形

偏移量是通过额外的卷积层从前面的特征图中学习到的。因此,变形是以局部、密集和自适应的方式以输入特征为条件的

第二种是可变形 RoI 池.它在先前 RoI 池的常规分区中的每个分区位置上添加一个偏移量.同样,偏移量也是从前面的特征图和 RoIs 中学习的,从而实现了对不同形状物体的自适应部件定位.

image-20240509150326276

在原本的grid regular卷积中,

使用规则网格 R 对输入特征图 x 进行采样;对采样值进行加权求和。

$\mathcal{R}={(-1,-1),(-1,0),\ldots,(0,1),(1,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)$​

对于deformable conv,用偏移量 {∆pn|n = 1,…,N } 对正则网格 R 进行扩充,其中 N = |R||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+\Delta\mathbf{p}_n) $$ 现在,采样是在不规则和偏移位置 pn +∆pn 上进行的.由于偏移量 ∆pn 通常是小数,需要通过双线性插值实现 $$ G(\mathbf{q,p})=g(q_x,p_x)\cdot g(q_y,p_y) $$

偏移量是通过在相同的输入特征图上应用卷积层得到的.**卷积核的空间分辨率和扩张程度与当前卷积层的空间分辨率和扩张程度相同.**输出偏移场的空间分辨率与输入特征图相同.通道维度 2N 对应 N 个二维偏移.

在训练过程中,用于生成输出特征的卷积核和偏移量都是同时学习的.为了学习偏移量,梯度通过公式 (3) 和公式 (4) 中的双线性运算进行反向传播.

RoI 汇集用于所有基于区域提案的物体检测方法.它将任意大小的输入矩形区域转换为固定大小的特征。

RoI 池法给定输入特征图 x 和大小为 w×h 且左上角为 p0 的 RoI,RoI 池法将 RoI 分成 k × k(k 为自由参数)个分区,并输出 k × k 的特征图 y。 $$ \mathbf{y}(i,j)=\sum_{\mathbf{p}\in bin(i,j)}\mathbf{x}(\mathbf{p}0+\mathbf{p})/n{ij} $$ 其中,nij 是分区中的像素数

image-20240509152714232

偏移 {∆$p_{ij}$|0 ≤ i, j < k} 被添加到spatial binning位置.

首先,RoI 池生成池特征图.fc 层从地图中生成归一化偏移量 ∆̂ $p_{ij}$,然后通过与 RoI 的宽度和高度进行元素乘积,将其转换为公式 中的偏移量 $∆p_{ij}$,即 $∆p_{ij}$ = γ - ∆̂ pij ◦ (w, h).这里的 γ 是一个预先定义的标量,用于调节偏移量的大小.根据经验,设定为 γ = 0.1.偏移归一化是使偏移学习不受 RoI 大小影响的必要条件. $$ \mathbf{y}(i,j)=\sum_{\mathbf{p}\in bin(i,j)}\mathbf{x}(\mathbf{p}0+\mathbf{p}+\Delta\mathbf{p}{ij})/n_{ij} $$

image-20240509154925914

位置敏感 (PS) RoI pooling

它是完全卷积的,与 RoI 池不同。通过卷积层,所有输入特征图首先被转换为每个对象类别的 $k^{2}$ 个分数图(C 个对象类别的分数图为 C + 1)。

image-20240509155534506

Deformable ConvNets v2: More Deformable, Better Results

摘要

通过对其自适应行为的研究,我们发现虽然其神经特征的空间支持比普通 ConvNets 更贴近对象结构,但这种支持可能会远远超出感兴趣的区域,从而导致特征受到无关图像内容的影响

为了解决这个问题,我们提出了一种可变形 ConvNets 的重构方法,通过增强建模能力和强化训练,提高了聚焦相关图像区域的能力.

方法

为了进一步加强可变形 ConvNets 对空间支持区域的处理能力,我们引入了一种调制机制(modulation mechanism)。有了它,Deformable ConvNets 模块不仅可以在感知输入特征时调整偏移量,还可以调制来自不同空间位置/bins的输入特征振幅。在极端情况下,模块可以通过将其特征振幅设置为零来决定不感知来自特定位置/分区的信号。因此,来自相应空间位置的图像内容对模块输出的影响将大大降低或没有影响.因此,调制机制为网络模块提供了另一种调整空间支持区域的自由度.

$y(p)=\sum_{k=1}^Kw_k\cdot x(p+p_k+\Delta p_k)\cdot\Delta m_k$

$∆p_{k}$ 和 $∆m_{k}$ 分别是第 k 个位置的可学习偏移量和调制标量。调制标量 $∆m_{k}$ 的取值范围为 [0,1],而$∆p_{k}$ 是一个实数,取值范围不受限制.