RCNN

#RPN模块:
RPN设计的思想,主要有两点:
1.特征图的每个点,都对应于原图像的某块区域
2.在每个点,都使用了anchor,anchor的大小和形状是映射到原图上的。

##RPN的anchor设计:
RPN在最后一层的特征图上设计了9个anchor
映射到原图上,height,width比例分别为:
[sqrt(2) 1/sqrt(2)], [1 1], [1/sqrt(2) sqrt(2)]
每个anchor的尺寸为8,16,32

##细节:
1.正负样本的生成:
一幅图像的N个anchor,K个gt,计算overlap得到二维矩阵
a.对于每个anchor,找到overlap最大的gt
b.对于每个gt,找到overlap最大的anchor
如果a的max_overlap大于0.7,设为正样本,如果小于0.3,设为负样本,中间忽略
b中的anchor全部设为正样本
正样本需要计算坐标的loss
RCNN_第1张图片
在训练的时候,同一个batch设置有效的label个数为256,正负样本1:1
每个batch一幅图像
测试的时候,根据anchor恢复出候选框,然后进行NMS,最后保留大约2000个proposal

#RCNN模块
1.首先,对RPN阶段提取出的2000个候选框,分别与gt计算overlap,大于0.5的设为正样本,并标注上对应的类别标签,小于0.5的设为负样本
2.训练的时候,每个batch2副图像,随机选择126个roi,正负样本比例1:3
3.特征图经过16倍下采样,roi大小也映射到特征图上,截取出对应区域,并pool成7*7的figure
4.bounding box的标签是,每个正样本的ROI相对于所属类gt的位移和宽高比例
5.计算softmax loss和bounding box loss

你可能感兴趣的:(检测)