【目标检测】Fast R-CNN(2015)

 

目录

1 Introduction 

2. Fast R-CNN architecture and training

2.1 RoI pooling layer

2.2 对预训练网络的初始化

2.3 Fine-tunning for detection


1 Introduction 

目前目标检测的两个挑战:(1)proposal多;(2)定位粗糙。提出一个single-stage训练方法,同时学习分类和refine位置。R-CNN有三个问题:

  1. 多步骤训练:(1)基于ConvNet的fine-tuning训练(2)代替softmax作为分类器的SVM(3)bounding-box回归
  2. 耗费大量空间时间:bounding-box的回归的SVM需要用到从proposal中提取出来的特征,这些特征会占用大量的内存空间
  3. 目标检测很慢。

R-CNN对每个proposal都需要走一遍ConvNet,重复计算多,耗时长。Spatial Pyramid Pooling Network(SPPNet)计算整个图片的feature map,然后从整个feature map中提取feature vector去分类proposal。Fast R-CNN借鉴了这个思路,避免了warp图片的耗时。SPPNet有着和R-CNN相似的缺点。SPPNet中的SPP的卷积层是无法被更新的,这影响了解过的准确性。

Fast R-CNN的四个主要贡献

  1. 提高了mAP
  2. 可以更新所有层
  3. 训练是single-stage,使用多任务loss
  4. 不占用disk storage

2. Fast R-CNN architecture and training

  1. 使用多个Conv和max pooling处理整个图片,得到feature map。
  2. proposal通过Regions of Interest(ROI) pooling得到一个长度固定的特征向量。
  3. 随后,使用fc层处理特征向量,虽然分支处理后得到两个输出:(1)得到k个目标+1(背景)的softmax probability。(2)每个object class的bbox的回归偏差。

 

2.1 RoI pooling layer

  1. 使用max pooling将任意有效兴趣区域转换为一个固定尺寸H x W的小feature map。每一个RoI由4个变量r, c, h, w组成,其中r, c定义矩形的左上角,h, w定义矩形的高和宽。
  2. h x w的RoI窗口划分为H x W形状的网格,sub-windows的大小大概是h/H x w/W,然后max-pooling每个sub-window的数值填入对应的的输出网格单元。

 

2.2 对预训练网络的初始化

我们用三个在ImageNet上预训练的网络(AlexNet, VGG_CNN_M_1024, VGG16)进行试验,他们包括5个max pooling,conv层数量在5-13之间。每个网络都经过三个改动:

  1. 最后一个max pooling修改为RoI pooling,输出H x W为7 * 7使兼容VGG16的初始fc
  2. 网络最后一个fc及softmax修改为1个fc layers和两个输出:21类的softmax和对应类的bbox offset。
  3. 输入改为两个,分别是图片和图片中的RoI

 

2.3 Fine-tunning for detection

对SPPnet和R-CNN,每个ROI都可能会有巨大的感受野,通常会横跨整个图片。因此,前向传播必须要处理完整的感受野,通过训练输入是整张图片。

Fast R-CNN训练时,SGD的mini-batches是分层采样的。首先采样N个图片,然后从每张图片中采样R/N个ROIs。同一图片的ROIs在前向和后向处理中共享计算和内存。设置N = 2, R = 128。

多任务损失

其中: 

[u ≥ 1],当u ≥ 1时,该值为1,其他情况为0。前景为1,背景为0。

Mini-batch sampling

  1. Fast R-CNN中是将mini-batch设置为层级结构,一张图片一张图片的用,这使得一张图片的多个RoI可以共享前向和后向传播的计算和内存。
  2. Min-batch由2张随机选择图片组成,mini-batch的RoI数量设置为128,每张图片选择64个,其中1/4为IoU至少0.5的正样本。[0.1, 0.5)被视为背景。低于0.1的则被视为hard example mining。
  3. 数据增强:50%可能对图片做水平翻转处理。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值