RPN网络详解

2020-02-06  本文已影响0人  默写年华Antifragile

Region Proposal Network (RPN)

参考:https://towardsdatascience.com/region-proposal-network-a-detailed-view-1305c7875853#46ea
产生背景:

流程步骤

  1. 输入:经过backbone网络得到的特征图;
  2. 对于特征图上的每一个点(称之为锚点 anchor point),生成具有不同 尺度 和 宽高比 的锚点框,这个锚点框的坐标(x,y,w,h)是在原图上的坐标
  3. 然后将这些锚点框输入到两个网络层中去,一个(rpn_cls_score )用来分类,即这个锚点框里面的特征图是否属于前景;另外一个(rpn_bbox_pred)输出四个位置坐标(相对于真实物体框的偏移);这时候就需要GT来进行loss学习,GT的来源如4


    image.png
  4. anchor target generation:将锚点框与Ground Truth中的标签框进行 IoU 对比,如果其 IoU 高于某个阈值,则该锚点框标定为前景框,否则属于背景框;对于前景框,还要计算其与真实标签框的4个位置偏移;将这个标注好的锚点框(带有 前背景类别 和 位置偏移 标注)与3中卷积网络层的两个输出进行loss比较(类别:CrossEntrpy loss 和 位置回归:smooth L1 loss),从而学习到如何提取前景框
  5. 学习到如何提取前景框后,就根据 rpn_cls_score 层的输出概率值确定前景框;位置偏移值则被整合到锚点框的坐标中以得到实际的框的坐标;这样子就得到了前景框,起到了selective search的作用。

RPN生成的proposal就称为 Region of Interest.由于他们具有不同的尺度和长度,因此需要通过一个 ROI pooling层获得统一的大小


image.png

ROI pooling的解释如https://towardsdatascience.com/region-of-interest-pooling-f7c637f409af

上一篇下一篇

猜你喜欢

热点阅读