前面我们学习了
这次,我们紧接着,继续看下 Faster R-CNN。
上次我们讲到Fast R-CNN时,说过Fast R-CNN虽然已经对之前的R-CNN系列算法做了很多改进,不管是速度还是精度,都得到了一个很大的提升,但是还有一个可以优化的地方就是最开始时候的,候选框的提取算法。不管是R-CNN, SPP-Net, Fast R-CNN,都是依靠区域选择算法来进行推测目标位置,但是这种方案很耗时。而Faster R-CNN的提出,终于解决了这个瓶颈问题,Faster R-CNN使用了一种新的区域提出网络(RPN),该网络将与检测网络共享整个图像的卷积特征,从而大大减少了候选框提取的时间成本,同时使Faster R-CNN成为一个真正意义上的端到端的网络模型。下面我们来具体看看
一、Faster R-CNN整体架构
Faster R-CNN整体架构如上图所示,它由两个模块组成,负责进行候选框提取的RPN网络模块,以及使用提取出来的候选框进行检测的Fast R-CNN检测模块。具体来讲这两个模块的关系,就是RPN告诉Fast R-CNN要看哪里。两个模块共享卷积特征,整个Faster R-CNN系统,就是一个统一的目标检测网络模型。
二、区域提案网络(RPN)详解
Faster R-CNN模型,最主要的就是RPN网络的提出,下来我们具体看下。
1.RPN网络概况
RPN是一个全卷积网络,它将通过基础网络(VGG等)的对应共享卷积模块提取出来的feature map 作为输入,最终输出提案框(候选框)的集合,每个提案框中有对应类别信息(背景或者前景)以及对应框的坐标信息。
在RPN网络中,在输入的feature map上,滑动一个n*n(一般使用3*3)的小网络窗口,每一个滑动窗口将会映射到一个低维向量上(对于ZF是256-d,对于VGG来说就是521-d),将这个向量输出给两个同级的全连接层,即检测框回归层(reg)和检测框分类层(cls)。如图所示:
(