《Deformable Convolutional Networks》是一篇2017年Microsoft Research Asia的研究。基本思想也是卷积核的采样方式是可以通过学习得到的。作者提出了两种新的op:deformable convolution和deformable roi pooling,主要是通过给传统卷积采样点加offsets的方式来获得新的采样点。来自:https://arxiv.org/pdf/1703.06211.pd        

传统卷积窗口只要训练每个卷积窗口的像素权重参数即可。而可变形卷积网络必须外加一些参数用来训练卷积窗口的形状(各个像素的偏移向量offset):

Deformable Convolution

上图的offset field就是变形卷积外加的待训练参数,大小和输入层图片大小一样(input feature map),卷积窗口在offset field上滑动就呈现了卷积像素偏移的效果,达到采样点优化的效果。

在实际应用中,对于一个的输入,若使用3*3的卷积核,则先通过卷积,生成一个新的channel数为2*3*3的feature map(大小不变),分别代表不同方向上x,y的offset值。

Deformable RoI Pooling

       在实际使用中,若pooling的目标为一个3*3的featrue map,那么我们需要2×3个偏置对应每一个bin,首先将输入的featrue map进行roi pooling为3*3大小的feature,然后通过全连接,输出为每一个bin(输出feature map大小决定bin个数)对应的offset。同时为了保证采样大小,需要对offset进行normalization。
 

补充STN:

通过仿射矩阵可以求得特征矩阵上的点在经过特定仿射变换后对应输出的位置,通过双线性插值,我们可以得到一个新的特征矩阵。我们可以通过学习来设定仿射矩阵的参数,从而通过仿射矩阵对特征矩阵进行有效归一,我们称其为空间变换器(Spatial Transformers)。

空间变换结构包含三个部分:

空间变换结构
  1. Localisation Network:以的feature map作为输入,以变换矩阵的元素作为输出的网络结构,变换矩阵可以为任意形式,对于仿射变换矩阵而言,为一个6参数矩阵。
    网络可以是以回归层为终止的多种网络结构,可以采用全连接结构也可以采用卷积结构。

  2. Parameterised Sampling Grid:根据Localisation Network的参数,我们对一个一般的feature map产生一个特定的变换后的grid(通过逆变换)。通过仿射变换:

    同时将输入的横纵坐标范围和输出的横纵左边范围归一化为[-1,+1]。由此对图像进行裁剪、平移、旋转、拉伸及扭曲形成输出的feture map。

    左图为一般采样下的grid,右图为空间变换采样的grid
  3. Differentiable Image Sampling:在获得相应的grid和变换矩阵后,需要对原featrue map进行采样从而得到新的feature map。
    通过变换矩阵相关的采样核:

    将原feature map映射到新feature map中,如双线性插值:

    双线性插值

    该变换可以求梯度:

    (变换矩阵反向传播?)

通过以上三个结构,就形成了了一个空间变换器。该结构可以背放在卷积网络的任意位置,通过训练学习如何得到最有效的变换方式。

Deformable Convolutional Networks-v1-v2(可变形卷积网络)的更多相关文章

  1. 深度学习方法(十三):卷积神经网络结构变化——可变形卷积网络deformable convolutional networks

    上一篇我们介绍了:深度学习方法(十二):卷积神经网络结构变化--Spatial Transformer Networks,STN创造性地在CNN结构中装入了一个可学习的仿射变换,目的是增加CNN的旋转 ...

  2. 论文阅读笔记三十八:Deformable Convolutional Networks(ECCV2017)

    论文源址:https://arxiv.org/abs/1703.06211 开源项目:https://github.com/msracver/Deformable-ConvNets 摘要 卷积神经网络 ...

  3. Deformable Convolutional Networks

    1 空洞卷积 1.1 理解空洞卷积 在图像分割领域,图像输入到CNN(典型的网络比如FCN)中,FCN先像传统的CNN那样对图像做卷积再pooling,降低图像尺寸的同时增大感受野,但是由于图像分割预 ...

  4. 目标检测论文阅读:Deformable Convolutional Networks

    https://blog.csdn.net/qq_21949357/article/details/80538255 这篇论文其实读起来还是比较难懂的,主要是细节部分很需要推敲,尤其是deformab ...

  5. 图像处理论文详解 | Deformable Convolutional Networks | CVPR | 2017

    文章转自同一作者的微信公众号:[机器学习炼丹术] 论文名称:"Deformable Convolutional Networks" 论文链接:https://arxiv.org/a ...

  6. pytorch实现 | Deformable Convolutional Networks | CVPR | 2017

    文章转载自微信公众号:[机器学习炼丹术],请支持原创. 这一篇文章,来讲解一下可变卷积的代码实现逻辑和可视化效果.全部基于python,没有C++.大部分代码来自:https://github.com ...

  7. 论文讨论&&思考《Deformable Convolutional Networks》

    这篇论文真是让我又爱又恨,可以说是我看过的最认真也是最多次的几篇paper之一了,首先deformable conv的思想我觉得非常好,通过end-to-end的思想来做这件事也是极其的make se ...

  8. Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network(GCN全局卷积网络)

    作者认为语义分割的两个挑战是分类和定位,而这两个挑战又是比较对立的.对于分类问题,模型需要有变形和旋转不变形,而对于定位问题,模型有需要对变形敏感. 提出的GCN遵循两个主要原则: 1.对定位问题,模 ...

  9. How to do Deep Learning on Graphs with Graph Convolutional Networks

    翻译: How to do Deep Learning on Graphs with Graph Convolutional Networks 什么是图卷积网络 图卷积网络是一个在图上进行操作的神经网 ...

随机推荐

  1. 什么情况下,会用到fiddler或者charles?

    有的页面,比如设限制的html页面,比如原生页面,只能在手机APP里面查看,无法在电脑浏览器中打开查看,这时候,需要用fiddler抓包来查看返回数据,定位问题.

  2. JZYZOJ 2041 快速数论变换 NTT 多项式

    http://172.20.6.3/Problem_Show.asp?id=2041 https://blog.csdn.net/ggn_2015/article/details/68922404 代 ...

  3. SmartSVN has inconsistent newlines解决方法

    SmartSVN has inconsistent newlines解决方法 点击 Project–>Setting,选择Working copy下的EOL-style,将Default EOL ...

  4. HTML5 的新特性以及新标签的浏览器兼容问题

    新特性: HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,多任务等功能的增加. 1)  拖拽释放(Drag and drop) API 2)  语义化更好的内容标签(heade ...

  5. 用 consul + consul-template + registrator + nginx 打造真正可动态扩展的服务架构

        https://mp.weixin.qq.com/s?src=3&timestamp=1503654544&ver=1&signature=UcJdgd4vgt*3AR ...

  6. Sublime Text 2 快捷键(转)

    文件 File 新建文件 Ctrl + N 打开文件 Ctrl + O 打开最近关闭的文件 Ctrl + Shift + T 保存 Ctrl + S 另存为… Ctrl + Shift + S 关闭文 ...

  7. AE开发中关于 “无法嵌入互操作类型.........请改用适用的接口”问题的解决方法

    最近开始使用VS2010,在引用COM组件的时候,出现了“无法嵌入互操作类型……,请改用适用的接口”的错误提示. 查阅资料,找到解决方案,记录如下: 选中项目中引入的dll,鼠标右键,选择属性,把“嵌 ...

  8. SQLSERVER误删Windows登录用户验证方式使用Windows身份验证的解决方法

    今天看到这篇文章:没有了SA密码,无法Windows集成身份登录,DBA怎么办? 想起来之前着急哥问我的一个问题,一个DBA删除了Windows登录用户,而且SQLSERVER服务器的验证方式是Win ...

  9. 爬虫IP被禁的简单解决方法

    爬虫以前听上去好厉害好神秘的样子,用好了可以成就像Google.百度这样的索索引擎,用不好可以凭借不恰当的高并发分分钟崩掉一个小型网站.写到这里想到12306每年扛住的并发请求量,觉得好牛逼. 爬虫和 ...

  10. perl 信号

    来自:http://www.bagualu.net/wordpress/?p=1628 使用signal,能让你的程序功能更丰富.要在Linux下列出所有的signal, 利用kill -l即可. 下 ...