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%.

框架

ION整体框架

采用的是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对其进行上下左右四个方向的移动。

ION2

总结:
(1)paper 使用了multi-scale 进行object detection,在浅层Conv层对其feature maps进行roi-pooling, 增强了对small object的detect能力。
(2)使用了RNN对其周围的region的信息,增强feature信息,促进classification。

Paper Reading:ION的更多相关文章

  1. Paper Reading: Stereo DSO

    开篇第一篇就写一个paper reading吧,用markdown+vim写东西切换中英文挺麻烦的,有些就偷懒都用英文写了. Stereo DSO: Large-Scale Direct Sparse ...

  2. [Paper Reading]--Exploiting Relevance Feedback in Knowledge Graph

    <Exploiting Relevance Feedback in Knowledge Graph> Publication: KDD 2015 Authors: Yu Su, Sheng ...

  3. 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 ...

  4. 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 ...

  5. 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 ...

  6. 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 ...

  7. 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 ...

  8. 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 ...

  9. 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 ...

随机推荐

  1. Laravel用户认证系统的实现细节

    原文地址:http://www.php.cn/php-weizijiaocheng-406076.html 这篇文章主要介绍了关于Laravel用户认证系统的实现细节,有着一定的参考价值,现在分享给大 ...

  2. netcore mvc菜单,角色,权限

    netcore mvc快速开发系统(菜单,角色,权限[精确到按钮])开源 AntMgr https://github.com/yuzd/AntMgr 基于netcore2.0 mvc 开发的 快速搭建 ...

  3. mysql 数据库批量刷新表字段数据

    UPDATE a,bSET b.studentno = a.studentnumber WHERE b.studentno IS NULL AND a.p_id = b.p_id

  4. SpringBoot(二)启动原理

    SpringBoot自动配置模块 该配置模块的主要使用到了SpringFactoriesLoader,即Spring工厂加载器,该对象提供了loadFactoryNames方法,入参为factoryC ...

  5. 多文件上传,添加重复文件时无法触发onchange事件。

    <input type="file" id="upload" @change="getFile($event)" multiple=& ...

  6. java多线程上篇(二) -- 进程的控制、同步

    一.进程的控制 进程的基本数据信息是操作系统控制管理进程的数据集合,这些信息就是用来控制进程的,此处我们说的进程控制就是进程的管理. 比如进程有状态,那么进程的创建.终止,状态的切换,这都不是进程自主 ...

  7. 注册中心Eureka 说明

    Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的.SpringCloud将它集成在其子项 ...

  8. JVM 内存溢出详解(栈溢出,堆溢出,持久代溢出、无法创建本地线程)

    出处:  http://www.jianshu.com/p/cd705f88cf2a 1.内存溢出和内存泄漏的区别 内存溢出 (Out Of Memory):是指程序在申请内存时,没有足够的内存空间供 ...

  9. hdu 6208 上一个kmp模板

    #include <cstdio> #include <cstring> #include <iostream> #include <queue> #i ...

  10. 17-MySQL DBA笔记-应用程序调优

    第17章 应用程序调优 本章将主要讲述应用程序调优的一些方法和步骤,应用程序调优的领域很广,本章主要关注的是涉及数据库方面的调优. 在进行性能分析之前,我们先要熟悉应用的角色,它是什么版本的,做什么的 ...