关于对Faster-RCNN的个人理解
背景
在这之前已有加快版的Fast-RCNN,但是由于候选区域仍然是特别的多的(大约有2000个),这就会导致在后续的类别预测以及box修正这个地方计算量特别大,预测速度很慢,并且很难学习这么多个样本。因此,本文的目的还是想要去加速网络的预测速度。
思想
先回顾一下Fast-RCNN的算法流程,首先是将整幅图像作为网络的输入,随后将SS算法得到的2000个候选区域映射到特征图上,得到对应的特征向量,接着再预测这2000个候选区域的类别概率以及box的修正参数。从上述的表述中,我们可以感觉到Fast还是很慢的,因为需要一次处理2000个候选框。基于该问题,Faster提出了新的解决方案,决定利用专门的模块用于推理出我们希望的候选框,数量是十分少的,并且在预初的定位上是准确的,而不是像之的SS算法,一次性输出2000个候选区域,增加了计算法复杂度的同时,还增大了模型训练和预测的难度。
模型结构
以上便是算法的整个流程图,如图所示,首先将整张图像送入到CNN中提取信息,得到相应的特征图。假如得到的特征图尺寸为13 * 13 ,紧接着会先将其送入到RPN模块推算候选区域(与Fast得到候选区域的方式是不同的)。至于RPN具体的做法则是:思想则是将上述得到的特征图当成是YOLO系列中的grid一样,每一个grid预测9个anchor(anchor具有三个宽高比以及三个面积:宽高比=(1:2,1:1,2:1),面积=( 12 8 2 128^2 1282, 25 6 2 256^2 2562, 51 2 2 512^2