论文阅读——Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

目录

前言

Abstract

1、INTRODUCTION

2、RELATED WORK

3、FASTER R-CNN

3.1、区域建议网络(RPN)

3.1.1、锚点

3.1.2、损失函数

3.1.3、训练RPNs

3.2、RPN和Fast R-CNN共享特征

3.3、实现细节

4、EXPERIMENTS

4.1、在PASCAL VOC数据集上进行实验

4.2、在MS COCO数据集上进行实验

5、CONCLUSION


前言

之前有一段时间看了挺多深度学习方面的论文,但是由于时间方面的问题一直没来得及进行总结。最近一段时间突发奇想把自己看论文时的学习笔记给记录一下,由于之前没写过博文,所以排版可能会有点emmm...一言难尽。专业方面的知识,如果有理解不到位的地方欢迎各位大佬指教。

Abstract

本文的主要贡献有:

  1. 提出了一种区域建议网络(RPN),用于解决之前的目标检测器的检测网络和区域建议模块卷积特征不共享的问题。
  2. 基于RPN实现了端到端训练,在大幅度区域建议所花费时间的同时,有效地提升了检测精度。

1、INTRODUCTION

这一段主要是总结了一下当时主流的区域建议方法的工作方式,并在性能方面和自家的RPN网络进行了对比。

1、Selective Search(SS)选择性搜索:基于设计好的低级特征贪心地融合超级像素,SS的计算需要在CPU中进行,速度为每个图像2s。

2、EdgeBoxes:在建议框质量和速度之间做出了当时最好的权衡,速度大约为每个图像0.2s。

3、Region Proposal Networks(RPN)区域建议网络:通过与检测网络共享卷积,其计算成本非常小,速度大约为每个图像10ms。

4、实现不同大小物体检测的方法:

  • 构建多个缩放的图片和特征图,并在这些图片上使用分类器。

论文阅读——Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第1张图片

  • 保持图像大小不变,构建多个不同尺寸的filter(我的理解是卷积核)。

论文阅读——Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第2张图片

  •  构建多个不同的建议框(本文中采用的方法)。

论文阅读——Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第3张图片

2、RELATED WORK

这一部分主要介绍的是目标检测网络,在区域建议和物体检测方面的相关研究进展。

1、区域建议(物体定位)的方法:

  • 基于grouping super-pixels: Selective Search,CPMC,MCG
  • 基于滑动窗口:objectness in windows,EdgeBoxes

2、物体检测的深度网络方法:

  • R-CNN方法:端到端地训练CNNs,用于将推荐区域分类成物体类别或背景。R-CNN主要扮演了分类器的角色,它并不预测物体的边框。
  • OverFeat方法:一个全连接网络用于预测物体的框坐标。为了检测多个特定类的物体又将全连接层转变成卷积层。
  • MultiBox方法:使用网络产生推荐框,它的最后一个全连接层可以同时预测多个未知类物体的推荐框坐标。

3、FASTER R-CNN

FASTER R-CNN网络主要由两部分构成:深度卷积区域建议网络、FAST R-CNN物体检测器。

3.1、区域建议网络(RPN)

区域建议网络是该论文的核心和主要创新点,解决了以往目标检测网络搜寻目标速度慢精度差的问题。为了提高运算速度其采用和检测网络Fast R-CNN共用卷积层的方式。在最后一层特征图中构建n×n的滑动窗口,并以窗口中心为锚点,构建k个锚点框,将锚点框中所选中区域图像的特征传递给两个并列的全连接层cls layer和reg layer,分别用于判定框中是否具有物体和输出锚点框的调整坐标信息。

论文阅读——Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第4张图片 RPN的工作机制

3.1.1、锚点

1、锚点的主要性质:

  • 从上图可以看出,锚点即为滑动窗口的中心点。
  • 以锚点为中心产生k个锚点框,对于WxH大小的卷积特征图,共有W×H×k个锚点。
  • FASTER R-CNN中的锚点框使用三种不同的面积,每种面积分别具有3种不同的长宽比。
  • reg layer有4k个输出编码k个框的坐标(每个框4个),cls layer有2k个预测是对象还是非对象的置信度打分。

2、锚点的平移不变性:

  • 如果在一张图片上移动一个物体,推荐框也应该平移,并且相同的函数也应该能够在新的位置计算出推荐框。RPN方法可以保证这种平移不变性。

3、多尺度锚点作为回归参照框:

  • RPN定义了多个不同的锚点框面积和长宽比例以实现不同大小物体的检测。

3.1.2、损失函数

RPN网络的损失函数主要由两部分构成,如下:

1、\frac{1}{N_{cls}}\sum_{i}^{ }L_{cls}\left ( p_{i},p_{i}^{*}\right )

  • i为锚点框的序号;p_{i}用于判断该锚点框种是否是一个物体;如果该锚点框为阳性则p_{i}^{*}为1,否则为0。
  • 对每个锚点框设置二分类标签。将和标注框具有最大重叠面积或和任何标注框IoU超过0.7的锚点框设为阳性;将与所有标注框重叠度都低于0.3的锚点框设为阴性。
  • 使用N_{cls}对损失函数结果的和作标准化处理(平均)。
  • L_{cls}为log损失函数。

2、\lambda \frac{1}{N_{reg}}\sum_{i}^{ }p_{i}^{*}L_{reg}\left ( t_{i},t_{i}^{*}\right )

  • t_{i}为使用锚点框预测推荐框的四个坐标;t_{i}^{*}为真实框的四个坐标。\lambda为调节前后两式权重的平衡参数。
  • 使用N_{reg}对损失函数结果的和作标准化处理(平均)。
  • L_{cls}\left ( t_{i},t_{i}^{*}\right )=R\left ( t_{i}-t_{i}^{*} \right )为robust损失函数。

  • 计算t_{i}t_{i}^{*}中4个坐标参数方法如下:

3.1.3、训练RPNs

  • RPN为全卷积网络,通过反向传播和随机梯度下降(SGD)进行端到端训练。
  • 设置采样阴阳性锚点框的比例为1:1。如果一个图像阳性样本数小于128,我们就用阴性样本填补这个mini-batch。

3.2、RPN和Fast R-CNN共享特征

该部分介绍了一种四步交替训练的方法以实现在RPN和Fast R-CNN间共享特征:

  1. 依过程上述训练RPN,该网络用ImageNet预训练的模型初始化,并端到端微调用于区域建议任务(确定物体位置)。
  2. 利用第一步的RPN生成的建议框,由Fast R-CNN训练一个单独的检测网络,这个检测网络同样是由ImageNet预训练的模型初始化的,这时候两个网络还没有共享卷积层。
  3. 用检测网络初始化RPN训练,但固定共享的卷积层,并且只微调RPN独有的层,现在两个网络共享卷积层了。
  4. 保持共享卷积层固定,微调Fast R-CNN的全连接层。这样,两个网络共享相同的卷积层,构成一个统一的网络。

3.3、实现细节

  • 区域建议和目标检测网络处理的是单一尺度的图像,论文中对图片大小进行改变使它们的短边s=600像素。
  • 忽略了所有跨越图像边界的锚点框,使得最后所剩的锚点框数量为6k个。
  • 有些RPN建议框和其他建议框大量重叠,为了减少冗余,基于建议区域的cls得分,对其采用非极大值抑制(NMS)。

4、EXPERIMENTS

4.1、在PASCAL VOC数据集上进行实验

  • 使用Fast R-CNN作为检测网络,并使用不同区域建议方法进行精度比较:

  • 在RPN上进行消融试验:

论文阅读——Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第5张图片

  • 在PASCAL VOC 2007测试集上的检测结果,检测器是Fast R-CNN和VGG16:

论文阅读——Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第6张图片

  • PASCAL VOC 2012测试集检测结果。检测器是Fast R-CNN和VGG16:

论文阅读——Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第7张图片

  •  K40 GPU上的用时(ms),除了SS建议框是在CPU中进行评价的。

  • PASCAL VOC 2007测试集上的召回率 vs. IoU重叠率。

论文阅读——Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第8张图片

4.2、在MS COCO数据集上进行实验

  • 模型为VGG-16时的MS COCO数据集目标检测结果:

论文阅读——Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks_第9张图片

5、CONCLUSION

  1. 文章提出了一种区域建议建议网络(RPN),用于对图片中目标所在区域提出建议。
  2. 区域建议建议网络(RPN)通过与检测网络共享卷积特征,大大提高了预测的质量和速度。

 

你可能感兴趣的:(论文阅读——Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks)