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

Faster R-CNN

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

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

改进:

Region Proposal Network(RPN)

https://arxiv.org/pdf/1506.01497.pdf

在这里插入图片描述

思路

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

区域生成网络结构

img

特征提取

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

候选区域(anchor)

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

img

窗口分类和位置精修

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

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

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

训练详细步骤

  • 预训练一个用于分类的CNN
  • 使用CNN的特征图作为输出,端到端的fine-tune RPN(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损失函数

1600864225888

Faster R-CNN总结

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

R-CNN 家族总结

1600864643725

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值