在聊Feature Pyramid Networks(FPN)和Region Proposal Networks(RPN)之间先熟悉一下Faster R-CNN的背景。
Faster RCNN分为四个工做:算法
与one stage算法如yolo系列相比,Faster RCNN作为典型的two stage算法最大的区别就在于其先经过RPN找到proposal,在对proposa分类,经历了两个网络。网络
RPN网络的任务是找到proposals。输入:feature map。输出:proposal。
整体流程:生成anchors -> softmax分类器提取positvie anchors -> bbox reg回归positive anchors -> Proposal Layer生成proposalsjsp
在feature map上,设置了密密麻麻的候选Anchor。而后用cnn去判断哪些Anchor是里面有目标的positive anchor,哪些是没目标的negative anchor。因此,RPN作的只是个二分类!性能
图中红框为positive anchors,绿框为GT。anchor和GT的梯度能够有dx, dy, dw, dh四个变换表示,bounding box regression经过线性回归学习到这个四个梯度,使anchor不断逼近GT,从而得到更精确的proposal。学习
特征金字塔(Feature Pyramid Networks)是目前用于目标检测、语义分割、行为识别等方面比较重要的一个部分,对于提升模型性能具备很是好的表现。spa
不一样大小的目标都通过了相同的降采样比例后会出现较大的语义代沟,最多见的表现就是小目标检测精度比较低。特征金字塔具备在不一样尺度下有不一样分辨率的特色,不一样大小的目标均可以在相应的尺度下拥有合适的特征表示,经过融合多尺度信息,在不一样尺度下对不一样大小的目标进行预测,从而很好地提高了模型的性能。FPN输入image,输出多尺度的feature map。rem
特征金字塔的两种构建方式get
经过多条具备不一样空洞率的空洞卷积的支路来构建。目前这方面的应用有ASPP, RFP等。
上图分别是FPN和ASPP的构建方式。这是两种基础的特征金字塔,根本目的都是为了更好的融合信息生成更好的feature map。以FPN在Faster RCNN里的应用为例,FPN产生的每个尺度的feature map都要送进RPN作一次proposal的提取。ASPP将多个支路进行concate,输出single feature map。
以后学者对特征金字塔进行多方面的改进,这里不作一一赘述。it
1.FPN: https://arxiv.org/abs/1612.03...
2.Faster R-CNN: https://ieeexplore.ieee.org/s...
3.https://zhuanlan.zhihu.com/p/...io