Fast Rcnn 主要架构

来源:互联网 发布:自然知彼护肤品 编辑:程序博客网 时间:2024/05/18 20:49

1  Fast Rcnn主要贡献

1. 比Rcnn、SPP net更高的准确率

2.训练是在一个single-stage,利用一个多任务损失函数multi-task loss

3.训练可以更新所有的网络层

4.不再需要用硬盘存储特征缓存

 

2 fast rcnn主要架构和训练阶段

 

总体构架如上图,image和RoIs输入到卷积网络,每个RoI进入RoI池化层,然后被mapped到RoI feature vector,最后到经过两个全连接层到两个输出softmax和bbox regressor

2.1 RoI池化层

比SPPnet多了这一个RoI池化层,这也是非常重要的一个层,后面会讲到(如何让区域的选择可导(提出ROI Pooling操作,区域特征选择像Max Pooling一样可导))

2.2 被预训练的网络初始化

但是有几点不同:1.最后的max pooling层被替换为RoI pooling层 2.最后的分类层被替换为两个输出softmax和bbox regressor 3. 输入为两个,image和RoI

2.3 funtuning 

Fast Rcnn比Rcnn和SPP net好的一个地方就是可以用BP训练所有层的参数。

RCNN和SPP net不能的原因为:不同图片的ROI用BP通过SPP net的效率非常低,低效率的原因是ROI可能是整个Image。

Fast Rcnn共享了feature map,随机梯度下降(SGD)mini-batch是分级采样的,先采N个Image,再采R/N个RoIs从每个Image,这样可以分享computation和Memory,N选的小可以减少mini-batch的计算量。文中N=2,R=128,每个image选64个RoI。试验证明这样不会引起缓慢的收敛。

fine-tuningstage同时优化了多个阶段的参数。

Multi-taskloss:

 

第一项:Lcls(p;u) = log pu是分类的损失

第二项是bounding-box regression的损失:

 

RcnnSPPnet的stage-wisetraining各个阶段分开训练,不如本方法好。

Mini-batchsampling:

从Proposal里面提25% 的RoIs ,RoI是intersection over union (IoU) overlap,有0.5以上的概率。包含有标签的前景u>=1,和剩下的是背景u=0。训练的时候数据集有0.5概率的水平翻转。

 

0 0