目标检测——文献阅读之Faster R-CNN

论文:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
论文作者主页:http://www.rossgirshick.info/
源码:https://github.com/rbgirshick/py-faster-rcnn
参考:https://senitco.github.io/2017/09/02/faster-rcnn/ (推荐看原博客,写的特别好,本篇博客主要用来记录学习,如侵权,请联系我)
翻译:http://noahsnail.com/2018/01/03/2018-01-03-Faster R-CNN论文翻译——中英文对照/

1、模型概述

在这里插入图片描述

  • Conv Layer: 卷积层包括一系列卷积(Conv + Relu)和池化(Pooling)操作,用于提取图像的特征(feature maps),一般直接使用现有的经典网络模型ZF或者VGG16,而且卷积层的权值参数为RPN和Fast RCNN所共享,这也是能够加快训练过程、提升模型实时性的关键所在。
  • Region Proposal Network: RPN网络用于生成区域候选框Proposal,基于网络模型引入的多尺度Anchor,通过Softmax对anchors属于目标(foreground)还是背景(background)进行分类判决,并使用Bounding Box Regression对anchors进行回归预测,获取Proposal的精确位置,并用于后续的目标识别与检测。
  • RoI Pooling: 综合卷积层特征feature maps和候选框proposal的信息,将propopal在输入图像中的坐标映射到最后一层feature map(conv5-3)中,对feature map中的对应区域进行池化操作,得到固定大小(7×7)输出的池化结果,并与后面的全连接层相连。
  • Classification and Regression: 全连接层后接两个子连接层——分类层(cls)和回归层(reg),分类层用于判断Proposal的类别,回归层则通过bounding box regression预测Proposal的准确位置。

下图为Faster R-CNN测试网络结构(网络模型文件为faster_rcnn_test.pt),可以清楚地看到图像在网络中的前向计算过程。对于一幅任意大小 P × Q P×Q 的图像,首先缩放至固定大小 M × N M×N (源码中是要求长边不超过1000,短边不超过600),然后将缩放后的图像输入至采用VGG16模型的Conv Layer中,最后一个feature map为conv5-3,特征数(channels)为512。RPN网络在特征图conv5-3上执行3×3卷积操作,后接一个512维的全连接层,全连接层后接两个子连接层,分别用于anchors的分类和回归,再通过计算筛选得到proposals。RoIs Pooling层则利用Proposal从feature maps中提取Proposal feature进行池化操作,送入后续的Fast R-CNN网络做分类和回归。RPN网络和Fast R-CNN网络中均有分类和回归,但两者有所不同,RPN中分类是判断conv5-3中对应的anchors属于目标和背景的概率(score),并通过回归获取anchors的偏移和缩放尺度,根据目标得分值筛选用于后续检测识别的Proposal;Fast R-CNN是对RPN网络提取的Proposal做分类识别,并通过回归参数调整得到目标(Object)的精确位置。具体的训练过程会在后面详述。接下来会重点介绍RPN网络和Fast R-CNN网络这两个模块,包括RPN网络中引入的Anchor机制、训练数据的生成、分类和回归的损失函数(Loss Function)计算以及RoI Pooling等。
在这里插入图片描述

…还是查看原博客吧

猜你喜欢

转载自blog.csdn.net/qq_18644873/article/details/85005400
今日推荐