您的位置:首页 > 其它

RCNN,SPP-NET,FAST_RCNN,FASTER-RCNN结构及训练方法总结

2018-01-24 14:45 351 查看
To be done:

1,Fig.1 需要补充图片说明

2, SVD 相关

3,roi 到 feature map 的映射该怎样确定?即 feature map 上的一个点对应的是 原图中的一块区域。

4,faster-rcnn部分总结有待完善。

通常做 detection 的流程是:

1,确定 ROI(即很多粗略的 bounding-boxes)

2,对每个 ROI 进行分类

3,利用每个 ROI 所属类别所对应的 bounding-box regressor 对相应 ROI 的区域进行微调。

4,non-maximum suppression 决定最终的 bounding-box 类别

所以在这个过程中我们就需要:

1,产生 roi区域

2,训练一个 classifier

3,训练一个 class-specific bounding-box regressor来对roi区域进行微调

RCNN,SPP-NET,FAST-RCNN,FASTER-RCNN都是基于以上方法一步一步地改进:

对于RCNN而言,

1,使用selective search作为产生roi的算法

2,引入了CNN+SVM作为分类器,

起初选择的是pre-trained CNN(没有fine-tune) + SVM其中训练的正样本仅仅由groud-truth区域构成,负样本由iou小于0.3的bounding-box区域构成,后来想到fine-tune pre-trained CNN,即fine-tune pre-trained CNN + SVM,训练样本的选择方法不变,实验发现结果变差了,所以最后又改变了训练CNN时选取样本的规则: roi区域中iou大于0.5即作为正样本,小于0.5的为负样本,每个mini-batch部分由采样得到的32个正样本,96个负样本组合而成。这个方法把训练的样本增加了三十倍。

由于实验发现直接选取CNN作为classfier是map会下降,作者推断是因为训练过程中没有强调精准定位,而是iou>0.5即可作为正样本,且因为负样本远远多于正样本,没有向SVM使用‘hard example mining’来训练。

3,bound-box regressor

将roi区域pool5层作为特征,建立预测的bounding-box与ground-truth之间的联系。因此训练是需要选择样本对,将bounding-box与对应的ground-truth区域iou大于0.6的作为训练对,如果一个bounding-box与多于1个ground-truth区域同时满足条件,则不选择该bounding-box.

优点:将 CNN based 的模型成功引入 detection 任务中

缺点:

1, 对于有一张 image 而言,每个 region proposal 都需要通过CNN,没有共享机制。

2,训练是分多个阶段进行的,即先训练好了一个 fine-tune 的CNN 模型。都利用这个 CNN 模型 在训练一个 SVM 和 bounding-box regressor。有可能不同阶段的最优并不能导致总的最优。

对于SPP-NET而言

1,使用selective search作为产生roi的算法

2,引入了CNN+SVM作为分类器,不在需要将一张图片的每个bounding-box区域都通过CNN,提升了训练和测试效率.

文章最开始的动机是为了解决 CNN 只能接受固定输入尺寸的问题,其原因是在于全连层的输入维数必须固定,不然影响的了全连层第一层的权值数量,因此文章使用在卷积层最后一层使用 ROI pooling 的方法使得全连层输入维数固定。进而联想到对于一张图片 region proposal 区域对应的卷积层其相应的区域与单独取出 region proposal 通过卷积后的结果大致相同(忽略zero padding 等一类因素。)又因为 roi pooling 可以对不同大小的卷积层区域提取相同大小的特征维数,所以可以通过对整张图片的一次 forward,得到每个 proposal 的特征。训练时只fine-tune了最后两个全连层,因此可以先对每个bounding-box提取一个固定维数的特征向量,用此特征向量作为训练数据来进行fine-tune最后的全连层

3,训练一个 class-specific bounding-box regressor来对roi区域进行微调

对于fast-rcnn而言

1,使用selective search作为产生roi的算法

2,3,结合roi-pooling,同时训练一个 classifier,class-specific bounding-box regressor,去除了svm



Fig.2

对于FASTER-RCNN

1,使用RPN产生proposal

训练数据为每个anchor,其中与ground-truth iou大于0.7或与ground-truth iou最大的anchor被选为正样本,iou小于0.3的为负样本。RPN损失项同时包含分类和位置损失

2,3,同FAST-RCNN
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐