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

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

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

  • 论文地址:https://arxiv.org/abs/1910.02940
  • 代码地址:https://github.com/hangg7/deformable-kernels

Introduction


  传统的卷积由于存在硬性的规则,在对于物体放大或旋转时,不能作出适应性的改变,而可变形卷积则通过改变输入的采样位置来进行适应性的改变,即改变理论感受域。但理论感受域并不能度量像素对输出的贡献,相比理论感受域,更重要的是有效感受域(ERF),通过计算输出对应输入的偏导获得(与卷积权重相关),改变理论感受域只是改变有效感受域的一种手段。
  为此,论文提出可变形卷积核(Deformable Kernels, DK),用于进行可变形建模的新型卷积操作,在推理时根据输入直接生成新的卷积核来改变有效感受域。如图d,DK学习卷积核的偏移来对原卷积进行重新采样,而不改变输入数据。从实验结果来看,DK对分类任务和检测任务都十分有效,结合旧的可变形卷积方法能产生更好的结果。

Approach


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

A Dive into Convolutions

  • 2D Convolution

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

  • Theoretical Receptive Field

  卷积层单个输出相对于上一层的输入的感受域大小为卷积核大小K×KK\times KK×K,当卷积层叠加起来时,单个输出的对应的隔层感受域也会因此而叠加,得到的叠加区域即理论感受域,与卷积核大小KKK和网络深度nnn线性相关。

  • Effective Receptive Field

  由于卷积的叠加以及非线性激活的引入,理论感受域内的像素对输出的贡献各不相同,可以使用有效感受域(ERF)来度量区域内每个像素对输出的影响,通过计算输出对应像素值的偏导得到,具体可以看参考论文。

Analysis on Effective Receptive Fields

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

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

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

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

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

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

  非线性版本的有效感受域值计算为上式,因子C\mathcal{C}C使得ERF值变成与数据相关,实际中的有效感受域是不规则的形状,包含许多不规则分布的零值。
  需要注意,公式4和公式5的计算是线性的,使得有效感受域值计算能与内核的线性采样操作兼容,比如使用双线性插值获得小数位置的内核值,即可以认为内核采样等对数据进行线性ERF采样(ERF与输出的采样位置jjj、卷积核位置kkk以及卷积核权重{W(s)}\{W^{(s)}\}{W(s)}有关),这种兼容性也可以相似地推广到非线性的情况下。基于以上的分析,论文提出可变形卷积核(Deformable Kernels, DK)。

Deformable Kernels(DK)

  DK添加了可学习的核偏移值,使得输出的计算从公式1变为公式7,ERF的计算也变成了与核偏移值相关的公式8。由于偏移值通常包含小数,使用双线性插值来计算偏移后的值。
  原卷积核的大小称为score size,一般DK对scope size是没有约束的,即可以从大小为K′K^{'}K′的原卷积中采样出K2K^2K2的新卷积,然后用于大小为K2K^2K2区域上。这样网络能够尽可能使用更大的原卷积而不会带来太多的额外计算,论文最大的原卷积为9×99\times 99×9。

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

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

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

Computation Flow of Deformable Kernels

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

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

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

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

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

Link with Deformable Convolutions

  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)来自适应有效感受域,每次进行卷积操作时都从原卷积中采样出新卷积,是一种新颖的可变形卷积的形式,从实验来看,是之前方法的一种有力的补充。



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

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

  1. 可变形卷积神经网络 | Deformable Network

    论文标题:Deformable Convolutional Networks 论文链接:https://arxiv.org/abs/1703.06211 所要解决的问题 视觉识别的关键挑战是如何在对象 ...

  2. Deformable Convolutional可变形卷积回顾

    点击上方"AI公园",关注公众号,选择加"星标"或"置顶" 作者:Sik-Ho Tsang 编译:ronghuaiyang 导读 使用可变形 ...

  3. 可变形卷积学习(RepPoints)

    近来在学习anchor-free网络,看到了可变形卷积(Deformable Convolutional Networks(DCN))的内容,大致总结一下,便于后面回顾. 可变形卷积可从以下三篇论文去 ...

  4. 可变形卷积在视频学习中的应用:如何利用带有稀疏标记数据的视频帧

    卷积层是卷积神经网络的基本层.虽然它在计算机视觉和深度学习中得到了广泛的应用,但也存在一些不足.例如,对于某些输入特征图,核权值是固定的,不能 适应局部特征的变化,因此需要更多的核来建模复杂的特征图幅 ...

  5. 可变形卷积网络--Deformable Convolutional Networks

    https://arxiv.org/abs/1703.06211 Microsoft Research Asia Code coming soon 本文可以看做是对 Spatial Transform ...

  6. 深度学习之 DCN(Deformable Convolution)-可变形卷积

    Paper link: http://openaccess.thecvf.com/content_ICCV_2017/papers/Dai_Deformable_Convolutional_Netwo ...

  7. 更灵活、有个性的卷积——可变形卷积(Deformable Conv)

    作者简介 CW,广东深圳人,毕业于中山大学(SYSU)数据科学与计算机学院,毕业后就业于腾讯计算机系统有限公司技术工程与事业群(TEG)从事Devops工作,期间在AI LAB实习过,实操过道路交通元 ...

  8. 可变形卷积(Deformable Convolution)

    可变形卷积 前言: 一.可变形卷积 1.原文摘要(Abstract) 2.可变形卷积 前言: 之前分了两次将深度学习中常用的各种卷积操作进行了汇总介绍,具体包括标准2D卷积.1×1卷积.转置卷积.膨胀 ...

  9. 可变形卷积(Deformable Conv)原理解析与torch代码实现

    1. 可变形卷积原理解析 1.1 普通卷积原理 传统的卷积操作是将特征图分成一个个与卷积核大小相同的部分,然后进行卷积操作,每部分在特征图上的位置都是固定的. 图1 普通卷积过程 图1所示为普通卷积在 ...

最新文章

  1. 关于.h .cpp和inline的讨论
  2. python的os模块批量获取目标路径下的文件名
  3. aspx写入mysql_Asp.net用户登陆数据库验证与注册写入数据库
  4. mybatis学习(52):扩展结果的展现
  5. 建设网站需要的Bootstrap介绍与操作
  6. 互联网晚报 | 3月13日 星期日 |​ ​​上海加强疫情防控:非必要不离沪;MasterGo宣布上线Figma文件导入功能...
  7. 关于flex布局学习分享
  8. Scikit-Learn简单操作
  9. Python 读取文本文件编码错误解决方案(未知文本文件编码情况下解决方案)
  10. 配置 sql server linux,配置SQL Server on Linux(2)
  11. JavaScript的优势和劣势
  12. 案例分析:数据驱动增长的数据虚荣与彷徨
  13. 【科创人独家】华旦天使张洁:风口是创业者的造物,投资本质是件农活
  14. 校园卡查询系统C语言,校园卡帐号的查询方法
  15. 胡昌泽day5_循环语句
  16. Linux/Centos nethogs 按进程监控网络带宽
  17. 解决tplink wn726 无线网卡在linux下不能使用的问题
  18. ffmpeg学习笔记
  19. 成都计算机博士点,2017学位授权审核结果公示!快看四川高校新增哪些博士点?...
  20. 作文经典好词好句好段摘抄大全

热门文章

  1. 北风修仙笔记—2020年3月
  2. HDU 4489 The King’s Ups and Downs(组合DP)
  3. SpringSecurity实现数据库认证
  4. 分享我见到的培训面试和就业的情况(同时给出建议)
  5. 51单片机之共阳数码管
  6. openstack云计算平台 2(计算服务、Networking 服务、命令行方式启动实例)
  7. graphviz画图之张柏芝前夫是谢霆锋
  8. win10修复tcp驱动服务器,怎么解决tcpip.sys文件导致蓝屏|Win10的tcpip修复工具
  9. CC2530+RFX2401启用功放过程小结
  10. 【无标题】打印水仙花(pyth)