目标检测系列 Mask R-CNN—RPN

作者: zidea | 来源:发表于2020-08-25 20:13 被阅读0次
mask-rcnn.jpg

RPN
将特征图中像素点作为中心来生成一系列锚框,锚框是不同长宽比率和不同长宽比例组合得到一系列的候选框。这样方式生成候选框替换原来由 selective serch 通过算法来实现候选框生成。这是在 Faster R-CNN 中提出,到现在为止最后一块不是神经网网络涉及的区域也被神经网络占领了。从 R-CNN 到 Faster R-CNN,现在网络结构成为真正的端到端的网络结构。

mask_rcnn_007.jpeg

生成的不同尺度特征图都会通过 3 \times 3 的卷积层后输出到两个分支,一个分支是用于判断是否存在目标(objects) 后面接 softmax 做二分类问题,另一分支用于边界框回归。在这里,仅对一个特征金字塔使用一个锚框尺寸缩放幅度 (因为已经在 FPN 中生成考虑不同大小的目标的不同大小的特征图)和 3 个锚框宽高比。因此目标分支中有 3 个通道,边界框回归中有 3 * 4 个通道。

  • i 表示输入特征图比例
  • N 表示批量

值得注意的是需要保持训练和测试中所用的锚框的长宽比和尺寸缩放幅度保持一致,因为目标检测评分和边界框回归都是与训练中使用的锚框长宽比和尺寸缩放幅度。

The values of RPN bounding box predictions are independent of dimensions of feature map and will be required to multiplied by image height and width of image during decoding step.

RPN 边界框预测的值与特征图的尺寸无关,并且需要在解码(还原时候)步骤中乘以图像高度和图像宽度。

mask_rcnn_008.jpeg
  • Pre-NMS 预非极大值处理,选择前 k : k 的默认取值是(train = 12000 , test = 6000) 基于 objectness 的得分来进行筛选。
mask_rcnn_rpn_001.jpeg
  • dx_{ctr}

  • 边界框解码:根据从 RPN head 获得的rpn_bbox_pred 值修改锚框的坐标。 在此图中,宽度和高度是调整大小后的图像的尺寸(因为预处理对图片的宽度和高度进行缩放)。

  • 移除无效的边界框: 将那些宽高的长度为负数或者边界框已经越出图片的边界框

  • NMS(极大值抑制) 通过极大值抑制来清除那些与阈值(RPN NMS 默认阈值为 0.7) 重叠的候选框

  • 合并: 对于由 FPN 主干网络生成的每个特征图,分别执行了步骤 1-4。然后将所有锚框(已在原始大小调整(缩放)后的图像的坐标系中)将这些不同特征图生成候选框组合在一起。并不会存储来自哪个 ROI 是来自哪个 FPN 层的信息。

  • FPN 后进行 NMS 取前 N 边界框:在训练和测试中此步骤有所不同。在训练的情况下,我们从整批所有图像的所有建议框中,根据其对应的目标的得分,选择前 N 个提议框(默认= 2000)。而在测试中,则为批次中的每个图像选择 N(默认= 2000)个建议框并分别保存。

相关文章

网友评论

    本文标题:目标检测系列 Mask R-CNN—RPN

    本文链接:https://www.haomeiwen.com/subject/hgjrjktx.html