Paper Reading:ION
Inside-Outside Net (ION)
论文:Inside-Outside Net: Detecting Objects in Context with Skip Pooling and
Recurrent Neural Networks
发表时间:2016
发表作者:(Cornell University)Sean Bell, C. Lawrence Zitnick,(Microsoft Research)Kavita Bala, Ross Girshick
论文链接:论文链接
本文主要关注目标检测过程中的上下文信息以及多尺度信息两个方面,提出了Inside-Outside Net:
Inside Net: 采用skiping pooling的方式连接不同卷积层输出的feature map,实现多尺度特征的融合
Outside Net: 采用IRNN的结构,整合contextual infomation
在2016年提出的网络中,精度是最高的,超过Faster-RCNN\HyperNet\MRCNN.
- VOC2007, with a mAP of 79.2%,
- VOC 2012, with a mAP of 76.4%,
- COCO, with a mAP of 24.9%.
框架
采用的是Fast RCNN的基本框架(VGG),通过SS和EB提取Proposal,对于每一个ROI,提取conv3/conv4/conv5对应的特征,fix到固定的长度;
然后将conv5输出的feature map输入到两个IRNN单元提取上下文信息。同样,在输出的context feature map上提取ROI对应的特征,fix到固定长度。
然后将multi-scale特征和context特征先normalize/scale(不同feature map激活值不一样,会导致unstable learning),然后concate到一起。通过1*1卷积进行降维。输出到分类器去进行cls和reg.
spatial Recurrent Neural Network (RNNs)
RNNs在每一层空间上,通过水平或者垂直的四个方向进行提取上下文信息。使用两个RNNs,保证可以获取整张image的信息。
对比其他common methods for adding contextual information: 还有 global average pooling 和 additional convolutional layers,都很相似。
skip pooling
将multi-scale的feature maps经过roi-pooling layer之后pooling到7x7大小的feature maps,将从不同scale pooled得到的feature maps进行concatenate,然后再利用 1x1Conv layer将feature maps resize到512x7x7的大小。
context features with IRNNs
对于一个feature maps,有四个独立的RNN对其进行上下左右四个方向的移动。
总结:
(1)paper 使用了multi-scale 进行object detection,在浅层Conv层对其feature maps进行roi-pooling, 增强了对small object的detect能力。
(2)使用了RNN对其周围的region的信息,增强feature信息,促进classification。
Paper Reading:ION的更多相关文章
- Paper Reading: Stereo DSO
开篇第一篇就写一个paper reading吧,用markdown+vim写东西切换中英文挺麻烦的,有些就偷懒都用英文写了. Stereo DSO: Large-Scale Direct Sparse ...
- [Paper Reading]--Exploiting Relevance Feedback in Knowledge Graph
<Exploiting Relevance Feedback in Knowledge Graph> Publication: KDD 2015 Authors: Yu Su, Sheng ...
- Paper Reading: Perceptual Generative Adversarial Networks for Small Object Detection
Perceptual Generative Adversarial Networks for Small Object Detection 2017-07-11 19:47:46 CVPR 20 ...
- Paper Reading: In Defense of the Triplet Loss for Person Re-Identification
In Defense of the Triplet Loss for Person Re-Identification 2017-07-02 14:04:20 This blog comes ...
- Paper Reading - Attention Is All You Need ( NIPS 2017 ) ★
Link of the Paper: https://arxiv.org/abs/1706.03762 Motivation: The inherently sequential nature of ...
- Paper Reading - Convolutional Sequence to Sequence Learning ( CoRR 2017 ) ★
Link of the Paper: https://arxiv.org/abs/1705.03122 Motivation: Compared to recurrent layers, convol ...
- Paper Reading - Deep Captioning with Multimodal Recurrent Neural Networks ( m-RNN ) ( ICLR 2015 ) ★
Link of the Paper: https://arxiv.org/pdf/1412.6632.pdf Main Points: The authors propose a multimodal ...
- Paper Reading - Deep Visual-Semantic Alignments for Generating Image Descriptions ( CVPR 2015 )
Link of the Paper: https://arxiv.org/abs/1412.2306 Main Points: An Alignment Model: Convolutional Ne ...
- Paper Reading - Mind’s Eye: A Recurrent Visual Representation for Image Caption Generation ( CVPR 2015 )
Link of the Paper: https://ieeexplore.ieee.org/document/7298856/ A Correlative Paper: Learning a Rec ...
随机推荐
- XenServer 根分区空间满的解决办法
1.清除已经应用的旧补丁文件 删除 /var/patch/ 下的除 applied 之外的所有文件 2.清除旧版的Xen-Tools文件 删除 /opt/xensource/packages/iso/ ...
- Flutter TextField 文本输入框的基本属性及详解
TextField 文本输入框 源码分析: const TextField({ Key key, this.controller, // 控制正在编辑文本 this.focusNode, // 获取键 ...
- docker 删除不用的镜像
1.删除悬空的镜像 docker image prune -a -f 2.删除悬空的镜像 docker container prune -f 3.定时清空镜像和脚本 [root@VM_0_42_cen ...
- 图解JS
弱语言 数据类型 隐式转换 弱等于 严格等于 包装对象 字符串转为包装对象 类型检测 表达式 运算符 块 try...catch 对象结构 创建对象,原型链 属性读写 getter,setter 序列 ...
- ABP中的本地化处理(上)
今天这篇文章主要来总结一下ABP中的多语言是怎么实现的,在后面我们将结合ABP中的源码和相关的实例来一步步进行说明,在介绍这个之前我们先来看看ABP的官方文档,通过这个文档我们就知道怎样在我们的系统中 ...
- 《Mysql 一条 SQL 语句是如何执行的?》
一:概述 - 首先需要认识一下 Mysql 整体的基础架构 - 二:Mysql 的分层 - MySQL 可以分为 Server 层和存储引擎层两部分 - Server 层 - Server 层包括连 ...
- SrpingBoot入门到入坟01-HelloWorld和SpringBoot打Jar包
第一个SpringBoot: 建立一个maven项目: 再pom.xml里面增加依赖: <?xml version="1.0" encoding="UTF-8&qu ...
- C/C++内存知识(一)
一.C/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)- 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈. 2.堆区(heap)- 由程序 ...
- Flask 中command的使用
其实这个标题有点大了,只是记录以一下flask中command的一个使用方式,具体用法还需要看相关文档. 之前的项目中需要加一个定时任务所以在flask中写了个任务执行. 首先需要在manage.py ...
- 十二、使用PWM调整LCD背光亮度
和手机一样,开发板中也带有调整背光亮度的功能. 调整背光亮度依赖于PWM,它通过调节脉冲宽度来控制背光亮度,此方式需要使用PWM驱动.本章将对其进行讲解. 一.用户空间调整背光亮度 一般应用程序可以通 ...