RFCN-阅读笔记-理解
来源:互联网 发布:手机淘宝充值中心 编辑:程序博客网 时间:2024/06/05 17:53
论文: R-FCN: Object Detection via Region-based Fully Convolutional Networks
翻译:https://zhuanlan.zhihu.com/p/22261216
理解参考:http://blog.csdn.net/kekong0713/article/details/69919093
核心技术:
(与faster-RCNN SPP-Net相比最大的改动是改变了分类器?使用最后一个卷积的过程代替原本的分类器.)
对于region-based的检测方法,以Faster R-CNN为例,实际上是分成了几个subnetwork,第一个用来在整张图上做比较耗时的conv,这些操作与region无关,是计算共享的。第二个subnetwork是用来产生候选的boundingbox(如RPN),第三个subnetwork用来分类或进一步对box进行regression(如Fast RCNN),这个subnetwork和region是有关系的,必须每个region单独跑网络,衔接在这个subnetwork和前两个subnetwork中间的就是ROI pooling。我们希望的是,耗时的卷积都尽量移到前面共享的subnetwork上。因此,和Faster RCNN中用的ResNet(前91层共享,插入ROI pooling,后10层不共享)策略不同,本文把所有的101层都放在了前面共享的subnetwork。最后用来prediction的卷积只有1层,大大减少了计算量。
提出来position sensitive score map这个概念是能把目标的位置信息融合进ROI pooling。
Backbone architecture: ResNet 101——去掉原始ResNet101的最后一层全连接层,保留前100层,再接一个1*1*1024的全卷积层(100层输出是2048,为了降维,再引入了一个1*1的卷积层)。
k^2(C+1)的conv: ResNet101的输出是W*H*1024,用K^2(C+1)个1024*1*1的卷积核去卷积即可得到K^2(C+1)个大小为W*H的position sensitive的score map。这步的卷积操作就是在做prediction。k = 3,表示把一个ROI划分成3*3,对应的9个位置分别是:上左(左上角),上中,上右,中左,中中,中右,下左,下中,下右(右下角)
k^2(C+1)个feature map的物理意义: 共有k*k = 9个颜色,每个颜色的立体块(W*H*(C+1))表示的是不同位置存在目标的概率值(第一块黄色表示的是左上角位置,最后一块淡蓝色表示的是右下角位置)。共有k^2*(C+1)个feature map。每个feature map,z(i,j,c)是第i+k(j-1)个立体块上的第c个map(1<= i,j <=3)。(i,j)决定了9种位置的某一种位置,假设为左上角位置(i=j=1),c决定了哪一类,假设为person类。在z(i,j,c)这个feature map上的某一个像素的位置是(x,y),像素值是value,则value表示的是原图对应的(x,y)这个位置上可能是人(c=‘person’)且是人的左上部位(i=j=1)的概率值。
ROI pooling: 就是faster RCNN中的ROI pooling,也就是一层的SPP结构。主要用来将不同大小的ROI对应的feature map映射成同样维度的特征,思路是不论对多大的ROI,规定在上面画一个n*n 个bin的网格,每个网格里的所有像素值做一个pooling(平均),这样不论图像多大,pooling后的ROI特征维度都是n*n。注意一点ROI pooling是每个feature map单独做,不是多个channel一起的。
**vote投票:**k*k个bin直接进行求和(每个类单独做)得到每一类的score,并进行softmax得到每类的最终得分,并用于计算损失
突出贡献:R-FCN是在Faster R-CNN的框架上进行改造,第一,把base的VGG16换车了ResNet,第二,把Fast R-CNN换成了先用卷积做prediction,再进行ROI pooling。由于ROI pooling会丢失位置信息,故在pooling前加入位置信息,即指定不同score map是负责检测目标的不同位置。pooling后把不同位置得到的score map进行组合就能复现原来的位置信息。
- RFCN-阅读笔记-理解
- Tensorflow object detection API 源码阅读笔记:RFCN
- RFCN论文笔记
- RFCN论文笔记
- rfcn
- GoogLeNet-阅读笔记-理解
- RCNN-阅读笔记-理解
- AlexNet-阅读笔记-理解
- VGG-阅读笔记-理解
- SPPNet-阅读理解-笔记
- DenseNet-阅读理解-笔记
- FCN-阅读笔记-理解
- ResNet-论文阅读理解-笔记
- Fast-RCNN-阅读理解-笔记
- Faster RCNN-阅读理解-笔记
- 六级之阅读理解笔记2
- 深入理解 C 指针阅读笔记 -- 第一章
- 《深入理解计算机》阅读笔记 第一章
- RxJava源码分析(二)
- 基于MFC的多线程编程实例AfxMessageBegin
- 第3章 安装windows与Linux双系统
- 树的高度
- N进制算法
- RFCN-阅读笔记-理解
- hpuoj【1452】你家的狗有病吧【思维】
- 利用GMP大整数库,实现ElGamal加解密
- centos6.8下mosquitto简介及搭建
- MathJax编辑指南
- 稳压电源 连载18:附录2 参数测量与特性图示
- rsync通过服务同步(下)
- angular jQuery css html混合table表格查询 排序 添加 删除 隔行换色
- cs231n笔记(3)—误差函数