Faster R-CNN算法详解

论文背景

论文名称:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks(简称:Faster R-CNN)
论文链接:https://arxiv.org/abs/1506.01497
论文日期:2016.1.6

选区域的提取一直是一个瓶颈。在Faster R-CNN中我们提出了一个region proposal network(RPN),同时预测物体的框并且进行打分,是一个端到端(end to end)的候选区域提取的算法,结合了RPN和Fast RCNN算法,使之变成一个共享卷积参数的单一神经网络。

目前的先进的目标检测算法都由成功的区域提取算法和卷积神经网络驱动,以往的候选区域提取是耗费大量时间的,一般都是有selective search算法来实现,虽然在SPP-Net和fast rcnn中通过共享卷积参数在检测上实现了很大的速度进步,但是提取候选区域仍然耗费大量时间,EdgeBoxes算法在精度和速度上有了很大提升,但是每张照片仍需要0.2s。

用来加速检测的方法有两个:

  1. 使用GPU进行训练;
  2. 使用RPN神经网络,与卷积神经网络共享参数,每张照片10ms;

算法详情

RPN

在卷积神经网络的顶部构造一个RPN(一些额外的卷积神经网络),同时回归区域框以及在格子里的每一个定位的物体打分。RPN是一个全卷积神经网络,能端到端地训练。
使用一个宽范围的scale和aspect radio进行有效的预测,使用anchor boxes。

候选区域提取算法(RPN)和目标检测的微调交替进行,同时,结合的神经网络共享参数,共享的神经网络可以是ZF net(256-d) 或者 VGG16(512-d)。

训练步骤:(交替训练)

  1. 单独训练RPN,使用ImageNet的预训练模型生成候选区域;
  2. 利用RPN生成的候选区域,通过Fast R-CNN训练一个单独的检测网络,检测网络也是利用预训练模型初始化的;
  3. 使用检测网络初始化RPN,固定共享卷积层,单独微调属于RPN的层;
  4. 保持共享卷积层参数不变,微调属于Fast R-CNN的网络层。

Faster-RCNN算法详解
faster rcnn的神经网络结构:
在这里插入图片描述
每张图片通过RPN生成300个候选区域,红线以下的就是RPN神经网络结构:
在这里插入图片描述

anchor

在这里插入图片描述
(a)图片金字塔;
(b)金字塔卷积核;
(c)金字塔回归框。

使用scale和aspect radio均为3,k=n x n=3 x 3=9,分类的参数为2k,回归的参数为4k
使用每一个像素点作为anchor的中点,因此对于一个feature map,共有M x H个像素点,总共的anchors为M x H x k,
Faster-RCNN算法详解
在这里插入图片描述
anchor box的选择:
在这里插入图片描述
将每一个像素点都映射到输入图片中,然后再进行anchor box的选取 ,之后再将feature map和region proposal输入到RoI pooling。
在这里插入图片描述

Loss Function

选最优的anchor为正样本;
当IoU>0.7的样本很少时,选取IoU>0.7的anchor为正样本;
选IoU<0.3的anchor为负样本;
损失函数大致同fast rcnn:
在这里插入图片描述
在这里插入图片描述

实验

  • 在PASCAL VOC 2007测试集:
    在这里插入图片描述

  • 在PASCAL VOC 2007测试集上:在这里插入图片描述
    在这里插入图片描述

  • 在PASCAL VOC 2012测试集上:
    在这里插入图片描述
    在这里插入图片描述

  • 参数选择:
    在这里插入图片描述
    在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值