- Anchor:特征图中的点对应于原图中的点,原图中的点称为anchor
- Faster rcnn的流程
首先原图大小为P*Q,经过reshape之后得到M*N大小的输入图像(问题1)。然后经过feature extraction提取网络(VGG16),提取特征(上图中的feature map)。然后来到了RPN(region proposal network),该网络的作用是提取区域,首先经过两个3*3卷积网络,之后在经过1*1卷积可以分别输出W*H*18和W*H*36的特征图(为什么是这样大小的feature map),两者组合便得到了proposal(候选框),然后从中筛选出一些候选框输入到ROIpooling中,输出固定大小的feature map,然后再经过全连接网络进行候选框分类及再次回归候选框位置(精确定位)。
Questions 1:为什么要统一输入图像大小为M*N,明明ROIpooling层就可以调整任意输入尺寸在固定输出尺寸大小?
Answer:因为训练网络时使用的是min-batch的方法,一个batch内的图像可能大小不一样,而不同大小的输入拼成batch在实现时代码较为复杂,所以就先reshape到同一尺寸了。
Question2:为什么RPN层有并联结构?
Answer:上面的网络进行的是分类操作,并联结构的另一分支进行的是候选框位置的回归操作
Question3:为什么并联分支1输出的channel为18,分支2输出的channel为36?
Answer:首先是候选框的问题,此时特征图中的每一点对应于原图中的点的位置坐标是已知的,在原图中对应的点为中心,生成9个proposal(3个纵横比和3个不同尺度组成9个候选框),假设此时feature map大小为W*H,每一个点有9个候选框,那么一共有W*H*9个候选框。并联分支1是判断这么多个候选框中是否包含了object(二分类),所以输出channel是2*9,而并联分支2是9个候选框位置的回归,每一个候选框有四个参数(center_x,center_y,w,h),所以输出channel是36.
Question4:PRN如何进行分类和回归的?
Answer:根据一定的方式定义正负样本(如与ground truth box有最大的IOU的anchors作为正样本,与ground truth box的IOU小于0.3的作为负样本),训练RPN的loss是:
I表示第i个anchor,pi表示第i个anchor是前景的概率,当第i个anchor是前景时,为1,然后就可以回归此时anchor的位置信息了,ti是预测的anchor位置,
是ground truth的候选框信息。
Quesion5:ROIpooling的作用
Answer:将不同大小的候选框调整到相同大小
Question6:classification and regression的作用
Classification模块的作用是对候选框分类(比RPN中更复杂的分类。类别更多),regression:候选框位置的再次回归