Deformable ConvNets
Deformable ConvNets
论文 Deformable Convolutional Networks(arXiv:1703.06211)
CNN受限于空间结构,具有较差的旋转不变性,较弱的平移不变性.这篇论文提出了两个可替换原有组件的模块:可变形卷积和RoI pooling.均基于增加空间采样位置,通过网络学习位置偏移的思想.
传统增加空间变换性的方法
数据集增广
通过仿射变换等使数据集具有足够多的变换形式,使得模型能够从数据中学习到鲁棒的表示.但缺点是训练代价大,模型参数复杂.
使用具有一定空间不变性的特征和算法
如SIFT特征和基于滑窗的目标检测方法.
上述方法均需要利用一定的先验知识,不具有广泛的通用性.
Deformable Convolution
通过变换标准的卷积中的采样网格使得采样的位置是自由的形状,而不拘束于传统的矩形,其实现方式是通过额外的并列的卷积层学习位置偏移,仅增加了少量的参数来学习偏移.后边的讨论均以2-D卷积为例.
在普通卷积中每个像素点的计算方式为:
如3x3卷积,dilation=1的9个位置为\(\mathcal R=\{(-1,-1),(-1,0),\cdots,(0,1),(1,1)\}\),对输出特征图上的每个位置\(p_0\),有:
\[
y(p_0)=\sum_{p_n\in \mathcal R}\mathbb w(p_n)\cdot \mathbb x(p_0+p_n)
\]
在可变卷积中引入偏移量\(\Delta p_n\)使得采样位置不规则,公式变为:
\[
y(p_0)=\sum_{p_n\in \mathcal R}\mathbb w(p_n)\cdot \mathbb x(p_0+p_n+\Delta p_n)
\]
由于\(\Delta p_n\)很小,上式中的采样点会是浮点型, \(x(p_0+p_n+\Delta p_n)\)可以通过双线性差值得到:
\[
\mathbb x(p)=\sum_q G(q,p)\cdot \mathbb x(q)
\]
其中\(p=p_0+p_n+\Delta p_n\)代表任意的位置,q遍历特征图x上的所有空间位置(其实仅利用了插值点p的相邻元素),G是bilinear interpolation kernel,且是2-D的: \(G(q, p) = g(q_x , p_x ) · g(q_y , p_y )\),其中\(g(a, b) = \max(0, 1 − |a − b|)\).
值的注意的是deformable conv学习的是输出特征图上每个特征点对应输入特征图上的卷积作用位置的偏移量, 而deformable conv的kernel中并非偏移量(conv之后的特征图才是偏移量).
上图中offset field和input feature map的尺寸大小相同, 通道数是输入特征图通道的两倍, 因为偏移量需要用(x,y)两个维度表示. 这个额外的产生偏移量的conv/fc层的权重初始化为0.
论文中提到了以下几个分割和检测网络,在其上运用可变形卷积:
- DeepLab 是一个语义分割网络,在特征图上使用1x1的卷积产生C+1个图表示每个像素的分类score,再接softmax得到概率值.
- 多类别RPN(Category-Aware region proposal network),将faster rcnn中提出的RPN的2类别(目标/非目标)替换为C+1个类别.可以被认为是简化版的SSD.
- Faster R-CNN在此论文中采用了FPN的设计方式将RoIPooling添加到最后的卷积层之后来减少每个RoI的计算量.RoI pooling 层可以被替换为deformable RoI pooling.
- R-FCN具有可以忽略的per-ROI计算代价.RoI pooling 可以被 deformable position-sensitive RoI pooling替换.
与 STN 的对比
STN 是最早的一篇在网络中学习空间变换的论文工作, 但是仿射变换的代价很大, 学习这样的参数比较困难. 在小尺寸的图像分类任务中运用的较好. (随后有STN的改进: inverse STN).
Deformable convolution可以看作是STN的轻量级版本,但是并不采用STN的特征变换方式.
Deformable convolution可以很容易的集成到任何CNN结构中,它的训练简单,对于复杂的任务比较有效,如稠密预测(语义分割),半稠密预测(目标检测),而这些任务对于具有相似思想的STN(空间变换网络)则较难.
Deformable ConvNets的更多相关文章
- 论文阅读笔记四十:Deformable ConvNets v2: More Deformable, Better Results(CVPR2018)
论文源址:https://arxiv.org/abs/1811.11168 摘要 可变形卷积的一个亮点是对于不同几何变化的物体具有适应性.但也存在一些问题,虽然相比传统的卷积网络,其神经网络的空间形状 ...
- 论文笔记:Deformable ConvNets v2: More Deformable, Better Results
概要 MSRA在目标检测方向Beyond Regular Grid的方向上越走越远,又一篇大作推出,相比前作DCN v1在COCO上直接涨了超过5个点,简直不要太疯狂.文章的主要内容可大致归纳如下: ...
- 论文阅读:Deformable ConvNets v2
论文地址:http://arxiv.org/abs/1811.11168 作者:pprp 时间:2019年5月11日 0. 摘要 DCNv1引入了可变形卷积,能更好的适应目标的几何变换.但是v1可视化 ...
- 论文阅读笔记三十八:Deformable Convolutional Networks(ECCV2017)
论文源址:https://arxiv.org/abs/1703.06211 开源项目:https://github.com/msracver/Deformable-ConvNets 摘要 卷积神经网络 ...
- Deformable Convolutional Networks-v1-v2(可变形卷积网络)
如何评价 MSRA 视觉组最新提出的 Deformable ConvNets V2? <Deformable Convolutional Networks>是一篇2017年Microsof ...
- 图像处理论文详解 | Deformable Convolutional Networks | CVPR | 2017
文章转自同一作者的微信公众号:[机器学习炼丹术] 论文名称:"Deformable Convolutional Networks" 论文链接:https://arxiv.org/a ...
- zz——Recent Advances on Object Detection in MSRA
本文由DataFun社区根据微软亚洲研究院视觉组Lead Researcher Jifeng Dai老师在2018 AI先行者大会中分享的<Recent Advances on Object D ...
- AI大有可为:NAIE平台助力垃圾分类
摘要:生活垃圾的分类和处理是目前整个社会都在关注的热点,如何对生活垃圾进行简洁高效的分类与检测对垃圾的运输处理至关重要.AI技术在垃圾分类中的应用成为了关注焦点. 如今AI已经是这个时代智能的代名词了 ...
- object detection 总结
1.基础 自己对于YOLOV1,2,3都比较熟悉. RCNN也比较熟悉.这个是自己目前掌握的基础2.第一步 看一下2019年的井喷的anchor free的网络3.第二步 看一下以往,引用多的网路4. ...
随机推荐
- Docker容器学习梳理 - 容器间网络通信设置(Pipework和Open vSwitch)
自从Docker容器出现以来,容器的网络通信就一直是被关注的焦点,也是生产环境的迫切需求.容器的网络通信又可以分为两大方面:单主机容器上的相互通信,和跨主机的容器相互通信.下面将分别针对这两方面,对容 ...
- jeecg的下拉列表
jeecg里面下拉列表的使用 ①建立数据字典seo_id <t:dictSelect field="operationPromotionAccount" typeGroupC ...
- 剑指offer:数组中重复的数字
题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度 ...
- 申港集中运营平台Linux测试环境架构搭建
架构图 服务一览 ESB安装 ESB全称为Enterprise Service Bus,即企业服务总线.ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素.ESB的出现改变了传统的软件架 ...
- [BUAA2017软工]第1次个人项目 数独
[BUAA软工]第1次作业 个人项目 数独 一.项目地址 github地址:https://github.com/BuaaAlen/sudoku 二.PSP表格 三.解题思路描述 在拿到这个题目时,我 ...
- beta版验收互评
排名 团队名称 项目名称 优点 缺点,bug 报告 1 别看了你没救了队 校园帮帮帮(已发布) 实现普通用户的登陆,修改个人信息,发布信息,下订单的功能:管理员登陆,修改个人信息,发布信息,下订单,增 ...
- shell脚本--变量与数组
Linux中的变量有环境变量和用户自定义变量,关于环境变量,可以查看这篇博客:linux环境变量 本文主要针对的是用户在shell脚本中定义的变量,但是环境变量也可以在shell脚本中使用. 普通变量 ...
- Use curl with uuid(uuidgen) under shell
#!set uuidtmp = uuid.tmp #!uuidgen > $uuidtmp #!set uuid=<$uuidtmp #!rm $uuidtmp #!echo $uuid ...
- [转帖]浪潮openstack的逆袭
扬长补短 浪潮云平台的逆袭 http://blog.itpub.net/11310314/viewspace-2564083/ 浪潮并不是最早加入OpenStack的国内厂商,却实现同比303.1%的 ...
- [小知识] 关闭我的电脑里面的百度网盘以及修改win+e快捷键打开我的电脑
1. 登录百度云盘客户端 设置->基本->取消在我的电脑中显示百度网盘 2. 修改win+e的默认显示 打开我的电脑. 选择查看-选项 文件夹选项修改为: 此电脑即可..