RPN学习笔记——Region Proposal Network
1.RPN的字面解释
“RP”:即Region Proposal,中文意思“区域提取”,也就是“提取候选框”的意思
“RPN”:即Region Proposal Network,中文意思“区域提取网络”,也就是说RPN是专门用来提取候选框的网络
2.RPN的作用
RPN正如其字面解释是专门用来提取候选框的,RPN最早出现在Faster RCNN中。在Faster RCNN出现之前,在RCNN和Fast RCNN等物体检测架构中,主要使用Selective Search进行候选框的提取。与RPN相比Selective Search方法比较耗时,并且无法将整个物体检测流程融入到一个网络中。
3.RPN的运作机制
以Faster RCNN中RPN的使用为例,在Faster RCNN中首先通过一系列卷积得到公共特征图,假设它的大小是N x 16 x 16,然后我们进入RPN阶段,首先经过一个3 x 3的卷积,得到一个256 x 16 x 16的特征图(卷积前后特征图的尺寸不变,通道数增加)。这个特征图也可以看做是16 x 16维的向量,每个向量的长度为256。之所以采取这种方式来理解特征图是因为,RPN网络的本质是基于该特征图,对特征图中的每一个点提取K个预先设定好长宽比和尺寸大小的候选框。即对16 x 16 x 256的特征图使用1 x 1的卷积核进行两次卷积操作,然后分别得到2k x 16 x 16大小的特征图和4k x 16 x 16大小的特征图。其中2k和4k分别表示属于前景和背景的得分,以及候选框的x,y,w,h,在Faster RCNN中k=9.需要特别注意的几点
1.由于RPN仅对候选框进行提取,即提取出图像中哪些位置存在物体以及物体的尺寸大小,因此RPN网络的得分为2k,即一共有k个候选框,每个候选框为前景(是物体)和为背景(不是物体)的得分
2.第二个容易产生误解的点是,RPN得到的每个候选框的[x,y,w,h]是相对于原图的坐标和偏移。这里需要仔细思考,RPN的操作对象是16 x 16 x 256的特征图,我们对特征图中的每一个点(一共有16 x 16个)进行候选框的提取,而特征图中的每一个点都是有前面CNN卷积操作得到的,我们假设从原图经过CNN卷积操作得到16 x 16 x 256大小的特征图,即特征图中的每个点相对于原图经过了8倍的缩放,因此我们也就可以理解如何通过对特征图进行RPN操作获得相对于原图的[x,y,w,h]。
以上是个人的学习理解,叙述方式在逻辑上可能不是很严谨,有不清楚的地方大家可以查看下面的博文