R-FCN: Object Detection via Region-based Fully Convolutional Networks (NIPS 16), Arxiv 16.05

原创 2016年08月31日 13:59:47
R-FCN: Object Detection via Region-based Fully Convolutional Networks (NIPS 16), Arxiv 16.05
=====
blogs:
论文阅读]R-FCN: Object Detection via Region-based Fully Convolutional Networks: http://blog.csdn.net/u012361214/article/details/51507590
论文笔记 | R-FCN: Object Detection via Region-based Fully Convolutional Networks:http://blog.csdn.net/bea_tree/article/details/51817263
R-FCN: Object Detection via Region-based Fully Convolutional Networks: http://blog.csdn.net/surgewong/article/details/51873372
=====
论文:
R-FCN - Object Detection via Region-based Fully Convolutional Networks
https://arxiv.org/pdf/1605.06409v2.pdf
=====
开源代码:
https://github.com/daijifeng001/R-FCN
现在有开源的py code:
py-R-FCN: https://github.com/Orpine/py-R-FCN
py-R-FCN-multiGPU: https://github.com/bharatsingh430/py-R-FCN-multiGPU/


=====
如何将R-FCN整合到py-faster-rcnn?
详见:https://github.com/daijifeng001/R-FCN/issues/9
成功将rfcn的matlab代码整合到py-faster-rcnn中,跑出来的实验为:
train:07+12 trainval
test: 07 test
resnet50:74.24%mAP (0.10s~0.12s per image)
resnet101: 76.23% mAP(0.14s~0.16s per image)
----------------------------------------------------------------------------------------------
笔者将继续做论文里提到的multi-scale training和OHEM (持续更新ing
resnet50 + OHEM(end2end style):76.91%/76.83%/76.93%/76.32%mAP (0.10s~0.12s per image) -- 离论文里的77.4%还有一点差距
resnet50 + multi-scale training: 74.46%mAP (0.10s~0.12s per image) -- 貌似不起效果,笔者打算邮件问下论文作者。
resnet50 + OHEM(end2end style)+ multi-scale training77.20%/77.77%/77.88mAP (0.10s~0.12s per image)
resnet101(end2end style)75.91%/76.23%/76.4%mAP (0.14s~0.17s per image)
resnet101 + OHEM(end2end style)78.62%/78.39%/78.93%/78.51%mAP (0.14s~0.17s per image)
resnet101 + OHEM(end2end style)+ multi-scale training79.4%/79.48%mAP (0.14s~0.17s per image)
总觉得和论文里相差1%,是不是因为end2end方式的原因?
(笔者觉得应该是训练时batchsize的原因,论文里面是8 GPUs的并行训练,而笔者是1 GPU的训练)
=====
支持1080P和cudnn v5

Maybe you can try to merge caffe master branch into origin.

cd R-FCN/external/caffe/  
git remote add bvlc https://github.com/BVLC/caffe.git  
git fetch bvlc  
git merge bvlc/master
Remove "self_.attr("phase") = static_cast<int>(this->phase_);"  from `include/caffe/layers/python_layer.hpp` after merging.
=====
论文概述:
论文的核心在于:
在whole-image上,怎么将translate-invariance的object classifer(如ResNet)转为translate-variance的object detector,
来提高performaces的同时,还能降低训练测试的时间。
(至于其他的论文是如何耗时的,如RCNN,Fast-RCNN,Faster-RCNN等,以及该论文是怎么做的,可以参考上面的blogs,都有较为详细的讲述)
=====
Key idea of R-FCN (cls-net
论文的关键之处在于提出了:能够编码position information的score maps,以及对score map进行的position-sensitive的RoI Pooling。
具体而言:
1 在最后一层map之后,再使用卷积计算产生一个k*k*(C+1)的maps(k*k代表总共的grid数目,C代表class num,+1代表加入一个背景类)。
2 每一个proposal的位置信息都需要编码,那么先把proposal分成k*k个grid(这里k就是Faster-RCNN里面的roi pooling的kernel size)
3 然后对每一个grid进行编码,其中每个grid对应一个score map(如下面的Visualization所示)。
4 每个grid的pooling操作为average pooling。
5 进行vote(同样采用average的方式)
对于cls-net和det-net的操作类似。
具体可以参考上述的博文1.
PS,博文3更为详细,极力推荐。
=====
Framework of R-FCN
引入了RPN,其中RPN来自于Faster-RCNN,RPN接在conv4和conv5之间,其stride为16。
而position-sensitive score maps和position-sensitive RoI Pooling接在最后一个卷积层后,并有cls-net和det-net(类似于Faster-RCNN,只不过其没有可学习的参数)

=====
position-sensitive score maps & position sensitive RoI Pooling -> bounding box classification
如下图,详细说了position-sensitive score maps & position sensitive RoI Pooling的操作,以及vote操作。



=====
Visualization of position-sensitive RoI Pooling

======
bounding box regession (class-agnostic) (det-net
做法和Faster-RCNN类似,只是没有用到full connected layers,而是用full convolutional layers来替代,很是巧妙。
可以大大地提高speed。

=====
inspiration by other papers

=====
Training
训练的过程和Fast-RCNN或者Faster-RCNN的做法差不多。
论文中提到multi-scale的training是有必要的,其short-side的取值为:[400, 500, 600, 700, 800]
论文采用4 stages的做法来训练R-FCN,其中RPN来自于Faster-RCNN。

=====
Testing
测试阶段,除了COCO数据外,都是single scale(为600)的testing。
=====
OHEM
[22]的论文笔记可以看笔者的博文
论文中的OHEM的做法很是巧妙,具体看源码的prototxt。值得关注的是,论文中proposals的个数不管是train还是test阶段,都是用300个。
另外,为了很好地生成proposals,而且生成的proposals的高质量和稳定性(笔者不知道用什么词来描述),
论文采用了faster-rcnn的4 stages的方式来训练,而不是end2end的方式。
(其实笔者做过[22]的基于faster-rcnn的end2end的实验,发现效果不佳,很可能是end2end的过程中,rpn生成的proposals的coverage和stable不够好导致)

=====
astrous algorithm
虽然笔者对astrous不甚了解,但是知道其效果很好。
具体的astrous请看论文的相关引用论文。
该论文的做法:
由ResNet101的32 p的stride变为16 pixels,增加了score map的分辨率,
前四个阶段的stride不变,
第五阶段由stride=2变为1,其filter使用hole algorithm修改
(即在conv_parm里面添加dilaton参数,具体看开源的prototxt的`res5a_branch2b`卷积层)
mAP可提高2.6个百分点:

=====
Depth and Region Proposal Method
嗯,这个实验对比很好,说明了depth的重要性,和解决了proposals method如何选择的问题。

=====
Results
论文中并没有用到引用论文[9](resnet)的global context,bounding box的iterative regession等技巧,
而最多只用到了multi-scale的training和single-scale的testing(coco dataset除外)。
由于舍弃了full-connected layers,以及加入了OHEM,使得论文不管在精度上还是速度上,都取得很好的效果。
Pascal Voc 07/12

COCO


=====

如果这篇博文对你有帮助,可否赏笔者喝杯奶茶?






版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

R-FCN: Object Detection via Region-based Fully Convolutional Networks

R-FCN: Object Detection via Region-based Fully Convolutional Networks论文下载地址 源码地址 本篇论文是微软亚研何凯明代季峰的团...

论文笔记 R-FCN: Object Detection via Region-based Fully Convolutional Networks

这篇论文主要采用“位置敏感度图”的方法,将FCN 网络引入到目标检测中来,将图像分类和目标检测很好地结合。因此这种方法可以和很多FCN中的图像分类框架结合,比如ResNets等,使其应用到目标检测中来...

论文笔记 | R-FCN: Object Detection via Region-based Fully Convolutional Networks

Authors Jifeng Dai,Yi Li,Kaiming He,Jian Sun 代季峰 代码里还有百度云盘的连接,为国人考虑的真周到,只是自己的显卡不足~ Abstrac...

READING NOTE: R-FCN: Object Detection via Region-based Fully Convolutional Networks

TITLE: R-FCN: Object Detection via Region-based Fully Convolutional Networks

[论文阅读]R-FCN: Object Detection via Region-based Fully Convolutional Networks

arxiv上的一篇新论文,出自MSRA,目前还没有发表,今天刚读完,文章的缺点还要想一想,有空更新。原文链接:点击打开链接 本文是基于region based framework的一种新的d...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

目标检测--R-FCN: Object Detection via Region-based Fully Convolutional Networks

R-FCN: Object Detection via Region-based Fully Convolutional Networks Code: https://github.com/daij...

【深度学习:目标检测】 RCNN学习笔记(11):R-FCN: Object Detection via Region-based Fully Convolutional Networks

转自:http://blog.csdn.NET/shadow_guo/article/details/51767036 作者代季峰 1,14年毕业的清华博士到微软亚洲研究院的视觉计算组,CVPR 1...
  • SMF0504
  • SMF0504
  • 2016年10月06日 19:01
  • 2311

R-FCN:Object Detection via Region-based Fully Convolutional Networks论文部分总结学习

摘要: 之前基于区域的目标检测方法(Fast/Faster R-CNN)需要将重复性地将成千上百proposal输入到子网络。R-FCN网络近乎全图共享计算,避免前面方法的计算冗余。R-FCN提出使...

R-FCN: Object Detection via Region-based Fully Convolutional Networks

R-FCN: Object Detection via Region-based Fully Convolutional Networks背景介绍   R-CNN 系列的方法,如 SPPnet、Fas...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:R-FCN: Object Detection via Region-based Fully Convolutional Networks (NIPS 16), Arxiv 16.05
举报原因:
原因补充:

(最多只允许输入30个字)