目标检测之Faster RCNN分析

基本流程

在这里插入图片描述

  1. 图像输入网络得到特征图
  2. 使用RPN生成候选框,将候选框投影到特征图获得特征矩阵
  3. 对特征矩阵使用ROI pooling得到特征图并展平,得到预测结果

重点解析

RPN在网络中的位置

在这里插入图片描述
在上图中,从feature map层来看,有两个指向上层的箭头,其中左侧指向Region Proposal Network的即为RPN结构,右侧指向Roi pooling与fast rcnn保持一致。

RPN结构

在这里插入图片描述
在feature map上使用

3

3

3*3

33滑动窗口,每一个位置得到一个256维向量(不唯一,此处backbone输出的深度为256),然后经过全连接层,得到分类的2k个分数(对应右侧指向的k个anchor,每个anchor两个参数描述前景概率与后景概率),与位置框回归的4k个参数。

特征图的anchor与原图的对应关系
由原图与特征图的放缩比例系数,可计算出特征图的anchor中心对应在原图的坐标,然后在原图上生成一系列指定大小的anchor。
在原图上的anchor,每个位置有9个不同大小,三种面积{

128

128

128*128

128128

256

256

256*256

256256

512

512

512*512

512512},三种长宽比例{

1

:

1

1:1

1:1

1

:

2

1:2

1:2

2

:

1

2:1

2:1}

2k参数(每两个一组,表示(前景概率,后景概率)):

( 0.2 0.8) (0.7 0.3) (0.4 0.6) (0.9 0.1)

4k参数(每四个一组,表示第k个anchor的预测回归(

d

x

k

,

d

y

k

,

d

w

k

,

d

h

k

d_x^k,d_y^k,d_w^k,d_h^k

dxk,dyk,dwk,dhk)):

( 0.12 0.21 0.74 0.33) (0.54 0.16 0.09 0.21)

RPN损失函数

由分类损失与边界框的损失组成
在这里插入图片描述
其中

p

i

p_i

pi是第i个anchor预测为真实标签的概率

p

i

p_i^*

pi正样本为1,负样本为0

t

i

t_i

ti是预测第i个anchor的边界框的参数

t

i

t_i^*

ti是真实框的参数

N

c

l

s

N_{cls}

Ncls是一个batch中的样本数量

N

r

e

g

N_{reg}

Nreg是anchor位置个数

Faster R-CNN训练

在这里插入图片描述
论文中采取RPN Loss + Fast R-CNN Loss联合训练方法

  1. 使用预训练分类模型初始化卷积网络参数(即上图中的CNN层),单独训练RPN网络(上图左侧箭头部分)
  2. 固定RPN网络的卷积层与全连接层参数,并使用RPN网络生成的目标框训练Fast RCNN网络(上图右侧箭头部分)
  3. 固定训练好的Fast RCNN网络参数,微调RPN网络参数
  4. 固定RPN网络的卷积层与全连接层参数,微调Fast RCNN网络参数(Roi pooling层及以后)
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>