Deformable ConvNets v2阅读笔记

Deformable ConvNets v2: More Deformable, Better Results

https://arxiv.org/abs/1811.11168v2 link.
  文章主要针对Deformable Convolutional Networks的几何变化可能超出目标区域,从而导致特征被图像的其他无关内容影响的问题进行改进,从而提出了Deformable ConvNets v2。
  改进主要在于两点:首先是可变形卷积层的扩展;通过为更多卷积层增加偏移学习(卷积层的堆叠),DCNv2可以在更广泛的特征级范围内控制采样。第二是可变形卷积模块中的调制机制,每个样本不仅具有经学习得到的偏移,而且还被特征幅度调制。
  为了更好的理解可变形卷积网络,文章引入了三个概念:

  • 有效感受野(effective receptive fields):感受野内的点对响应的贡献是不等的,文章用有效感受野来描述这种不等的贡献,其值为节点响应相对于每个像素的强度扰动的梯度。
  • 有效采样位置(effective sampling locations):为了理解可变形卷积网络,卷积层和池化层的采样位置都可以可视化,但这些采样点对网络节点的影响或者贡献是不明确的;使用节点对采样点的梯度描述这种贡献。
  • error-bounded saliency regions:如果去掉不影响网络节点的图像区域,那么节点响应是不改变的。基于这种性质,文章定义了error-bounded saliency regions:能够产生和全图同等响应(响应之差小于某个较小的阈值)的最小图像区域(support region);简单的说就是利用一个mask挡住图像部分区域,产生的响应和全图输入时的响应小于某个值,那么这个区域就属于error-bounded saliency regions;这样便于比较不同网络的支持区域。

  下图展示了conv5的最后一层中节点的相关信息,从上到下三行分别表示effective receptive fields、effective sampling locations、error-bounded saliency regions。a、b、c图分别是常规卷积、DCN v1、DCN v2的结果:

  1. 常规的ConvNets能够在一定程度上对几何变化建模,主要得益于深度网络强大的表征能力。
  2. 可变形卷积的引入增强了网络度几何变换的建模能力,表现为前景节点包含整个目标,背景节点包含更大的上下文。然而support region存在不准确的情况;前景节点的effective receptive fields和error-bounded saliency regions包含了与检测不相关的背景区域。
  3. 这里使用的三种可视化方式比DCN v1中使用的采样位置更能反映网络获得的信息。在常规的ConvNet在网格上具有固定的采样位置,但实际上它可以通过网络权重来调整其有效的support region。 可变形卷积受偏移量和网络权重的共同影响。

下图显示了每个RoI检测头中2fc节点的spatial support:
在这里插入图片描述
  前景上的bin通常会在分类分支产生较大的梯度,从而对预测产生更大的影响。由于引入了可学习的偏移量,Deformable RoIpooling与aligned RoIpooling相比,覆盖前景的Bin比例要大得多。同时,aligned RoIpooling和Deformable RoIpooling中的error-bounded saliency regions没有完全集中在前景目标上,这可能导致RoI之外的内容会影响预测结果。

Modulated Deformable Modules

  为了进一步增强可变形卷积网络控制support region的能力,文章引入了一种调制机制,使Deformable Convolutional Network不仅可以学习调整偏移量,还可以调制不同空间位置的输入特征幅度。在极端情况下,模块可以将其特征幅度置零,不感知来自特定位置的信号。调制项:
DCN v1:
y ( p 0 ) = p n R w ( p n ) x ( p 0 + p n + Δ p n ) \mathbf{y}\left(\mathbf{p}_{0}\right)=\sum_{\mathbf{p}_{n} \in \mathcal{R}} \mathbf{w}\left(\mathbf{p}_{n}\right) \cdot \mathbf{x}\left(\mathbf{p}_{0}+\mathbf{p}_{n}+\Delta \mathbf{p}_{n}\right)

DCN v2:
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\left(p+p_{k}+\Delta p_{k}\right) \cdot \Delta m_{k}

其中 Δ p k \Delta p_k Δ m k \Delta m_k 分别是采样点k的位置偏移量和特征调节系数,两者由不同卷积核以特征x作为输入得到。假设有K个采样点(3x3卷积9个采样点),卷积层的分辨率和输入特征x相同;输出3×K个通道,对应于每个采样点的偏移量 Δ p k \Delta p_k (x,y两个方向,即2×K个通道)和对应调制系数 Δ m k \Delta m_k (K个通道)。
Δ p k \Delta p_k Δ m k \Delta m_k 分别初始化为 0和0.5(默认偏移量为0,无法区别采样点贡献率),对应的卷积核参数初始为0,卷积层的学习率设置为现有层的0.1。
deformable RoIpooling也添加类似的调制项:
DCN v1:
y ( i , j ) = p bin ( i , j ) x ( p 0 + p + Δ p i j ) / n i j \mathbf{y}(i, j)=\sum_{\mathbf{p} \in \operatorname{bin}(i, j)} \mathbf{x}\left(\mathbf{p}_{0}+\mathbf{p}+\Delta \mathbf{p}_{i j}\right) / n_{i j}

DCN v2:
y ( k ) = j = 1 n k x ( p k j + Δ p k ) Δ m k / n k y(k)=\sum_{j=1}^{n_{k}} x\left(p_{k j}+\Delta p_{k}\right) \cdot \Delta m_{k} / n_{k}

  调制系数通过额外的fc层产生,输出3×K通道(归一化的偏移量和系数),额外的fc层的学习率和其他层相同,卷积偏移量和池化偏移量的调制系数都需要经过sigmoid得到。
使用改进的模块的效果对比(考虑deformable convolution和RoIpooling的堆叠)
DCN v1 (conv5):
在这里插入图片描述

DCN v2 (conv3∼5):
在这里插入图片描述

R-CNN Feature Mimicking:

  进一步地,作者发现基于RoI的分类中,常规CNN或者DCN v1的error-bounded saliency regions会延伸到RoI之外,即包含了与检测不相关的背景区域,作者认为这会影响分类结果。另外作者发现R-CNN的分类结果完全是依赖于RoI的,因为R-CNN的分类输入实际上是经过cropped的RoI。所以作者设计了称为R-CNN feature mimicking的结构,即R-CNN来监督改善对RoI的特征提取过程,或者将R-CNN称为teacher或guidance:

  左边是Faster R-CNN,右边是R-CNN,两个分支共享权重。使用Faster R-CNN得到ROI后在原图上裁剪并 resize成224×224输入到R-CNN,经过 R-CNN提取特征后得到14×14的特征图,经过2个fc层输出1024维特征,用两个网络的输出特征计算损失,从而实现对RoI的特征提取过程的改善。由于R-CNN的输入只有ROI,也就只能关注ROI内部的特征,将R-CNN作为guidance强迫Faster R-CNN同样关注ROI里面的内容,这种强迫就通过deformable convolution和RoIpooling的offsets实现。
损失函数:
L mimic  = b Ω [ 1 cos ( f RCNN  ( b ) , f FRCNN  ( b ) ) ] L_{\text {mimic }}=\sum_{b \in \Omega}\left[1-\cos \left(f_{\text {RCNN }}(b), f_{\text {FRCNN }}(b)\right)\right]

损失函数只应用于正样本,因为正样本只限于自身特征,负样本需要背景或者其它信息判断。
常规卷积和基于DCN v2模型的效果对比:
在这里插入图片描述
在这里插入图片描述

消融实验:

关于deformable convolution和RoI pooling堆叠的消融实验:
在这里插入图片描述

(m)dconv和(m)dpool表示 (modulated) deformable convolution和 (modulated) deformable RoIpooling。
在这里插入图片描述
  对正负样本使用上述损失函数的影响(FG: foreground;BG:background),下左图:

DCN v2, DCN v1 和常规的ConvNets在不同的backbones的效果,上右图。
DCN v2和常规的ConvNets在不同的图像分辨率上的表现:
在这里插入图片描述

Baseline是基于ResNet-50和ResNet-101的Faster R-CNN,结果表明DCN v2在全输入分辨率上都有良好的表现。在输入较短边大于1000 像素时,基于常规卷积的模型得分迅速下降,在目标处于中大尺寸时,这种下降更为明显:
在这里插入图片描述

基于ResNet-101的多尺度测试:
在这里插入图片描述

发布了4 篇原创文章 · 获赞 0 · 访问量 74

猜你喜欢

转载自blog.csdn.net/qq_35078996/article/details/105201162
今日推荐