Paper Reading:HyperNet
论文:HyperNet: Towards Accurate Region Proposal Generation and Joint Object Detection
发表时间:2016
发表作者:(tsinghua)Tao Kong, Anbang Yao, Yurong Chen, Fuchun Sun
发表刊物/会议:cvpr
论文链接:论文链接
CNN高层特征具有丰富的语义信息,低层特征具有较高空间分辨率,研究如何融合不同层之间的特征,是物体检测领域热门的方向。近期很多工作通过融合多层来提升检测和分割的性能,按照融合与预测的先后顺序,分类为早融合(Early fusion)和晚融合(Late fusion)。
早融合: 先融合多层的特征,然后在融合后的特征上训练预测器。这类方法也被称为skip connection。这里面的代表是ION和HyperNet。本文主要介绍 HyperNet的思想细节。
HyperNet是2016年清华提出的优秀的Faster-RCNN变种。HyperNet主要改进在于集合了多层的特征图,得到多尺度的超特征(Hyper Feature),相比与Faster-RCNN,HyperNet更擅长处理小物体,在高IOU时更有优势,mAP提高3.1%。但多尺度也必然降低速度。其快速模型HyperNet-SP速度与Faster-RCNN相同,VOC上mAP仅提高1.6%。但注意到其应用的跳层特征(skip layer feature)在处理小物体检测中已经在ION等多次被用到,成为了一种常用的有效手段。
整体框架
按照红框的依次介绍:
Network for Hyper Feature Extraction:
RCNN之后的framework在做小物体检测时有一个通病,就是物体的的信息会损失的非常厉害,比如原来$3232$的物体,到最后一层feature map 只剩下了$22$,所以本文为了处理这个问题提出了两种方法,第一种,放大feature map,第二种,skip layer。按照标配输入$1000600$的图最后的map size 会是$6237$, 这样的话信息损失非常严重,所以作者想办法把最后的map放大到$250*150$,把第一层的map做一个max pooling, 把最后一层的map做一个deconv,然后把1,3,5层的map LRN之后连在一起。LRN是必要的,因为不同层的feature resolution 不同,如果不做正则norm大的feature会压制住norm小的feature。
在产生hyper feature map之前,这些resize过的map会各自通过一层卷积,一方面缩小维度,另一方面增强语义。
Region Proposal Generation:
作者讲了RPN的另外一个坏处,就是RPN在产生proposal的时候,一个sliding window产生9个尺度大小不同的anchor作为proposal的基准,作者argue,尺度大小不同的proposal用同样的input去产生会有问题,所以用了这个方法。在产生的hyper feature map上随机产生了不同大小和尺度的proposal,然后每一个都feed到ROI pooling里面去,然后对这每一个proposal做一个判断是不是proposal,其中使用了一个卷积作为降维和防止overfit。
这一步是整篇文章最大的瓶颈,因为70%的时间就在这一步。加速的方法是把卷积层放到了ROI Pooling前面,但是performance会下降。
Object Detection:
和fast rcnn到大同小异,在原来的检测网络基础上做了两点改进:
a)在 FC 层之前添加了一个 卷积层($3363$),对特征有效降维;
b)将 DropOut 从 0.5 降到 0.25;
另外,与 Proposal一样采用了 NMS 进行 Box抑制,但由于之前已经做了,这一步的意义不大。
采用了 联合训练(joint training)的方法,首先对 Proposal 和 Detection 分别训练,固定一个训练另一个,然后 joint 训练,即共享前面的卷积层训练一遍,具体可以参考原文给出的训练流程。
Hyper Feature Extraction
跳层提取特征。既能获取高层语义,又可以得到低层高分辨率的位置信息。提高小目标检测效果。
注:
不同层提出了不同的采样策略。在层次较低的卷积层最大池化。对层次较高的卷积层,添加了一个反卷积操作(Deconv)来进行上采样。最后,用LRN(local response normalization)归一化多个feature maps。LRN是必要的,因为不同层的feature resolution 不同,如果不做正则norm大的feature会压制住norm小的feature。
该特征主要有以下优点:
(1)多级抽象,将不同高低的层的CNN特征结合
(2)适当的分辨率,对于一个$1000600$的图像的特征图分辨率正好调整至250150,这个尺度对于检测很方便
(3)计算效率,所有特征可以在proposal和detection产生前进行预计算好,做到没有计算冗余
训练中的loss函数主要有两部分,类别loss,bounding box和positive box的loss,这里主要参考了其他文章,没有特别的地方。而proposal的产生部分参数,则主要参考R-CNN。
加速方法
为了速度的提升,这里去除了ROI pooling层后面的$334$的卷积层加速,这样主要有两点优势:Hyper特征图数量大大减少,同时滑动窗分类器更加简单(from Conv-FC to FC)
实验效果对比
通过对比可以看到 mAP 比 Faster 提高了 1%,主要是多尺度的功劳。
Paper Reading:HyperNet的更多相关文章
- Paper Reading: Stereo DSO
开篇第一篇就写一个paper reading吧,用markdown+vim写东西切换中英文挺麻烦的,有些就偷懒都用英文写了. Stereo DSO: Large-Scale Direct Sparse ...
- Paper Reading:ION
Inside-Outside Net (ION) 论文:Inside-Outside Net: Detecting Objects in Context with Skip Pooling and R ...
- [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 ...
随机推荐
- 通过命令行给 XenServer 打补丁
安装 XenCenter 客户端,cmd 到 XenCenter 安装目录. 1.上传补丁到服务器,获得uuid xe patch-upload -s <服务器IP地址> -u root ...
- 做了一个非竞价排名、有较详细信息的程序员职位 match 网站
作为一个程序员,每次看机会当我去 BOSS 直聘 或者拉勾网进行搜索时,返回的顺序并不是根据匹配程度,而是这些公司给 BOSS 直聘或者拉勾网付了多少钱.这种百度式的竞价排名机制并没有把我做为求职者的 ...
- linux centos7 开启 mysql 3306 端口 外网访问 的实践
第〇步:思路 3306 端口能否被外网访问,主要要考虑: (1)mysql的3306 端口是否开启?是否没有更改端口号? (2)mysql 是否允许3306 被外网访问? (3)linux 是否已经开 ...
- GB和GIB的区别
天啦撸,这么多年才知道这个东西! Gibibyte(giga binary byte)是信息或计算机硬盘存储的一个单位,简称GiB.由来“GiB”,“KiB”,“MiB”等是于1999年由国际电工协会 ...
- CEC、ARC功能介绍
众所周知,HDMI作为一个数字化视频音频的接收标准,是可以同时传输视频和音频的,当然随着HDMI版本的提升,它的功能也一直在增强.事实上HDMI升级到1.3时,人们就发现了HDMI多了一个CEC功能. ...
- 彻底理解JavaScript中的prototype、__proto__
虽然在JavaScript里一切皆对象,但为了理解原型链系统,我们需要将JavaScript的对象分为对象和函数两大类.在此基础上,JavaScript的原型链逻辑遵从以下通用规则: 对象有__pro ...
- Vue基础知识学习(后端)
### Vue学习(后端) Vue安装 -引入文件安装,直接在官网下载vue.js引入项目中 -直接引用CDN -NPM安装(构建大型应用使用,在这不用) -命令行工具(构建大型单页应用,在这不用) ...
- centos7无网络环境下创建基于scratch镜像的Linux镜像,并带有Java运行环境
一.准备 将下载好的jdk以及scratch镜像放在同一文件夹下:这里放在linux:2.0 二.导入scratch镜像 #docker load -i scratch.tar 三.创建dockerf ...
- go 函数 命名返回值
Go 的返回值可以被命名,并且像变量那样使用. 返回值的名称应当具有一定的意义,可以作为文档使用. 没有参数的 return 语句返回结果的当前值.也就是`直接`返回. 直接返回语句仅应当用在像下面这 ...
- ActiveMQ的静态网络配置
static networkConnector是用于创建一个静态的配置对于网络中的多个Broker做集群,这种协议用于复合url,一个复合url包括多个url地址. <networkConnec ...