更新:2019/8/12
上文说到
最终获得的检测框将用于ROI层真值标签的生成,以及进行筛选3:1的正负样本放入ROI层进行训练(共128个);
同时进入ROI层的还有vgg16生成的特征图,这个特征图用于上面说的3:1正负样本坐标将相应位置的特征图抠出来用于ROIpooling层进行金字塔池化,通过金字塔池化生成固定尺寸大小(7*7)特征图;在用来全连接层分类和定位,计算损失方式与PRN层类似,只是这里换成了21类(前景20类+背景1类);
金字塔池化使用的是核大小分别是w/7,h/7(w,h为特征图大小),步长为w/7,h/7;这样就能产生7*7的大小的特征图;
ps:w/7取整了,也就是说有一部分特征图是没有使用的;所以产生了align pooling 采用双线性插值来避免像素值除以不整的情况;
---------------------------------------------------------------------------------------------------------------------------------------------------
由于能力有限,这部分很多都没看懂,只能把自己看懂的部分写出来。供大家查看其大概想要干什么。
大概步骤为:
1.将前面rpn获得的通过nms极大值抑制获得符合条件的roi(这里ROI个数为2000个)及其标签,还有vgg16出来的特征图进行空间金字塔池化。
2.分别输入进roi_loc和roi_scores获得roi坐标和评分(到这里就有128个