失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 小田学CV掉头发之路——目标检测算法之Faster R-CNN

小田学CV掉头发之路——目标检测算法之Faster R-CNN

时间:2018-11-21 09:57:40

相关推荐

小田学CV掉头发之路——目标检测算法之Faster R-CNN

Faster R-CNN

继R-CNN,Fast R-CNN之后,标检测界的领军人物Ross Girshick团队在的又一力作。简单网络目标检测速度达到17fps,在PASCAL VOC上准确率为59.9%;复杂网络达到5fps,准确率78.8%。

作者在github上给出了基于python的源码。

改进:

去掉Selective Search,将候选区域的选择整合到深度学习网络模型中(Region Proposal Network: RPN和fast R-CNN结合)/pdf/1506.01497.pdf

Region Proposal Network(RPN)

/pdf/1506.01497.pdf

思路

faster RCNN可以简单地看做“区域生成网络+fast RCNN“的系统,用区域生成网络代替fast RCNN中的Selective Search方法。

区域生成网络结构

特征提取

原始特征提取(上图灰色方框)包含若干层conv+relu,直接套用ImageNet上常见的分类网络即可。额外添加一个conv+relu层,输出5139256维特征(feature)。

候选区域(anchor)

对于图像的每一个位置,考虑9个可能的候选窗口,三种面积 x 三种比例{1:1,1:2,2:1},这些候选窗口称为anchors,下面给出51*39个anchor的中心,以及9中anchor的示例

窗口分类和位置精修

分类层(cls_score)输出每一个位置上,9个anchor属于前景和背景的概率;窗口回归层(bbox_pred)输出每一个位置上,9个anchor对应窗口应该平移缩放的参数。

对于每一个位置来说,分类层从256维特征中输出属于前景和背景的概率;窗口回归层从256维特征中输出4个平移缩放参数。

局部来说,这两层是全连接网络;全局来说,由于网络在所有位置(共51*39个)的参数相同,所以实际用尺寸为1×1的卷积网络实现。

训练详细步骤

预训练一个用于分类的CNN使用CNN的特征图作为输出,端到端的fine-tuneRPN(Region Proposal Network) + CNN,当IoU > 0.7为正样本,IoU < 0.3为负样本 在特征图上面使用滑动窗口对每一个滑动窗口,产生多个Archor(相当于Selective Search选中的候选区域),一个Archor由滑动窗口的中心位置,窗口尺寸,窗口宽高比决定,论文中使用3个尺寸和3个宽高比,所以一个滑动窗口位置对应9(3*3)个Archor固定RPN的权值,使用当前的RPN训练一个Fast R-CNN固定CNN,Fast R-CNN的权值,训练RPN固定CNN,RPN,训练Fast R-CNN的权值重复步骤4和5直到满意为止

loss损失函数

Faster R-CNN总结

Fast R-CNN接近,最大的贡献在于丢弃了Selective Search引入了Region Proposal Network,将候选区域生成,特征提取,分类,位置精修统一到一个深度网络框架中

R-CNN 家族总结

如果觉得《小田学CV掉头发之路——目标检测算法之Faster R-CNN》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。