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

时间:2022-11-07 08:38:31

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

论文源址:https://arxiv.org/abs/1703.06211

开源项目:https://github.com/msracver/Deformable-ConvNets

摘要

卷积神经网络由于其构建时固定的网络结构,因此只能处理模型的几何变换问题。本文主要介绍了两种增强CNN模型变换的模型,称为可变形卷积及可变形RoI pooling。二者都基于一种思路,通过额外增加模型的偏移及根据目标任务对此偏移量进行学习来增强空间采样位置。新模型可以取代CNN中的原有模型,可以通过反向传播算法进行端到端的训练学习。

 介绍

视觉识别任务中的一个重要挑战是,如何适应物体的尺寸,视野,姿态及部分变形的几何变化及模型几何变换。一般具有两种方式(1)构建具有多样性变化的训练数据集,通常是在现有数据集上进行一些额外变换。进而可以从数据集中学习到一些鲁棒性表示。但需要大量的训练及模型参数。(2)使用非变换性质的特征及算法,比如SIFT及基于目标检测的滑动窗。

上述两种方式主要存在两个缺点。(1)模型的几何变换是假设固定,已知的。一些先验知识用于增强数据,特征及算法的设计。这种假设不利于具有位置几何变换新模型的生成。(2)手工设计的不变性特征及算法可能会很困难,对于复杂变换来说不太灵活。

卷积网络在视觉识别任务上取得了巨大的成功,比如图像分类,图像分割,目标检测。然而,仍然存在上述两个缺点。模型的几何变换能力主要通过扩展的数据增强,较大的模型能力,及一些简单的手工设计模块像最大池化。

CNN受限于模型的容量及未知变换。限制来源于CNN模型中固定的几何结构:一个卷积单元在固定位置采样输入feature map。pooling 层以一定的比例减少空间分辨率。RoI pooling层将一个RoI的信息划分为固定的空间bins。其中,缺少处理几何变换的中间机制。这会造成明显的问题。比如,相同的CNN层中激活单元的感受野大小相同。对于高级层次中的卷积层,对空间位置编码语义信息是不需要的。由于不同位置处与物体的不同尺寸,变形相关。自适应的确定尺寸及感受野的大小对视觉识别的定位意义重大。比如,语义分割使用全卷积网络。虽然,目标检测网络发展迅速,但所有方法仍依赖于基于特征提取的预选框中。对于非刚性物体,这种方式显然不是最好的。

本文中,介绍了两个新模型用于增强CNN对几何变换性的能力。第一个为可变形卷积,在标准的卷积中对方格中的采样点增加了一个2D的偏移。可以实现采样格子的随机变换。如下图所示。

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

偏移通过额外的卷积层从预处理的feature maps中进行学习。因此,输入特征是局部,密集的及自适应的,可变形并以此作为条件。

另一个为可变形RoI Pooling。在每个bin位置处增加了一个偏移。相似的,偏移仍从预处理过的feature maps及Rois中进行学习,从而可以对不同形状的物体自适应的定位。

上面的模型都是轻量级的,增加少量的参数用于偏移的学习。可以替换CNN中的普通部分,同时,可以进行端到端的训练学习。最终的CNN被称为可变形卷积网络。

本文提出的方法与空间变换网络及可变形的部分模型在主旨上具有较高的相似性。都具有中间的变换参数并通过从数据中进行学习。本文不同的是,本文主要考虑在一个样本中以一种简便高效可端对端训练的方式进行密集的空间变换操作。

Deformable Convolutional Networks

CNN中的feature maps及卷积是3D的。而可变形卷积及RoI poolings都是在2D空间上进行操作。整个操作保持通道数不发生变化。本文以2D举例论述,3D的可以直接扩展。

Deformable Convolution

2D卷积包含两部分:(1)通过一个矩形格子R在feature map x上进行采样。(2)带权重的采样值的求和。R定义了感受野及空洞的大小。比如,下列定义了一个3x3的卷积核,空洞大小为1.

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

针对输出feature map y上的每个位置p0,有如下操作

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

在可变形卷积中,标准的格子R增加了偏移量论文阅读笔记三十八:Deformable Convolutional Networks(ECCV2017)上式变为如下形式。

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

采样点在非矩形及偏移位置处论文阅读笔记三十八:Deformable Convolutional Networks(ECCV2017),将论文阅读笔记三十八:Deformable Convolutional Networks(ECCV2017)作为一部分,上式通过双线性插值操作得到x(p)如下,其中p代表,随机部分(p=p0+pn+deta pn),q映射feature map x中所有整体空间位置,G代表双线性插值核。G为两维的,可以被拆分为两个一维的

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

如下图所示,通过在相同的feature map上使用卷积层来得到偏移量。卷积核具有与当前卷积层相同的空间分辨率及扩张大小(3x3 with dilation 1)。输出的offset fields与输入feature map具有相同的空间分辨率。通通道数2N对应N个 2D的偏移。训练时,产生输出特征的卷积核与偏移同时进行学习。通过在上述等式中应用双线性插值及梯度下降算法学习偏移。

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

 Deformable RoI pooling

       RoI pooling基于目标检测方法中应用在所有region proposal。将任意输入大小的矩形框调整为固定尺寸大小的features。

       RoI pooling: 输入feature map x及大小为wxh的RoI,左上角的点p0, RoI pooling将输入分为kxk个bins同时,输出一个kxk的feature map y。对于第(i,j)个bin,有如下表示,

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

与Deformable 卷积中的式子相似,在空间bin位置处增加偏移量,结果如下

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

过程如下图,首先,RoI pooling会生成pooled feature maps。然后一个全连接层生成标准化后的offsets 论文阅读笔记三十八:Deformable Convolutional Networks(ECCV2017)得到上式中的论文阅读笔记三十八:Deformable Convolutional Networks(ECCV2017),通过与RoI的宽和高进行点乘操作进行标准化处理。

论文阅读笔记三十八:Deformable Convolutional Networks(ECCV2017),r代表预先定义尺寸,用于调整偏移带西奥,一般设置为0.1。偏移的标准化处理十分重要,可以使偏移的学习对不同的RoI大小具有不变性。全连接层通过反向传播进行学习。

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

位置敏感性RoI pooling:其为全卷积层,同时不同于RoI pooling。通过一个卷积层所有输入feature maps首先针对每个目标类别被变为kxk的score maps,如下图

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

在得到的score maps上执行pooling操作。第(i,j)处的bin的输出值通过计算bIn对应的score maps值的相加得到。简言之,与前面的可变形RoI pooling的不同点在于使用位置铭感的score map xi,j替换其中的feature map。

在可变形PS RoI pooling中,等式唯一的变化是将x变为xi,j,但offset 得学习是不同得。遵循全卷积的思想。在上图的上面分支,一个卷积层生成一个对应空间分辨率的offset fields,PS ROI pooling 应用于每个ROI,来得到标准化后的offsets 论文阅读笔记三十八:Deformable Convolutional Networks(ECCV2017),然后,以相同的方式得到实际偏移论文阅读笔记三十八:Deformable Convolutional Networks(ECCV2017)

       Deformable ConvNets: 可变形卷积与RoI pooling模型与正常的卷积与Roi pooling有相同的输入输出。因此,可以对卷积网络中的对应部分进行替换。训练时,增加卷积层及全连接层用于偏移量的学习,使用0对权重进行初始化。学习率设置为当前层数的论文阅读笔记三十八:Deformable Convolutional Networks(ECCV2017)倍,默认为1,Faster R-CNN中默认为0.01倍。在上面等式中使用双线性插值进行反向传播算法,最终的CNN被称为可变形卷积网络。

为了将可变形卷积网络与当前优秀的卷积结构进行结合,注意到这些网络包含两个阶段:(1)一个深层的全卷积网络对输入图片生成feature maps。(2)一个附属的任务网络用于根据feature map产生结果。

       Deformable ConvNets for Feature Extraction:  本文选用ResNet及改进的Inception ResNet进行特征提取。原始的Inception ResNet用于图像分类。针对密集预测任务其具有特征不匹配问题。对齐修改使其适用于匹配问题。两个模型都包含几个卷积blocks,一个平均池化层,及一千路全连接层。全连接层及平均池化层被移除。后接随机初始化的1x1卷积用于降维。为了增加feature map的分辨率,最后一个卷积block的有效stride由32个像素,变为16个。在最后一个block的开始处,stride由2变为1,.同时为了进行补偿,所有卷积核的dilation由1变为2.可变形卷积应用在最后几个卷积层中。论文阅读笔记三十八:Deformable Convolutional Networks(ECCV2017)

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

 Deformable ConvNets的理解

本文工作主要是:增强卷积中的空间采样位置,带偏移的RoI pooling及目标任务中偏移量的学习。标准卷积中的感受野及采样位置是固定的。而在可变形卷积中这些会根据目标的尺寸及形状自适应的发生变化。在可变形RoiPooling中,标准的RoIpooling的grid不存在,部分与RoI bins发生偏离,并移至附近的前景区域中,对非刚性物体的定位能力进行增强。

实验

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

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

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

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

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

Reference

[1] Y.-L. Boureau, J. Ponce, and Y. LeCun. A theoretical analysis of feature pooling in visual recognition. In ICML, 2010. 1

[2] B. D. Brabandere, X. Jia, T. Tuytelaars, and L. V. Gool. Dynamic filter networks. In NIPS, 2016. 6

[3] J. Bruna and S. Mallat. Invariant scattering convolution networks. TPAMI, 2013. 6

[4] L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L. Yuille. Semantic image segmentation with deep convolutional nets and fully connected crfs. In ICLR, 2015. 4, 7

[5] L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L. Yuille. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs. arXiv preprint arXiv:1606.00915, 2016. 4, 6, 7

[6] M. Cordts, M. Omran, S. Ramos, T. Rehfeld, M. Enzweiler, R. Benenson, U. Franke, S. Roth, and B. Schiele. The cityscapes dataset for semantic urban scene understanding. In CVPR, 2016. 7

论文阅读笔记三十八:Deformable Convolutional Networks(ECCV2017)的更多相关文章

  1. 论文阅读笔记(十八)【ITIP2019】:Dynamic Graph Co-Matching for Unsupervised Video-Based Person Re-Identification

    论文阅读笔记(十七)ICCV2017的扩刊(会议论文[传送门]) 改进部分: (1)惩罚函数:原本由两部分组成的惩罚函数,改为只包含 Sequence Cost 函数: (2)对重新权重改进: ① P ...

  2. 论文阅读笔记四十八:Bounding Box Regression with Uncertainty for Accurate Object Detection(CVPR2019)

    论文原址:https://arxiv.org/pdf/1809.08545.pdf github:https://github.com/yihui-he/KL-Loss 摘要 大规模的目标检测数据集在 ...

  3. 论文阅读笔记三十四:DSSD: Deconvolutiona lSingle Shot Detector(CVPR2017)

    论文源址:https://arxiv.org/abs/1701.06659 开源代码:https://github.com/MTCloudVision/mxnet-dssd 摘要 DSSD主要是向目标 ...

  4. 论文阅读笔记三十三:Feature Pyramid Networks for Object Detection(FPN CVPR 2017)

    论文源址:https://arxiv.org/abs/1612.03144 代码:https://github.com/jwyang/fpn.pytorch 摘要 特征金字塔是用于不同尺寸目标检测中的 ...

  5. 论文阅读笔记三十五:R-FCN:Object Detection via Region-based Fully Convolutional Networks(CVPR2016)

    论文源址:https://arxiv.org/abs/1605.06409 开源代码:https://github.com/PureDiors/pytorch_RFCN 摘要 提出了基于区域的全卷积网 ...

  6. 论文阅读笔记四十:Deformable ConvNets v2: More Deformable, Better Results(CVPR2018)

    论文源址:https://arxiv.org/abs/1811.11168 摘要 可变形卷积的一个亮点是对于不同几何变化的物体具有适应性.但也存在一些问题,虽然相比传统的卷积网络,其神经网络的空间形状 ...

  7. 论文阅读笔记三十六:Mask R-CNN(CVPR2017)

    论文源址:https://arxiv.org/pdf/1703.06870.pdf 开源代码:https://github.com/matterport/Mask_RCNN 摘要 Mask R-CNN ...

  8. 论文阅读笔记三十二:YOLOv3: An Incremental Improvement

    论文源址:https://pjreddie.com/media/files/papers/YOLOv3.pdf 代码:https://github.com/qqwweee/keras-yolo3 摘要 ...

  9. 论文阅读笔记三十:One pixel attack for fooling deep neural networks(CVPR2017)

    论文源址:https://arxiv.org/abs/1710.08864 tensorflow代码: https://github.com/Hyperparticle/one-pixel-attac ...

随机推荐

  1. NOI2018准备 Day8

    清北学堂入学测试,6道题凑了363分,平均466才能达到省选班的程度,差距不小. 今天突然感觉最大的BOSS是搜索,虽然每次都写崩...... 3个小时写了一道DP没写出来 但我不会忘记,我的首个目标 ...

  2. 如何处理Android SDK无法更新问题?

    在Android开发中,最痛苦的事情就是相关库升级后,Android SDK太低,跑步起来,最最痛苦的事情就是,想更新,却因大天朝的一墙之隔,愣是没法更新.遇到这种情况怎么办呢?小编和大家分享一个解决 ...

  3. 获取手机联系人项目 PPGetAddressBook

    PPGetAddressBook PPGetAddressBook对AddressBook框架(iOS9之前)和Contacts框架(iOS9之后)做了对应的封装处理; 支持获取按联系人姓名首字拼音A ...

  4. oschina服务器软件

    服务器软件 74Apache模块 54Nginx扩展模块 13Radius相关 94PaaS 系统 29服务发现/注册和协调 17Docker 扩展 7Docker 映像 83应用服务器 189HTT ...

  5. MicroPython教程之TPYBoard v102 CAN总线通信

    0x00前言 CAN是控制器局域网络(ControllerAreaNetwork,CAN)的简称,是ISO国际标准化的串行通信协议.CAN总线结构简单,只需2根线与外部相连,并且内部集成了错误探测和管 ...

  6. fiddler实现手机抓包

    对fiddler相关配置 1.允许fiddler捕获http协议,打开fiddler客户端,菜单框选择Tools->Options->HTTPS,勾选图中三项 2.允许远程连接,Tools ...

  7. [bzoj4813][Cqoi2017]小Q的棋盘

    来自FallDream的博客,未经允许,请勿转载,谢谢. 小Q正在设计一种棋类游戏.在小Q设计的游戏中,棋子可以放在棋盘上的格点中.某些格点之间有连线,棋子只能在有连线的格点之间移动.整个棋盘上共有V ...

  8. dotnet core使用开源组件FastHttpApi进行web应用开发

    FastHttpApi相对于asp.net mvc来说有着更轻量和性能上的优势,性能上面就不在这里介绍了(具体可查看 https://github.com/IKende/FastHttpApi).在这 ...

  9. Java this与super的仇与恨

    刚开始学习面向对象的时候,看到this和super觉得this就是指当前对象,super指最近的父级对象.觉得用处不大. 后来,随着学习的深入,看别人的代码越来越多,发现this和super的使用率贼 ...

  10. 自定义圆形ImageView(解决Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();报错问题)

    package com.bottle.bottlelilibrary.view; import android.content.Context; import android.graphics.Bit ...