Mask R-CNN解读

Posted AI 菌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mask R-CNN解读相关的知识,希望对你有一定的参考价值。

摘要

本文提出了一个概念上简单、灵活和通用的目标实例分割框架。该方法有效地检测图像中的目标,同时为每个实例生成高质量的分割掩码。该方法被称为 Mask R-CNN,在 Faster R-CNN的基础上,通过添加一个分支来预测一个目标掩码,并与现有的目标检测分支并行。Mask R-CNN很容易训练,只增加了很小的开销,可以以5帧/秒的速度运行。

此外,Mask R-CNN很容易推广到其他任务,例如,人体姿态估计。本文在COCO数据集上进行了大量实验,结果表明Mask R-CNN在实例分割、目标检测和人关键点检测任务上优于其他所有的单一模型。

代码开源: https://github.com/facebookresearch/Detectron

一、引言

原则上,Mask R-CNN 是 Faster R-CNN 的直观扩展,但正确构建 Mask 分支对于良好的结果至关重要。最重要的是,Faster RCNN 不是为网络输入和输出之间的像素对像素对齐而设计的。这一点在 RoIPool 中最为明显,它实际上是处理实例的核心操作,它执行粗空间量化来提取特征。为了修正偏差,我们提出了一个简单的、无量化的层,称为 RoIAlign,它忠实地保持准确的空间位置。

尽管看似一个很小的变化,但是 RoIAlign 具有很大的影响力。它将 Mask 精度提高了10%至50%,在更严格的定位指标下显示出更大的增益。其次,我们发现将掩码和类预测分离是必要的: 我们为每个类独立预测一个二进制掩码,类之间不存在竞争,并依靠网络的 RoI 分类分支来预测类别。相比之下,FCN 通常进行逐像素的多类分类,分割和分类相结合,根据我们的实验,对于实例分割效果较差。

二、Mask R-CNN

2.1 Faster R-CNN

Faster R-CNN由两个阶段组成。第一个阶段,称为区域建议网络(RPN),提出候选对象边界框。第二阶段,本质上是Fast R-CNN,使用 RoIPool 从每个候选框中提取特征,并进行分类和边界框回归。这两个阶段所使用的特征可以共享,以便更快地推理。

2.2 Mask R-CNN

Mask R-CNN 采用相同的两阶段流程,第一阶段相同(即RPN)。在第二阶段,在预测类和框偏移的同时,Mask R-CNN 也为每个 RoI 输出一个二进制掩码。我们的方法遵循了 Fast R-CNN 的方法,它并行地应用了边界盒分类和回归,在很大程度上简化了原始R-CNN的多阶段结构。

2.3 Mask Representation

掩码对输入对象的空间布局进行编码。因此,不同于类标签或盒偏移不可避免地被全连接(fc)层压缩成短输出向量,提取掩码的空间结构可以通过卷积提供的像素到像素的对应来自然地解决。

具体来说,我们使用 FCN 从每个RoI预测 m × m 掩码。这使得蒙版分支中的每一层都可以保持明确的 m × m 对象空间布局,而无需将其折叠成缺乏空间维度的矢量表示。与以往依靠fc层进行掩码预测的方法不同,我们的全卷积表示需要较少的参数,而且实验证明更准确。

这种像素到像素的行为需要我们的RoI特性(它们本身就是小的特性映射)很好地对齐,以忠实地保持显式的每个像素的空间对应。这促使我们开发了以下的RoIAlign层,它在蒙版预测中扮演着关键的角色。

2.4 RoIAlign

RoIPool 是从每个 RoI 中提取小特征图(例如7×7)的标准操作。RoIPool 首先将一个浮点的 RoI 量化到特征映射的离散粒度上,然后将这个量化的 RoI 细分为空间容器,这些空间容器本身也被量化,最后将每个容器所覆盖的特征值进行聚合(通常是通过最大池化)。量化,例如,通过计算[x/16]对连续坐标x进行量化,其中16是特征地图步幅,[·]是四舍五入;同样地,在划分为多个容器时进行量化(例如7×7)。这些量化引入了RoI和提取的特征之间的偏差。虽然这可能不会影响分类,这对小的转换是稳健的,但它对预测像素精确的蒙版有很大的负面影响。

为了解决这个问题,我们提出了一个 RoIAlign 层,它消除了 RoIPool 的苛刻量化,将提取的特征与输入正确对齐。我们提出的改变很简单: 我们避免对 RoI 边界进行量化(即,我们使用x/16而不是[x/16])。我们使用双线性插值来计算每个RoI bin中四个定期采样的位置上输入特征的精确值,并将结果(使用max或average)汇总,详见图3。我们注意到,只要不执行量化,结果对精确的采样位置或采样的点数并不敏感。

三、网络架构

Mask R-CNN 的网络架构较为简单,由两大块组成:

  • 用于对整个图像进行特征提取的卷积主干网络。
  • 用于边界盒识别和掩码预测的网络头,分别应用于每个RoI。

如下图所示,是网络头的示意图,其主干网络分别采用的是 ResNet 和 FPN 的主干网络部分。

四、实验

1、实例分割效果

2、消融实验


3、目标检测

4、行人姿态估计

以上是关于Mask R-CNN解读的主要内容,如果未能解决你的问题,请参考以下文章

Mask R-CNN解读

Mask R-CNN解读

目标检测论文解读11——Mask R-CNN

R-CNN 论文解读及个人理解(转)

深度学习R-CNN 论文解读及个人理解

Stereo R-CNN 解读基于立体R-CNN的自动驾驶三维目标检测