目标检测之Faster RCNN分析
滑动窗口,每一个位置得到一个256维向量(不唯一,此处backbone输出的深度为256),然后经过全连接层,得到分类的2k个分数(对应右侧指向的k个anchor,每个anchor两个参数描述前景概率与后景概率),与位置框回归的4k个参数。在上图中,从feature map层来看,有两个指向上层的箭头,其中左侧指向Region Proposal Network的即为RPN结构,右侧指向Roi po
基本流程

- 图像输入网络得到特征图
- 使用RPN生成候选框,将候选框投影到特征图获得特征矩阵
- 对特征矩阵使用ROI pooling得到特征图并展平,得到预测结果
重点解析
RPN在网络中的位置

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

在feature map上使用3∗33*33∗3滑动窗口,每一个位置得到一个256维向量(不唯一,此处backbone输出的深度为256),然后经过全连接层,得到分类的2k个分数(对应右侧指向的k个anchor,每个anchor两个参数描述前景概率与后景概率),与位置框回归的4k个参数。
特征图的anchor与原图的对应关系:
由原图与特征图的放缩比例系数,可计算出特征图的anchor中心对应在原图的坐标,然后在原图上生成一系列指定大小的anchor。
在原图上的anchor,每个位置有9个不同大小,三种面积{128∗128128*128128∗128,256∗256256*256256∗256,512∗512512*512512∗512},三种长宽比例{1:11:11:1,1:21:21:2,2:12:12:1}
2k参数(每两个一组,表示(前景概率,后景概率)):
| ( 0.2 | 0.8) | (0.7 | 0.3) | (0.4 | 0.6) | (0.9 | 0.1) | … | … | … |
|---|
4k参数(每四个一组,表示第k个anchor的预测回归(dxk,dyk,dwk,dhkd_x^k,d_y^k,d_w^k,d_h^kdxk,dyk,dwk,dhk)):
| ( 0.12 | 0.21 | 0.74 | 0.33) | (0.54 | 0.16 | 0.09 | 0.21) | … | … | … |
|---|
RPN损失函数
由分类损失与边界框的损失组成
其中
pip_ipi是第i个anchor预测为真实标签的概率
pi∗p_i^*pi∗正样本为1,负样本为0
tit_iti是预测第i个anchor的边界框的参数
ti∗t_i^*ti∗是真实框的参数
NclsN_{cls}Ncls是一个batch中的样本数量
NregN_{reg}Nreg是anchor位置个数
Faster R-CNN训练

论文中采取RPN Loss + Fast R-CNN Loss联合训练方法
- 使用预训练分类模型初始化卷积网络参数(即上图中的CNN层),单独训练RPN网络(上图左侧箭头部分)
- 固定RPN网络的卷积层与全连接层参数,并使用RPN网络生成的目标框训练Fast RCNN网络(上图右侧箭头部分)
- 固定训练好的Fast RCNN网络参数,微调RPN网络参数
- 固定RPN网络的卷积层与全连接层参数,微调Fast RCNN网络参数(Roi pooling层及以后)
更多推荐



所有评论(0)