FPN搭配RPN

第一课:fasterRCNN之RPN初探&anchors的产生

 

 

自底向上路径

自底向上路径由很多卷积模块组成,每个模块包含许多卷积层。自底向上的过程中,空间维度逐模块减半(步长翻倍)。每个卷积模块的输出将在自顶向下的路径中使用。

FPN搭配RPN_第1张图片

 

自顶向下路径

上图中,FPN使用一个1x1的卷积过滤器将C5(最上面的卷积模块)的频道深度降至256维,得到M5。接着应用一个3x3的卷积得到P5,P5正是用于目标预测的第一个特征映射。

 

FPN搭配RPN

FPN自身并不是目标检测器,而是一个配合目标检测器使用的特征检测器。例如,使用FPN提取多层特征映射后将其传给RPN(基于卷积和锚的目标检测器)检测目标。RPN在特征映射上应用3x3卷积,之后在为分类预测和包围盒回归分别应用1x1卷积。这些3x3和1x1卷积层称为RPN头(head)。其他特征映射应用同样的RPN头。

 

FPN搭配Fast R-CNN和Faster R-CNN

首先简短地概览下Fast R-CNN和Faster R-CNN的数据流。它基于特征映射层创建ROI(感兴趣区域)。然后使用ROI和特征映射层创建特征片,以传给ROI池化。

FPN搭配RPN_第2张图片

FPN生成了特征映射金字塔后,应用RPN(见上一节)生成ROI

根据ROI的尺寸,选择最合适的尺度上的特征映射以提取特征片

FPN搭配RPN_第3张图片

基于ROI尺寸选择特征映射的具体公式为:......

 

FPN搭配RPN_第4张图片

                                                                          Faster R-CNN算法流程图

 

ROI Pooling做了两件事

1  从feature maps中“抠出”proposals(大小、位置由RPN生成)区域;

2  把“抠出”的区域pooling成固定长度的输出。

 

 

 

FPN搭配RPN_第5张图片

                                                                         RPN网络的具体结构图


可以看到,feature map 经过一个3×3卷积核卷积后分成了两条线,上面一条通过softmax对anchors分类获得foreground和background(检测目标是foregrounnd),因为是2分类,所以它的维度是2kscores。下面那条线是用于计算anchors的bounding box regression的偏移量,以获得精确的proposal。它的维度是4k coordinates。而最后proposcal层则负责综合foreground anchors和bounding box regression偏移量获取proposal,同时剔除太小和超出边界的propocals,其实网络到这个Proposal Layer这里,就完成了目标定位的功能。


 

FPN搭配RPN_第6张图片

                                                                         分类和bbox回归 

从ROI Pooling获取到7*7=49大小的proposal feature maps后,送入后续的网络,可以看到做了如下2件事:
1  通过全连接层和softmax对proposal进行分类。
2  再次对proposals进行bounding box regression,获取更高精度的框。

 

 

 

MORE:  FPN(特征金字塔网络)的直觉、架构和表现简要介绍

 

 

Reference

1  https://blog.csdn.net/qq_37392244/article/details/88837784

2  从结构、原理到实现,Faster R-CNN全解析

3  ...

 

 

 

 

 

 

 

 

你可能感兴趣的:(Deep,Learning,FPN搭配RPN,Faster,R-CNN)