专栏首页晓飞的算法工程笔记可变形卷积系列(三) Deformable Kernels,创意满满的可变形卷积核 | ICLR 2020
原创

可变形卷积系列(三) Deformable Kernels,创意满满的可变形卷积核 | ICLR 2020

论文提出可变形卷积核(DK)来自适应有效感受域,每次进行卷积操作时都从原卷积中采样出新卷积,是一种新颖的可变形卷积的形式,从实验来看,是之前方法的一种有力的补充。  

来源:晓飞的算法工程笔记 公众号

论文: Deformable Kernels: Adapting Effective Receptive Fields for Object Deformation

Introduction


  传统的卷积由于存在硬性的规则,在对于物体放大或旋转时,不能作出适应性的改变,而可变形卷积则通过改变输入的采样位置来进行适应性的改变,即改变理论感受域。但理论感受域并不能度量像素对输出的贡献,相比理论感受域,更重要的是有效感受域(ERF),通过计算输出对应输入的偏导获得(与卷积权重相关),改变理论感受域只是改变有效感受域的一种手段。

  为此,论文提出可变形卷积核(Deformable Kernels, DK),用于进行可变形建模的新型卷积操作,在推理时根据输入直接生成新的卷积核来改变有效感受域。如图d,DK学习卷积核的偏移来对原卷积进行重新采样,而不改变输入数据。从实验结果来看,DK对分类任务和检测任务都十分有效,结合旧的可变形卷积方法能产生更好的结果。

Approach


  对有效感受域概念不感兴趣的可以直奔后面对可变形卷积核的描述,前面有效感受域的介绍不影响后面内容。

A Dive into Convolutions

  • 2D Convolution

  大小为$K\times K$,stride为1的二维卷积操作如公式1,输出为目标区域像素与卷积核乘积的和,$\mathcal{K}=-K/2,K/2^2$。

  • Theoretical Receptive Field  卷积层单个输出相对于上一层的输入的感受域大小为卷积核大小$K\times K$,当卷积层叠加起来时,单个输出的对应的隔层感受域也会因此而叠加,得到的叠加区域即理论感受域,与卷积核大小$K$和网络深度$n$线性相关。
  • Effective Receptive Field  由于卷积的叠加以及非线性激活的引入,理论感受域内的像素对输出的贡献各不相同,可以使用有效感受域(ERF)来度量区域内每个像素对输出的影响,通过计算输出对应像素值的偏导得到,具体可以看参考论文。

Analysis on Effective Receptive Fields

  这里主要分析如何根据输入和一系列卷积来计算有效感受域,先分析线性卷积网络的情景,再拓展到非线性卷积网络。

  对于线性卷积网络,给定$I^{(0)}$为输入图片以及stride为1的$K\times K$卷积权重合集${W^{(s)}}_{s=1}^n$,公式1可以展开为公式2,特征图$I$和卷积权重$W$的上标以及卷积核位置$k$的下标为层数$s\in 1, n$。

  根据ERF的定义,输出坐标$j$对应输入坐标$i$的有效感受域值$\mathcal{R}^{(n)}(i;j)=\partial I_j^{(n)} / \partial I_i^{(0)}$计算为公式3,$\Bbb{1}\cdot$为指示函数。公式3的意义为所有从$i$到$j$的路径的权重和,权重的计算为卷积核权重的累积,有效感受域值跟输出的采样位置$j$、卷积核位置$k$以及卷积核权重${W^{(s)}}$有关。

  假设将第$m$个卷积核$W^{(m)}$替换为$1\times 1$卷积核$W{\tilde{k}_m}^{(m)}$,ERF的计算会变为公式4,$S=1,n$\ $m$即不包含$m$层,这里每条路径权重直接乘上$W{\tilde{k}_m}^{(m)}$,因为$m$层只有一个路径,符合指示函数的路径必定包含$k_m$。

  $K\times K$卷积可以看成分散在矩形区域内的$K^2$个$1\times 1$卷积,因此,公式3可以改写成公式5,将$m$层的$K\times K$卷积看成多个$1\times 1$卷积,相对的输出位置也要进行相应的修改(这里应该为$j-k_m$比较合适)。

  对于复杂的非线性卷积,在公式1中加入ReLU激活得到公式6,即每层卷积都接激活函数。

  非线性版本的有效感受域值计算为上式,因子$\mathcal{C}$使得ERF值变成与数据相关,实际中的有效感受域是不规则的形状,包含许多不规则分布的零值。

  需要注意,公式4和公式5的计算是线性的,使得有效感受域值计算能与内核的线性采样操作兼容,比如使用双线性插值获得小数位置的内核值,即可以认为内核采样等对数据进行线性ERF采样(ERF与输出的采样位置$j$、卷积核位置$k$以及卷积核权重${W^{(s)}}$有关),这种兼容性也可以相似地推广到非线性的情况下。基于以上的分析,论文提出可变形卷积核(Deformable Kernels, DK)。

Deformable Kernels(DK)

  DK添加了可学习的核偏移值,使得输出的计算从公式1变为公式7,ERF的计算也变成了与核偏移值相关的公式8。由于偏移值通常包含小数,使用双线性插值来计算偏移后的值。

  原卷积核的大小称为score size,一般DK对scope size是没有约束的,即可以从大小为$K^{'}$的原卷积中采样出$K^2$的新卷积,然后用于大小为$K^2$区域上。这样网络能够尽可能使用更大的原卷积而不会带来太多的额外计算,论文最大的原卷积为$9\times 9$。

  如图2,DK有两种实现形式,全局模式和局部模式,$\mathscr{G}$为可学习的核偏移值生成器,将输入块转换为内核的偏移值:

  • 全局模式$\mathscr{G}_{global}$的实现为global average pooling层+全连接层,分别用于降维以及输出$2K^2$个偏移值。
  • 局部模式$\mathscr{G}_{local}$的实现为与目标卷积大小一样的卷积操作,输出为$2K^2$维,最终输出为$2K^2\times 1\times 1$。

  全局模式更关注整体图片,根据整图进行核偏移,而局部模式则更关注图片的局部区域,对于小物体,生成形状特别的核(值差异大),从而使得ERF更密集,而对于大物体,生成较扁平的核(值差异小),使得ERF更广阔。一般情况下,局部模式的自由度更高。

Computation Flow of Deformable Kernels

  图5展示了局部DK的计算示意图,偏移值生成器根据输入生成偏移值,将目标卷积的点均匀平铺在原卷积中,然后根据偏移值进行偏移,使用双线性插值计算偏移后的权重更新目标卷积,最后使用目标卷积对输入进行卷积输出。

  前向时,给予原卷积$W$和学习到的卷积核偏移${ \Delta k }$,结合双线性插值$\mathcal{B}$生成目标卷积$W^{'}$,然后使用目标卷积对输入进行常规的卷积输出。

  DK的反向传播需要生成3种梯度:

  • 前一层特征图的梯度
  • 当前层原生卷积的梯度
  • 当前层偏移值生成器的梯度

  前两种的计算方法与普通的卷积一样,第三种则使用公式13结合双线性插值的计算方法。

  DK的核心是学习适应输入的偏移值来原卷积进行采样,从而达到可变形的目的,整体思想可能与可变形卷积类似。

  可变形卷积的计算如公式9,主要是对数据进行偏移,而有效感受域则为公式10。如前面说到的,有效感受域与输出的采样位置以及卷积核位置有关,这在一定程度上了解释可变形卷积为何适用于学习形状多变的目标。

  假设同时对数据和核进行偏移,输出的计算以及有效感受域的计算如公式11,尽管两种方法的目的是类似的,但在实际中发现,两种方法协作能够带来很好更好的效果。

Experiments


  实验主要针对深度卷积(depthwise convolutions)进行优化,内核偏移不能超过越过score size。基础模型为ResNet-50-DW和MobileNetV2,对比实验加入条件卷积(Conditional Convolutions)和可变形卷积(Deformable Convolutions)的对比。

Image Classification

Object Detection

What do Deformable Kernels Learn?

  将MobileNet-V2的最后一层卷积进行t-SNE降维得到可视化结果,点的颜色为类别(10类)或bbox尺寸(10等分),对比DK和条件卷积,条件卷积学习到语义相关的特征,而DK则学习到尺寸相关的特征,这解释了前面的实验两种方法同时使用效果更好。

  对不同的卷积的有效感受域进行了可视化,可变形卷积与DK都能产生类似的适应ERF,但可变形卷积倾向于更广阔的响应,DK则倾向于集中在物体内部,两者结合效果最佳。

CONCLUSION


  论文提出可变形卷积核(DK)来自适应有效感受域,每次进行卷积操作时都从原卷积中采样出新卷积,是一种新颖的可变形卷积的形式,从实验来看,是之前方法的一种有力的补充。

如果本文对你有帮助,麻烦点个赞或在看呗~undefined更多内容请关注 微信公众号【晓飞的算法工程笔记】

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • DRConv:旷视提出区域感知动态卷积,多任务性能提升 | CVPR 2020

    目前主流的卷积操作都在空间域进行权值共享,而如果想得到更丰富的信息,只能通过增加卷积的数量来实现,这样不仅计算低效,也会带来网络优化困难。与主流卷积不同,loc...

    VincentLee
  • CSG:清华大学提出通过分化类特定卷积核来训练可解释的卷积网络 | ECCV 2020 Oral

    论文: Training Interpretable Convolutional Neural Networks by Differentiating Clas...

    VincentLee
  • CondenseNet:可学习分组卷积,原作对DenseNet的轻量化改造 | CVPR 2018

    论文:Neural Architecture Search with Reinforcement Learning

    VincentLee
  • 轻量级神经网络系列——MobileNet V1

    自从2017年由谷歌公司提出,MobileNet可谓是轻量级网络中的Inception,经历了一代又一代的更新。成为了学习轻量级网络的必经之路。

    小草AI
  • 思考: 根据 图片数据集 规律性 灵活设计 卷积结构

    先用 大卷积核 对输入的整张 feature map 进行第一轮的常规卷积:

    JNingWei
  • 深度学习: 感受野 (receptive field)

    感受野的计算 主要与 卷积层 和 池化层 的 窗口大小 (size)、移动步长 (stride) 以及 填充 (padding) 有关。

    JNingWei
  • [深度学习]Charpter 9:卷积网络

    卷积网络convolutional network,也叫做卷积神经网络convolutional neural network CNN 专门用来处理类似网格结构...

    wOw
  • 深度学习(二)神经网络中的卷积和反卷积原理

    原文地址:https://www.cnblogs.com/DOMLX/p/9579392.html

    徐飞机
  • 推荐 | 深度学习反卷积最易懂理解

    普通图像反卷积,跟深度学习中的反卷积是一回事吗?别傻傻分不清!其实它们根本不是一个概念

    OpenCV学堂
  • 深度学习-卷积神经网络原理

    卷积神经网络又称作(ConvNet, CNN),它的出现解决了人工智能图像识别的难题,图像识别数据量大,并且在识别的过程中很难保留原有的信息,因此卷积的作用就体...

    用户7760819

扫码关注云+社区

领取腾讯云代金券